@dotglitch/ngx-common 2.0.0 → 3.0.0-beta.2

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 (1187) hide show
  1. package/README.md +37 -22
  2. package/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.d.ts +1 -1
  3. package/{components/command-palette → command-palette}/command-palette.component.d.ts +1 -1
  4. package/{services → command-palette}/command-palette.service.d.ts +2 -2
  5. package/command-palette/index.d.ts +2 -0
  6. package/{components/command-palette → command-palette}/shortcut/shortcut.component.d.ts +1 -1
  7. package/{components → core/components}/menu/menu.component.d.ts +2 -2
  8. package/{directives → core/components/menu}/menu.directive.d.ts +1 -1
  9. package/{types/menu.d.ts → core/components/menu/types.d.ts} +1 -1
  10. package/{components → core/components}/types.d.ts +0 -1
  11. package/{public-api.d.ts → core/index.d.ts} +12 -20
  12. package/{services → core/services}/navigation.service.d.ts +1 -1
  13. package/core/utils/index.d.ts +18 -0
  14. package/esm2022/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.mjs +1 -1
  15. package/esm2022/command-palette/command-palette.component.mjs +257 -0
  16. package/esm2022/command-palette/command-palette.service.mjs +207 -0
  17. package/esm2022/command-palette/dotglitch-ngx-common-command-palette.mjs +5 -0
  18. package/esm2022/command-palette/index.mjs +3 -0
  19. package/esm2022/{components/command-palette → command-palette}/shortcut/shortcut.component.mjs +1 -1
  20. package/esm2022/core/components/lazy-loader/lazy-loader.component.mjs +383 -0
  21. package/esm2022/core/components/lazy-loader/lazy-loader.module.mjs +33 -0
  22. package/esm2022/core/components/lazy-loader/lazy-loader.service.mjs +216 -0
  23. package/esm2022/core/components/lazy-loader/types.mjs +26 -0
  24. package/esm2022/core/components/menu/menu.component.mjs +433 -0
  25. package/esm2022/core/components/menu/menu.directive.mjs +159 -0
  26. package/esm2022/core/components/menu/types.mjs +2 -0
  27. package/esm2022/core/components/parallax-card/parallax-card.component.mjs +138 -0
  28. package/esm2022/core/components/types.mjs +3 -0
  29. package/esm2022/core/directives/image-cache.directive.mjs +143 -0
  30. package/esm2022/core/directives/utils.mjs +120 -0
  31. package/esm2022/core/dotglitch-ngx-common-core.mjs +5 -0
  32. package/esm2022/core/index.mjs +50 -0
  33. package/esm2022/core/pipes/html-bypass.pipe.mjs +27 -0
  34. package/esm2022/core/pipes/resource-bypass.pipe.mjs +27 -0
  35. package/esm2022/core/pipes/script-bypass.pipe.mjs +27 -0
  36. package/esm2022/core/pipes/style-bypass.pipe.mjs +27 -0
  37. package/esm2022/core/pipes/url-bypass.pipe.mjs +27 -0
  38. package/esm2022/core/services/dependency.service.mjs +55 -0
  39. package/esm2022/core/services/dialog.service.mjs +67 -0
  40. package/esm2022/core/services/fetch.service.mjs +74 -0
  41. package/esm2022/core/services/file.service.mjs +42 -0
  42. package/esm2022/core/services/keyboard.service.mjs +128 -0
  43. package/esm2022/core/services/navigation.service.mjs +50 -0
  44. package/esm2022/core/services/theme.service.mjs +64 -0
  45. package/esm2022/core/types/popup.mjs +2 -0
  46. package/esm2022/core/utils/index.mjs +69 -0
  47. package/esm2022/dotglitch-ngx-common.mjs +2 -2
  48. package/esm2022/filemanager/dotglitch-ngx-common-filemanager.mjs +5 -0
  49. package/esm2022/filemanager/file-grid/file-grid.component.mjs +676 -0
  50. package/esm2022/{components/filemanager → filemanager}/filemanager.component.mjs +13 -14
  51. package/esm2022/{components/filemanager → filemanager}/folder-rename/folder-rename.component.mjs +2 -2
  52. package/esm2022/filemanager/helpers.mjs +26 -0
  53. package/esm2022/filemanager/icon-resolver.mjs +155 -0
  54. package/esm2022/filemanager/index.mjs +2 -0
  55. package/esm2022/filemanager/mat-icons.mjs +5705 -0
  56. package/esm2022/filemanager/textextensions.mjs +294 -0
  57. package/esm2022/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.mjs +1 -1
  58. package/esm2022/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.mjs +1 -1
  59. package/esm2022/filemanager/toolbar/toolbar.component.mjs +165 -0
  60. package/esm2022/{components/filemanager → filemanager}/tree-view/tree-view.component.mjs +1 -1
  61. package/esm2022/filemanager/types.mjs +2 -0
  62. package/esm2022/index.mjs +3 -0
  63. package/esm2022/monaco-editor/dotglitch-ngx-common-monaco-editor.mjs +5 -0
  64. package/esm2022/monaco-editor/index.mjs +2 -0
  65. package/esm2022/monaco-editor/monaco-editor.component.mjs +234 -0
  66. package/esm2022/monaco-editor/ts-type-resolver/dependency-parser.mjs +91 -0
  67. package/esm2022/monaco-editor/ts-type-resolver/dummy-source-cache.mjs +15 -0
  68. package/esm2022/monaco-editor/ts-type-resolver/import-resolver.mjs +311 -0
  69. package/esm2022/monaco-editor/ts-type-resolver/main.mjs +112 -0
  70. package/esm2022/monaco-editor/ts-type-resolver/recursion-depth.mjs +21 -0
  71. package/esm2022/monaco-editor/ts-type-resolver/types.mjs +14 -0
  72. package/esm2022/monaco-editor/ts-type-resolver/unpkg-source-resolver.mjs +21 -0
  73. package/esm2022/monaco-editor/ts-type-resolver/update-emitter.mjs +37 -0
  74. package/esm2022/overlay-wrapper/dotglitch-ngx-common-overlay-wrapper.mjs +5 -0
  75. package/esm2022/overlay-wrapper/index.mjs +2 -0
  76. package/esm2022/overlay-wrapper/overlay-wrapper.component.mjs +247 -0
  77. package/esm2022/tooltip/dotglitch-ngx-common-tooltip.mjs +5 -0
  78. package/esm2022/tooltip/index.mjs +4 -0
  79. package/esm2022/tooltip/tooltip.component.mjs +204 -0
  80. package/esm2022/tooltip/tooltip.directive.mjs +153 -0
  81. package/esm2022/tooltip/types.mjs +2 -0
  82. package/fesm2022/dotglitch-ngx-common-command-palette.mjs +508 -0
  83. package/fesm2022/dotglitch-ngx-common-command-palette.mjs.map +1 -0
  84. package/fesm2022/dotglitch-ngx-common-core.mjs +2280 -0
  85. package/fesm2022/dotglitch-ngx-common-core.mjs.map +1 -0
  86. package/fesm2022/{dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs → dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs} +9 -30
  87. package/fesm2022/dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs.map +1 -0
  88. package/fesm2022/dotglitch-ngx-common-filemanager.mjs +7403 -0
  89. package/fesm2022/dotglitch-ngx-common-filemanager.mjs.map +1 -0
  90. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs +850 -0
  91. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs.map +1 -0
  92. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs +254 -0
  93. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs.map +1 -0
  94. package/fesm2022/dotglitch-ngx-common-tooltip.mjs +357 -0
  95. package/fesm2022/dotglitch-ngx-common-tooltip.mjs.map +1 -0
  96. package/fesm2022/dotglitch-ngx-common.mjs +3 -11686
  97. package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
  98. package/{components/filemanager → filemanager}/file-grid/file-grid.component.d.ts +7 -14
  99. package/{components/filemanager → filemanager}/filemanager.component.d.ts +4 -5
  100. package/{components/filemanager → filemanager}/folder-rename/folder-rename.component.d.ts +1 -1
  101. package/{components/filemanager → filemanager}/helpers.d.ts +1 -1
  102. package/filemanager/index.d.ts +1 -0
  103. package/{components/filemanager → filemanager}/toolbar/toolbar.component.d.ts +2 -2
  104. package/filemanager/types.d.ts +1 -0
  105. package/index.d.ts +1 -5
  106. package/monaco-editor/README.md +3 -0
  107. package/monaco-editor/index.d.ts +1 -0
  108. package/monaco-editor/monaco-editor.component.d.ts +53 -0
  109. package/overlay-wrapper/index.d.ts +1 -0
  110. package/overlay-wrapper/overlay-wrapper.component.d.ts +11 -0
  111. package/package.json +108 -47
  112. package/tooltip/index.d.ts +3 -0
  113. package/{components/tooltip → tooltip}/tooltip.component.d.ts +3 -3
  114. package/{directives → tooltip}/tooltip.directive.d.ts +2 -2
  115. package/{types/tooltip.d.ts → tooltip/types.d.ts} +1 -1
  116. package/assets/lib/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  117. package/assets/lib/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
  118. package/assets/lib/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
  119. package/assets/lib/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
  120. package/assets/lib/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
  121. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
  122. package/assets/lib/vs/base/common/worker/simpleWorker.nls.js +0 -8
  123. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
  124. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
  125. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
  126. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
  127. package/assets/lib/vs/base/worker/workerMain.js +0 -24
  128. package/assets/lib/vs/basic-languages/abap/abap.js +0 -10
  129. package/assets/lib/vs/basic-languages/apex/apex.js +0 -10
  130. package/assets/lib/vs/basic-languages/azcli/azcli.js +0 -10
  131. package/assets/lib/vs/basic-languages/bat/bat.js +0 -10
  132. package/assets/lib/vs/basic-languages/bicep/bicep.js +0 -11
  133. package/assets/lib/vs/basic-languages/cameligo/cameligo.js +0 -10
  134. package/assets/lib/vs/basic-languages/clojure/clojure.js +0 -10
  135. package/assets/lib/vs/basic-languages/coffee/coffee.js +0 -10
  136. package/assets/lib/vs/basic-languages/cpp/cpp.js +0 -10
  137. package/assets/lib/vs/basic-languages/csharp/csharp.js +0 -10
  138. package/assets/lib/vs/basic-languages/csp/csp.js +0 -10
  139. package/assets/lib/vs/basic-languages/css/css.js +0 -12
  140. package/assets/lib/vs/basic-languages/cypher/cypher.js +0 -10
  141. package/assets/lib/vs/basic-languages/dart/dart.js +0 -10
  142. package/assets/lib/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  143. package/assets/lib/vs/basic-languages/ecl/ecl.js +0 -10
  144. package/assets/lib/vs/basic-languages/elixir/elixir.js +0 -10
  145. package/assets/lib/vs/basic-languages/flow9/flow9.js +0 -10
  146. package/assets/lib/vs/basic-languages/freemarker2/freemarker2.js +0 -12
  147. package/assets/lib/vs/basic-languages/fsharp/fsharp.js +0 -10
  148. package/assets/lib/vs/basic-languages/go/go.js +0 -10
  149. package/assets/lib/vs/basic-languages/graphql/graphql.js +0 -10
  150. package/assets/lib/vs/basic-languages/handlebars/handlebars.js +0 -10
  151. package/assets/lib/vs/basic-languages/hcl/hcl.js +0 -10
  152. package/assets/lib/vs/basic-languages/html/html.js +0 -10
  153. package/assets/lib/vs/basic-languages/ini/ini.js +0 -10
  154. package/assets/lib/vs/basic-languages/java/java.js +0 -10
  155. package/assets/lib/vs/basic-languages/javascript/javascript.js +0 -10
  156. package/assets/lib/vs/basic-languages/julia/julia.js +0 -10
  157. package/assets/lib/vs/basic-languages/kotlin/kotlin.js +0 -10
  158. package/assets/lib/vs/basic-languages/less/less.js +0 -11
  159. package/assets/lib/vs/basic-languages/lexon/lexon.js +0 -10
  160. package/assets/lib/vs/basic-languages/liquid/liquid.js +0 -10
  161. package/assets/lib/vs/basic-languages/lua/lua.js +0 -10
  162. package/assets/lib/vs/basic-languages/m3/m3.js +0 -10
  163. package/assets/lib/vs/basic-languages/markdown/markdown.js +0 -10
  164. package/assets/lib/vs/basic-languages/mips/mips.js +0 -10
  165. package/assets/lib/vs/basic-languages/msdax/msdax.js +0 -10
  166. package/assets/lib/vs/basic-languages/mysql/mysql.js +0 -10
  167. package/assets/lib/vs/basic-languages/objective-c/objective-c.js +0 -10
  168. package/assets/lib/vs/basic-languages/pascal/pascal.js +0 -10
  169. package/assets/lib/vs/basic-languages/pascaligo/pascaligo.js +0 -10
  170. package/assets/lib/vs/basic-languages/perl/perl.js +0 -10
  171. package/assets/lib/vs/basic-languages/pgsql/pgsql.js +0 -10
  172. package/assets/lib/vs/basic-languages/php/php.js +0 -10
  173. package/assets/lib/vs/basic-languages/pla/pla.js +0 -10
  174. package/assets/lib/vs/basic-languages/postiats/postiats.js +0 -10
  175. package/assets/lib/vs/basic-languages/powerquery/powerquery.js +0 -10
  176. package/assets/lib/vs/basic-languages/powershell/powershell.js +0 -10
  177. package/assets/lib/vs/basic-languages/protobuf/protobuf.js +0 -11
  178. package/assets/lib/vs/basic-languages/pug/pug.js +0 -10
  179. package/assets/lib/vs/basic-languages/python/python.js +0 -10
  180. package/assets/lib/vs/basic-languages/qsharp/qsharp.js +0 -10
  181. package/assets/lib/vs/basic-languages/r/r.js +0 -10
  182. package/assets/lib/vs/basic-languages/razor/razor.js +0 -10
  183. package/assets/lib/vs/basic-languages/redis/redis.js +0 -10
  184. package/assets/lib/vs/basic-languages/redshift/redshift.js +0 -10
  185. package/assets/lib/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
  186. package/assets/lib/vs/basic-languages/ruby/ruby.js +0 -10
  187. package/assets/lib/vs/basic-languages/rust/rust.js +0 -10
  188. package/assets/lib/vs/basic-languages/sb/sb.js +0 -10
  189. package/assets/lib/vs/basic-languages/scala/scala.js +0 -10
  190. package/assets/lib/vs/basic-languages/scheme/scheme.js +0 -10
  191. package/assets/lib/vs/basic-languages/scss/scss.js +0 -12
  192. package/assets/lib/vs/basic-languages/shell/shell.js +0 -10
  193. package/assets/lib/vs/basic-languages/solidity/solidity.js +0 -10
  194. package/assets/lib/vs/basic-languages/sophia/sophia.js +0 -10
  195. package/assets/lib/vs/basic-languages/sparql/sparql.js +0 -10
  196. package/assets/lib/vs/basic-languages/sql/sql.js +0 -10
  197. package/assets/lib/vs/basic-languages/st/st.js +0 -10
  198. package/assets/lib/vs/basic-languages/swift/swift.js +0 -13
  199. package/assets/lib/vs/basic-languages/systemverilog/systemverilog.js +0 -10
  200. package/assets/lib/vs/basic-languages/tcl/tcl.js +0 -10
  201. package/assets/lib/vs/basic-languages/twig/twig.js +0 -10
  202. package/assets/lib/vs/basic-languages/typescript/typescript.js +0 -10
  203. package/assets/lib/vs/basic-languages/vb/vb.js +0 -10
  204. package/assets/lib/vs/basic-languages/wgsl/wgsl.js +0 -307
  205. package/assets/lib/vs/basic-languages/xml/xml.js +0 -10
  206. package/assets/lib/vs/basic-languages/yaml/yaml.js +0 -10
  207. package/assets/lib/vs/editor/editor.main.css +0 -6
  208. package/assets/lib/vs/editor/editor.main.js +0 -752
  209. package/assets/lib/vs/editor/editor.main.nls.de.js +0 -31
  210. package/assets/lib/vs/editor/editor.main.nls.es.js +0 -31
  211. package/assets/lib/vs/editor/editor.main.nls.fr.js +0 -29
  212. package/assets/lib/vs/editor/editor.main.nls.it.js +0 -29
  213. package/assets/lib/vs/editor/editor.main.nls.ja.js +0 -31
  214. package/assets/lib/vs/editor/editor.main.nls.js +0 -29
  215. package/assets/lib/vs/editor/editor.main.nls.ko.js +0 -29
  216. package/assets/lib/vs/editor/editor.main.nls.ru.js +0 -31
  217. package/assets/lib/vs/editor/editor.main.nls.zh-cn.js +0 -31
  218. package/assets/lib/vs/editor/editor.main.nls.zh-tw.js +0 -29
  219. package/assets/lib/vs/language/css/cssMode.js +0 -13
  220. package/assets/lib/vs/language/css/cssWorker.js +0 -81
  221. package/assets/lib/vs/language/html/htmlMode.js +0 -13
  222. package/assets/lib/vs/language/html/htmlWorker.js +0 -453
  223. package/assets/lib/vs/language/json/jsonMode.js +0 -15
  224. package/assets/lib/vs/language/json/jsonWorker.js +0 -36
  225. package/assets/lib/vs/language/typescript/tsMode.js +0 -20
  226. package/assets/lib/vs/language/typescript/tsWorker.js +0 -37016
  227. package/assets/lib/vs/loader.js +0 -11
  228. package/assets/mat-icons.ts +0 -5704
  229. package/assets/material/3d.svg +0 -1
  230. package/assets/material/abc.svg +0 -1
  231. package/assets/material/actionscript.svg +0 -1
  232. package/assets/material/ada.svg +0 -1
  233. package/assets/material/adonis.svg +0 -1
  234. package/assets/material/advpl_include.svg +0 -1
  235. package/assets/material/advpl_prw.svg +0 -1
  236. package/assets/material/advpl_ptm.svg +0 -1
  237. package/assets/material/advpl_tlpp.svg +0 -1
  238. package/assets/material/android.svg +0 -1
  239. package/assets/material/angular-component.svg +0 -1
  240. package/assets/material/angular-directive.svg +0 -1
  241. package/assets/material/angular-guard.svg +0 -1
  242. package/assets/material/angular-pipe.svg +0 -1
  243. package/assets/material/angular-resolver.svg +0 -1
  244. package/assets/material/angular-service.svg +0 -1
  245. package/assets/material/angular.svg +0 -1
  246. package/assets/material/antlr.svg +0 -1
  247. package/assets/material/apiblueprint.svg +0 -1
  248. package/assets/material/apollo.svg +0 -1
  249. package/assets/material/applescript.svg +0 -1
  250. package/assets/material/appveyor.svg +0 -1
  251. package/assets/material/architecture.svg +0 -1
  252. package/assets/material/arduino.svg +0 -1
  253. package/assets/material/asciidoc.svg +0 -1
  254. package/assets/material/assembly.svg +0 -1
  255. package/assets/material/astro.svg +0 -1
  256. package/assets/material/astyle.svg +0 -1
  257. package/assets/material/audio.svg +0 -1
  258. package/assets/material/aurelia.svg +0 -1
  259. package/assets/material/authors.svg +0 -1
  260. package/assets/material/auto.svg +0 -1
  261. package/assets/material/auto_light.svg +0 -1
  262. package/assets/material/autohotkey.svg +0 -1
  263. package/assets/material/autoit.svg +0 -1
  264. package/assets/material/azure-pipelines.svg +0 -1
  265. package/assets/material/azure.svg +0 -1
  266. package/assets/material/babel.svg +0 -1
  267. package/assets/material/ballerina.svg +0 -1
  268. package/assets/material/bazel.svg +0 -1
  269. package/assets/material/bicep.svg +0 -1
  270. package/assets/material/bitbucket.svg +0 -13
  271. package/assets/material/bithound.svg +0 -1
  272. package/assets/material/blink.svg +0 -1
  273. package/assets/material/blink_light.svg +0 -1
  274. package/assets/material/blitz.svg +0 -1
  275. package/assets/material/bower.svg +0 -1
  276. package/assets/material/brainfuck.svg +0 -1
  277. package/assets/material/browserlist.svg +0 -1
  278. package/assets/material/browserlist_light.svg +0 -1
  279. package/assets/material/buck.svg +0 -1
  280. package/assets/material/bucklescript.svg +0 -1
  281. package/assets/material/buildkite.svg +0 -1
  282. package/assets/material/bun.svg +0 -2
  283. package/assets/material/bun_light.svg +0 -2
  284. package/assets/material/c.svg +0 -4
  285. package/assets/material/cabal.svg +0 -1
  286. package/assets/material/caddy.svg +0 -1
  287. package/assets/material/cadence.svg +0 -1
  288. package/assets/material/cake.svg +0 -1
  289. package/assets/material/capacitor.svg +0 -1
  290. package/assets/material/certificate.svg +0 -1
  291. package/assets/material/changelog.svg +0 -1
  292. package/assets/material/chess.svg +0 -1
  293. package/assets/material/chess_light.svg +0 -1
  294. package/assets/material/circleci.svg +0 -1
  295. package/assets/material/circleci_light.svg +0 -1
  296. package/assets/material/clojure.svg +0 -1
  297. package/assets/material/cloudfoundry.svg +0 -1
  298. package/assets/material/cmake.svg +0 -1
  299. package/assets/material/coala.svg +0 -1
  300. package/assets/material/cobol.svg +0 -1
  301. package/assets/material/coconut.svg +0 -1
  302. package/assets/material/code-climate.svg +0 -1
  303. package/assets/material/code-climate_light.svg +0 -1
  304. package/assets/material/codecov.svg +0 -1
  305. package/assets/material/codeowners.svg +0 -1
  306. package/assets/material/coffee.svg +0 -1
  307. package/assets/material/coldfusion.svg +0 -1
  308. package/assets/material/command.svg +0 -1
  309. package/assets/material/commitlint.svg +0 -1
  310. package/assets/material/conduct.svg +0 -1
  311. package/assets/material/console.svg +0 -1
  312. package/assets/material/contributing.svg +0 -1
  313. package/assets/material/cpp.svg +0 -4
  314. package/assets/material/craco.svg +0 -45
  315. package/assets/material/credits.svg +0 -1
  316. package/assets/material/crystal.svg +0 -1
  317. package/assets/material/crystal_light.svg +0 -1
  318. package/assets/material/csharp.svg +0 -4
  319. package/assets/material/css-map.svg +0 -1
  320. package/assets/material/css.svg +0 -1
  321. package/assets/material/cucumber.svg +0 -1
  322. package/assets/material/cuda.svg +0 -1
  323. package/assets/material/cypress.svg +0 -1
  324. package/assets/material/d.svg +0 -1
  325. package/assets/material/dart.svg +0 -1
  326. package/assets/material/dart_generated.svg +0 -1
  327. package/assets/material/database.svg +0 -1
  328. package/assets/material/denizenscript.svg +0 -1
  329. package/assets/material/deno.svg +0 -1
  330. package/assets/material/deno_light.svg +0 -1
  331. package/assets/material/dependabot.svg +0 -1
  332. package/assets/material/dhall.svg +0 -1
  333. package/assets/material/diff.svg +0 -1
  334. package/assets/material/dinophp.svg +0 -1
  335. package/assets/material/disc.svg +0 -1
  336. package/assets/material/django.svg +0 -1
  337. package/assets/material/docker.svg +0 -1
  338. package/assets/material/document.svg +0 -1
  339. package/assets/material/dotjs.svg +0 -1
  340. package/assets/material/drawio.svg +0 -1
  341. package/assets/material/drone.svg +0 -1
  342. package/assets/material/drone_light.svg +0 -1
  343. package/assets/material/dune.svg +0 -1
  344. package/assets/material/edge.svg +0 -1
  345. package/assets/material/editorconfig.svg +0 -1
  346. package/assets/material/ejs.svg +0 -1
  347. package/assets/material/elixir.svg +0 -1
  348. package/assets/material/elm.svg +0 -1
  349. package/assets/material/email.svg +0 -1
  350. package/assets/material/ember.svg +0 -1
  351. package/assets/material/erlang.svg +0 -1
  352. package/assets/material/eslint.svg +0 -1
  353. package/assets/material/exe.svg +0 -1
  354. package/assets/material/fastlane.svg +0 -1
  355. package/assets/material/favicon.svg +0 -1
  356. package/assets/material/figma.svg +0 -1
  357. package/assets/material/file.svg +0 -1
  358. package/assets/material/firebase.svg +0 -1
  359. package/assets/material/flash.svg +0 -1
  360. package/assets/material/flow.svg +0 -1
  361. package/assets/material/folder-admin-open.svg +0 -1
  362. package/assets/material/folder-admin.svg +0 -1
  363. package/assets/material/folder-android-open.svg +0 -1
  364. package/assets/material/folder-android.svg +0 -1
  365. package/assets/material/folder-angular-open.svg +0 -1
  366. package/assets/material/folder-angular.svg +0 -1
  367. package/assets/material/folder-animation-open.svg +0 -1
  368. package/assets/material/folder-animation.svg +0 -1
  369. package/assets/material/folder-ansible-open.svg +0 -1
  370. package/assets/material/folder-ansible.svg +0 -1
  371. package/assets/material/folder-api-open.svg +0 -1
  372. package/assets/material/folder-api.svg +0 -1
  373. package/assets/material/folder-apollo-open.svg +0 -1
  374. package/assets/material/folder-apollo.svg +0 -1
  375. package/assets/material/folder-app-open.svg +0 -1
  376. package/assets/material/folder-app.svg +0 -1
  377. package/assets/material/folder-archive-open.svg +0 -1
  378. package/assets/material/folder-archive.svg +0 -1
  379. package/assets/material/folder-audio-open.svg +0 -1
  380. package/assets/material/folder-audio.svg +0 -1
  381. package/assets/material/folder-aurelia-open.svg +0 -1
  382. package/assets/material/folder-aurelia.svg +0 -1
  383. package/assets/material/folder-aws-open.svg +0 -1
  384. package/assets/material/folder-aws.svg +0 -1
  385. package/assets/material/folder-azure-pipelines-open.svg +0 -1
  386. package/assets/material/folder-azure-pipelines.svg +0 -1
  387. package/assets/material/folder-base-open.svg +0 -1
  388. package/assets/material/folder-base.svg +0 -1
  389. package/assets/material/folder-batch-open.svg +0 -1
  390. package/assets/material/folder-batch.svg +0 -1
  391. package/assets/material/folder-benchmark-open.svg +0 -1
  392. package/assets/material/folder-benchmark.svg +0 -1
  393. package/assets/material/folder-bower-open.svg +0 -1
  394. package/assets/material/folder-bower.svg +0 -1
  395. package/assets/material/folder-buildkite-open.svg +0 -1
  396. package/assets/material/folder-buildkite.svg +0 -1
  397. package/assets/material/folder-cart-open.svg +0 -1
  398. package/assets/material/folder-cart.svg +0 -1
  399. package/assets/material/folder-changesets-open.svg +0 -5
  400. package/assets/material/folder-changesets.svg +0 -2
  401. package/assets/material/folder-ci-open.svg +0 -1
  402. package/assets/material/folder-ci.svg +0 -1
  403. package/assets/material/folder-circleci-open.svg +0 -1
  404. package/assets/material/folder-circleci.svg +0 -1
  405. package/assets/material/folder-class-open.svg +0 -1
  406. package/assets/material/folder-class.svg +0 -1
  407. package/assets/material/folder-client-open.svg +0 -1
  408. package/assets/material/folder-client.svg +0 -1
  409. package/assets/material/folder-cluster-open.svg +0 -1
  410. package/assets/material/folder-cluster.svg +0 -1
  411. package/assets/material/folder-cobol-open.svg +0 -1
  412. package/assets/material/folder-cobol.svg +0 -1
  413. package/assets/material/folder-command-open.svg +0 -1
  414. package/assets/material/folder-command.svg +0 -1
  415. package/assets/material/folder-components-open.svg +0 -1
  416. package/assets/material/folder-components.svg +0 -1
  417. package/assets/material/folder-config-open.svg +0 -1
  418. package/assets/material/folder-config.svg +0 -1
  419. package/assets/material/folder-connection-open.svg +0 -1
  420. package/assets/material/folder-connection.svg +0 -1
  421. package/assets/material/folder-constant-open.svg +0 -1
  422. package/assets/material/folder-constant.svg +0 -1
  423. package/assets/material/folder-container-open.svg +0 -1
  424. package/assets/material/folder-container.svg +0 -1
  425. package/assets/material/folder-content-open.svg +0 -1
  426. package/assets/material/folder-content.svg +0 -1
  427. package/assets/material/folder-context-open.svg +0 -1
  428. package/assets/material/folder-context.svg +0 -1
  429. package/assets/material/folder-contract-open.svg +0 -1
  430. package/assets/material/folder-contract.svg +0 -1
  431. package/assets/material/folder-controller-open.svg +0 -1
  432. package/assets/material/folder-controller.svg +0 -1
  433. package/assets/material/folder-core-open.svg +0 -1
  434. package/assets/material/folder-core.svg +0 -1
  435. package/assets/material/folder-coverage-open.svg +0 -1
  436. package/assets/material/folder-coverage.svg +0 -1
  437. package/assets/material/folder-css-open.svg +0 -1
  438. package/assets/material/folder-css.svg +0 -1
  439. package/assets/material/folder-custom-open.svg +0 -1
  440. package/assets/material/folder-custom.svg +0 -1
  441. package/assets/material/folder-cypress-open.svg +0 -1
  442. package/assets/material/folder-cypress.svg +0 -1
  443. package/assets/material/folder-database-open.svg +0 -1
  444. package/assets/material/folder-database.svg +0 -1
  445. package/assets/material/folder-debug-open.svg +0 -1
  446. package/assets/material/folder-debug.svg +0 -1
  447. package/assets/material/folder-decorators-open.svg +0 -2
  448. package/assets/material/folder-decorators.svg +0 -5
  449. package/assets/material/folder-delta-open.svg +0 -1
  450. package/assets/material/folder-delta.svg +0 -1
  451. package/assets/material/folder-dist-open.svg +0 -1
  452. package/assets/material/folder-dist.svg +0 -1
  453. package/assets/material/folder-docker-open.svg +0 -1
  454. package/assets/material/folder-docker.svg +0 -1
  455. package/assets/material/folder-docs-open.svg +0 -1
  456. package/assets/material/folder-docs.svg +0 -1
  457. package/assets/material/folder-download-open.svg +0 -1
  458. package/assets/material/folder-download.svg +0 -1
  459. package/assets/material/folder-dump-open.svg +0 -1
  460. package/assets/material/folder-dump.svg +0 -1
  461. package/assets/material/folder-environment-open.svg +0 -1
  462. package/assets/material/folder-environment.svg +0 -1
  463. package/assets/material/folder-error-open.svg +0 -1
  464. package/assets/material/folder-error.svg +0 -1
  465. package/assets/material/folder-event-open.svg +0 -1
  466. package/assets/material/folder-event.svg +0 -1
  467. package/assets/material/folder-examples-open.svg +0 -1
  468. package/assets/material/folder-examples.svg +0 -1
  469. package/assets/material/folder-expo-open.svg +0 -1
  470. package/assets/material/folder-expo.svg +0 -1
  471. package/assets/material/folder-export-open.svg +0 -1
  472. package/assets/material/folder-export.svg +0 -1
  473. package/assets/material/folder-fastlane-open.svg +0 -1
  474. package/assets/material/folder-fastlane.svg +0 -1
  475. package/assets/material/folder-firebase-open.svg +0 -1
  476. package/assets/material/folder-firebase.svg +0 -1
  477. package/assets/material/folder-flow-open.svg +0 -1
  478. package/assets/material/folder-flow.svg +0 -1
  479. package/assets/material/folder-font-open.svg +0 -1
  480. package/assets/material/folder-font.svg +0 -1
  481. package/assets/material/folder-functions-open.svg +0 -1
  482. package/assets/material/folder-functions.svg +0 -1
  483. package/assets/material/folder-gamemaker-open.svg +0 -2
  484. package/assets/material/folder-gamemaker.svg +0 -2
  485. package/assets/material/folder-generator-open.svg +0 -1
  486. package/assets/material/folder-generator.svg +0 -1
  487. package/assets/material/folder-git-open.svg +0 -1
  488. package/assets/material/folder-git.svg +0 -1
  489. package/assets/material/folder-github-open.svg +0 -1
  490. package/assets/material/folder-github.svg +0 -1
  491. package/assets/material/folder-gitlab-open.svg +0 -1
  492. package/assets/material/folder-gitlab.svg +0 -1
  493. package/assets/material/folder-global-open.svg +0 -1
  494. package/assets/material/folder-global.svg +0 -1
  495. package/assets/material/folder-godot-open.svg +0 -2
  496. package/assets/material/folder-godot.svg +0 -8
  497. package/assets/material/folder-gradle-open.svg +0 -1
  498. package/assets/material/folder-gradle.svg +0 -1
  499. package/assets/material/folder-graphql-open.svg +0 -1
  500. package/assets/material/folder-graphql.svg +0 -1
  501. package/assets/material/folder-guard-open.svg +0 -1
  502. package/assets/material/folder-guard.svg +0 -1
  503. package/assets/material/folder-gulp-open.svg +0 -1
  504. package/assets/material/folder-gulp.svg +0 -1
  505. package/assets/material/folder-helper-open.svg +0 -1
  506. package/assets/material/folder-helper.svg +0 -1
  507. package/assets/material/folder-home-open.svg +0 -1
  508. package/assets/material/folder-home.svg +0 -1
  509. package/assets/material/folder-hook-open.svg +0 -1
  510. package/assets/material/folder-hook.svg +0 -1
  511. package/assets/material/folder-husky-open.svg +0 -1
  512. package/assets/material/folder-husky.svg +0 -1
  513. package/assets/material/folder-i18n-open.svg +0 -1
  514. package/assets/material/folder-i18n.svg +0 -1
  515. package/assets/material/folder-images-open.svg +0 -1
  516. package/assets/material/folder-images.svg +0 -1
  517. package/assets/material/folder-import-open.svg +0 -1
  518. package/assets/material/folder-import.svg +0 -1
  519. package/assets/material/folder-include-open.svg +0 -1
  520. package/assets/material/folder-include.svg +0 -1
  521. package/assets/material/folder-intellij-open.svg +0 -1
  522. package/assets/material/folder-intellij-open_light.svg +0 -1
  523. package/assets/material/folder-intellij.svg +0 -1
  524. package/assets/material/folder-intellij_light.svg +0 -1
  525. package/assets/material/folder-interface-open.svg +0 -1
  526. package/assets/material/folder-interface.svg +0 -1
  527. package/assets/material/folder-ios-open.svg +0 -1
  528. package/assets/material/folder-ios.svg +0 -1
  529. package/assets/material/folder-java-open.svg +0 -1
  530. package/assets/material/folder-java.svg +0 -1
  531. package/assets/material/folder-javascript-open.svg +0 -1
  532. package/assets/material/folder-javascript.svg +0 -1
  533. package/assets/material/folder-jinja-open.svg +0 -1
  534. package/assets/material/folder-jinja-open_light.svg +0 -1
  535. package/assets/material/folder-jinja.svg +0 -1
  536. package/assets/material/folder-jinja_light.svg +0 -1
  537. package/assets/material/folder-job-open.svg +0 -1
  538. package/assets/material/folder-job.svg +0 -1
  539. package/assets/material/folder-json-open.svg +0 -1
  540. package/assets/material/folder-json.svg +0 -1
  541. package/assets/material/folder-keys-open.svg +0 -1
  542. package/assets/material/folder-keys.svg +0 -1
  543. package/assets/material/folder-kubernetes-open.svg +0 -1
  544. package/assets/material/folder-kubernetes.svg +0 -1
  545. package/assets/material/folder-layout-open.svg +0 -1
  546. package/assets/material/folder-layout.svg +0 -1
  547. package/assets/material/folder-less-open.svg +0 -1
  548. package/assets/material/folder-less.svg +0 -1
  549. package/assets/material/folder-lib-open.svg +0 -1
  550. package/assets/material/folder-lib.svg +0 -1
  551. package/assets/material/folder-log-open.svg +0 -1
  552. package/assets/material/folder-log.svg +0 -1
  553. package/assets/material/folder-lua-open.svg +0 -1
  554. package/assets/material/folder-lua.svg +0 -1
  555. package/assets/material/folder-mail-open.svg +0 -1
  556. package/assets/material/folder-mail.svg +0 -1
  557. package/assets/material/folder-mappings-open.svg +0 -1
  558. package/assets/material/folder-mappings.svg +0 -1
  559. package/assets/material/folder-markdown-open.svg +0 -1
  560. package/assets/material/folder-markdown.svg +0 -1
  561. package/assets/material/folder-mercurial-open.svg +0 -5
  562. package/assets/material/folder-mercurial.svg +0 -2
  563. package/assets/material/folder-messages-open.svg +0 -1
  564. package/assets/material/folder-messages.svg +0 -1
  565. package/assets/material/folder-meta-open.svg +0 -1
  566. package/assets/material/folder-meta.svg +0 -1
  567. package/assets/material/folder-middleware-open.svg +0 -1
  568. package/assets/material/folder-middleware.svg +0 -1
  569. package/assets/material/folder-mjml-open.svg +0 -1
  570. package/assets/material/folder-mjml.svg +0 -1
  571. package/assets/material/folder-mobile-open.svg +0 -1
  572. package/assets/material/folder-mobile.svg +0 -1
  573. package/assets/material/folder-mock-open.svg +0 -1
  574. package/assets/material/folder-mock.svg +0 -1
  575. package/assets/material/folder-netlify-open.svg +0 -5
  576. package/assets/material/folder-netlify.svg +0 -2
  577. package/assets/material/folder-next-open.svg +0 -1
  578. package/assets/material/folder-next.svg +0 -1
  579. package/assets/material/folder-ngrx-actions-open.svg +0 -1
  580. package/assets/material/folder-ngrx-actions.svg +0 -1
  581. package/assets/material/folder-ngrx-effects-open.svg +0 -1
  582. package/assets/material/folder-ngrx-effects.svg +0 -1
  583. package/assets/material/folder-ngrx-entities-open.svg +0 -1
  584. package/assets/material/folder-ngrx-entities.svg +0 -1
  585. package/assets/material/folder-ngrx-reducer-open.svg +0 -1
  586. package/assets/material/folder-ngrx-reducer.svg +0 -1
  587. package/assets/material/folder-ngrx-selectors-open.svg +0 -1
  588. package/assets/material/folder-ngrx-selectors.svg +0 -1
  589. package/assets/material/folder-ngrx-state-open.svg +0 -1
  590. package/assets/material/folder-ngrx-state.svg +0 -1
  591. package/assets/material/folder-ngrx-store-open.svg +0 -1
  592. package/assets/material/folder-ngrx-store.svg +0 -1
  593. package/assets/material/folder-node-open.svg +0 -1
  594. package/assets/material/folder-node.svg +0 -1
  595. package/assets/material/folder-nuxt-open.svg +0 -1
  596. package/assets/material/folder-nuxt.svg +0 -1
  597. package/assets/material/folder-open.svg +0 -1
  598. package/assets/material/folder-other-open.svg +0 -1
  599. package/assets/material/folder-other.svg +0 -1
  600. package/assets/material/folder-packages-open.svg +0 -1
  601. package/assets/material/folder-packages.svg +0 -1
  602. package/assets/material/folder-pdf-open.svg +0 -1
  603. package/assets/material/folder-pdf.svg +0 -1
  604. package/assets/material/folder-php-open.svg +0 -1
  605. package/assets/material/folder-php.svg +0 -1
  606. package/assets/material/folder-phpmailer-open.svg +0 -1
  607. package/assets/material/folder-phpmailer.svg +0 -1
  608. package/assets/material/folder-pipe-open.svg +0 -1
  609. package/assets/material/folder-pipe.svg +0 -1
  610. package/assets/material/folder-plastic-open.svg +0 -8
  611. package/assets/material/folder-plastic.svg +0 -2
  612. package/assets/material/folder-plugin-open.svg +0 -1
  613. package/assets/material/folder-plugin.svg +0 -1
  614. package/assets/material/folder-prisma-open.svg +0 -1
  615. package/assets/material/folder-prisma.svg +0 -1
  616. package/assets/material/folder-private-open.svg +0 -1
  617. package/assets/material/folder-private.svg +0 -1
  618. package/assets/material/folder-project-open.svg +0 -1
  619. package/assets/material/folder-project.svg +0 -1
  620. package/assets/material/folder-proto-open.svg +0 -1
  621. package/assets/material/folder-proto.svg +0 -1
  622. package/assets/material/folder-public-open.svg +0 -1
  623. package/assets/material/folder-public.svg +0 -1
  624. package/assets/material/folder-python-open.svg +0 -1
  625. package/assets/material/folder-python.svg +0 -1
  626. package/assets/material/folder-quasar-open.svg +0 -1
  627. package/assets/material/folder-quasar.svg +0 -1
  628. package/assets/material/folder-queue-open.svg +0 -1
  629. package/assets/material/folder-queue.svg +0 -1
  630. package/assets/material/folder-react-components-open.svg +0 -1
  631. package/assets/material/folder-react-components.svg +0 -1
  632. package/assets/material/folder-redux-actions-open.svg +0 -1
  633. package/assets/material/folder-redux-actions.svg +0 -1
  634. package/assets/material/folder-redux-reducer-open.svg +0 -1
  635. package/assets/material/folder-redux-reducer.svg +0 -1
  636. package/assets/material/folder-redux-selector-open.svg +0 -1
  637. package/assets/material/folder-redux-selector.svg +0 -1
  638. package/assets/material/folder-redux-store-open.svg +0 -1
  639. package/assets/material/folder-redux-store.svg +0 -1
  640. package/assets/material/folder-resolver-open.svg +0 -1
  641. package/assets/material/folder-resolver.svg +0 -1
  642. package/assets/material/folder-resource-open.svg +0 -1
  643. package/assets/material/folder-resource.svg +0 -1
  644. package/assets/material/folder-review-open.svg +0 -1
  645. package/assets/material/folder-review.svg +0 -1
  646. package/assets/material/folder-root-open.svg +0 -1
  647. package/assets/material/folder-root.svg +0 -1
  648. package/assets/material/folder-routes-open.svg +0 -1
  649. package/assets/material/folder-routes.svg +0 -1
  650. package/assets/material/folder-rules-open.svg +0 -1
  651. package/assets/material/folder-rules.svg +0 -1
  652. package/assets/material/folder-sass-open.svg +0 -1
  653. package/assets/material/folder-sass.svg +0 -1
  654. package/assets/material/folder-scala-open.svg +0 -1
  655. package/assets/material/folder-scala.svg +0 -1
  656. package/assets/material/folder-scripts-open.svg +0 -1
  657. package/assets/material/folder-scripts.svg +0 -1
  658. package/assets/material/folder-secure-open.svg +0 -1
  659. package/assets/material/folder-secure.svg +0 -1
  660. package/assets/material/folder-server-open.svg +0 -1
  661. package/assets/material/folder-server.svg +0 -1
  662. package/assets/material/folder-serverless-open.svg +0 -1
  663. package/assets/material/folder-serverless.svg +0 -1
  664. package/assets/material/folder-shader-open.svg +0 -1
  665. package/assets/material/folder-shader.svg +0 -1
  666. package/assets/material/folder-shared-open.svg +0 -1
  667. package/assets/material/folder-shared.svg +0 -1
  668. package/assets/material/folder-src-open.svg +0 -1
  669. package/assets/material/folder-src.svg +0 -1
  670. package/assets/material/folder-stack-open.svg +0 -1
  671. package/assets/material/folder-stack.svg +0 -1
  672. package/assets/material/folder-stencil-open.svg +0 -1
  673. package/assets/material/folder-stencil.svg +0 -1
  674. package/assets/material/folder-storybook-open.svg +0 -1
  675. package/assets/material/folder-storybook.svg +0 -1
  676. package/assets/material/folder-stylus-open.svg +0 -1
  677. package/assets/material/folder-stylus.svg +0 -1
  678. package/assets/material/folder-sublime-open.svg +0 -1
  679. package/assets/material/folder-sublime.svg +0 -1
  680. package/assets/material/folder-supabase-open.svg +0 -5
  681. package/assets/material/folder-supabase.svg +0 -2
  682. package/assets/material/folder-svelte-open.svg +0 -1
  683. package/assets/material/folder-svelte.svg +0 -1
  684. package/assets/material/folder-svg-open.svg +0 -1
  685. package/assets/material/folder-svg.svg +0 -1
  686. package/assets/material/folder-syntax-open.svg +0 -1
  687. package/assets/material/folder-syntax.svg +0 -1
  688. package/assets/material/folder-target-open.svg +0 -1
  689. package/assets/material/folder-target.svg +0 -1
  690. package/assets/material/folder-tasks-open.svg +0 -1
  691. package/assets/material/folder-tasks.svg +0 -1
  692. package/assets/material/folder-temp-open.svg +0 -1
  693. package/assets/material/folder-temp.svg +0 -1
  694. package/assets/material/folder-template-open.svg +0 -1
  695. package/assets/material/folder-template.svg +0 -1
  696. package/assets/material/folder-terraform-open.svg +0 -1
  697. package/assets/material/folder-terraform.svg +0 -1
  698. package/assets/material/folder-test-open.svg +0 -1
  699. package/assets/material/folder-test.svg +0 -1
  700. package/assets/material/folder-theme-open.svg +0 -1
  701. package/assets/material/folder-theme.svg +0 -1
  702. package/assets/material/folder-tools-open.svg +0 -1
  703. package/assets/material/folder-tools.svg +0 -1
  704. package/assets/material/folder-typescript-open.svg +0 -1
  705. package/assets/material/folder-typescript.svg +0 -1
  706. package/assets/material/folder-unity-open.svg +0 -1
  707. package/assets/material/folder-unity.svg +0 -1
  708. package/assets/material/folder-update-open.svg +0 -1
  709. package/assets/material/folder-update.svg +0 -1
  710. package/assets/material/folder-upload-open.svg +0 -1
  711. package/assets/material/folder-upload.svg +0 -1
  712. package/assets/material/folder-utils-open.svg +0 -1
  713. package/assets/material/folder-utils.svg +0 -1
  714. package/assets/material/folder-vercel-open.svg +0 -1
  715. package/assets/material/folder-vercel.svg +0 -1
  716. package/assets/material/folder-verdaccio-open.svg +0 -1
  717. package/assets/material/folder-verdaccio.svg +0 -1
  718. package/assets/material/folder-video-open.svg +0 -1
  719. package/assets/material/folder-video.svg +0 -1
  720. package/assets/material/folder-views-open.svg +0 -1
  721. package/assets/material/folder-views.svg +0 -1
  722. package/assets/material/folder-vm-open.svg +0 -1
  723. package/assets/material/folder-vm.svg +0 -1
  724. package/assets/material/folder-vscode-open.svg +0 -1
  725. package/assets/material/folder-vscode.svg +0 -1
  726. package/assets/material/folder-vue-directives-open.svg +0 -1
  727. package/assets/material/folder-vue-directives.svg +0 -1
  728. package/assets/material/folder-vue-open.svg +0 -1
  729. package/assets/material/folder-vue.svg +0 -1
  730. package/assets/material/folder-vuepress-open.svg +0 -1
  731. package/assets/material/folder-vuepress.svg +0 -1
  732. package/assets/material/folder-vuex-store-open.svg +0 -1
  733. package/assets/material/folder-vuex-store.svg +0 -1
  734. package/assets/material/folder-wakatime-open.svg +0 -1
  735. package/assets/material/folder-wakatime.svg +0 -1
  736. package/assets/material/folder-webpack-open.svg +0 -1
  737. package/assets/material/folder-webpack.svg +0 -1
  738. package/assets/material/folder-wordpress-open.svg +0 -1
  739. package/assets/material/folder-wordpress.svg +0 -1
  740. package/assets/material/folder-yarn-open.svg +0 -1
  741. package/assets/material/folder-yarn.svg +0 -1
  742. package/assets/material/folder.svg +0 -1
  743. package/assets/material/font.svg +0 -1
  744. package/assets/material/forth.svg +0 -1
  745. package/assets/material/fortran.svg +0 -1
  746. package/assets/material/foxpro.svg +0 -1
  747. package/assets/material/fsharp.svg +0 -1
  748. package/assets/material/fusebox.svg +0 -1
  749. package/assets/material/gamemaker.svg +0 -4
  750. package/assets/material/gatsby.svg +0 -1
  751. package/assets/material/gcp.svg +0 -1
  752. package/assets/material/gemfile.svg +0 -1
  753. package/assets/material/gemini.svg +0 -1
  754. package/assets/material/git.svg +0 -1
  755. package/assets/material/gitlab.svg +0 -1
  756. package/assets/material/gitpod.svg +0 -1
  757. package/assets/material/gleam.svg +0 -1
  758. package/assets/material/go-mod.svg +0 -1
  759. package/assets/material/go.svg +0 -1
  760. package/assets/material/go_gopher.svg +0 -1
  761. package/assets/material/godot-assets.svg +0 -7
  762. package/assets/material/godot.svg +0 -7
  763. package/assets/material/gradle.svg +0 -1
  764. package/assets/material/grain.svg +0 -1
  765. package/assets/material/graphcool.svg +0 -1
  766. package/assets/material/graphql.svg +0 -1
  767. package/assets/material/gridsome.svg +0 -1
  768. package/assets/material/groovy.svg +0 -1
  769. package/assets/material/grunt.svg +0 -1
  770. package/assets/material/gulp.svg +0 -1
  771. package/assets/material/h.svg +0 -1
  772. package/assets/material/hack.svg +0 -1
  773. package/assets/material/haml.svg +0 -1
  774. package/assets/material/handlebars.svg +0 -1
  775. package/assets/material/hardhat.svg +0 -1
  776. package/assets/material/haskell.svg +0 -1
  777. package/assets/material/haxe.svg +0 -1
  778. package/assets/material/hcl.svg +0 -1
  779. package/assets/material/hcl_light.svg +0 -1
  780. package/assets/material/helm.svg +0 -1
  781. package/assets/material/heroku.svg +0 -1
  782. package/assets/material/hex.svg +0 -1
  783. package/assets/material/horusec.svg +0 -1
  784. package/assets/material/hpp.svg +0 -1
  785. package/assets/material/html.svg +0 -1
  786. package/assets/material/http.svg +0 -1
  787. package/assets/material/husky.svg +0 -1
  788. package/assets/material/i18n.svg +0 -1
  789. package/assets/material/idris.svg +0 -1
  790. package/assets/material/ifanr-cloud.svg +0 -10
  791. package/assets/material/image.svg +0 -1
  792. package/assets/material/imba.svg +0 -1
  793. package/assets/material/ionic.svg +0 -1
  794. package/assets/material/istanbul.svg +0 -1
  795. package/assets/material/jar.svg +0 -1
  796. package/assets/material/java.svg +0 -1
  797. package/assets/material/javaclass.svg +0 -1
  798. package/assets/material/javascript-map.svg +0 -1
  799. package/assets/material/javascript.svg +0 -1
  800. package/assets/material/jenkins.svg +0 -1
  801. package/assets/material/jest.svg +0 -1
  802. package/assets/material/jinja.svg +0 -1
  803. package/assets/material/jinja_light.svg +0 -1
  804. package/assets/material/jsconfig.svg +0 -1
  805. package/assets/material/json.svg +0 -1
  806. package/assets/material/julia.svg +0 -1
  807. package/assets/material/jupyter.svg +0 -1
  808. package/assets/material/karma.svg +0 -1
  809. package/assets/material/key.svg +0 -1
  810. package/assets/material/kivy.svg +0 -1
  811. package/assets/material/kl.svg +0 -1
  812. package/assets/material/kotlin.svg +0 -1
  813. package/assets/material/kusto.svg +0 -1
  814. package/assets/material/laravel.svg +0 -1
  815. package/assets/material/lerna.svg +0 -1
  816. package/assets/material/less.svg +0 -1
  817. package/assets/material/lib.svg +0 -1
  818. package/assets/material/lighthouse.svg +0 -1
  819. package/assets/material/lilypond.svg +0 -1
  820. package/assets/material/liquid.svg +0 -1
  821. package/assets/material/lisp.svg +0 -1
  822. package/assets/material/livescript.svg +0 -1
  823. package/assets/material/lock.svg +0 -1
  824. package/assets/material/log.svg +0 -1
  825. package/assets/material/lolcode.svg +0 -1
  826. package/assets/material/lua.svg +0 -1
  827. package/assets/material/makefile.svg +0 -1
  828. package/assets/material/markdown.svg +0 -1
  829. package/assets/material/markojs.svg +0 -1
  830. package/assets/material/mathematica.svg +0 -1
  831. package/assets/material/matlab.svg +0 -1
  832. package/assets/material/maven.svg +0 -1
  833. package/assets/material/mdsvex.svg +0 -1
  834. package/assets/material/mdx.svg +0 -1
  835. package/assets/material/mercurial.svg +0 -6
  836. package/assets/material/merlin.svg +0 -1
  837. package/assets/material/mermaid.svg +0 -4
  838. package/assets/material/meson.svg +0 -1
  839. package/assets/material/minecraft.svg +0 -1
  840. package/assets/material/mint.svg +0 -1
  841. package/assets/material/mjml.svg +0 -1
  842. package/assets/material/mocha.svg +0 -1
  843. package/assets/material/modernizr.svg +0 -1
  844. package/assets/material/moonscript.svg +0 -1
  845. package/assets/material/mxml.svg +0 -1
  846. package/assets/material/nano-staged.svg +0 -1
  847. package/assets/material/nano-staged_light.svg +0 -1
  848. package/assets/material/ndst.svg +0 -1
  849. package/assets/material/nest-controller.svg +0 -1
  850. package/assets/material/nest-decorator.svg +0 -1
  851. package/assets/material/nest-filter.svg +0 -1
  852. package/assets/material/nest-gateway.svg +0 -1
  853. package/assets/material/nest-guard.svg +0 -1
  854. package/assets/material/nest-middleware.svg +0 -1
  855. package/assets/material/nest-module.svg +0 -1
  856. package/assets/material/nest-pipe.svg +0 -1
  857. package/assets/material/nest-resolver.svg +0 -1
  858. package/assets/material/nest-service.svg +0 -1
  859. package/assets/material/nest.svg +0 -1
  860. package/assets/material/netlify.svg +0 -7
  861. package/assets/material/netlify_light.svg +0 -7
  862. package/assets/material/next.svg +0 -1
  863. package/assets/material/next_light.svg +0 -1
  864. package/assets/material/nginx.svg +0 -1
  865. package/assets/material/ngrx-actions.svg +0 -1
  866. package/assets/material/ngrx-effects.svg +0 -1
  867. package/assets/material/ngrx-entity.svg +0 -1
  868. package/assets/material/ngrx-reducer.svg +0 -1
  869. package/assets/material/ngrx-selectors.svg +0 -1
  870. package/assets/material/ngrx-state.svg +0 -1
  871. package/assets/material/nim.svg +0 -1
  872. package/assets/material/nix.svg +0 -1
  873. package/assets/material/nodejs.svg +0 -1
  874. package/assets/material/nodejs_alt.svg +0 -1
  875. package/assets/material/nodemon.svg +0 -1
  876. package/assets/material/npm.svg +0 -1
  877. package/assets/material/nrwl.svg +0 -1
  878. package/assets/material/nuget.svg +0 -1
  879. package/assets/material/nunjucks.svg +0 -1
  880. package/assets/material/nuxt.svg +0 -1
  881. package/assets/material/objective-c.svg +0 -4
  882. package/assets/material/objective-cpp.svg +0 -1
  883. package/assets/material/ocaml.svg +0 -1
  884. package/assets/material/odin.svg +0 -1
  885. package/assets/material/opa.svg +0 -1
  886. package/assets/material/opam.svg +0 -1
  887. package/assets/material/otne.svg +0 -1
  888. package/assets/material/parcel.svg +0 -1
  889. package/assets/material/pascal.svg +0 -6
  890. package/assets/material/pawn.svg +0 -1
  891. package/assets/material/pdf.svg +0 -1
  892. package/assets/material/percy.svg +0 -1
  893. package/assets/material/perl.svg +0 -1
  894. package/assets/material/php-cs-fixer.svg +0 -1
  895. package/assets/material/php.svg +0 -1
  896. package/assets/material/php_elephant.svg +0 -1
  897. package/assets/material/php_elephant_pink.svg +0 -1
  898. package/assets/material/phpunit.svg +0 -1
  899. package/assets/material/pinejs.svg +0 -1
  900. package/assets/material/pipeline.svg +0 -1
  901. package/assets/material/plastic.svg +0 -7
  902. package/assets/material/playwright.svg +0 -1
  903. package/assets/material/plop.svg +0 -1
  904. package/assets/material/pnpm.svg +0 -1
  905. package/assets/material/pnpm_light.svg +0 -1
  906. package/assets/material/poetry.svg +0 -1
  907. package/assets/material/postcss.svg +0 -1
  908. package/assets/material/posthtml.svg +0 -1
  909. package/assets/material/powerpoint.svg +0 -1
  910. package/assets/material/powershell.svg +0 -1
  911. package/assets/material/prettier.svg +0 -1
  912. package/assets/material/prisma.svg +0 -1
  913. package/assets/material/processing.svg +0 -1
  914. package/assets/material/prolog.svg +0 -1
  915. package/assets/material/proto.svg +0 -1
  916. package/assets/material/protractor.svg +0 -1
  917. package/assets/material/pug.svg +0 -1
  918. package/assets/material/puppet.svg +0 -1
  919. package/assets/material/purescript.svg +0 -1
  920. package/assets/material/python-misc.svg +0 -1
  921. package/assets/material/python.svg +0 -1
  922. package/assets/material/qsharp.svg +0 -1
  923. package/assets/material/quasar.svg +0 -1
  924. package/assets/material/qwik.svg +0 -2
  925. package/assets/material/r.svg +0 -1
  926. package/assets/material/racket.svg +0 -1
  927. package/assets/material/raml.svg +0 -1
  928. package/assets/material/razor.svg +0 -1
  929. package/assets/material/rc.svg +0 -2
  930. package/assets/material/react.svg +0 -1
  931. package/assets/material/react_ts.svg +0 -1
  932. package/assets/material/readme.svg +0 -1
  933. package/assets/material/reason.svg +0 -1
  934. package/assets/material/red.svg +0 -1
  935. package/assets/material/redux-action.svg +0 -1
  936. package/assets/material/redux-reducer.svg +0 -1
  937. package/assets/material/redux-selector.svg +0 -1
  938. package/assets/material/redux-store.svg +0 -1
  939. package/assets/material/remix.svg +0 -1
  940. package/assets/material/remix_light.svg +0 -1
  941. package/assets/material/renovate.svg +0 -1
  942. package/assets/material/replit.svg +0 -1
  943. package/assets/material/rescript-interface.svg +0 -1
  944. package/assets/material/rescript.svg +0 -1
  945. package/assets/material/restql.svg +0 -1
  946. package/assets/material/riot.svg +0 -1
  947. package/assets/material/roadmap.svg +0 -1
  948. package/assets/material/robot.svg +0 -1
  949. package/assets/material/robots.svg +0 -1
  950. package/assets/material/rollup.svg +0 -1
  951. package/assets/material/rome.svg +0 -1
  952. package/assets/material/routing.svg +0 -1
  953. package/assets/material/rubocop.svg +0 -1
  954. package/assets/material/rubocop_light.svg +0 -1
  955. package/assets/material/ruby.svg +0 -1
  956. package/assets/material/rust.svg +0 -1
  957. package/assets/material/salesforce.svg +0 -1
  958. package/assets/material/san.svg +0 -1
  959. package/assets/material/sas.svg +0 -1
  960. package/assets/material/sass.svg +0 -1
  961. package/assets/material/sbt.svg +0 -1
  962. package/assets/material/scala.svg +0 -1
  963. package/assets/material/scheme.svg +0 -1
  964. package/assets/material/search.svg +0 -1
  965. package/assets/material/semantic-release.svg +0 -1
  966. package/assets/material/semantic-release_light.svg +0 -1
  967. package/assets/material/sentry.svg +0 -1
  968. package/assets/material/sequelize.svg +0 -1
  969. package/assets/material/serverless.svg +0 -1
  970. package/assets/material/settings.svg +0 -1
  971. package/assets/material/shader.svg +0 -1
  972. package/assets/material/shaderlab.svg +0 -1
  973. package/assets/material/silverstripe.svg +0 -1
  974. package/assets/material/siyuan.svg +0 -1
  975. package/assets/material/sketch.svg +0 -1
  976. package/assets/material/slim.svg +0 -1
  977. package/assets/material/slug.svg +0 -1
  978. package/assets/material/smarty.svg +0 -1
  979. package/assets/material/sml.svg +0 -1
  980. package/assets/material/snowpack.svg +0 -1
  981. package/assets/material/snowpack_light.svg +0 -1
  982. package/assets/material/snyk.svg +0 -1
  983. package/assets/material/solidity.svg +0 -1
  984. package/assets/material/sonarcloud.svg +0 -4
  985. package/assets/material/steadybit.svg +0 -1
  986. package/assets/material/stencil.svg +0 -1
  987. package/assets/material/stitches.svg +0 -1
  988. package/assets/material/stitches_light.svg +0 -1
  989. package/assets/material/storybook.svg +0 -1
  990. package/assets/material/stryker.svg +0 -1
  991. package/assets/material/stylable.svg +0 -10
  992. package/assets/material/stylelint.svg +0 -1
  993. package/assets/material/stylelint_light.svg +0 -1
  994. package/assets/material/stylus.svg +0 -1
  995. package/assets/material/sublime.svg +0 -1
  996. package/assets/material/supabase.svg +0 -4
  997. package/assets/material/svelte.svg +0 -1
  998. package/assets/material/svg.svg +0 -1
  999. package/assets/material/svgo.svg +0 -1
  1000. package/assets/material/svgr.svg +0 -1
  1001. package/assets/material/swc.svg +0 -1
  1002. package/assets/material/swift.svg +0 -1
  1003. package/assets/material/table.svg +0 -1
  1004. package/assets/material/tailwindcss.svg +0 -1
  1005. package/assets/material/tauri.svg +0 -1
  1006. package/assets/material/tcl.svg +0 -1
  1007. package/assets/material/teal.svg +0 -1
  1008. package/assets/material/template.svg +0 -1
  1009. package/assets/material/terraform.svg +0 -1
  1010. package/assets/material/test-js.svg +0 -1
  1011. package/assets/material/test-jsx.svg +0 -1
  1012. package/assets/material/test-ts.svg +0 -1
  1013. package/assets/material/tex.svg +0 -1
  1014. package/assets/material/textlint.svg +0 -1
  1015. package/assets/material/tilt.svg +0 -1
  1016. package/assets/material/tldraw.svg +0 -4
  1017. package/assets/material/tldraw_light.svg +0 -4
  1018. package/assets/material/tobi.svg +0 -1
  1019. package/assets/material/tobimake.svg +0 -1
  1020. package/assets/material/todo.svg +0 -1
  1021. package/assets/material/travis.svg +0 -1
  1022. package/assets/material/tree.svg +0 -1
  1023. package/assets/material/tsconfig.svg +0 -1
  1024. package/assets/material/tune.svg +0 -1
  1025. package/assets/material/turborepo.svg +0 -1
  1026. package/assets/material/turborepo_light.svg +0 -1
  1027. package/assets/material/twig.svg +0 -1
  1028. package/assets/material/twine.svg +0 -1
  1029. package/assets/material/typescript-def.svg +0 -1
  1030. package/assets/material/typescript.svg +0 -1
  1031. package/assets/material/typst.svg +0 -2
  1032. package/assets/material/uml.svg +0 -1
  1033. package/assets/material/uml_light.svg +0 -1
  1034. package/assets/material/url.svg +0 -1
  1035. package/assets/material/vagrant.svg +0 -1
  1036. package/assets/material/vala.svg +0 -1
  1037. package/assets/material/velocity.svg +0 -1
  1038. package/assets/material/vercel.svg +0 -1
  1039. package/assets/material/vercel_light.svg +0 -1
  1040. package/assets/material/verdaccio.svg +0 -1
  1041. package/assets/material/verilog.svg +0 -1
  1042. package/assets/material/vfl.svg +0 -1
  1043. package/assets/material/video.svg +0 -1
  1044. package/assets/material/vim.svg +0 -1
  1045. package/assets/material/virtual.svg +0 -1
  1046. package/assets/material/visualstudio.svg +0 -1
  1047. package/assets/material/vite.svg +0 -1
  1048. package/assets/material/vitest.svg +0 -6
  1049. package/assets/material/vlang.svg +0 -1
  1050. package/assets/material/vscode.svg +0 -1
  1051. package/assets/material/vue-config.svg +0 -1
  1052. package/assets/material/vue.svg +0 -1
  1053. package/assets/material/vuex-store.svg +0 -1
  1054. package/assets/material/wakatime.svg +0 -1
  1055. package/assets/material/wakatime_light.svg +0 -1
  1056. package/assets/material/wallaby.svg +0 -1
  1057. package/assets/material/watchman.svg +0 -1
  1058. package/assets/material/webassembly.svg +0 -1
  1059. package/assets/material/webhint.svg +0 -1
  1060. package/assets/material/webpack.svg +0 -1
  1061. package/assets/material/wepy.svg +0 -1
  1062. package/assets/material/windicss.svg +0 -1
  1063. package/assets/material/wolframlanguage.svg +0 -1
  1064. package/assets/material/word.svg +0 -1
  1065. package/assets/material/xaml.svg +0 -1
  1066. package/assets/material/xml.svg +0 -1
  1067. package/assets/material/yaml.svg +0 -1
  1068. package/assets/material/yang.svg +0 -1
  1069. package/assets/material/yarn.svg +0 -1
  1070. package/assets/material/zig.svg +0 -1
  1071. package/assets/material/zip.svg +0 -1
  1072. package/assets/pop/LICENSE +0 -2
  1073. package/assets/pop/binary.svg +0 -1
  1074. package/assets/pop/compressed.svg +0 -1
  1075. package/assets/pop/database.svg +0 -1
  1076. package/assets/pop/exts/7z.svg +0 -1
  1077. package/assets/pop/exts/apk.svg +0 -1
  1078. package/assets/pop/exts/arc.svg +0 -1
  1079. package/assets/pop/exts/bz.svg +0 -1
  1080. package/assets/pop/exts/deb.svg +0 -1
  1081. package/assets/pop/exts/gz.svg +0 -1
  1082. package/assets/pop/exts/pdf.svg +0 -1
  1083. package/assets/pop/exts/rar.svg +0 -1
  1084. package/assets/pop/exts/rpm.svg +0 -1
  1085. package/assets/pop/exts/tar.svg +0 -1
  1086. package/assets/pop/exts/xar.svg +0 -1
  1087. package/assets/pop/exts/xz.svg +0 -1
  1088. package/assets/pop/exts/zip.svg +0 -1
  1089. package/assets/pop/folder-open.svg +0 -1
  1090. package/assets/pop/folder.svg +0 -1
  1091. package/assets/pop/generic.svg +0 -1
  1092. package/assets/pop/presentation.svg +0 -1
  1093. package/assets/pop/richtext.svg +0 -1
  1094. package/assets/pop/spreadsheet.svg +0 -1
  1095. package/assets/pop/text.svg +0 -1
  1096. package/components/dynamic-html/dynamic-html.component.d.ts +0 -15
  1097. package/components/dynamic-html/dynamic-html.module.d.ts +0 -10
  1098. package/components/dynamic-html/dynamic-html.service.d.ts +0 -18
  1099. package/components/dynamic-html/types.d.ts +0 -12
  1100. package/components/tabulator/tabulator.component.d.ts +0 -30
  1101. package/components/vscode/vscode.component.d.ts +0 -52
  1102. package/esm2022/assets/mat-icons.mjs +0 -5705
  1103. package/esm2022/components/command-palette/command-palette.component.mjs +0 -257
  1104. package/esm2022/components/dynamic-html/dynamic-html.component.mjs +0 -43
  1105. package/esm2022/components/dynamic-html/dynamic-html.module.mjs +0 -27
  1106. package/esm2022/components/dynamic-html/dynamic-html.service.mjs +0 -66
  1107. package/esm2022/components/dynamic-html/types.mjs +0 -7
  1108. package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +0 -674
  1109. package/esm2022/components/filemanager/helpers.mjs +0 -26
  1110. package/esm2022/components/filemanager/icon-resolver.mjs +0 -155
  1111. package/esm2022/components/filemanager/textextensions.mjs +0 -294
  1112. package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +0 -165
  1113. package/esm2022/components/lazy-loader/lazy-loader.component.mjs +0 -383
  1114. package/esm2022/components/lazy-loader/lazy-loader.module.mjs +0 -33
  1115. package/esm2022/components/lazy-loader/lazy-loader.service.mjs +0 -217
  1116. package/esm2022/components/lazy-loader/types.mjs +0 -26
  1117. package/esm2022/components/menu/menu.component.mjs +0 -433
  1118. package/esm2022/components/parallax-card/parallax-card.component.mjs +0 -138
  1119. package/esm2022/components/tabulator/tabulator.component.mjs +0 -93
  1120. package/esm2022/components/tooltip/tooltip.component.mjs +0 -205
  1121. package/esm2022/components/types.mjs +0 -3
  1122. package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -91
  1123. package/esm2022/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -15
  1124. package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +0 -311
  1125. package/esm2022/components/vscode/ts-type-resolver/main.mjs +0 -112
  1126. package/esm2022/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -21
  1127. package/esm2022/components/vscode/ts-type-resolver/types.mjs +0 -14
  1128. package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -21
  1129. package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +0 -37
  1130. package/esm2022/components/vscode/vscode.component.mjs +0 -232
  1131. package/esm2022/directives/image-cache.directive.mjs +0 -140
  1132. package/esm2022/directives/menu.directive.mjs +0 -159
  1133. package/esm2022/directives/tooltip.directive.mjs +0 -154
  1134. package/esm2022/directives/utils.mjs +0 -120
  1135. package/esm2022/pipes/html-bypass.pipe.mjs +0 -27
  1136. package/esm2022/pipes/resource-bypass.pipe.mjs +0 -27
  1137. package/esm2022/pipes/script-bypass.pipe.mjs +0 -27
  1138. package/esm2022/pipes/style-bypass.pipe.mjs +0 -27
  1139. package/esm2022/pipes/url-bypass.pipe.mjs +0 -27
  1140. package/esm2022/public-api.mjs +0 -59
  1141. package/esm2022/services/command-palette.service.mjs +0 -209
  1142. package/esm2022/services/dependency.service.mjs +0 -55
  1143. package/esm2022/services/dialog.service.mjs +0 -69
  1144. package/esm2022/services/fetch.service.mjs +0 -74
  1145. package/esm2022/services/file.service.mjs +0 -42
  1146. package/esm2022/services/keyboard.service.mjs +0 -128
  1147. package/esm2022/services/navigation.service.mjs +0 -52
  1148. package/esm2022/services/theme.service.mjs +0 -64
  1149. package/esm2022/types/menu.mjs +0 -2
  1150. package/esm2022/types/popup.mjs +0 -2
  1151. package/esm2022/types/tooltip.mjs +0 -2
  1152. package/esm2022/utils/index.mjs +0 -205
  1153. package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs.map +0 -1
  1154. package/utils/index.d.ts +0 -128
  1155. /package/{components → core/components}/lazy-loader/lazy-loader.component.d.ts +0 -0
  1156. /package/{components → core/components}/lazy-loader/lazy-loader.module.d.ts +0 -0
  1157. /package/{components → core/components}/lazy-loader/lazy-loader.service.d.ts +0 -0
  1158. /package/{components → core/components}/lazy-loader/types.d.ts +0 -0
  1159. /package/{components → core/components}/parallax-card/parallax-card.component.d.ts +0 -0
  1160. /package/{directives → core/directives}/image-cache.directive.d.ts +0 -0
  1161. /package/{directives → core/directives}/utils.d.ts +0 -0
  1162. /package/{pipes → core/pipes}/html-bypass.pipe.d.ts +0 -0
  1163. /package/{pipes → core/pipes}/resource-bypass.pipe.d.ts +0 -0
  1164. /package/{pipes → core/pipes}/script-bypass.pipe.d.ts +0 -0
  1165. /package/{pipes → core/pipes}/style-bypass.pipe.d.ts +0 -0
  1166. /package/{pipes → core/pipes}/url-bypass.pipe.d.ts +0 -0
  1167. /package/{services → core/services}/dependency.service.d.ts +0 -0
  1168. /package/{services → core/services}/dialog.service.d.ts +0 -0
  1169. /package/{services → core/services}/fetch.service.d.ts +0 -0
  1170. /package/{services → core/services}/file.service.d.ts +0 -0
  1171. /package/{services → core/services}/keyboard.service.d.ts +0 -0
  1172. /package/{services → core/services}/theme.service.d.ts +0 -0
  1173. /package/{types → core/types}/popup.d.ts +0 -0
  1174. /package/{components/filemanager → filemanager}/icon-resolver.d.ts +0 -0
  1175. /package/{assets → filemanager}/mat-icons.d.ts +0 -0
  1176. /package/{components/filemanager → filemanager}/textextensions.d.ts +0 -0
  1177. /package/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.d.ts +0 -0
  1178. /package/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.d.ts +0 -0
  1179. /package/{components/filemanager → filemanager}/tree-view/tree-view.component.d.ts +0 -0
  1180. /package/{components/vscode → monaco-editor}/ts-type-resolver/dependency-parser.d.ts +0 -0
  1181. /package/{components/vscode → monaco-editor}/ts-type-resolver/dummy-source-cache.d.ts +0 -0
  1182. /package/{components/vscode → monaco-editor}/ts-type-resolver/import-resolver.d.ts +0 -0
  1183. /package/{components/vscode → monaco-editor}/ts-type-resolver/main.d.ts +0 -0
  1184. /package/{components/vscode → monaco-editor}/ts-type-resolver/recursion-depth.d.ts +0 -0
  1185. /package/{components/vscode → monaco-editor}/ts-type-resolver/types.d.ts +0 -0
  1186. /package/{components/vscode → monaco-editor}/ts-type-resolver/unpkg-source-resolver.d.ts +0 -0
  1187. /package/{components/vscode → monaco-editor}/ts-type-resolver/update-emitter.d.ts +0 -0
package/README.md CHANGED
@@ -7,43 +7,58 @@
7
7
  `@dotglitch/ngx-common` provides a series of common-use components, directives, and services for Angular applications.
8
8
  </p>
9
9
 
10
- [![npm](https://img.shields.io/npm/v/@dotglitch/dotglitch-ngx.svg)](https://www.npmjs.com/package/@dotglitch/dotglitch-ngx)
11
- [![npm](https://img.shields.io/npm/dm/@dotglitch/dotglitch-ngx.svg)](https://www.npmjs.com/package/@dotglitch/dotglitch-ngx)
12
- [![npm downloads](https://img.shields.io/npm/dt/@dotglitch/dotglitch-ngx.svg)](https://npmjs.org/@dotglitch/dotglitch-ngx)
10
+ [![npm](https://img.shields.io/npm/v/@dotglitch/ngx-common.svg)](https://www.npmjs.com/package/@dotglitch/ngx-common)
11
+ [![npm](https://img.shields.io/npm/dm/@dotglitch/ngx-common.svg)](https://www.npmjs.com/package/@dotglitch/ngx-common)
12
+ [![npm downloads](https://img.shields.io/npm/dt/@dotglitch/ngx-common.svg)](https://npmjs.org/@dotglitch/ngx-common)
13
13
  [![GitHub stars](https://img.shields.io/github/stars/knackstedt/dotglitch-ngx.svg?label=GitHub%20Stars&style=flat)](https://github.com/knackstedt/dotglitch-ngx)
14
14
 
15
15
 
16
16
  Quickstart
17
17
  =====
18
18
 
19
-
20
19
  ## Install
21
20
 
22
21
  ```bash
23
22
  $ npm install @dotglitch/ngx-common
24
23
  ```
25
24
 
26
- - Featured
25
+ ## Optional Dependencies
26
+
27
+ This library uses **Secondary Entry Points** to keep the core bundle small and make heavy dependencies optional. If you use any of the following components, you must install their respective peer dependencies:
28
+
29
+ | Component | Entry Point | Peer Dependencies |
30
+ | --- | --- | --- |
31
+ | **VSCode** | `@dotglitch/ngx-common/vscode` | `monaco-editor`, `path-browserify` |
32
+ | **Filemanager** | `@dotglitch/ngx-common/filemanager` | `angular-split`, `ngx-scrollbar`, `ulidx` |
33
+ | **Command Palette** | `@dotglitch/ngx-common/command-palette` | `ngx-scrollbar` |
34
+ | **Tooltip/Dropdown** | `@dotglitch/ngx-common/tooltip` | `ulidx` |
35
+ | **Menu** | `@dotglitch/ngx-common/menu` | `ulidx` |
36
+ | **Overlay Wrapper** | `@dotglitch/ngx-common/overlay-wrapper` | `gsap` |
37
+
38
+ ---
39
+
40
+ ## Features
41
+
42
+ - **Core Components & Services**
27
43
  - [Lazy Loader](./src/components/lazy-loader/README.md)
28
- - Directives
29
- - [App Menu & Context Menu](./src/directives/menu.md)
30
- - [Tooltip](./src/directives/tooltip.md)
31
- - Components
32
- - [VS code wrapper](./src/components/vscode/README.md)
33
- - [React Magic Wrapper](./src/components/vscode/README.md)
34
- - Services
35
- - [Fetch](./src/services/fetch.md)
36
- - [Dependency](./src/services/dependency.md)
37
- - [Keyboard](./src/services/keyboard.md)
38
- - [Dialog](./src/services/dialog.md)
39
- - [Navigation](./src/services/navigation.md)
40
- - Pipes
44
+ - [Fetch Service](./src/services/fetch.md)
45
+ - [Dependency Service](./src/services/dependency.md)
46
+ - [Keyboard Service](./src/services/keyboard.md)
47
+ - [Dialog Service](./src/services/dialog.md)
48
+ - [Navigation Service](./src/services/navigation.md)
49
+ - [Theme Service](./src/services/theme.md)
50
+
51
+ - **Secondary Entry Points (Optional)**
52
+ - [VS Code wrapper](./src/components/vscode/README.md) (`/vscode`)
53
+ - [File Manager](./src/components/filemanager/filemanager.component.ts) (`/filemanager`)
54
+ - [Command Palette](./src/components/command-palette/command-palette.component.ts) (`/command-palette`)
55
+ - [Transition Panel](./src/components/overlay-wrapper/overlay-wrapper.component.ts) (`/overlay-wrapper`)
56
+
57
+ - **Directives & Pipes**
58
+ - [App Menu & Context Menu](./src/directives/menu.md) (`/menu`)
59
+ - [Tooltip](./src/directives/tooltip.md) (`/tooltip`)
41
60
  - [HTML-Bypass](./src/pipes/html-bypass.md)
42
61
  - [Resource-Bypass](./src/pipes/resource-bypass.md)
43
62
  - [Script-Bypass](./src/pipes/script-bypass.md)
44
63
  - [Style-Bypass](./src/pipes/style-bypass.md)
45
64
  - [URL-Bypass](./src/pipes/url-bypass.md)
46
-
47
- <!-- Roadmap
48
- =====
49
- - [ ] Enable sharing menus and combining menu chunks -->
@@ -1,5 +1,5 @@
1
1
  import { CommandPaletteComponent } from '../command-palette.component';
2
- import { CommandAction } from '../../../services/command-palette.service';
2
+ import { CommandAction } from '../command-palette.service';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class BreadcrumbComponent {
5
5
  private commandPalette;
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
2
- import { CommandAction, CommandPaletteService } from '../../services/command-palette.service';
3
2
  import { MatDialogRef } from '@angular/material/dialog';
4
3
  import { NgScrollbar } from 'ngx-scrollbar';
4
+ import { CommandAction, CommandPaletteService } from './command-palette.service';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class CommandPaletteComponent implements OnInit {
7
7
  private readonly commandPalette;
@@ -1,6 +1,6 @@
1
1
  import { MatDialog } from '@angular/material/dialog';
2
- import { LazyLoaderService } from '../components/lazy-loader/lazy-loader.service';
3
- import { CommandPaletteComponent } from '../components/command-palette/command-palette.component';
2
+ import { LazyLoaderService } from '@dotglitch/ngx-common/core';
3
+ import { CommandPaletteComponent } from './command-palette.component';
4
4
  import * as i0 from "@angular/core";
5
5
  type KeyCode = "Backspace" | "Tab" | "Enter" | "ShiftLeft" | "ShiftRight" | "ControlLeft" | "ControlRight" | "AltLeft" | "AltRight" | "Pause" | "CapsLock" | "Escape" | "Space" | "PageUp" | "PageDown" | "End" | "Home" | "ArrowLeft" | "ArrowUp" | "ArrowRight" | "ArrowDown" | "PrintScreen" | "Insert" | "Delete" | "MetaLeft" | "MetaRight" | "ContextMenu" | "Numpad0" | "Numpad1" | "Numpad2" | "Numpad3" | "Numpad4" | "Numpad5" | "Numpad6" | "Numpad7" | "Numpad8" | "Numpad9" | "NumpadMultiply" | "NumpadAdd" | "NumpadSubtract" | "NumpadDecimal" | "NumpadDivide" | "F1" | "F2" | "F3" | "F4" | "F5" | "F6" | "F7" | "F8" | "F9" | "F10" | "F11" | "F12" | "NumLock" | "ScrollLock" | "Semicolon" | "Equal" | "Comma" | "Minus" | "Period" | "Slash" | "Backquote" | "BracketLeft" | "Backslash" | "BracketRight" | "Quote" | "backspace" | "tab" | "enter" | "shiftleft" | "shiftright" | "controlleft" | "controlright" | "altleft" | "altright" | "pause" | "capslock" | "escape" | "space" | "pageup" | "pagedown" | "end" | "home" | "arrowleft" | "arrowup" | "arrowright" | "arrowdown" | "printscreen" | "insert" | "delete" | "metaleft" | "metaright" | "contextmenu" | "numpad0" | "numpad1" | "numpad2" | "numpad3" | "numpad4" | "numpad5" | "numpad6" | "numpad7" | "numpad8" | "numpad9" | "numpadmultiply" | "numpadadd" | "numpadsubtract" | "numpaddecimal" | "numpaddivide" | "f1" | "f2" | "f3" | "f4" | "f5" | "f6" | "f7" | "f8" | "f9" | "f10" | "f11" | "f12" | "numlock" | "scrolllock" | "semicolon" | "equal" | "comma" | "minus" | "period" | "slash" | "backquote" | "bracketleft" | "backslash" | "bracketright" | "quote" | "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z";
6
6
  type KeyPrefix = `ctrl` | `ctrl+alt` | `ctrl+alt+shift` | `ctrl+alt+shift+meta` | `ctrl+alt+meta` | `ctrl+shift` | `ctrl+shift+meta` | `ctrl+meta` | `alt` | `alt+shift` | `alt+shift+meta` | `alt+meta` | `shift` | `shift+meta` | `meta`;
@@ -0,0 +1,2 @@
1
+ export * from './command-palette.component';
2
+ export * from './command-palette.service';
@@ -1,4 +1,4 @@
1
- import { KeybindCode } from '../../../services/command-palette.service';
1
+ import { KeybindCode } from '../command-palette.service';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ShortcutComponent {
4
4
  shortcut: KeybindCode;
@@ -1,8 +1,8 @@
1
1
  import { TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
2
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
3
+ import { DomSanitizer } from '@angular/platform-browser';
4
4
  import { ComponentPortal } from '@angular/cdk/portal';
5
- import { MenuItem, MenuOptions } from '../../types/menu';
5
+ import { MenuItem, MenuOptions } from './types';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare const calcMenuItemBounds: (menuItems: MenuItem[], dataObj: any) => Promise<DOMRect>;
8
8
  export declare class MenuComponent {
@@ -1,6 +1,6 @@
1
1
  import { ViewContainerRef } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
- import { MenuItem, MenuOptions } from '../types/menu';
3
+ import { MenuItem, MenuOptions } from './types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class MenuDirective {
6
6
  private dialog;
@@ -1,5 +1,5 @@
1
1
  import { TemplateRef, Type } from '@angular/core';
2
- import { PopupOptions } from './popup';
2
+ import { PopupOptions } from '../../types/popup';
3
3
  type MenuTrigger = "click" | "dblclick" | "hover" | "contextmenu";
4
4
  export type MenuOptions = Partial<PopupOptions & {
5
5
  /**
@@ -13,4 +13,3 @@ export type NgxWebComponentsConfig = Partial<{
13
13
  */
14
14
  assetPath: string;
15
15
  }>;
16
- export type FileSorting = "a-z" | "z-a" | "lastmod" | "firstmod" | "size" | "type";
@@ -1,13 +1,10 @@
1
1
  /**
2
2
  ** Types
3
3
  */
4
- export * from './types/menu';
5
4
  export * from './types/popup';
6
5
  /**
7
6
  ** Directives
8
7
  */
9
- export * from './directives/tooltip.directive';
10
- export * from './directives/menu.directive';
11
8
  export * from './directives/image-cache.directive';
12
9
  /**
13
10
  ** Pipes
@@ -23,32 +20,27 @@ export * from './pipes/url-bypass.pipe';
23
20
  export * from './services/dependency.service';
24
21
  export * from './services/dialog.service';
25
22
  export * from './services/fetch.service';
26
- export * from './services/keyboard.service';
27
23
  export * from './services/file.service';
28
- export * from './services/theme.service';
24
+ export * from './services/keyboard.service';
29
25
  export * from './services/navigation.service';
30
- export * from './services/command-palette.service';
26
+ export * from './services/theme.service';
31
27
  /**
32
28
  ** Lazy loader component & service
33
29
  */
34
- export * from './components/lazy-loader/lazy-loader.service';
35
- export * from './components/lazy-loader/lazy-loader.module';
36
30
  export * from './components/lazy-loader/lazy-loader.component';
31
+ export * from './components/lazy-loader/lazy-loader.module';
32
+ export * from './components/lazy-loader/lazy-loader.service';
37
33
  export * from './components/lazy-loader/types';
38
- /**
39
- ** Dynamic HTML (WIP)
40
- */
41
- export * from './components/dynamic-html/dynamic-html.service';
42
- export * from './components/dynamic-html/dynamic-html.module';
43
- export * from './components/dynamic-html/dynamic-html.component';
44
- export * from './components/dynamic-html/types';
45
34
  /**
46
35
  ** Components
47
36
  */
48
- export * from './components/filemanager/filemanager.component';
49
- export * from './components/tabulator/tabulator.component';
50
- export * from './components/vscode/vscode.component';
51
37
  export * from './components/parallax-card/parallax-card.component';
52
- export * from './components/menu/menu.component';
53
38
  export * from './components/types';
54
- export { ConsoleLogger, LogIcon } from './utils/index';
39
+ /**
40
+ ** Menu
41
+ */
42
+ export * from './components/menu/menu.component';
43
+ export * from './components/menu/menu.directive';
44
+ export * from './components/menu/types';
45
+ export * from './directives/utils';
46
+ export * from './utils';
@@ -1,5 +1,5 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
- import { LazyLoaderService } from '../public-api';
2
+ import { LazyLoaderService } from '../components/lazy-loader/lazy-loader.service';
3
3
  import * as i0 from "@angular/core";
4
4
  type NavigationArguments = {
5
5
  root: string;
@@ -0,0 +1,18 @@
1
+ export declare const sleep: (ms: any) => Promise<unknown>;
2
+ /**
3
+ * Prompt the user to save a json file of the given object.
4
+ */
5
+ export declare const saveObjectAsFile: (name: string, data: Object) => void;
6
+ /**
7
+ * Convert a string `fooBAR baz_160054''"1]"` into a slug: `foobar-baz-1600541`
8
+ */
9
+ export declare const stringToSlug: (text: string) => string;
10
+ /**
11
+ * Helper to update the page URL.
12
+ * @param page component page ID to load.
13
+ * @param data string or JSON data for query params.
14
+ */
15
+ export declare const updateUrl: (page?: string, data?: string | string[][] | Record<string, string | number> | URLSearchParams, replaceState?: boolean) => void;
16
+ export declare const getUrlData: (source?: string) => {
17
+ [x: number]: any;
18
+ };
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
27
27
  }], ctorParameters: () => [{ type: i1.CommandPaletteComponent }], propDecorators: { breadcrumbs: [{
28
28
  type: Input
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvY29tbWFuZC1wYWxldHRlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvY29tbWFuZC1wYWxldHRlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVWpELE1BQU0sT0FBTyxtQkFBbUI7SUFTNUIsWUFDWSxjQUF1QztRQUF2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUI7UUFSMUMsZ0JBQVcsR0FLZCxFQUFFLENBQUM7SUFNVCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFFcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzFELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNYLENBQUM7K0dBM0JRLG1CQUFtQjttR0FBbkIsbUJBQW1CLGlJQ1ZoQyxvV0FZQTs7NEZERmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLCtCQUErQixjQUc3QixJQUFJOzRGQUlQLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kUGFsZXR0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1hbmQtcGFsZXR0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZEFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1hbmQtcGFsZXR0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtY29tbWFuZHBhbGV0dGUtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgYnJlYWRjcnVtYnM6IHtcbiAgICAgICAgYWN0aW9uOiBDb21tYW5kQWN0aW9uLFxuICAgICAgICBjb21tYW5kczogQ29tbWFuZEFjdGlvbltdLFxuICAgICAgICBkZXN0cm95aW5nOiBib29sZWFuLFxuICAgICAgICBzZWxlY3RlZEluZGV4OiBudW1iZXJcbiAgICB9W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbW1hbmRQYWxldHRlOiBDb21tYW5kUGFsZXR0ZUNvbXBvbmVudFxuICAgICkge1xuXG4gICAgfVxuXG4gICAgc2VsZWN0QnJlYWRjcnVtYihjcnVtYikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuYnJlYWRjcnVtYnMuaW5kZXhPZihjcnVtYik7XG4gICAgICAgIGlmIChpbmRleCA9PSAtMSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNvbWV0aGluZyB0ZXJyaWJsZSBoYXBwZW5lZC5cIik7XG5cbiAgICAgICAgY29uc3QgbGF5ZXIgPSB0aGlzLmJyZWFkY3J1bWJzLmF0KC0xKTtcbiAgICAgICAgbGF5ZXIuZGVzdHJveWluZyA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kUGFsZXR0ZS5zZXRDb21tYW5kTGlzdCh0aGlzLmJyZWFkY3J1bWJzLmF0KC0yKS5jb21tYW5kcyk7XG4gICAgICAgICAgICB0aGlzLmNvbW1hbmRQYWxldHRlLmJyZWFkY3J1bWJzLnBvcCgpO1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kUGFsZXR0ZS5hY3RpdmVJbmRleCA9IGxheWVyLnNlbGVjdGVkSW5kZXg7XG4gICAgICAgIH0sIDE5MClcbiAgICB9XG59XG4iLCJAZm9yIChjcnVtYiBvZiBicmVhZGNydW1iczsgdHJhY2sgY3J1bWI7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGRpdiBjbGFzcz1cImNydW1iXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY3J1bWJfaW5uZXJcIlxuICAgICAgICAgICAgW2NsYXNzLmRlc3Ryb3ldPVwiY3J1bWIuZGVzdHJveWluZ1wiXG4gICAgICAgICAgICBbY2xhc3Mucm9vdF09XCJpID09IDBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEJyZWFkY3J1bWIoY3J1bWIpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7Y3J1bWIuYWN0aW9uLmxhYmVsfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vY29tbWFuZC1wYWxldHRlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vY29tbWFuZC1wYWxldHRlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVWpELE1BQU0sT0FBTyxtQkFBbUI7SUFTNUIsWUFDWSxjQUF1QztRQUF2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUI7UUFSMUMsZ0JBQVcsR0FLZCxFQUFFLENBQUM7SUFNVCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFFcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzFELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7K0dBM0JRLG1CQUFtQjttR0FBbkIsbUJBQW1CLGlJQ1ZoQyxvV0FZQTs7NEZERmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLCtCQUErQixjQUc3QixJQUFJOzRGQUlQLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kUGFsZXR0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1hbmQtcGFsZXR0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWFuZEFjdGlvbiB9IGZyb20gJy4uL2NvbW1hbmQtcGFsZXR0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtY29tbWFuZHBhbGV0dGUtYnJlYWRjcnVtYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQge1xuXG4gICAgQElucHV0KCkgYnJlYWRjcnVtYnM6IHtcbiAgICAgICAgYWN0aW9uOiBDb21tYW5kQWN0aW9uLFxuICAgICAgICBjb21tYW5kczogQ29tbWFuZEFjdGlvbltdLFxuICAgICAgICBkZXN0cm95aW5nOiBib29sZWFuLFxuICAgICAgICBzZWxlY3RlZEluZGV4OiBudW1iZXI7XG4gICAgfVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb21tYW5kUGFsZXR0ZTogQ29tbWFuZFBhbGV0dGVDb21wb25lbnRcbiAgICApIHtcblxuICAgIH1cblxuICAgIHNlbGVjdEJyZWFkY3J1bWIoY3J1bWIpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmJyZWFkY3J1bWJzLmluZGV4T2YoY3J1bWIpO1xuICAgICAgICBpZiAoaW5kZXggPT0gLTEpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTb21ldGhpbmcgdGVycmlibGUgaGFwcGVuZWQuXCIpO1xuXG4gICAgICAgIGNvbnN0IGxheWVyID0gdGhpcy5icmVhZGNydW1icy5hdCgtMSk7XG4gICAgICAgIGxheWVyLmRlc3Ryb3lpbmcgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29tbWFuZFBhbGV0dGUuc2V0Q29tbWFuZExpc3QodGhpcy5icmVhZGNydW1icy5hdCgtMikuY29tbWFuZHMpO1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kUGFsZXR0ZS5icmVhZGNydW1icy5wb3AoKTtcbiAgICAgICAgICAgIHRoaXMuY29tbWFuZFBhbGV0dGUuYWN0aXZlSW5kZXggPSBsYXllci5zZWxlY3RlZEluZGV4O1xuICAgICAgICB9LCAxOTApO1xuICAgIH1cbn1cbiIsIkBmb3IgKGNydW1iIG9mIGJyZWFkY3J1bWJzOyB0cmFjayBjcnVtYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8ZGl2IGNsYXNzPVwiY3J1bWJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjcnVtYl9pbm5lclwiXG4gICAgICAgICAgICBbY2xhc3MuZGVzdHJveV09XCJjcnVtYi5kZXN0cm95aW5nXCJcbiAgICAgICAgICAgIFtjbGFzcy5yb290XT1cImkgPT0gMFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QnJlYWRjcnVtYihjcnVtYilcIlxuICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tjcnVtYi5hY3Rpb24ubGFiZWx9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
@@ -0,0 +1,257 @@
1
+ import { ScrollingModule } from '@angular/cdk/scrolling';
2
+ import { Component, HostListener, Inject, Input, ViewChild, isDevMode } from '@angular/core';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatInputModule } from '@angular/material/input';
6
+ import { NgScrollbar, NgScrollbarModule } from 'ngx-scrollbar';
7
+ import { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';
8
+ import { ShortcutComponent } from './shortcut/shortcut.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./command-palette.service";
11
+ import * as i2 from "@angular/material/dialog";
12
+ import * as i3 from "@angular/material/icon";
13
+ import * as i4 from "@angular/material/input";
14
+ import * as i5 from "@angular/material/form-field";
15
+ import * as i6 from "@angular/cdk/scrolling";
16
+ import * as i7 from "ngx-scrollbar";
17
+ export class CommandPaletteComponent {
18
+ get el() { return this.elementRef.nativeElement; }
19
+ constructor(commandPalette, dialog, elementRef, changeDetector, data) {
20
+ this.commandPalette = commandPalette;
21
+ this.dialog = dialog;
22
+ this.elementRef = elementRef;
23
+ this.changeDetector = changeDetector;
24
+ this.MAT_ICON_REGEX = /[:\/\.]/;
25
+ this.queryString = "";
26
+ this.activeIndex = 0;
27
+ this.rowHeight = 29;
28
+ this.padding = 6;
29
+ this.commands = [];
30
+ this.filteredCommands = [];
31
+ this.breadcrumbs = [];
32
+ this.contextElement = this.contextElement ?? data.contextElement;
33
+ }
34
+ ngOnInit() {
35
+ this.commands = this.commandPalette.getRegisteredCommands(this.contextElement);
36
+ this.setCommandList(this.commands);
37
+ // TODO: custom name
38
+ this.breadcrumbs.push({
39
+ action: { label: "/" },
40
+ commands: this.commands,
41
+ destroying: false,
42
+ selectedIndex: 0
43
+ });
44
+ }
45
+ onKeyDown(evt) {
46
+ switch (evt.key) {
47
+ case "Enter": {
48
+ // Fire the first command
49
+ if (this.filteredCommands.length > 0)
50
+ this.executeCommand(this.filteredCommands[this.activeIndex]);
51
+ evt.stopPropagation();
52
+ return;
53
+ }
54
+ case "ArrowUp": {
55
+ this.activeIndex = Math.max(this.activeIndex - 1, 0);
56
+ evt.stopPropagation();
57
+ this.focusRow();
58
+ return;
59
+ }
60
+ case "ArrowDown": {
61
+ this.activeIndex = Math.min(this.filteredCommands.length - 1, this.activeIndex + 1);
62
+ evt.stopPropagation();
63
+ this.focusRow();
64
+ return;
65
+ }
66
+ case "PageUp": {
67
+ // Fire the first command
68
+ this.activeIndex = Math.max(this.activeIndex - 12, 0);
69
+ evt.stopPropagation();
70
+ this.focusRow();
71
+ return;
72
+ }
73
+ case "PageDown": {
74
+ this.activeIndex = Math.min(this.filteredCommands.length - 1, this.activeIndex + 12);
75
+ evt.stopPropagation();
76
+ this.focusRow();
77
+ return;
78
+ }
79
+ case "Escape": {
80
+ this.dialog.close();
81
+ evt.stopPropagation();
82
+ return;
83
+ }
84
+ case "Backspace": {
85
+ // If we have no characters and we're hitting backspace, go back
86
+ // to the previous menu in the breadcrumb
87
+ if (this.queryString.length == 0 && this.breadcrumbs.length > 1) {
88
+ const layer = this.breadcrumbs.at(-1);
89
+ layer.destroying = true;
90
+ setTimeout(() => {
91
+ this.setCommandList(this.breadcrumbs.at(-2).commands);
92
+ this.breadcrumbs.pop();
93
+ this.activeIndex = layer.selectedIndex;
94
+ }, 190);
95
+ return;
96
+ }
97
+ else {
98
+ break;
99
+ }
100
+ }
101
+ case "Delete": {
102
+ }
103
+ }
104
+ this.activeIndex = 0;
105
+ this.commands.forEach(c => c['_renderedLabel'] = '');
106
+ // Check in the next tick to get the input's
107
+ // value so that it's updated
108
+ setTimeout(() => {
109
+ this.queryString = evt.target.value;
110
+ this.filterResults();
111
+ });
112
+ }
113
+ async filterResults() {
114
+ // Whitespace doesn't count.
115
+ if (this.queryString.trim().length == 0) {
116
+ this.filteredCommands = this.commands;
117
+ return;
118
+ }
119
+ const queryChars = this.queryString
120
+ .toLowerCase()
121
+ .split('');
122
+ const matchedCommands = [];
123
+ for (const command of this.commands) {
124
+ const { label } = command;
125
+ // Check the label
126
+ if (command.label) {
127
+ const commandChars = label
128
+ .toLowerCase()
129
+ .split('');
130
+ let renderedLabel = '';
131
+ let lastIndex = 0;
132
+ let isMatch = true;
133
+ for (const char of queryChars) {
134
+ const index = commandChars.indexOf(char, lastIndex);
135
+ if (index == -1) {
136
+ isMatch = false;
137
+ break;
138
+ }
139
+ else {
140
+ renderedLabel += label.slice(lastIndex, index) + `<b>${label.slice(index, index + 1)}</b>`;
141
+ lastIndex = index + 1;
142
+ }
143
+ }
144
+ renderedLabel += label.slice(lastIndex);
145
+ if (isMatch) {
146
+ command['_renderedLabel'] = renderedLabel;
147
+ matchedCommands.push(command);
148
+ }
149
+ }
150
+ // Check the hint
151
+ if (command.hint) {
152
+ const commandChars = label
153
+ .toLowerCase()
154
+ .split('');
155
+ let renderedHint = '';
156
+ let lastIndex = 0;
157
+ let isMatch = true;
158
+ for (const char of queryChars) {
159
+ const index = commandChars.indexOf(char, lastIndex);
160
+ if (index == -1) {
161
+ isMatch = false;
162
+ break;
163
+ }
164
+ else {
165
+ renderedHint += label.slice(lastIndex, index) + `<b>${label.slice(index, index + 1)}</b>`;
166
+ lastIndex = index + 1;
167
+ }
168
+ }
169
+ renderedHint += label.slice(lastIndex);
170
+ if (isMatch) {
171
+ command['_renderedHint'] = renderedHint;
172
+ matchedCommands.push(command);
173
+ }
174
+ }
175
+ }
176
+ this.filteredCommands = matchedCommands;
177
+ }
178
+ setCommandList(commands) {
179
+ this.commands = commands
180
+ .filter(c => c.visibleInList != false);
181
+ this.filteredCommands = this.commands;
182
+ this.queryString = '';
183
+ this.activeIndex = 0;
184
+ // Reset the filter labels
185
+ this.commands.forEach(command => command['_renderedLabel'] = '');
186
+ }
187
+ focusRow() {
188
+ const top = this.activeIndex * this.rowHeight;
189
+ const height = this.rowHeight;
190
+ const viewTop = this.scrollbar?.viewport?.scrollTop;
191
+ const viewHeight = this.scrollbar?.viewport?.clientHeight;
192
+ const viewBottom = viewTop + viewHeight;
193
+ if (top < viewTop) {
194
+ this.scrollbar.viewport.nativeElement.scrollTo({ top: top + this.padding });
195
+ }
196
+ else if ((top + height) > viewBottom) {
197
+ this.scrollbar.viewport.nativeElement.scrollTo({ top: ((top + this.rowHeight) - viewHeight) + this.padding });
198
+ }
199
+ // Immediately check for changes to update template
200
+ this.changeDetector.detectChanges();
201
+ }
202
+ executeCommand(command) {
203
+ // Open a sub menu of items
204
+ if (Array.isArray(command.subMenu)) {
205
+ this.breadcrumbs.push({
206
+ action: command,
207
+ commands: command.subMenu,
208
+ selectedIndex: this.activeIndex,
209
+ destroying: false
210
+ });
211
+ this.setCommandList(command.subMenu);
212
+ }
213
+ // Directly invoke the action and kill the dialog
214
+ else {
215
+ this.commandPalette.invokeAction(command);
216
+ this.dialog.close();
217
+ }
218
+ }
219
+ onBlur() {
220
+ if (!isDevMode()) {
221
+ this.dialog.close();
222
+ }
223
+ }
224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandPaletteComponent, deps: [{ token: i1.CommandPaletteService }, { token: i2.MatDialogRef }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
225
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CommandPaletteComponent, isStandalone: true, selector: "ngx-command-palette", inputs: { contextElement: "contextElement" }, host: { listeners: { "click": "textInput.nativeElement.focus()", "window:blur": "onBlur()", "window:resize": "onBlur()" } }, viewQueries: [{ propertyName: "scrollbar", first: true, predicate: NgScrollbar, descendants: true }, { propertyName: "textInput", first: true, predicate: ["textinput"], descendants: true }], ngImport: i0, template: "<mat-form-field style=\"width: 100%; padding: 8px 8px 0 8px\">\n <ngx-commandpalette-breadcrumb\n [breadcrumbs]=\"breadcrumbs\"\n />\n <input\n #textinput\n matInput\n type=\"text\"\n [value]=\"queryString\"\n (keydown)=\"onKeyDown($event)\"\n >\n</mat-form-field>\n\n@if (filteredCommands.length == 0) {\n <div class=\"commands\">\n <div class=\"command selected\">\n <div class=\"label\">No matching results.</div>\n </div>\n </div>\n}\n@else {\n <div\n class=\"commands\"\n [style.flex]=\"(filteredCommands.length * rowHeight) + 'px'\"\n [class.shadow]=\"scrollbar?.viewport?.scrollTop > 2\"\n >\n <ng-scrollbar #scrollbar>\n <cdk-virtual-scroll-viewport [itemSize]=\"rowHeight\" scrollViewport [minBufferPx]=\"150\">\n <div\n *cdkVirtualFor=\"let command of filteredCommands; let index = index\"\n class=\"command\"\n [style.height]=\"rowHeight + 'px'\"\n [class.selected]=\"index==activeIndex\"\n [class.has-icon]=\"command.icon\"\n [attr.index]=\"index\"\n (click)=\"executeCommand(command)\"\n >\n @if (command.icon) {\n <div class=\"icon\">\n @if (!MAT_ICON_REGEX.test(command.icon)) {\n <mat-icon [fontIcon]=\"command.icon\"></mat-icon>\n }\n @else {\n <img [src]=\"command.icon\"/>\n }\n </div>\n }\n\n <div\n class=\"label\"\n [innerHTML]=\"command['_renderedLabel'] || command.label || command.description\"\n ></div>\n\n @if (command['_renderedHint'] || command.hint) {\n <div\n class=\"hint\"\n [innerHTML]=\"command['_renderedHint'] || command.hint\"\n ></div>\n }\n <div style=\"flex: 1\"></div>\n\n <div>\n @for (shortcut of (command.shortcutKey?.find ? command.shortcutKey : [command.shortcutKey]); track shortcut) {\n @if (shortcut) {\n <ngx-commandpalette-shortcut [shortcut]=\"shortcut\"/>\n }\n }\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-scrollbar>\n </div>\n}\n\n", styles: [":host{display:flex;flex-direction:column;width:860px;max-height:460px;border:1px solid #484848;border-radius:6px;background-color:#222;-webkit-user-select:none;user-select:none;overflow:hidden;--text-color: #ccc;--transition: .25s ease}.commands{max-height:100%;overflow:hidden;position:relative;padding:0 6px}.commands .command{display:flex;padding-left:16px;padding-right:32px;align-items:center;border-radius:3px;justify-content:space-between;color:var(--text-color);font-size:15.5px;background-color:#0000}.commands .command:hover{background-color:#2a2d2e}.commands .command.selected{background-color:#04395e}.commands .command.has-icon{padding-left:8px}.commands .command .label ::ng-deep b{color:#2196f3}.commands .command .icon{width:38px;height:100%;display:flex;align-items:center;justify-content:center}.commands .command img{max-height:100%;padding:4px}.commands .command .hint{margin-left:12px;opacity:.75}.commands.shadow:after{box-shadow:#000 0 6px 6px -6px inset}.commands:after{content:\"\";position:absolute;top:0;left:0;width:100%;height:6px;box-shadow:#0000 0 6px 6px -6px inset;transition:box-shadow .3s ease}ng-scrollbar.ng-scrollbar{--scrollbar-padding: 0px;--scrollbar-size: 14px;--scrollbar-border-radius: 0;--scrollbar-thumb-color: #4440;--scrollbar-thumb-transition: height ease-out .15s, width ease-out .15s, background-color ease 1.2s;animation:fadeScrollbar 1.2s ease}ng-scrollbar.ng-scrollbar:hover{--scrollbar-thumb-color: #444f}@keyframes fadeScrollbar{0%{--scrollbar-thumb-color: #444f}to{--scrollbar-thumb-color: #4440}}cdk-virtual-scroll-viewport{height:100%;padding-bottom:6px}:host ::ng-deep .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding:2px 0 4px}:host ::ng-deep .mat-mdc-form-field-infix{min-height:32px;display:flex}:host ::ng-deep .mat-mdc-text-field-wrapper{margin-bottom:8px;padding:0 12px}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .light app-command-palette{border:1px solid #e5e5e5;background-color:#f8f8f8;--text-color: #262626}::ng-deep .light app-command-palette .commands .command:hover{background-color:#f2f2f2}::ng-deep .light app-command-palette .commands .command.selected{background-color:#e8e8e8}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i6.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i6.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i6.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i7.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i7.ScrollViewport, selector: "[scrollViewport]" }, { kind: "component", type: ShortcutComponent, selector: "ngx-commandpalette-shortcut", inputs: ["shortcut"] }, { kind: "component", type: BreadcrumbComponent, selector: "ngx-commandpalette-breadcrumb", inputs: ["breadcrumbs"] }] }); }
226
+ }
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommandPaletteComponent, decorators: [{
228
+ type: Component,
229
+ args: [{ selector: 'ngx-command-palette', host: {
230
+ "(click)": "textInput.nativeElement.focus()"
231
+ }, imports: [
232
+ MatIconModule,
233
+ MatInputModule,
234
+ ScrollingModule,
235
+ NgScrollbarModule,
236
+ ShortcutComponent,
237
+ BreadcrumbComponent
238
+ ], standalone: true, template: "<mat-form-field style=\"width: 100%; padding: 8px 8px 0 8px\">\n <ngx-commandpalette-breadcrumb\n [breadcrumbs]=\"breadcrumbs\"\n />\n <input\n #textinput\n matInput\n type=\"text\"\n [value]=\"queryString\"\n (keydown)=\"onKeyDown($event)\"\n >\n</mat-form-field>\n\n@if (filteredCommands.length == 0) {\n <div class=\"commands\">\n <div class=\"command selected\">\n <div class=\"label\">No matching results.</div>\n </div>\n </div>\n}\n@else {\n <div\n class=\"commands\"\n [style.flex]=\"(filteredCommands.length * rowHeight) + 'px'\"\n [class.shadow]=\"scrollbar?.viewport?.scrollTop > 2\"\n >\n <ng-scrollbar #scrollbar>\n <cdk-virtual-scroll-viewport [itemSize]=\"rowHeight\" scrollViewport [minBufferPx]=\"150\">\n <div\n *cdkVirtualFor=\"let command of filteredCommands; let index = index\"\n class=\"command\"\n [style.height]=\"rowHeight + 'px'\"\n [class.selected]=\"index==activeIndex\"\n [class.has-icon]=\"command.icon\"\n [attr.index]=\"index\"\n (click)=\"executeCommand(command)\"\n >\n @if (command.icon) {\n <div class=\"icon\">\n @if (!MAT_ICON_REGEX.test(command.icon)) {\n <mat-icon [fontIcon]=\"command.icon\"></mat-icon>\n }\n @else {\n <img [src]=\"command.icon\"/>\n }\n </div>\n }\n\n <div\n class=\"label\"\n [innerHTML]=\"command['_renderedLabel'] || command.label || command.description\"\n ></div>\n\n @if (command['_renderedHint'] || command.hint) {\n <div\n class=\"hint\"\n [innerHTML]=\"command['_renderedHint'] || command.hint\"\n ></div>\n }\n <div style=\"flex: 1\"></div>\n\n <div>\n @for (shortcut of (command.shortcutKey?.find ? command.shortcutKey : [command.shortcutKey]); track shortcut) {\n @if (shortcut) {\n <ngx-commandpalette-shortcut [shortcut]=\"shortcut\"/>\n }\n }\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-scrollbar>\n </div>\n}\n\n", styles: [":host{display:flex;flex-direction:column;width:860px;max-height:460px;border:1px solid #484848;border-radius:6px;background-color:#222;-webkit-user-select:none;user-select:none;overflow:hidden;--text-color: #ccc;--transition: .25s ease}.commands{max-height:100%;overflow:hidden;position:relative;padding:0 6px}.commands .command{display:flex;padding-left:16px;padding-right:32px;align-items:center;border-radius:3px;justify-content:space-between;color:var(--text-color);font-size:15.5px;background-color:#0000}.commands .command:hover{background-color:#2a2d2e}.commands .command.selected{background-color:#04395e}.commands .command.has-icon{padding-left:8px}.commands .command .label ::ng-deep b{color:#2196f3}.commands .command .icon{width:38px;height:100%;display:flex;align-items:center;justify-content:center}.commands .command img{max-height:100%;padding:4px}.commands .command .hint{margin-left:12px;opacity:.75}.commands.shadow:after{box-shadow:#000 0 6px 6px -6px inset}.commands:after{content:\"\";position:absolute;top:0;left:0;width:100%;height:6px;box-shadow:#0000 0 6px 6px -6px inset;transition:box-shadow .3s ease}ng-scrollbar.ng-scrollbar{--scrollbar-padding: 0px;--scrollbar-size: 14px;--scrollbar-border-radius: 0;--scrollbar-thumb-color: #4440;--scrollbar-thumb-transition: height ease-out .15s, width ease-out .15s, background-color ease 1.2s;animation:fadeScrollbar 1.2s ease}ng-scrollbar.ng-scrollbar:hover{--scrollbar-thumb-color: #444f}@keyframes fadeScrollbar{0%{--scrollbar-thumb-color: #444f}to{--scrollbar-thumb-color: #4440}}cdk-virtual-scroll-viewport{height:100%;padding-bottom:6px}:host ::ng-deep .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding:2px 0 4px}:host ::ng-deep .mat-mdc-form-field-infix{min-height:32px;display:flex}:host ::ng-deep .mat-mdc-text-field-wrapper{margin-bottom:8px;padding:0 12px}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .light app-command-palette{border:1px solid #e5e5e5;background-color:#f8f8f8;--text-color: #262626}::ng-deep .light app-command-palette .commands .command:hover{background-color:#f2f2f2}::ng-deep .light app-command-palette .commands .command.selected{background-color:#e8e8e8}\n"] }]
239
+ }], ctorParameters: () => [{ type: i1.CommandPaletteService }, { type: i2.MatDialogRef }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
240
+ type: Inject,
241
+ args: [MAT_DIALOG_DATA]
242
+ }] }], propDecorators: { scrollbar: [{
243
+ type: ViewChild,
244
+ args: [NgScrollbar]
245
+ }], textInput: [{
246
+ type: ViewChild,
247
+ args: ['textinput']
248
+ }], contextElement: [{
249
+ type: Input
250
+ }], onBlur: [{
251
+ type: HostListener,
252
+ args: ["window:blur"]
253
+ }, {
254
+ type: HostListener,
255
+ args: ["window:resize"]
256
+ }] } });
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wYWxldHRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9jb21tYW5kLXBhbGV0dGUvY29tbWFuZC1wYWxldHRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9jb21tYW5kLXBhbGV0dGUvY29tbWFuZC1wYWxldHRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFtQmxFLE1BQU0sT0FBTyx1QkFBdUI7SUFPaEMsSUFBSSxFQUFFLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTRCLENBQUMsQ0FBQyxDQUFDO0lBbUJqRSxZQUNxQixjQUFxQyxFQUNyQyxNQUF5QixFQUN6QixVQUFzQixFQUN0QixjQUFpQyxFQUN6QixJQUFTO1FBSmpCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixlQUFVLEdBQVYsVUFBVSxDQUFZ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LENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsaURBQWlEO2FBQzVDLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBSUQsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzsrR0F2UVEsdUJBQXVCLDhJQStCcEIsZUFBZTttR0EvQmxCLHVCQUF1QixxU0FFckIsV0FBVyx5SUM3QjFCLDh1RkEwRUEsaXhFRHhEUSxhQUFhLG1MQUNiLGNBQWMscWpCQUNkLGVBQWUsMmpCQUNmLGlCQUFpQixpakJBQ2pCLGlCQUFpQiw4RkFDakIsbUJBQW1COzs0RkFJZCx1QkFBdUI7a0JBakJuQyxTQUFTOytCQUNJLHFCQUFxQixRQUd6Qjt3QkFDRixTQUFTLEVBQUUsaUNBQWlDO3FCQUMvQyxXQUNRO3dCQUNMLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3RCLGNBQ1csSUFBSTs7MEJBaUNYLE1BQU07MkJBQUMsZUFBZTt5Q0E3QkgsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNFLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFFYixjQUFjO3NCQUF0QixLQUFLO2dCQThQTixNQUFNO3NCQUZMLFlBQVk7dUJBQUMsYUFBYTs7c0JBQzFCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyLCBOZ1Njcm9sbGJhck1vZHVsZSB9IGZyb20gJ25neC1zY3JvbGxiYXInO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tYW5kQWN0aW9uLCBDb21tYW5kUGFsZXR0ZVNlcnZpY2UgfSBmcm9tICcuL2NvbW1hbmQtcGFsZXR0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNob3J0Y3V0Q29tcG9uZW50IH0gZnJvbSAnLi9zaG9ydGN1dC9zaG9ydGN1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1jb21tYW5kLXBhbGV0dGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tYW5kLXBhbGV0dGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbW1hbmQtcGFsZXR0ZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgXCIoY2xpY2spXCI6IFwidGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVwiXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgICAgIE5nU2Nyb2xsYmFyTW9kdWxlLFxuICAgICAgICBTaG9ydGN1dENvbXBvbmVudCxcbiAgICAgICAgQnJlYWRjcnVtYkNvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDb21tYW5kUGFsZXR0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBAVmlld0NoaWxkKE5nU2Nyb2xsYmFyKSBzY3JvbGxiYXI6IE5nU2Nyb2xsYmFyO1xuICAgIEBWaWV3Q2hpbGQoJ3RleHRpbnB1dCcpIHRleHRJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpIGNvbnRleHRFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICAgIGdldCBlbCgpIHsgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50OyB9XG5cbiAgICByZWFkb25seSBNQVRfSUNPTl9SRUdFWCA9IC9bOlxcL1xcLl0vO1xuXG4gICAgcXVlcnlTdHJpbmcgPSBcIlwiO1xuICAgIGFjdGl2ZUluZGV4ID0gMDtcbiAgICByZWFkb25seSByb3dIZWlnaHQgPSAyOTtcbiAgICByZWFkb25seSBwYWRkaW5nID0gNjtcblxuICAgIGNvbW1hbmRzOiBDb21tYW5kQWN0aW9uW10gPSBbXTtcbiAgICBmaWx0ZXJlZENvbW1hbmRzOiBDb21tYW5kQWN0aW9uW10gPSBbXTtcblxuICAgIGJyZWFkY3J1bWJzOiB7XG4gICAgICAgIGFjdGlvbjogQ29tbWFuZEFjdGlvbixcbiAgICAgICAgY29tbWFuZHM6IENvbW1hbmRBY3Rpb25bXSxcbiAgICAgICAgZGVzdHJveWluZzogYm9vbGVhbixcbiAgICAgICAgc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICAgIH1bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFBhbGV0dGU6IENvbW1hbmRQYWxldHRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZ1JlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGF0YTogYW55XG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29udGV4dEVsZW1lbnQgPSB0aGlzLmNvbnRleHRFbGVtZW50ID8/IGRhdGEuY29udGV4dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29tbWFuZHMgPSB0aGlzLmNvbW1hbmRQYWxldHRlLmdldFJlZ2lzdGVyZWRDb21tYW5kcyh0aGlzLmNvbnRleHRFbGVtZW50KTtcbiAgICAgICAgdGhpcy5zZXRDb21tYW5kTGlzdCh0aGlzLmNvbW1hbmRzKTtcblxuICAgICAgICAvLyBUT0RPOiBjdXN0b20gbmFtZVxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgICAgYWN0aW9uOiB7IGxhYmVsOiBcIi9cIiB9LFxuICAgICAgICAgICAgY29tbWFuZHM6IHRoaXMuY29tbWFuZHMsXG4gICAgICAgICAgICBkZXN0cm95aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdGVkSW5kZXg6IDBcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgXCJFbnRlclwiOiB7XG4gICAgICAgICAgICAgICAgLy8gRmlyZSB0aGUgZmlyc3QgY29tbWFuZFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmVkQ29tbWFuZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlQ29tbWFuZCh0aGlzLmZpbHRlcmVkQ29tbWFuZHNbdGhpcy5hY3RpdmVJbmRleF0pO1xuXG4gICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gTWF0aC5tYXgodGhpcy5hY3RpdmVJbmRleCAtIDEsIDApO1xuXG4gICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNSb3coKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiQXJyb3dEb3duXCI6IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gTWF0aC5taW4odGhpcy5maWx0ZXJlZENvbW1hbmRzLmxlbmd0aCAtIDEsIHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcblxuICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzUm93KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIlBhZ2VVcFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gRmlyZSB0aGUgZmlyc3QgY29tbWFuZFxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBNYXRoLm1heCh0aGlzLmFjdGl2ZUluZGV4IC0gMTIsIDApO1xuXG4gICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNSb3coKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiUGFnZURvd25cIjoge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBNYXRoLm1pbih0aGlzLmZpbHRlcmVkQ29tbWFuZHMubGVuZ3RoIC0gMSwgdGhpcy5hY3RpdmVJbmRleCArIDEyKTtcblxuICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzUm93KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIkJhY2tzcGFjZVwiOiB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBubyBjaGFyYWN0ZXJzIGFuZCB3ZSdyZSBoaXR0aW5nIGJhY2tzcGFjZSwgZ28gYmFja1xuICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBwcmV2aW91cyBtZW51IGluIHRoZSBicmVhZGNydW1iXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucXVlcnlTdHJpbmcubGVuZ3RoID09IDAgJiYgdGhpcy5icmVhZGNydW1icy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyID0gdGhpcy5icmVhZGNydW1icy5hdCgtMSk7XG4gICAgICAgICAgICAgICAgICAgIGxheWVyLmRlc3Ryb3lpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29tbWFuZExpc3QodGhpcy5icmVhZGNydW1icy5hdCgtMikuY29tbWFuZHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5icmVhZGNydW1icy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBsYXllci5zZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgICAgICAgICB9LCAxOTApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiRGVsZXRlXCI6IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IDA7XG4gICAgICAgIHRoaXMuY29tbWFuZHMuZm9yRWFjaChjID0+IGNbJ19yZW5kZXJlZExhYmVsJ10gPSAnJyk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaW4gdGhlIG5leHQgdGljayB0byBnZXQgdGhlIGlucHV0J3NcbiAgICAgICAgLy8gdmFsdWUgc28gdGhhdCBpdCdzIHVwZGF0ZWRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5U3RyaW5nID0gKGV2dC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgICAgICB0aGlzLmZpbHRlclJlc3VsdHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBmaWx0ZXJSZXN1bHRzKCkge1xuICAgICAgICAvLyBXaGl0ZXNwYWNlIGRvZXNuJ3QgY291bnQuXG4gICAgICAgIGlmICh0aGlzLnF1ZXJ5U3RyaW5nLnRyaW0oKS5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZENvbW1hbmRzID0gdGhpcy5jb21tYW5kcztcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHF1ZXJ5Q2hhcnMgPSB0aGlzLnF1ZXJ5U3RyaW5nXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgLnNwbGl0KCcnKTtcblxuICAgICAgICBjb25zdCBtYXRjaGVkQ29tbWFuZHM6IENvbW1hbmRBY3Rpb25bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgY29tbWFuZCBvZiB0aGlzLmNvbW1hbmRzKSB7XG4gICAgICAgICAgICBjb25zdCB7IGxhYmVsIH0gPSBjb21tYW5kO1xuXG4gICAgICAgICAgICAvLyBDaGVjayB0aGUgbGFiZWxcbiAgICAgICAgICAgIGlmIChjb21tYW5kLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tbWFuZENoYXJzID0gbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcnKTtcblxuICAgICAgICAgICAgICAgIGxldCByZW5kZXJlZExhYmVsID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IGxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgbGV0IGlzTWF0Y2ggPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGFyIG9mIHF1ZXJ5Q2hhcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBjb21tYW5kQ2hhcnMuaW5kZXhPZihjaGFyLCBsYXN0SW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlZExhYmVsICs9IGxhYmVsLnNsaWNlKGxhc3RJbmRleCwgaW5kZXgpICsgYDxiPiR7bGFiZWwuc2xpY2UoaW5kZXgsIGluZGV4ICsgMSl9PC9iPmA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0SW5kZXggPSBpbmRleCArIDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZW5kZXJlZExhYmVsICs9IGxhYmVsLnNsaWNlKGxhc3RJbmRleCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBjb21tYW5kWydfcmVuZGVyZWRMYWJlbCddID0gcmVuZGVyZWRMYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZENvbW1hbmRzLnB1c2goY29tbWFuZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVjayB0aGUgaGludFxuICAgICAgICAgICAgaWYgKGNvbW1hbmQuaGludCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbW1hbmRDaGFycyA9IGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnJyk7XG5cbiAgICAgICAgICAgICAgICBsZXQgcmVuZGVyZWRIaW50ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IGxhc3RJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgbGV0IGlzTWF0Y2ggPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGFyIG9mIHF1ZXJ5Q2hhcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBjb21tYW5kQ2hhcnMuaW5kZXhPZihjaGFyLCBsYXN0SW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlZEhpbnQgKz0gbGFiZWwuc2xpY2UobGFzdEluZGV4LCBpbmRleCkgKyBgPGI+JHtsYWJlbC5zbGljZShpbmRleCwgaW5kZXggKyAxKX08L2I+YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlbmRlcmVkSGludCArPSBsYWJlbC5zbGljZShsYXN0SW5kZXgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZFsnX3JlbmRlcmVkSGludCddID0gcmVuZGVyZWRIaW50O1xuICAgICAgICAgICAgICAgICAgICBtYXRjaGVkQ29tbWFuZHMucHVzaChjb21tYW5kKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlcmVkQ29tbWFuZHMgPSBtYXRjaGVkQ29tbWFuZHM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvbW1hbmRMaXN0KGNvbW1hbmRzOiBDb21tYW5kQWN0aW9uW10pIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcyA9IGNvbW1hbmRzXG4gICAgICAgICAgICAuZmlsdGVyKGMgPT4gYy52aXNpYmxlSW5MaXN0ICE9IGZhbHNlKTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZENvbW1hbmRzID0gdGhpcy5jb21tYW5kcztcbiAgICAgICAgdGhpcy5xdWVyeVN0cmluZyA9ICcnO1xuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gMDtcblxuICAgICAgICAvLyBSZXNldCB0aGUgZmlsdGVyIGxhYmVsc1xuICAgICAgICB0aGlzLmNvbW1hbmRzLmZvckVhY2goY29tbWFuZCA9PiBjb21tYW5kWydfcmVuZGVyZWRMYWJlbCddID0gJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNSb3coKSB7XG4gICAgICAgIGNvbnN0IHRvcCA9IHRoaXMuYWN0aXZlSW5kZXggKiB0aGlzLnJvd0hlaWdodDtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQ7XG5cbiAgICAgICAgY29uc3Qgdmlld1RvcCA9IHRoaXMuc2Nyb2xsYmFyPy52aWV3cG9ydD8uc2Nyb2xsVG9wO1xuICAgICAgICBjb25zdCB2aWV3SGVpZ2h0ID0gdGhpcy5zY3JvbGxiYXI/LnZpZXdwb3J0Py5jbGllbnRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHZpZXdCb3R0b20gPSB2aWV3VG9wICsgdmlld0hlaWdodDtcblxuICAgICAgICBpZiAodG9wIDwgdmlld1RvcCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXIudmlld3BvcnQubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7IHRvcDogdG9wICsgdGhpcy5wYWRkaW5nIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCh0b3AgKyBoZWlnaHQpID4gdmlld0JvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXIudmlld3BvcnQubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7IHRvcDogKCh0b3AgKyB0aGlzLnJvd0hlaWdodCkgLSB2aWV3SGVpZ2h0KSArIHRoaXMucGFkZGluZyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEltbWVkaWF0ZWx5IGNoZWNrIGZvciBjaGFuZ2VzIHRvIHVwZGF0ZSB0ZW1wbGF0ZVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBleGVjdXRlQ29tbWFuZChjb21tYW5kOiBDb21tYW5kQWN0aW9uKSB7XG4gICAgICAgIC8vIE9wZW4gYSBzdWIgbWVudSBvZiBpdGVtc1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjb21tYW5kLnN1Yk1lbnUpKSB7XG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgICAgICAgIGFjdGlvbjogY29tbWFuZCxcbiAgICAgICAgICAgICAgICBjb21tYW5kczogY29tbWFuZC5zdWJNZW51LFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSW5kZXg6IHRoaXMuYWN0aXZlSW5kZXgsXG4gICAgICAgICAgICAgICAgZGVzdHJveWluZzogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnNldENvbW1hbmRMaXN0KGNvbW1hbmQuc3ViTWVudSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRGlyZWN0bHkgaW52b2tlIHRoZSBhY3Rpb24gYW5kIGtpbGwgdGhlIGRpYWxvZ1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29tbWFuZFBhbGV0dGUuaW52b2tlQWN0aW9uKGNvbW1hbmQpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6Ymx1clwiKVxuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXG4gICAgb25CbHVyKCkge1xuICAgICAgICBpZiAoIWlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDEwMCU7IHBhZGRpbmc6IDhweCA4cHggMCA4cHhcIj5cbiAgICA8bmd4LWNvbW1hbmRwYWxldHRlLWJyZWFkY3J1bWJcbiAgICAgICAgW2JyZWFkY3J1bWJzXT1cImJyZWFkY3J1bWJzXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgICAjdGV4dGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW3ZhbHVlXT1cInF1ZXJ5U3RyaW5nXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgID5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbkBpZiAoZmlsdGVyZWRDb21tYW5kcy5sZW5ndGggPT0gMCkge1xuICAgIDxkaXYgY2xhc3M9XCJjb21tYW5kc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWFuZCBzZWxlY3RlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+Tm8gbWF0Y2hpbmcgcmVzdWx0cy48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG59XG5AZWxzZSB7XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNvbW1hbmRzXCJcbiAgICAgICAgW3N0eWxlLmZsZXhdPVwiKGZpbHRlcmVkQ29tbWFuZHMubGVuZ3RoICogcm93SGVpZ2h0KSArICdweCdcIlxuICAgICAgICBbY2xhc3Muc2hhZG93XT1cInNjcm9sbGJhcj8udmlld3BvcnQ/LnNjcm9sbFRvcCA+IDJcIlxuICAgID5cbiAgICAgICAgPG5nLXNjcm9sbGJhciAjc2Nyb2xsYmFyPlxuICAgICAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwicm93SGVpZ2h0XCIgc2Nyb2xsVmlld3BvcnQgW21pbkJ1ZmZlclB4XT1cIjE1MFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKmNka1ZpcnR1YWxGb3I9XCJsZXQgY29tbWFuZCBvZiBmaWx0ZXJlZENvbW1hbmRzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29tbWFuZFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwicm93SGVpZ2h0ICsgJ3B4J1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpbmRleD09YWN0aXZlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGFzLWljb25dPVwiY29tbWFuZC5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZXhlY3V0ZUNvbW1hbmQoY29tbWFuZClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb21tYW5kLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghTUFUX0lDT05fUkVHRVgudGVzdChjb21tYW5kLmljb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbZm9udEljb25dPVwiY29tbWFuZC5pY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiY29tbWFuZC5pY29uXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbW1hbmRbJ19yZW5kZXJlZExhYmVsJ10gfHwgY29tbWFuZC5sYWJlbCB8fCBjb21tYW5kLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29tbWFuZFsnX3JlbmRlcmVkSGludCddIHx8IGNvbW1hbmQuaGludCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjb21tYW5kWydfcmVuZGVyZWRIaW50J10gfHwgY29tbWFuZC5oaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDogMVwiPjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzaG9ydGN1dCBvZiAoY29tbWFuZC5zaG9ydGN1dEtleT8uZmluZCA/IGNvbW1hbmQuc2hvcnRjdXRLZXkgOiBbY29tbWFuZC5zaG9ydGN1dEtleV0pOyB0cmFjayBzaG9ydGN1dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc2hvcnRjdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1jb21tYW5kcGFsZXR0ZS1zaG9ydGN1dCBbc2hvcnRjdXRdPVwic2hvcnRjdXRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICA8L25nLXNjcm9sbGJhcj5cbiAgICA8L2Rpdj5cbn1cblxuIl19