@mnaoumov/obsidian-lib 7.0.0 → 8.0.0

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 (361) hide show
  1. package/components/incremental-file-index-component/package.json +6 -0
  2. package/dist/lib/cjs/__merged.cjs +20 -6
  3. package/dist/lib/cjs/__merged.d.cts +2 -0
  4. package/dist/lib/cjs/active-file-provider.cjs +6 -6
  5. package/dist/lib/cjs/active-file-provider.d.cts +1 -1
  6. package/dist/lib/cjs/app.cjs +5 -5
  7. package/dist/lib/cjs/async-with-notice.cjs +5 -5
  8. package/dist/lib/cjs/attachment-path.cjs +6 -6
  9. package/dist/lib/cjs/attachment-unit-folder.cjs +5 -5
  10. package/dist/lib/cjs/backlink-index.cjs +13 -19
  11. package/dist/lib/cjs/backlink-index.d.cts +1 -1
  12. package/dist/lib/cjs/backlink.cjs +5 -5
  13. package/dist/lib/cjs/bases-view-registrar.cjs +6 -6
  14. package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
  15. package/dist/lib/cjs/callout.cjs +5 -5
  16. package/dist/lib/cjs/canvas.cjs +5 -5
  17. package/dist/lib/cjs/case-insensitive-file-index.cjs +5 -5
  18. package/dist/lib/cjs/code-block-markdown-information.cjs +6 -6
  19. package/dist/lib/cjs/code-block-markdown-information.d.cts +9 -9
  20. package/dist/lib/cjs/code-block-reg-exp.cjs +5 -5
  21. package/dist/lib/cjs/codemirror/index.cjs +5 -5
  22. package/dist/lib/cjs/codemirror/state-field-spec.cjs +6 -6
  23. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +6 -6
  24. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +5 -5
  25. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +5 -5
  26. package/dist/lib/cjs/command-handlers/command-handler.cjs +5 -5
  27. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +5 -5
  28. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -5
  29. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -5
  30. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +5 -5
  31. package/dist/lib/cjs/command-handlers/index.cjs +5 -5
  32. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +5 -5
  33. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +5 -5
  34. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +5 -5
  35. package/dist/lib/cjs/command-registrar.cjs +6 -6
  36. package/dist/lib/cjs/command-registrar.d.cts +2 -2
  37. package/dist/lib/cjs/community-plugins.cjs +6 -6
  38. package/dist/lib/cjs/components/abort-signal-component.cjs +5 -5
  39. package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
  40. package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
  41. package/dist/lib/cjs/components/async-events-component.cjs +5 -5
  42. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +5 -5
  43. package/dist/lib/cjs/components/component-ex.cjs +5 -5
  44. package/dist/lib/cjs/components/console-debug-component.cjs +5 -5
  45. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +5 -5
  46. package/dist/lib/cjs/components/disposable-component.cjs +5 -5
  47. package/dist/lib/cjs/components/embed-extensions-component.cjs +5 -5
  48. package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +13 -16
  49. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +5 -5
  50. package/dist/lib/cjs/components/incremental-file-index-component.cjs +340 -0
  51. package/dist/lib/cjs/components/incremental-file-index-component.d.cts +152 -0
  52. package/dist/lib/cjs/components/index.cjs +9 -6
  53. package/dist/lib/cjs/components/index.d.cts +1 -0
  54. package/dist/lib/cjs/components/layout-ready-component.cjs +5 -5
  55. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +5 -5
  56. package/dist/lib/cjs/components/monkey-around-component.cjs +5 -5
  57. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
  58. package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
  59. package/dist/lib/cjs/components/plugin-gate-component.cjs +5 -5
  60. package/dist/lib/cjs/components/plugin-notice-component.cjs +6 -6
  61. package/dist/lib/cjs/components/plugin-notice-component.d.cts +3 -3
  62. package/dist/lib/cjs/components/plugin-settings-component.cjs +6 -6
  63. package/dist/lib/cjs/components/plugin-settings-component.d.cts +5 -5
  64. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +5 -5
  65. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +5 -5
  66. package/dist/lib/cjs/components/pointer-position-component.cjs +5 -5
  67. package/dist/lib/cjs/components/registry-component.cjs +5 -5
  68. package/dist/lib/cjs/components/release-notes-component.cjs +5 -5
  69. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +6 -6
  70. package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +10 -10
  71. package/dist/lib/cjs/components/rmdir-guard-component.cjs +5 -5
  72. package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
  73. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +5 -5
  74. package/dist/lib/cjs/components/templates-language-component.cjs +5 -5
  75. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
  76. package/dist/lib/cjs/constructors/index.cjs +5 -5
  77. package/dist/lib/cjs/css-class.cjs +5 -5
  78. package/dist/lib/cjs/data-handler.cjs +6 -6
  79. package/dist/lib/cjs/data-handler.d.cts +2 -2
  80. package/dist/lib/cjs/data-stores/data-store-replica.cjs +5 -5
  81. package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
  82. package/dist/lib/cjs/data-stores/data-store-transport.cjs +5 -5
  83. package/dist/lib/cjs/data-stores/index.cjs +5 -5
  84. package/dist/lib/cjs/data-stores/local-data-store.cjs +5 -5
  85. package/dist/lib/cjs/data-stores/shared-data-store.cjs +6 -6
  86. package/dist/lib/cjs/dataview-link.cjs +5 -5
  87. package/dist/lib/cjs/dataview.cjs +12 -12
  88. package/dist/lib/cjs/dataview.d.cts +6 -6
  89. package/dist/lib/cjs/debug.cjs +5 -5
  90. package/dist/lib/cjs/demo-vault-helper-settings.cjs +5 -5
  91. package/dist/lib/cjs/demo-vault-helper.cjs +5 -5
  92. package/dist/lib/cjs/demo-vault-naming.cjs +5 -5
  93. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +5 -5
  94. package/dist/lib/cjs/desktop-trusted-input.cjs +6 -6
  95. package/dist/lib/cjs/desktop-trusted-input.d.cts +1 -1
  96. package/dist/lib/cjs/editor-extension-registrar.cjs +6 -6
  97. package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
  98. package/dist/lib/cjs/editor-suggest-registrar.cjs +6 -6
  99. package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
  100. package/dist/lib/cjs/editor.cjs +5 -5
  101. package/dist/lib/cjs/events.cjs +5 -5
  102. package/dist/lib/cjs/extensions-registrar.cjs +6 -6
  103. package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
  104. package/dist/lib/cjs/file-change.cjs +6 -6
  105. package/dist/lib/cjs/file-change.d.cts +3 -3
  106. package/dist/lib/cjs/file-explorer.cjs +5 -5
  107. package/dist/lib/cjs/file-manager.cjs +5 -5
  108. package/dist/lib/cjs/file-system.cjs +5 -5
  109. package/dist/lib/cjs/folder-note.cjs +6 -6
  110. package/dist/lib/cjs/folder-note.d.cts +1 -1
  111. package/dist/lib/cjs/frontmatter-formatting.cjs +5 -5
  112. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +6 -6
  113. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +2 -2
  114. package/dist/lib/cjs/frontmatter.cjs +6 -6
  115. package/dist/lib/cjs/frontmatter.d.cts +7 -7
  116. package/dist/lib/cjs/generated-during-build.cjs +7 -7
  117. package/dist/lib/cjs/hover-link-source-registrar.cjs +6 -6
  118. package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
  119. package/dist/lib/cjs/html-element.cjs +5 -5
  120. package/dist/lib/cjs/i18n/custom-type-options.cjs +6 -6
  121. package/dist/lib/cjs/i18n/custom-type-options.d.cts +4 -4
  122. package/dist/lib/cjs/i18n/default-translations.cjs +5 -5
  123. package/dist/lib/cjs/i18n/i18n.cjs +5 -5
  124. package/dist/lib/cjs/i18n/index.cjs +5 -5
  125. package/dist/lib/cjs/i18n/locales/en.cjs +5 -5
  126. package/dist/lib/cjs/i18n/locales/index.cjs +5 -5
  127. package/dist/lib/cjs/i18n/locales/translations-map.cjs +5 -5
  128. package/dist/lib/cjs/index.cjs +9 -6
  129. package/dist/lib/cjs/index.d.cts +1 -0
  130. package/dist/lib/cjs/is-in-obsidian.cjs +5 -5
  131. package/dist/lib/cjs/library-styles.cjs +5 -5
  132. package/dist/lib/cjs/library.cjs +5 -5
  133. package/dist/lib/cjs/link-name.cjs +5 -5
  134. package/dist/lib/cjs/link-update-progress.cjs +5 -5
  135. package/dist/lib/cjs/link.cjs +7 -7
  136. package/dist/lib/cjs/link.d.cts +2 -2
  137. package/dist/lib/cjs/logger.cjs +5 -5
  138. package/dist/lib/cjs/loop.cjs +5 -5
  139. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +6 -6
  140. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +1 -1
  141. package/dist/lib/cjs/markdown-code-block-processor.cjs +5 -5
  142. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +6 -6
  143. package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +1 -1
  144. package/dist/lib/cjs/markdown-view.cjs +5 -5
  145. package/dist/lib/cjs/markdown.cjs +5 -5
  146. package/dist/lib/cjs/menu-event-registrar.cjs +6 -6
  147. package/dist/lib/cjs/menu-event-registrar.d.cts +4 -4
  148. package/dist/lib/cjs/metadata-cache.cjs +6 -6
  149. package/dist/lib/cjs/mobile-trusted-input.cjs +6 -6
  150. package/dist/lib/cjs/modals/alert.cjs +5 -5
  151. package/dist/lib/cjs/modals/confirm.cjs +5 -5
  152. package/dist/lib/cjs/modals/index.cjs +5 -5
  153. package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
  154. package/dist/lib/cjs/modals/modal-command-builder.cjs +6 -6
  155. package/dist/lib/cjs/modals/modal-command-builder.d.cts +12 -12
  156. package/dist/lib/cjs/modals/modal.cjs +5 -5
  157. package/dist/lib/cjs/modals/prompt.cjs +14 -14
  158. package/dist/lib/cjs/modals/select-item.cjs +5 -5
  159. package/dist/lib/cjs/modals/select-option.cjs +5 -5
  160. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +5 -5
  161. package/dist/lib/cjs/note-priority.cjs +5 -5
  162. package/dist/lib/cjs/notebook-navigator.cjs +6 -6
  163. package/dist/lib/cjs/notebook-navigator.d.cts +3 -3
  164. package/dist/lib/cjs/obsidian-lib-state.cjs +6 -6
  165. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +6 -6
  166. package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
  167. package/dist/lib/cjs/obsidian-settings.cjs +5 -5
  168. package/dist/lib/cjs/obsidian-word-characters.cjs +231 -0
  169. package/dist/lib/cjs/obsidian-word-characters.d.cts +59 -0
  170. package/dist/lib/cjs/parse-link.cjs +6 -6
  171. package/dist/lib/cjs/parse-link.d.cts +2 -2
  172. package/dist/lib/cjs/path-settings.cjs +6 -6
  173. package/dist/lib/cjs/pdf.cjs +5 -5
  174. package/dist/lib/cjs/plugin/index.cjs +5 -5
  175. package/dist/lib/cjs/plugin/plugin-api.cjs +6 -6
  176. package/dist/lib/cjs/plugin/plugin-api.d.cts +2 -2
  177. package/dist/lib/cjs/plugin/plugin-context.cjs +6 -6
  178. package/dist/lib/cjs/plugin/plugin-event-source.cjs +6 -6
  179. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
  180. package/dist/lib/cjs/plugin/plugin-install-state.cjs +5 -5
  181. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +5 -5
  182. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +6 -6
  183. package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +3 -3
  184. package/dist/lib/cjs/plugin/plugin.cjs +6 -6
  185. package/dist/lib/cjs/plugin/settings-migration-api.cjs +6 -6
  186. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +1 -1
  187. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +6 -6
  188. package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
  189. package/dist/lib/cjs/popovers/field-popover.cjs +5 -5
  190. package/dist/lib/cjs/popovers/index.cjs +5 -5
  191. package/dist/lib/cjs/popovers/popover-anchor.cjs +5 -5
  192. package/dist/lib/cjs/popovers/popover.cjs +5 -5
  193. package/dist/lib/cjs/property-entry.cjs +5 -5
  194. package/dist/lib/cjs/queue.cjs +6 -6
  195. package/dist/lib/cjs/react/app-context.cjs +5 -5
  196. package/dist/lib/cjs/react/index.cjs +5 -5
  197. package/dist/lib/cjs/reference.cjs +6 -6
  198. package/dist/lib/cjs/reference.d.cts +6 -6
  199. package/dist/lib/cjs/resource-lock.cjs +6 -6
  200. package/dist/lib/cjs/resource-url.cjs +5 -5
  201. package/dist/lib/cjs/ribbon-icon-registrar.cjs +6 -6
  202. package/dist/lib/cjs/ribbon-icon-registrar.d.cts +1 -1
  203. package/dist/lib/cjs/setting-components/checkbox-component.cjs +5 -5
  204. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +5 -5
  205. package/dist/lib/cjs/setting-components/date-component.cjs +5 -5
  206. package/dist/lib/cjs/setting-components/date-time-component.cjs +5 -5
  207. package/dist/lib/cjs/setting-components/email-component.cjs +5 -5
  208. package/dist/lib/cjs/setting-components/file-component.cjs +5 -5
  209. package/dist/lib/cjs/setting-components/index.cjs +5 -5
  210. package/dist/lib/cjs/setting-components/month-component.cjs +6 -6
  211. package/dist/lib/cjs/setting-components/month-component.d.cts +2 -2
  212. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +5 -5
  213. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +5 -5
  214. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +5 -5
  215. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +5 -5
  216. package/dist/lib/cjs/setting-components/number-component.cjs +5 -5
  217. package/dist/lib/cjs/setting-components/password-component.cjs +5 -5
  218. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +5 -5
  219. package/dist/lib/cjs/setting-components/telephone-component.cjs +5 -5
  220. package/dist/lib/cjs/setting-components/text-based-component.cjs +6 -6
  221. package/dist/lib/cjs/setting-components/text-based-component.d.cts +3 -3
  222. package/dist/lib/cjs/setting-components/time-component.cjs +5 -5
  223. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +5 -5
  224. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +5 -5
  225. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +5 -5
  226. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +5 -5
  227. package/dist/lib/cjs/setting-components/typed-text-component.cjs +5 -5
  228. package/dist/lib/cjs/setting-components/url-component.cjs +5 -5
  229. package/dist/lib/cjs/setting-components/validator-component.cjs +5 -5
  230. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +6 -6
  231. package/dist/lib/cjs/setting-components/week-component.cjs +6 -6
  232. package/dist/lib/cjs/setting-components/week-component.d.cts +2 -2
  233. package/dist/lib/cjs/setting-ex.cjs +5 -5
  234. package/dist/lib/cjs/setting-group-ex.cjs +5 -5
  235. package/dist/lib/cjs/status-bar-item-registrar.cjs +6 -6
  236. package/dist/lib/cjs/status-bar-item-registrar.d.cts +1 -1
  237. package/dist/lib/cjs/templater.cjs +6 -6
  238. package/dist/lib/cjs/templater.d.cts +9 -9
  239. package/dist/lib/cjs/transformers/duration-transformer.cjs +5 -5
  240. package/dist/lib/cjs/transformers/index.cjs +5 -5
  241. package/dist/lib/cjs/trusted-input.cjs +5 -5
  242. package/dist/lib/cjs/validation.cjs +6 -6
  243. package/dist/lib/cjs/validation.d.cts +1 -1
  244. package/dist/lib/cjs/vault-delete.cjs +5 -5
  245. package/dist/lib/cjs/vault-transaction.cjs +6 -6
  246. package/dist/lib/cjs/vault.cjs +5 -5
  247. package/dist/lib/cjs/view-registrar.cjs +6 -6
  248. package/dist/lib/cjs/view-registrar.d.cts +1 -1
  249. package/dist/lib/cjs/workspace.cjs +5 -5
  250. package/dist/lib/esm/__merged.d.mts +2 -0
  251. package/dist/lib/esm/__merged.mjs +15 -1
  252. package/dist/lib/esm/active-file-provider.d.mts +1 -1
  253. package/dist/lib/esm/active-file-provider.mjs +1 -1
  254. package/dist/lib/esm/attachment-path.mjs +1 -1
  255. package/dist/lib/esm/backlink-index.d.mts +1 -1
  256. package/dist/lib/esm/backlink-index.mjs +8 -14
  257. package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
  258. package/dist/lib/esm/bases-view-registrar.mjs +1 -1
  259. package/dist/lib/esm/code-block-markdown-information.d.mts +9 -9
  260. package/dist/lib/esm/codemirror/state-field-spec.d.mts +6 -6
  261. package/dist/lib/esm/command-registrar.d.mts +2 -2
  262. package/dist/lib/esm/command-registrar.mjs +1 -1
  263. package/dist/lib/esm/community-plugins.mjs +1 -1
  264. package/dist/lib/esm/components/file-explorer-root-menu-component.mjs +8 -11
  265. package/dist/lib/esm/components/incremental-file-index-component.d.mts +152 -0
  266. package/dist/lib/esm/components/incremental-file-index-component.mjs +260 -0
  267. package/dist/lib/esm/components/index.d.mts +1 -0
  268. package/dist/lib/esm/components/index.mjs +3 -1
  269. package/dist/lib/esm/components/plugin-notice-component.d.mts +3 -3
  270. package/dist/lib/esm/components/plugin-notice-component.mjs +1 -1
  271. package/dist/lib/esm/components/plugin-settings-component.d.mts +5 -5
  272. package/dist/lib/esm/components/plugin-settings-component.mjs +1 -1
  273. package/dist/lib/esm/components/rename-delete-handler-component.d.mts +10 -10
  274. package/dist/lib/esm/components/rename-delete-handler-component.mjs +1 -1
  275. package/dist/lib/esm/data-handler.d.mts +2 -2
  276. package/dist/lib/esm/data-handler.mjs +1 -1
  277. package/dist/lib/esm/data-stores/data-store-seeds.mjs +1 -1
  278. package/dist/lib/esm/data-stores/shared-data-store.mjs +1 -1
  279. package/dist/lib/esm/dataview.d.mts +6 -6
  280. package/dist/lib/esm/dataview.mjs +7 -7
  281. package/dist/lib/esm/desktop-trusted-input.d.mts +1 -1
  282. package/dist/lib/esm/desktop-trusted-input.mjs +1 -1
  283. package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
  284. package/dist/lib/esm/editor-extension-registrar.mjs +1 -1
  285. package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
  286. package/dist/lib/esm/editor-suggest-registrar.mjs +1 -1
  287. package/dist/lib/esm/extensions-registrar.d.mts +1 -1
  288. package/dist/lib/esm/extensions-registrar.mjs +1 -1
  289. package/dist/lib/esm/file-change.d.mts +3 -3
  290. package/dist/lib/esm/file-change.mjs +1 -1
  291. package/dist/lib/esm/folder-note.d.mts +1 -1
  292. package/dist/lib/esm/folder-note.mjs +1 -1
  293. package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +2 -2
  294. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +1 -1
  295. package/dist/lib/esm/frontmatter.d.mts +7 -7
  296. package/dist/lib/esm/frontmatter.mjs +1 -1
  297. package/dist/lib/esm/generated-during-build.mjs +2 -2
  298. package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
  299. package/dist/lib/esm/hover-link-source-registrar.mjs +1 -1
  300. package/dist/lib/esm/i18n/custom-type-options.d.mts +4 -4
  301. package/dist/lib/esm/i18n/custom-type-options.mjs +1 -1
  302. package/dist/lib/esm/index.d.mts +1 -0
  303. package/dist/lib/esm/index.mjs +3 -1
  304. package/dist/lib/esm/link.d.mts +2 -2
  305. package/dist/lib/esm/link.mjs +2 -2
  306. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +1 -1
  307. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +1 -1
  308. package/dist/lib/esm/markdown-post-processor-registrar.d.mts +1 -1
  309. package/dist/lib/esm/markdown-post-processor-registrar.mjs +1 -1
  310. package/dist/lib/esm/menu-event-registrar.d.mts +4 -4
  311. package/dist/lib/esm/metadata-cache.mjs +1 -1
  312. package/dist/lib/esm/mobile-trusted-input.mjs +1 -1
  313. package/dist/lib/esm/modals/minimizable-modal.mjs +1 -1
  314. package/dist/lib/esm/modals/modal-command-builder.d.mts +12 -12
  315. package/dist/lib/esm/modals/modal-command-builder.mjs +1 -1
  316. package/dist/lib/esm/modals/prompt.mjs +9 -9
  317. package/dist/lib/esm/notebook-navigator.d.mts +3 -3
  318. package/dist/lib/esm/notebook-navigator.mjs +1 -1
  319. package/dist/lib/esm/obsidian-lib-state.mjs +1 -1
  320. package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
  321. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +1 -1
  322. package/dist/lib/esm/obsidian-word-characters.d.mts +59 -0
  323. package/dist/lib/esm/obsidian-word-characters.mjs +139 -0
  324. package/dist/lib/esm/parse-link.d.mts +2 -2
  325. package/dist/lib/esm/parse-link.mjs +1 -1
  326. package/dist/lib/esm/path-settings.mjs +1 -1
  327. package/dist/lib/esm/plugin/plugin-api.d.mts +2 -2
  328. package/dist/lib/esm/plugin/plugin-api.mjs +1 -1
  329. package/dist/lib/esm/plugin/plugin-context.mjs +1 -1
  330. package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
  331. package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
  332. package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +3 -3
  333. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +1 -1
  334. package/dist/lib/esm/plugin/plugin.mjs +1 -1
  335. package/dist/lib/esm/plugin/settings-migration-api.d.mts +1 -1
  336. package/dist/lib/esm/plugin/settings-migration-api.mjs +1 -1
  337. package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
  338. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +1 -1
  339. package/dist/lib/esm/queue.mjs +1 -1
  340. package/dist/lib/esm/reference.d.mts +6 -6
  341. package/dist/lib/esm/reference.mjs +1 -1
  342. package/dist/lib/esm/resource-lock.mjs +1 -1
  343. package/dist/lib/esm/ribbon-icon-registrar.d.mts +1 -1
  344. package/dist/lib/esm/ribbon-icon-registrar.mjs +1 -1
  345. package/dist/lib/esm/setting-components/month-component.d.mts +2 -2
  346. package/dist/lib/esm/setting-components/month-component.mjs +1 -1
  347. package/dist/lib/esm/setting-components/text-based-component.d.mts +3 -3
  348. package/dist/lib/esm/setting-components/text-based-component.mjs +1 -1
  349. package/dist/lib/esm/setting-components/week-component.d.mts +2 -2
  350. package/dist/lib/esm/setting-components/week-component.mjs +1 -1
  351. package/dist/lib/esm/status-bar-item-registrar.d.mts +1 -1
  352. package/dist/lib/esm/status-bar-item-registrar.mjs +1 -1
  353. package/dist/lib/esm/templater.d.mts +9 -9
  354. package/dist/lib/esm/templater.mjs +1 -1
  355. package/dist/lib/esm/validation.d.mts +1 -1
  356. package/dist/lib/esm/validation.mjs +1 -1
  357. package/dist/lib/esm/vault-transaction.mjs +1 -1
  358. package/dist/lib/esm/view-registrar.d.mts +1 -1
  359. package/dist/lib/esm/view-registrar.mjs +1 -1
  360. package/dist/styles.css +2 -2
  361. package/package.json +6 -3
@@ -0,0 +1,260 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+ (function () {
6
+ function ensureBrowserProcess() {
7
+ const browserProcess = {
8
+ browser: true,
9
+ cwd() {
10
+ return "/";
11
+ },
12
+ env: {},
13
+ platform: "android"
14
+ };
15
+ const existingProcess = globalThis.process;
16
+ if (!existingProcess) {
17
+ globalThis.process = browserProcess;
18
+ return;
19
+ }
20
+ if (existingProcess.versions?.node) {
21
+ return;
22
+ }
23
+ const existingProcessRecord = existingProcess;
24
+ for (const [key, value] of Object.entries(browserProcess)) {
25
+ existingProcessRecord[key] ??= value;
26
+ }
27
+ existingProcessRecord["browser"] = true;
28
+ }
29
+
30
+ ensureBrowserProcess();
31
+ })();
32
+
33
+ import { invokeAsyncSafely } from "@mnaoumov/typescript-lib/async";
34
+ import {
35
+ noop,
36
+ noopAsync
37
+ } from "@mnaoumov/typescript-lib/function";
38
+ import {
39
+ debounce,
40
+ TFile,
41
+ TFolder,
42
+ Vault
43
+ } from "obsidian";
44
+ import { ComponentEx } from "./component-ex.mjs";
45
+ const SAVE_DEBOUNCE_IN_MILLISECONDS = 5e3;
46
+ class IncrementalFileIndexComponent extends ComponentEx {
47
+ /**
48
+ * Whether startup reconciliation has completed.
49
+ *
50
+ * @returns Whether the index completed its first reconciliation.
51
+ */
52
+ get isBuilt() {
53
+ return this.isBuiltValue;
54
+ }
55
+ /**
56
+ * Projection, notifications and persistence supplied by the consumer.
57
+ */
58
+ options;
59
+ isBuiltValue = false;
60
+ readTail = noopAsync();
61
+ records = /* @__PURE__ */ new Map();
62
+ requestSave;
63
+ revision = 0;
64
+ revisions = /* @__PURE__ */ new WeakMap();
65
+ savedRevision = 0;
66
+ savePromise = null;
67
+ /**
68
+ * Creates an index with consumer-owned projection and persistence.
69
+ *
70
+ * @param params - The index dependencies.
71
+ */
72
+ constructor(params) {
73
+ super();
74
+ this.options = { accepts: params.accepts, app: params.app, indexFile: params.indexFile, load: params.load, onRemove: params.onRemove, onSet: params.onSet, save: params.save };
75
+ this.requestSave = debounce(
76
+ () => {
77
+ invokeAsyncSafely(() => this.flush());
78
+ },
79
+ SAVE_DEBOUNCE_IN_MILLISECONDS,
80
+ false
81
+ );
82
+ }
83
+ /**
84
+ * Saves a snapshot after previous writes finish, including changes arriving during a write.
85
+ *
86
+ * @returns Completion of the serialized writes; rejects on persistence failure without marking it saved.
87
+ */
88
+ async flush() {
89
+ if (this.savePromise) {
90
+ await this.savePromise;
91
+ return;
92
+ }
93
+ this.savePromise = this.saveChanges();
94
+ try {
95
+ await this.savePromise;
96
+ } finally {
97
+ this.savePromise = null;
98
+ }
99
+ }
100
+ /**
101
+ * Returns a shallow snapshot; consumers must treat records as immutable.
102
+ *
103
+ * @returns Current records by vault-relative path.
104
+ */
105
+ getRecords() {
106
+ return new Map(this.records);
107
+ }
108
+ /**
109
+ * Registers changes before startup restoration.
110
+ */
111
+ onload() {
112
+ const { app } = this.options;
113
+ this.registerEvent(app.metadataCache.on("changed", (file, content) => {
114
+ this.setText(file, content);
115
+ }));
116
+ this.registerEvent(app.vault.on("create", this.queueScan.bind(this)));
117
+ this.registerEvent(app.vault.on("modify", this.queueScan.bind(this)));
118
+ this.registerEvent(app.vault.on("delete", (file) => {
119
+ if (file instanceof TFile) {
120
+ this.removeRecord(file.path);
121
+ } else {
122
+ this.removeTree(file.path);
123
+ }
124
+ }));
125
+ this.registerEvent(app.vault.on("rename", (file, oldPath) => {
126
+ this.rename(file, oldPath);
127
+ }));
128
+ }
129
+ /**
130
+ * Reuses unchanged saved records and reads other files one at a time.
131
+ *
132
+ * @returns Completion of startup reconciliation.
133
+ */
134
+ async onloadAsync() {
135
+ const saved = await this.options.load();
136
+ for (const file of this.options.app.vault.getFiles()) {
137
+ if (this.isUnloaded()) {
138
+ return;
139
+ }
140
+ if (!this.options.accepts(file) || this.revisions.has(file) || this.options.app.vault.getFileByPath(file.path) !== file) {
141
+ continue;
142
+ }
143
+ const entry = saved.get(file.path);
144
+ if (entry?.mtime === file.stat.mtime && entry.size === file.stat.size) {
145
+ this.setRecord(file.path, entry);
146
+ } else {
147
+ await this.scanFile(file);
148
+ }
149
+ }
150
+ await this.readTail;
151
+ if (this.isUnloaded()) {
152
+ return;
153
+ }
154
+ this.isBuiltValue = true;
155
+ this.markDirty();
156
+ }
157
+ /**
158
+ * Cancels the debounce and flushes completed indexes before disposing event listeners.
159
+ */
160
+ onunload() {
161
+ this.requestSave.cancel();
162
+ if (this.isBuiltValue) {
163
+ invokeAsyncSafely(() => this.flush());
164
+ }
165
+ super.onunload();
166
+ }
167
+ /**
168
+ * Rebuilds projections for every accepted file, for example after a consumer learns new names to find in text.
169
+ * Events arriving during the scan supersede its older reads. Consumers coordinate any domain scan markers.
170
+ *
171
+ * @returns Completion of the bounded full scan.
172
+ */
173
+ async rescan() {
174
+ for (const file of this.options.app.vault.getFiles()) {
175
+ await this.scanFile(file);
176
+ }
177
+ }
178
+ markDirty() {
179
+ this.revision++;
180
+ if (this.isBuiltValue && !this.isUnloaded()) {
181
+ this.requestSave();
182
+ }
183
+ }
184
+ queueScan(file) {
185
+ if (file instanceof TFile) {
186
+ invokeAsyncSafely(() => this.scanFile(file));
187
+ }
188
+ }
189
+ removeRecord(path) {
190
+ if (!this.records.delete(path)) {
191
+ return;
192
+ }
193
+ this.options.onRemove(path);
194
+ this.markDirty();
195
+ }
196
+ removeTree(path) {
197
+ for (const key of this.records.keys()) {
198
+ if (!(key === path || key.startsWith(`${path}/`))) {
199
+ continue;
200
+ }
201
+ this.removeRecord(key);
202
+ }
203
+ }
204
+ rename(file, oldPath) {
205
+ if (file instanceof TFile) {
206
+ this.removeRecord(oldPath);
207
+ } else {
208
+ this.removeTree(oldPath);
209
+ }
210
+ this.queueScan(file);
211
+ if (file instanceof TFolder) {
212
+ Vault.recurseChildren(file, this.queueScan.bind(this));
213
+ }
214
+ }
215
+ async saveChanges() {
216
+ while (this.isBuiltValue && this.savedRevision !== this.revision) {
217
+ const revision = this.revision;
218
+ await this.options.save(new Map(this.records));
219
+ this.savedRevision = revision;
220
+ }
221
+ }
222
+ async scanFile(file) {
223
+ if (this.isUnloaded() || !this.options.accepts(file)) {
224
+ return;
225
+ }
226
+ this.removeRecord(file.path);
227
+ const token = {};
228
+ this.revisions.set(file, token);
229
+ const { path } = file;
230
+ const { mtime, size } = file.stat;
231
+ const isCurrent = () => !this.isUnloaded() && this.revisions.get(file) === token && file.path === path && file.stat.mtime === mtime && file.stat.size === size && this.options.app.vault.getFileByPath(path) === file;
232
+ const read = this.readTail.then(async () => {
233
+ if (!isCurrent()) {
234
+ return;
235
+ }
236
+ const content = await this.options.app.vault.cachedRead(file);
237
+ if (!isCurrent()) {
238
+ return;
239
+ }
240
+ this.setText(file, content);
241
+ });
242
+ this.readTail = read.catch(noop);
243
+ await read;
244
+ }
245
+ setRecord(path, entry) {
246
+ this.records.set(path, entry);
247
+ this.options.onSet(path, entry.record);
248
+ this.markDirty();
249
+ }
250
+ setText(file, content) {
251
+ this.revisions.set(file, {});
252
+ if (!this.isUnloaded() && this.options.accepts(file)) {
253
+ this.setRecord(file.path, { mtime: file.stat.mtime, record: this.options.indexFile({ content, file }), size: file.stat.size });
254
+ }
255
+ }
256
+ }
257
+ export {
258
+ IncrementalFileIndexComponent
259
+ };
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2luY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBJbmNyZW1lbnRhbCBwZXItZmlsZSBwcm9qZWN0aW9ucyB3aXRoIHN0YXQtYmFzZWQgcmVzdG9yYXRpb24gYW5kIGluamVjdGVkIHBlcnNpc3RlbmNlLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBEZWJvdW5jZXIsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Z1bmN0aW9uJztcbmltcG9ydCB7XG4gIGRlYm91bmNlLFxuICBURmlsZSxcbiAgVEZvbGRlcixcbiAgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcblxuY29uc3QgU0FWRV9ERUJPVU5DRV9JTl9NSUxMSVNFQ09ORFMgPSA1MDAwO1xuXG4vKipcbiAqIERlcGVuZGVuY2llcyBvZiBhbiBpbmNyZW1lbnRhbCBpbmRleC4gUGVyc2lzdGVuY2UgbXVzdCB2YWxpZGF0ZSBpdHMgb3duIHNjaGVtYS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgaW1tdXRhYmxlIHBlci1maWxlIHByb2plY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5jcmVtZW50YWxGaWxlSW5kZXhDb21wb25lbnRDb25zdHJ1Y3RvclBhcmFtczxUPiB7XG4gIC8qKlxuICAgKiBGaWxlcyBhY2NlcHRlZCBieSB0aGlzIGluZGV4LCBmb3IgZXhhbXBsZSBNYXJrZG93biBmaWxlcyBvbmx5LlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjZXB0czogKGZpbGU6IFRGaWxlKSA9PiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGFwcGxpY2F0aW9uIG93bmluZyB0aGUgdmF1bHQuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiBpbW11dGFibGUgcmVjb3JkIHN5bmNocm9ub3VzbHk7IHRleHQgaXMgbmV2ZXIgcmV0YWluZWQgYnkgdGhpcyBjb21wb25lbnQuXG4gICAqL1xuICByZWFkb25seSBpbmRleEZpbGU6IChwYXJhbXM6IEluZGV4RmlsZVBhcmFtcykgPT4gVDtcbiAgLyoqXG4gICAqIFJlYWRzIHZhbGlkYXRlZCByZWNvcmRzLCBvciBhbiBlbXB0eSBtYXAgZm9yIGEgbWlzc2luZy9pbmNvbXBhdGlibGUgY2FjaGUuXG4gICAqL1xuICByZWFkb25seSBsb2FkOiAoKSA9PiBQcm9taXNlPFJlYWRvbmx5TWFwPHN0cmluZywgSW5kZXhlZEZpbGVSZWNvcmQ8VD4+PjtcbiAgLyoqXG4gICAqIFJlbW92ZXMgYSByZWNvcmQgZnJvbSBhIGNvbnN1bWVyJ3Mgc2Vjb25kYXJ5IGluZGV4LiBDYWxsZWQgZm9yIGtub3duIHJlY29yZHMgb25seS5cbiAgICovXG4gIHJlYWRvbmx5IG9uUmVtb3ZlOiAocGF0aDogc3RyaW5nKSA9PiB2b2lkO1xuICAvKipcbiAgICogVXBkYXRlcyBhIGNvbnN1bWVyJ3Mgc2Vjb25kYXJ5IGluZGV4LCBpbmNsdWRpbmcgcmVzdG9yZWQgcmVjb3Jkcy5cbiAgICovXG4gIHJlYWRvbmx5IG9uU2V0OiAocGF0aDogc3RyaW5nLCByZWNvcmQ6IFQpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBQZXJzaXN0cyBhIHNuYXBzaG90OyB3cml0ZXMgYXJlIHNlcmlhbGl6ZWQgYW5kIHJldHJpZWQgYnkgdGhlIG5leHQgZmx1c2ggYWZ0ZXIgZmFpbHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IHNhdmU6IChyZWNvcmRzOiBSZWFkb25seU1hcDxzdHJpbmcsIEluZGV4ZWRGaWxlUmVjb3JkPFQ+PikgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBBIHByb2plY3Rpb24gYW5kIHRoZSBmaWxlIHN0YXRzIG9ic2VydmVkIGJlZm9yZSByZWFkaW5nIGl0cyB0ZXh0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSBpbW11dGFibGUgcGVyLWZpbGUgcHJvamVjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleGVkRmlsZVJlY29yZDxUPiB7XG4gIC8qKlxuICAgKiBMYXN0IG1vZGlmaWNhdGlvbiB0aW1lLCBpbiBtaWxsaXNlY29uZHMuXG4gICAqL1xuICByZWFkb25seSBtdGltZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIGNvbnN1bWVyJ3MgaW1tdXRhYmxlIHByb2plY3Rpb24uXG4gICAqL1xuICByZWFkb25seSByZWNvcmQ6IFQ7XG4gIC8qKlxuICAgKiBGaWxlIHNpemUgaW4gYnl0ZXMuXG4gICAqL1xuICByZWFkb25seSBzaXplOiBudW1iZXI7XG59XG5cbi8qKlxuICogSW5wdXRzIHRvIGEgcGVyLWZpbGUgcHJvamVjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleEZpbGVQYXJhbXMge1xuICAvKipcbiAgICogVGV4dCByZWFkIGZyb20gdGhlIHZhdWx0LCBvciBzdXBwbGllZCBieSBhIG1ldGFkYXRhLWNhY2hlIGV2ZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZpbGUgYmVpbmcgaW5kZXhlZC5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGU6IFRGaWxlO1xufVxuXG4vKipcbiAqIEtlZXBzIHBlci1maWxlIHByb2plY3Rpb25zIGN1cnJlbnQgd2hpbGUgbG9hZGVkLiBDYWxsIGxvYWRXaXRoUHJvbWlzZXMgYWZ0ZXIgbWV0YWRhdGEgcmVhZGluZXNzIGlmIHRoZVxuICogcHJvamVjdGlvbiBuZWVkcyBjYWNoZWQgbWV0YWRhdGEuIExpc3RlbmVycyBhcmUgaW5zdGFsbGVkIGJlZm9yZSByZXN0b3JhdGlvbiwgYW5kIGV2ZW50cyB3aW4gb3ZlciBvbGRlciByZWFkcy5cbiAqIFJlYWRzIGFyZSBzZXF1ZW50aWFsLCBib3VuZGluZyBtZW1vcnkgYW5kIEkvTzsgY29uc3VtZXJzIG93biBzY2hlbWEsIHN0b3JhZ2UgbG9jYXRpb24gYW5kIHNlY29uZGFyeSBpbmRleGVzLlxuICogVW5jaGFuZ2VkIHJlY29yZHMgYXJlIHJldXNlZCBieSBtdGltZSBhbmQgc2l6ZSwgd2hpY2ggY2Fubm90IGRldGVjdCBhIHNhbWUtc3RhdCBleHRlcm5hbCByZXdyaXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSBpbW11dGFibGUgcGVyLWZpbGUgcHJvamVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEluY3JlbWVudGFsRmlsZUluZGV4Q29tcG9uZW50PFQ+IGV4dGVuZHMgQ29tcG9uZW50RXgge1xuICAvKipcbiAgICogV2hldGhlciBzdGFydHVwIHJlY29uY2lsaWF0aW9uIGhhcyBjb21wbGV0ZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGluZGV4IGNvbXBsZXRlZCBpdHMgZmlyc3QgcmVjb25jaWxpYXRpb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzQnVpbHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNCdWlsdFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2plY3Rpb24sIG5vdGlmaWNhdGlvbnMgYW5kIHBlcnNpc3RlbmNlIHN1cHBsaWVkIGJ5IHRoZSBjb25zdW1lci5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zOiBJbmNyZW1lbnRhbEZpbGVJbmRleENvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zPFQ+O1xuXG4gIHByaXZhdGUgaXNCdWlsdFZhbHVlID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZFRhaWw6IFByb21pc2U8dm9pZD4gPSBub29wQXN5bmMoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZWNvcmRzID0gbmV3IE1hcDxzdHJpbmcsIEluZGV4ZWRGaWxlUmVjb3JkPFQ+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RTYXZlOiBEZWJvdW5jZXI8W10sIHZvaWQ+O1xuICBwcml2YXRlIHJldmlzaW9uID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSByZXZpc2lvbnMgPSBuZXcgV2Vha01hcDxURmlsZSwgb2JqZWN0PigpO1xuICBwcml2YXRlIHNhdmVkUmV2aXNpb24gPSAwO1xuICBwcml2YXRlIHNhdmVQcm9taXNlOiBudWxsIHwgUHJvbWlzZTx2b2lkPiA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5kZXggd2l0aCBjb25zdW1lci1vd25lZCBwcm9qZWN0aW9uIGFuZCBwZXJzaXN0ZW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBpbmRleCBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBJbmNyZW1lbnRhbEZpbGVJbmRleENvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zPFQ+KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGFjY2VwdHM6IHBhcmFtcy5hY2NlcHRzLCBhcHA6IHBhcmFtcy5hcHAsIGluZGV4RmlsZTogcGFyYW1zLmluZGV4RmlsZSwgbG9hZDogcGFyYW1zLmxvYWQsIG9uUmVtb3ZlOiBwYXJhbXMub25SZW1vdmUsIG9uU2V0OiBwYXJhbXMub25TZXQsIHNhdmU6IHBhcmFtcy5zYXZlIH07XG4gICAgdGhpcy5yZXF1ZXN0U2F2ZSA9IGRlYm91bmNlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB0aGlzLmZsdXNoKCkpO1xuICAgICAgfSxcbiAgICAgIFNBVkVfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTLFxuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGEgc25hcHNob3QgYWZ0ZXIgcHJldmlvdXMgd3JpdGVzIGZpbmlzaCwgaW5jbHVkaW5nIGNoYW5nZXMgYXJyaXZpbmcgZHVyaW5nIGEgd3JpdGUuXG4gICAqXG4gICAqIEByZXR1cm5zIENvbXBsZXRpb24gb2YgdGhlIHNlcmlhbGl6ZWQgd3JpdGVzOyByZWplY3RzIG9uIHBlcnNpc3RlbmNlIGZhaWx1cmUgd2l0aG91dCBtYXJraW5nIGl0IHNhdmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnNhdmVQcm9taXNlKSB7XG4gICAgICBhd2FpdCB0aGlzLnNhdmVQcm9taXNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNhdmVQcm9taXNlID0gdGhpcy5zYXZlQ2hhbmdlcygpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNhdmVQcm9taXNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmVQcm9taXNlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNoYWxsb3cgc25hcHNob3Q7IGNvbnN1bWVycyBtdXN0IHRyZWF0IHJlY29yZHMgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBDdXJyZW50IHJlY29yZHMgYnkgdmF1bHQtcmVsYXRpdmUgcGF0aC5cbiAgICovXG4gIHB1YmxpYyBnZXRSZWNvcmRzKCk6IFJlYWRvbmx5TWFwPHN0cmluZywgSW5kZXhlZEZpbGVSZWNvcmQ8VD4+IHtcbiAgICByZXR1cm4gbmV3IE1hcCh0aGlzLnJlY29yZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBjaGFuZ2VzIGJlZm9yZSBzdGFydHVwIHJlc3RvcmF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIG9ubG9hZCgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGFwcCB9ID0gdGhpcy5vcHRpb25zO1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudChhcHAubWV0YWRhdGFDYWNoZS5vbignY2hhbmdlZCcsIChmaWxlLCBjb250ZW50KSA9PiB7XG4gICAgICB0aGlzLnNldFRleHQoZmlsZSwgY29udGVudCk7XG4gICAgfSkpO1xuXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KGFwcC52YXVsdC5vbignY3JlYXRlJywgdGhpcy5xdWV1ZVNjYW4uYmluZCh0aGlzKSkpO1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudChhcHAudmF1bHQub24oJ21vZGlmeScsIHRoaXMucXVldWVTY2FuLmJpbmQodGhpcykpKTtcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQoYXBwLnZhdWx0Lm9uKCdkZWxldGUnLCAoZmlsZSkgPT4ge1xuICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkge1xuICAgICAgICB0aGlzLnJlbW92ZVJlY29yZChmaWxlLnBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVUcmVlKGZpbGUucGF0aCk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudChhcHAudmF1bHQub24oJ3JlbmFtZScsIChmaWxlLCBvbGRQYXRoKSA9PiB7XG4gICAgICB0aGlzLnJlbmFtZShmaWxlLCBvbGRQYXRoKTtcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogUmV1c2VzIHVuY2hhbmdlZCBzYXZlZCByZWNvcmRzIGFuZCByZWFkcyBvdGhlciBmaWxlcyBvbmUgYXQgYSB0aW1lLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb21wbGV0aW9uIG9mIHN0YXJ0dXAgcmVjb25jaWxpYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2F2ZWQgPSBhd2FpdCB0aGlzLm9wdGlvbnMubG9hZCgpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiB0aGlzLm9wdGlvbnMuYXBwLnZhdWx0LmdldEZpbGVzKCkpIHtcbiAgICAgIGlmICh0aGlzLmlzVW5sb2FkZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5hY2NlcHRzKGZpbGUpIHx8IHRoaXMucmV2aXNpb25zLmhhcyhmaWxlKSB8fCB0aGlzLm9wdGlvbnMuYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgoZmlsZS5wYXRoKSAhPT0gZmlsZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gc2F2ZWQuZ2V0KGZpbGUucGF0aCk7XG4gICAgICBpZiAoZW50cnk/Lm10aW1lID09PSBmaWxlLnN0YXQubXRpbWUgJiYgZW50cnkuc2l6ZSA9PT0gZmlsZS5zdGF0LnNpemUpIHtcbiAgICAgICAgdGhpcy5zZXRSZWNvcmQoZmlsZS5wYXRoLCBlbnRyeSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLnNjYW5GaWxlKGZpbGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBhd2FpdCB0aGlzLnJlYWRUYWlsO1xuICAgIGlmICh0aGlzLmlzVW5sb2FkZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNCdWlsdFZhbHVlID0gdHJ1ZTtcbiAgICB0aGlzLm1hcmtEaXJ0eSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbHMgdGhlIGRlYm91bmNlIGFuZCBmbHVzaGVzIGNvbXBsZXRlZCBpbmRleGVzIGJlZm9yZSBkaXNwb3NpbmcgZXZlbnQgbGlzdGVuZXJzLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIG9udW5sb2FkKCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdFNhdmUuY2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuaXNCdWlsdFZhbHVlKSB7XG4gICAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB0aGlzLmZsdXNoKCkpO1xuICAgIH1cbiAgICBzdXBlci5vbnVubG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYnVpbGRzIHByb2plY3Rpb25zIGZvciBldmVyeSBhY2NlcHRlZCBmaWxlLCBmb3IgZXhhbXBsZSBhZnRlciBhIGNvbnN1bWVyIGxlYXJucyBuZXcgbmFtZXMgdG8gZmluZCBpbiB0ZXh0LlxuICAgKiBFdmVudHMgYXJyaXZpbmcgZHVyaW5nIHRoZSBzY2FuIHN1cGVyc2VkZSBpdHMgb2xkZXIgcmVhZHMuIENvbnN1bWVycyBjb29yZGluYXRlIGFueSBkb21haW4gc2NhbiBtYXJrZXJzLlxuICAgKlxuICAgKiBAcmV0dXJucyBDb21wbGV0aW9uIG9mIHRoZSBib3VuZGVkIGZ1bGwgc2Nhbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyByZXNjYW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHRoaXMub3B0aW9ucy5hcHAudmF1bHQuZ2V0RmlsZXMoKSkge1xuICAgICAgYXdhaXQgdGhpcy5zY2FuRmlsZShmaWxlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcmtEaXJ0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnJldmlzaW9uKys7XG4gICAgaWYgKHRoaXMuaXNCdWlsdFZhbHVlICYmICF0aGlzLmlzVW5sb2FkZWQoKSkge1xuICAgICAgdGhpcy5yZXF1ZXN0U2F2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcXVldWVTY2FuKGZpbGU6IFRBYnN0cmFjdEZpbGUpOiB2b2lkIHtcbiAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSB7XG4gICAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB0aGlzLnNjYW5GaWxlKGZpbGUpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVJlY29yZChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVjb3Jkcy5kZWxldGUocGF0aCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9wdGlvbnMub25SZW1vdmUocGF0aCk7XG4gICAgdGhpcy5tYXJrRGlydHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlVHJlZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLnJlY29yZHMua2V5cygpKSB7XG4gICAgICBpZiAoIShrZXkgPT09IHBhdGggfHwga2V5LnN0YXJ0c1dpdGgoYCR7cGF0aH0vYCkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJlbW92ZVJlY29yZChrZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lKGZpbGU6IFRBYnN0cmFjdEZpbGUsIG9sZFBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChmaWxlIGluc3RhbmNlb2YgVEZpbGUpIHtcbiAgICAgIHRoaXMucmVtb3ZlUmVjb3JkKG9sZFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVRyZWUob2xkUGF0aCk7XG4gICAgfVxuICAgIHRoaXMucXVldWVTY2FuKGZpbGUpO1xuICAgIGlmIChmaWxlIGluc3RhbmNlb2YgVEZvbGRlcikge1xuICAgICAgVmF1bHQucmVjdXJzZUNoaWxkcmVuKGZpbGUsIHRoaXMucXVldWVTY2FuLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2F2ZUNoYW5nZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgd2hpbGUgKHRoaXMuaXNCdWlsdFZhbHVlICYmIHRoaXMuc2F2ZWRSZXZpc2lvbiAhPT0gdGhpcy5yZXZpc2lvbikge1xuICAgICAgY29uc3QgcmV2aXNpb24gPSB0aGlzLnJldmlzaW9uO1xuICAgICAgYXdhaXQgdGhpcy5vcHRpb25zLnNhdmUobmV3IE1hcCh0aGlzLnJlY29yZHMpKTtcbiAgICAgIHRoaXMuc2F2ZWRSZXZpc2lvbiA9IHJldmlzaW9uO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2NhbkZpbGUoZmlsZTogVEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pc1VubG9hZGVkKCkgfHwgIXRoaXMub3B0aW9ucy5hY2NlcHRzKGZpbGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlUmVjb3JkKGZpbGUucGF0aCk7XG4gICAgY29uc3QgdG9rZW4gPSB7fTtcbiAgICB0aGlzLnJldmlzaW9ucy5zZXQoZmlsZSwgdG9rZW4pO1xuICAgIGNvbnN0IHsgcGF0aCB9ID0gZmlsZTtcbiAgICBjb25zdCB7IG10aW1lLCBzaXplIH0gPSBmaWxlLnN0YXQ7XG4gICAgY29uc3QgaXNDdXJyZW50ID0gKCk6IGJvb2xlYW4gPT5cbiAgICAgICF0aGlzLmlzVW5sb2FkZWQoKSAmJiB0aGlzLnJldmlzaW9ucy5nZXQoZmlsZSkgPT09IHRva2VuICYmIGZpbGUucGF0aCA9PT0gcGF0aFxuICAgICAgJiYgZmlsZS5zdGF0Lm10aW1lID09PSBtdGltZSAmJiBmaWxlLnN0YXQuc2l6ZSA9PT0gc2l6ZSAmJiB0aGlzLm9wdGlvbnMuYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgocGF0aCkgPT09IGZpbGU7XG4gICAgY29uc3QgcmVhZCA9IHRoaXMucmVhZFRhaWwudGhlbihhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoIWlzQ3VycmVudCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCB0aGlzLm9wdGlvbnMuYXBwLnZhdWx0LmNhY2hlZFJlYWQoZmlsZSk7XG4gICAgICBpZiAoIWlzQ3VycmVudCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0VGV4dChmaWxlLCBjb250ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnJlYWRUYWlsID0gcmVhZC5jYXRjaChub29wKTtcbiAgICBhd2FpdCByZWFkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSZWNvcmQocGF0aDogc3RyaW5nLCBlbnRyeTogSW5kZXhlZEZpbGVSZWNvcmQ8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnJlY29yZHMuc2V0KHBhdGgsIGVudHJ5KTtcbiAgICB0aGlzLm9wdGlvbnMub25TZXQocGF0aCwgZW50cnkucmVjb3JkKTtcbiAgICB0aGlzLm1hcmtEaXJ0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUZXh0KGZpbGU6IFRGaWxlLCBjb250ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJldmlzaW9ucy5zZXQoZmlsZSwge30pO1xuICAgIGlmICghdGhpcy5pc1VubG9hZGVkKCkgJiYgdGhpcy5vcHRpb25zLmFjY2VwdHMoZmlsZSkpIHtcbiAgICAgIHRoaXMuc2V0UmVjb3JkKGZpbGUucGF0aCwgeyBtdGltZTogZmlsZS5zdGF0Lm10aW1lLCByZWNvcmQ6IHRoaXMub3B0aW9ucy5pbmRleEZpbGUoeyBjb250ZW50LCBmaWxlIH0pLCBzaXplOiBmaWxlLnN0YXQuc2l6ZSB9KTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFZQSxTQUFTLHlCQUF5QjtBQUNsQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFFUCxTQUFTLG1CQUFtQjtBQUU1QixNQUFNLGdDQUFnQztBQWdGL0IsTUFBTSxzQ0FBeUMsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1oRSxJQUFXLFVBQW1CO0FBQzVCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUttQjtBQUFBLEVBRVgsZUFBZTtBQUFBLEVBQ2YsV0FBMEIsVUFBVTtBQUFBLEVBQzNCLFVBQVUsb0JBQUksSUFBa0M7QUFBQSxFQUNoRDtBQUFBLEVBQ1QsV0FBVztBQUFBLEVBQ0YsWUFBWSxvQkFBSSxRQUF1QjtBQUFBLEVBQ2hELGdCQUFnQjtBQUFBLEVBQ2hCLGNBQW9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3JDLFlBQVksUUFBMkQ7QUFDNUUs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
@@ -11,6 +11,7 @@ export * as 'disposable-component' from './disposable-component.mjs';
11
11
  export * as 'embed-extensions-component' from './embed-extensions-component.mjs';
12
12
  export * as 'file-explorer-root-menu-component' from './file-explorer-root-menu-component.mjs';
13
13
  export * as 'generate-markdown-link-default-params-component' from './generate-markdown-link-default-params-component.mjs';
14
+ export * as 'incremental-file-index-component' from './incremental-file-index-component.mjs';
14
15
  export * as 'layout-ready-component' from './layout-ready-component.mjs';
15
16
  export * as 'menu-event-registrar-component' from './menu-event-registrar-component.mjs';
16
17
  export * as 'monkey-around-component' from './monkey-around-component.mjs';
@@ -15,6 +15,7 @@ import * as disposable_component from "./disposable-component.mjs";
15
15
  import * as embed_extensions_component from "./embed-extensions-component.mjs";
16
16
  import * as file_explorer_root_menu_component from "./file-explorer-root-menu-component.mjs";
17
17
  import * as generate_markdown_link_default_params_component from "./generate-markdown-link-default-params-component.mjs";
18
+ import * as incremental_file_index_component from "./incremental-file-index-component.mjs";
18
19
  import * as layout_ready_component from "./layout-ready-component.mjs";
19
20
  import * as menu_event_registrar_component from "./menu-event-registrar-component.mjs";
20
21
  import * as monkey_around_component from "./monkey-around-component.mjs";
@@ -46,6 +47,7 @@ export {
46
47
  embed_extensions_component as "embed-extensions-component",
47
48
  file_explorer_root_menu_component as "file-explorer-root-menu-component",
48
49
  generate_markdown_link_default_params_component as "generate-markdown-link-default-params-component",
50
+ incremental_file_index_component as "incremental-file-index-component",
49
51
  layout_ready_component as "layout-ready-component",
50
52
  menu_event_registrar_component as "menu-event-registrar-component",
51
53
  monkey_around_component as "monkey-around-component",
@@ -65,4 +67,4 @@ export {
65
67
  syntax_highlighting_component as "syntax-highlighting-component",
66
68
  templates_language_component as "templates-language-component"
67
69
  };
68
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnYWJvcnQtc2lnbmFsLWNvbXBvbmVudCcgZnJvbSAnLi9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQnIGZyb20gJy4vYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnYXN5bmMtZXZlbnRzLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50JyBmcm9tICcuL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2NvbXBvbmVudC1leCcgZnJvbSAnLi9jb21wb25lbnQtZXgudHMnO1xuZXhwb3J0ICogYXMgJ2NvbnNvbGUtZGVidWctY29tcG9uZW50JyBmcm9tICcuL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjb3JlLXBsdWdpbi10b2dnbGUtY29tcG9uZW50JyBmcm9tICcuL2NvcmUtcGx1Z2luLXRvZ2dsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2Rpc3Bvc2FibGUtY29tcG9uZW50JyBmcm9tICcuL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdlbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudCcgZnJvbSAnLi9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZmlsZS1leHBsb3Jlci1yb290LW1lbnUtY29tcG9uZW50JyBmcm9tICcuL2ZpbGUtZXhwbG9yZXItcm9vdC1tZW51LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQnIGZyb20gJy4vZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2xheW91dC1yZWFkeS1jb21wb25lbnQnIGZyb20gJy4vbGF5b3V0LXJlYWR5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50JyBmcm9tICcuL21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnbW9ua2V5LWFyb3VuZC1jb21wb25lbnQnIGZyb20gJy4vbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ25vdGVib29rLW5hdmlnYXRvci1tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQnIGZyb20gJy4vbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLWNvbnRleHQtY29tcG9uZW50JyBmcm9tICcuL3BsdWdpbi1jb250ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLWdhdGUtY29tcG9uZW50JyBmcm9tICcuL3BsdWdpbi1nYXRlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLW5vdGljZS1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1zdWdnZXN0aW9uLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc3VnZ2VzdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BvaW50ZXItcG9zaXRpb24tY29tcG9uZW50JyBmcm9tICcuL3BvaW50ZXItcG9zaXRpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdyZWdpc3RyeS1jb21wb25lbnQnIGZyb20gJy4vcmVnaXN0cnktY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdyZWxlYXNlLW5vdGVzLWNvbXBvbmVudCcgZnJvbSAnLi9yZWxlYXNlLW5vdGVzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncmVuYW1lLWRlbGV0ZS1oYW5kbGVyLWNvbXBvbmVudCcgZnJvbSAnLi9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdybWRpci1ndWFyZC1jb21wb25lbnQnIGZyb20gJy4vcm1kaXItZ3VhcmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdzZXR0aW5ncy1taWdyYXRpb24tY29tcG9uZW50JyBmcm9tICcuL3NldHRpbmdzLW1pZ3JhdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3N5bnRheC1oaWdobGlnaHRpbmctY29tcG9uZW50JyBmcm9tICcuL3N5bnRheC1oaWdobGlnaHRpbmctY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICd0ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50JyBmcm9tICcuL3RlbXBsYXRlcy1sYW5ndWFnZS1jb21wb25lbnQudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFFQSxZQUFZQSw0QkFBOEI7QUFDMUMsWUFBWUMsaUNBQW1DO0FBQy9DLFlBQVlDLG1DQUFxQztBQUNqRCxZQUFZQyw0QkFBOEI7QUFDMUMsWUFBWUMsMkNBQTZDO0FBQ3pELFlBQVlDLGtCQUFvQjtBQUNoQyxZQUFZQyw2QkFBK0I7QUFDM0MsWUFBWUMsa0NBQW9DO0FBQ2hELFlBQVlDLDBCQUE0QjtBQUN4QyxZQUFZQyxnQ0FBa0M7QUFDOUMsWUFBWUMsdUNBQXlDO0FBQ3JELFlBQVlDLHFEQUF1RDtBQUNuRSxZQUFZQyw0QkFBOEI7QUFDMUMsWUFBWUMsb0NBQXNDO0FBQ2xELFlBQVlDLDZCQUErQjtBQUMzQyxZQUFZQyx1REFBeUQ7QUFDckUsWUFBWUMsOEJBQWdDO0FBQzVDLFlBQVlDLDJCQUE2QjtBQUN6QyxZQUFZQyw2QkFBK0I7QUFDM0MsWUFBWUMsK0JBQWlDO0FBQzdDLFlBQVlDLG1DQUFxQztBQUNqRCxZQUFZQyxpQ0FBbUM7QUFDL0MsWUFBWUMsZ0NBQWtDO0FBQzlDLFlBQVlDLHdCQUEwQjtBQUN0QyxZQUFZQyw2QkFBK0I7QUFDM0MsWUFBWUMscUNBQXVDO0FBQ25ELFlBQVlDLDJCQUE2QjtBQUN6QyxZQUFZQyxrQ0FBb0M7QUFDaEQsWUFBWUMsbUNBQXFDO0FBQ2pELFlBQVlDLGtDQUFvQzsiLAogICJuYW1lcyI6IFsiYWJvcnQtc2lnbmFsLWNvbXBvbmVudCIsICJhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQiLCAiYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQiLCAiYXN5bmMtZXZlbnRzLWNvbXBvbmVudCIsICJjYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50IiwgImNvbXBvbmVudC1leCIsICJjb25zb2xlLWRlYnVnLWNvbXBvbmVudCIsICJjb3JlLXBsdWdpbi10b2dnbGUtY29tcG9uZW50IiwgImRpc3Bvc2FibGUtY29tcG9uZW50IiwgImVtYmVkLWV4dGVuc2lvbnMtY29tcG9uZW50IiwgImZpbGUtZXhwbG9yZXItcm9vdC1tZW51LWNvbXBvbmVudCIsICJnZW5lcmF0ZS1tYXJrZG93bi1saW5rLWRlZmF1bHQtcGFyYW1zLWNvbXBvbmVudCIsICJsYXlvdXQtcmVhZHktY29tcG9uZW50IiwgIm1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudCIsICJtb25rZXktYXJvdW5kLWNvbXBvbmVudCIsICJub3RlYm9vay1uYXZpZ2F0b3ItbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50IiwgInBsdWdpbi1jb250ZXh0LWNvbXBvbmVudCIsICJwbHVnaW4tZ2F0ZS1jb21wb25lbnQiLCAicGx1Z2luLW5vdGljZS1jb21wb25lbnQiLCAicGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudCIsICJwbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudCIsICJwbHVnaW4tc3VnZ2VzdGlvbi1jb21wb25lbnQiLCAicG9pbnRlci1wb3NpdGlvbi1jb21wb25lbnQiLCAicmVnaXN0cnktY29tcG9uZW50IiwgInJlbGVhc2Utbm90ZXMtY29tcG9uZW50IiwgInJlbmFtZS1kZWxldGUtaGFuZGxlci1jb21wb25lbnQiLCAicm1kaXItZ3VhcmQtY29tcG9uZW50IiwgInNldHRpbmdzLW1pZ3JhdGlvbi1jb21wb25lbnQiLCAic3ludGF4LWhpZ2hsaWdodGluZy1jb21wb25lbnQiLCAidGVtcGxhdGVzLWxhbmd1YWdlLWNvbXBvbmVudCJdCn0K
70
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnYWJvcnQtc2lnbmFsLWNvbXBvbmVudCcgZnJvbSAnLi9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQnIGZyb20gJy4vYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnYXN5bmMtZXZlbnRzLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjYXNlLWluc2Vuc2l0aXZlLWZpbGUtaW5kZXgtY29tcG9uZW50JyBmcm9tICcuL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2NvbXBvbmVudC1leCcgZnJvbSAnLi9jb21wb25lbnQtZXgudHMnO1xuZXhwb3J0ICogYXMgJ2NvbnNvbGUtZGVidWctY29tcG9uZW50JyBmcm9tICcuL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjb3JlLXBsdWdpbi10b2dnbGUtY29tcG9uZW50JyBmcm9tICcuL2NvcmUtcGx1Z2luLXRvZ2dsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2Rpc3Bvc2FibGUtY29tcG9uZW50JyBmcm9tICcuL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdlbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudCcgZnJvbSAnLi9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZmlsZS1leHBsb3Jlci1yb290LW1lbnUtY29tcG9uZW50JyBmcm9tICcuL2ZpbGUtZXhwbG9yZXItcm9vdC1tZW51LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQnIGZyb20gJy4vZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2luY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50JyBmcm9tICcuL2luY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdsYXlvdXQtcmVhZHktY29tcG9uZW50JyBmcm9tICcuL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudCcgZnJvbSAnLi9tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21vbmtleS1hcm91bmQtY29tcG9uZW50JyBmcm9tICcuL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdub3RlYm9vay1uYXZpZ2F0b3ItbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50JyBmcm9tICcuL25vdGVib29rLW5hdmlnYXRvci1tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1jb250ZXh0LWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tY29udGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1nYXRlLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tZ2F0ZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1ub3RpY2UtY29tcG9uZW50JyBmcm9tICcuL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50JyBmcm9tICcuL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50JyBmcm9tICcuL3BsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tc3VnZ2VzdGlvbi1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLXN1Z2dlc3Rpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwb2ludGVyLXBvc2l0aW9uLWNvbXBvbmVudCcgZnJvbSAnLi9wb2ludGVyLXBvc2l0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncmVnaXN0cnktY29tcG9uZW50JyBmcm9tICcuL3JlZ2lzdHJ5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncmVsZWFzZS1ub3Rlcy1jb21wb25lbnQnIGZyb20gJy4vcmVsZWFzZS1ub3Rlcy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ3JlbmFtZS1kZWxldGUtaGFuZGxlci1jb21wb25lbnQnIGZyb20gJy4vcmVuYW1lLWRlbGV0ZS1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncm1kaXItZ3VhcmQtY29tcG9uZW50JyBmcm9tICcuL3JtZGlyLWd1YXJkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnc2V0dGluZ3MtbWlncmF0aW9uLWNvbXBvbmVudCcgZnJvbSAnLi9zZXR0aW5ncy1taWdyYXRpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdzeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudCcgZnJvbSAnLi9zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAndGVtcGxhdGVzLWxhbmd1YWdlLWNvbXBvbmVudCcgZnJvbSAnLi90ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50LnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBRUEsWUFBWUEsNEJBQThCO0FBQzFDLFlBQVlDLGlDQUFtQztBQUMvQyxZQUFZQyxtQ0FBcUM7QUFDakQsWUFBWUMsNEJBQThCO0FBQzFDLFlBQVlDLDJDQUE2QztBQUN6RCxZQUFZQyxrQkFBb0I7QUFDaEMsWUFBWUMsNkJBQStCO0FBQzNDLFlBQVlDLGtDQUFvQztBQUNoRCxZQUFZQywwQkFBNEI7QUFDeEMsWUFBWUMsZ0NBQWtDO0FBQzlDLFlBQVlDLHVDQUF5QztBQUNyRCxZQUFZQyxxREFBdUQ7QUFDbkUsWUFBWUMsc0NBQXdDO0FBQ3BELFlBQVlDLDRCQUE4QjtBQUMxQyxZQUFZQyxvQ0FBc0M7QUFDbEQsWUFBWUMsNkJBQStCO0FBQzNDLFlBQVlDLHVEQUF5RDtBQUNyRSxZQUFZQyw4QkFBZ0M7QUFDNUMsWUFBWUMsMkJBQTZCO0FBQ3pDLFlBQVlDLDZCQUErQjtBQUMzQyxZQUFZQywrQkFBaUM7QUFDN0MsWUFBWUMsbUNBQXFDO0FBQ2pELFlBQVlDLGlDQUFtQztBQUMvQyxZQUFZQyxnQ0FBa0M7QUFDOUMsWUFBWUMsd0JBQTBCO0FBQ3RDLFlBQVlDLDZCQUErQjtBQUMzQyxZQUFZQyxxQ0FBdUM7QUFDbkQsWUFBWUMsMkJBQTZCO0FBQ3pDLFlBQVlDLGtDQUFvQztBQUNoRCxZQUFZQyxtQ0FBcUM7QUFDakQsWUFBWUMsa0NBQW9DOyIsCiAgIm5hbWVzIjogWyJhYm9ydC1zaWduYWwtY29tcG9uZW50IiwgImFsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudCIsICJhc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudCIsICJhc3luYy1ldmVudHMtY29tcG9uZW50IiwgImNhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC1jb21wb25lbnQiLCAiY29tcG9uZW50LWV4IiwgImNvbnNvbGUtZGVidWctY29tcG9uZW50IiwgImNvcmUtcGx1Z2luLXRvZ2dsZS1jb21wb25lbnQiLCAiZGlzcG9zYWJsZS1jb21wb25lbnQiLCAiZW1iZWQtZXh0ZW5zaW9ucy1jb21wb25lbnQiLCAiZmlsZS1leHBsb3Jlci1yb290LW1lbnUtY29tcG9uZW50IiwgImdlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50IiwgImluY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50IiwgImxheW91dC1yZWFkeS1jb21wb25lbnQiLCAibWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50IiwgIm1vbmtleS1hcm91bmQtY29tcG9uZW50IiwgIm5vdGVib29rLW5hdmlnYXRvci1tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQiLCAicGx1Z2luLWNvbnRleHQtY29tcG9uZW50IiwgInBsdWdpbi1nYXRlLWNvbXBvbmVudCIsICJwbHVnaW4tbm90aWNlLWNvbXBvbmVudCIsICJwbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50IiwgInBsdWdpbi1zZXR0aW5ncy10YWItY29tcG9uZW50IiwgInBsdWdpbi1zdWdnZXN0aW9uLWNvbXBvbmVudCIsICJwb2ludGVyLXBvc2l0aW9uLWNvbXBvbmVudCIsICJyZWdpc3RyeS1jb21wb25lbnQiLCAicmVsZWFzZS1ub3Rlcy1jb21wb25lbnQiLCAicmVuYW1lLWRlbGV0ZS1oYW5kbGVyLWNvbXBvbmVudCIsICJybWRpci1ndWFyZC1jb21wb25lbnQiLCAic2V0dGluZ3MtbWlncmF0aW9uLWNvbXBvbmVudCIsICJzeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudCIsICJ0ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50Il0KfQo=
@@ -47,7 +47,7 @@ export interface PluginNoticeCloseClickEvent {
47
47
  /**
48
48
  * Cancels the close, leaving the notice open.
49
49
  */
50
- cancel: () => void;
50
+ readonly cancel: () => void;
51
51
  }
52
52
  /**
53
53
  * A handle to a delayed notice created by {@link PluginNoticeComponent.showNoticeAfterDelay}. It is a
@@ -66,7 +66,7 @@ export interface PluginNoticeComponentDelayedNotice extends Disposable {
66
66
  *
67
67
  * @param content - The new notice content.
68
68
  */
69
- setContent: (content: DocumentFragment | string) => void;
69
+ readonly setContent: (content: DocumentFragment | string) => void;
70
70
  }
71
71
  /**
72
72
  * Parameters for {@link PluginNoticeComponent.showNoticeAfterDelay}.
@@ -144,7 +144,7 @@ export interface PluginNoticeComponentShowNoticeOptions {
144
144
  * {@link PluginNoticeComponentShowNoticeOptions.shouldHideOnClick} `= false` and
145
145
  * {@link PluginNoticeComponentShowNoticeOptions.shouldShowCloseButton} are set).
146
146
  */
147
- readonly onCloseClick?: (event: PluginNoticeCloseClickEvent) => Promisable<void>;
147
+ readonly onCloseClick?: ($event: PluginNoticeCloseClickEvent) => Promisable<void>;
148
148
  /**
149
149
  * A callback invoked when the notice is hidden — whether by the user closing it, by a later reusable
150
150
  * notice replacing it, by its duration elapsing, or on component unload. It runs at most once per