obsidian-dev-utils 22.1.1-beta.9 → 23.0.1

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 (502) hide show
  1. package/CHANGELOG.md +145 -0
  2. package/dist/eslint.config.mts +2 -0
  3. package/dist/lib/cjs/@types/debug.d.cts +1 -0
  4. package/dist/lib/cjs/{obsidian/Components/PlaceholderComponent.cjs → Array.cjs} +18 -8
  5. package/dist/lib/cjs/Array.d.cts +12 -0
  6. package/dist/lib/cjs/Async.cjs +6 -1
  7. package/dist/lib/cjs/Async.d.cts +26 -18
  8. package/dist/lib/cjs/AsyncEvents.cjs +216 -0
  9. package/dist/lib/cjs/AsyncEvents.d.cts +144 -0
  10. package/dist/lib/cjs/Blob.cjs +1 -1
  11. package/dist/lib/cjs/Blob.d.cts +9 -8
  12. package/dist/lib/cjs/CssClass.cjs +5 -1
  13. package/dist/lib/cjs/CssClass.d.cts +18 -1
  14. package/dist/lib/cjs/Debug.cjs +1 -1
  15. package/dist/lib/cjs/Debug.d.cts +2 -1
  16. package/dist/lib/cjs/DebugController.cjs +1 -1
  17. package/dist/lib/cjs/DebugController.d.cts +1 -0
  18. package/dist/lib/cjs/Enum.cjs +1 -1
  19. package/dist/lib/cjs/Enum.d.cts +2 -1
  20. package/dist/lib/cjs/Error.cjs +8 -6
  21. package/dist/lib/cjs/Error.d.cts +3 -2
  22. package/dist/lib/cjs/Function.cjs +1 -1
  23. package/dist/lib/cjs/Function.d.cts +2 -1
  24. package/dist/lib/cjs/HTMLElement.cjs +1 -1
  25. package/dist/lib/cjs/HTMLElement.d.cts +4 -2
  26. package/dist/lib/cjs/Library.cjs +2 -2
  27. package/dist/lib/cjs/Library.d.cts +2 -1
  28. package/dist/lib/cjs/Object.cjs +38 -3
  29. package/dist/lib/cjs/Object.d.cts +18 -13
  30. package/dist/lib/cjs/Path.cjs +2 -2
  31. package/dist/lib/cjs/Path.d.cts +2 -1
  32. package/dist/lib/cjs/RegExp.cjs +1 -1
  33. package/dist/lib/cjs/RegExp.d.cts +2 -1
  34. package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +7 -7
  35. package/dist/lib/cjs/ScriptUtils/CliUtils.d.cts +12 -11
  36. package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +1 -1
  37. package/dist/lib/cjs/ScriptUtils/CodeGenerator.d.cts +3 -2
  38. package/dist/lib/cjs/ScriptUtils/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.cts +1 -0
  39. package/dist/lib/cjs/ScriptUtils/ESLint/@types/eslint-plugin-modules-newlines.d.cts +1 -0
  40. package/dist/lib/cjs/ScriptUtils/ESLint/@types/eslint-plugin-verify-tsdoc.d.cts +1 -0
  41. package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +1 -1
  42. package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.d.cts +2 -1
  43. package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +13 -10
  44. package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.d.cts +2 -3
  45. package/dist/lib/cjs/ScriptUtils/Exec.cjs +1 -1
  46. package/dist/lib/cjs/ScriptUtils/Exec.d.cts +4 -3
  47. package/dist/lib/cjs/ScriptUtils/Fs.cjs +1 -1
  48. package/dist/lib/cjs/ScriptUtils/Fs.d.cts +5 -4
  49. package/dist/lib/cjs/ScriptUtils/JSON.cjs +1 -1
  50. package/dist/lib/cjs/ScriptUtils/JSON.d.cts +5 -4
  51. package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +1 -1
  52. package/dist/lib/cjs/ScriptUtils/NodeModules.d.cts +2 -1
  53. package/dist/lib/cjs/ScriptUtils/Npm.cjs +1 -1
  54. package/dist/lib/cjs/ScriptUtils/Npm.d.cts +9 -10
  55. package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +1 -1
  56. package/dist/lib/cjs/ScriptUtils/NpmPublish.d.cts +3 -1
  57. package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +1 -1
  58. package/dist/lib/cjs/ScriptUtils/NpmRun.d.cts +5 -0
  59. package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +1 -10
  60. package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.d.cts +45 -61
  61. package/dist/lib/cjs/ScriptUtils/Root.cjs +1 -1
  62. package/dist/lib/cjs/ScriptUtils/Root.d.cts +4 -3
  63. package/dist/lib/cjs/ScriptUtils/build.cjs +1 -1
  64. package/dist/lib/cjs/ScriptUtils/build.d.cts +7 -6
  65. package/dist/lib/cjs/ScriptUtils/cli.cjs +1 -1
  66. package/dist/lib/cjs/ScriptUtils/cli.d.cts +2 -1
  67. package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +1 -1
  68. package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.d.cts +4 -3
  69. package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +1 -1
  70. package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.d.cts +4 -3
  71. package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +1 -1
  72. package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.d.cts +2 -1
  73. package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +1 -1
  74. package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.d.cts +2 -1
  75. package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +1 -1
  76. package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.d.cts +2 -1
  77. package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +1 -1
  78. package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.d.cts +2 -1
  79. package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +1 -1
  80. package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.d.cts +2 -1
  81. package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +1 -1
  82. package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.d.cts +2 -1
  83. package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +1 -1
  84. package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.d.cts +5 -0
  85. package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +1 -1
  86. package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.d.cts +5 -0
  87. package/dist/lib/cjs/ScriptUtils/format.cjs +1 -1
  88. package/dist/lib/cjs/ScriptUtils/format.d.cts +4 -2
  89. package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +1 -1
  90. package/dist/lib/cjs/ScriptUtils/spellcheck.d.cts +4 -3
  91. package/dist/lib/cjs/ScriptUtils/version.cjs +1 -1
  92. package/dist/lib/cjs/ScriptUtils/version.d.cts +12 -11
  93. package/dist/lib/cjs/String.cjs +1 -1
  94. package/dist/lib/cjs/String.d.cts +4 -3
  95. package/dist/lib/cjs/Transformers/DateTransformer.cjs +3 -1
  96. package/dist/lib/cjs/Transformers/DateTransformer.d.cts +4 -1
  97. package/dist/lib/cjs/Transformers/DurationTransformer.cjs +5 -1
  98. package/dist/lib/cjs/Transformers/DurationTransformer.d.cts +6 -1
  99. package/dist/lib/cjs/Transformers/GroupTransformer.cjs +7 -4
  100. package/dist/lib/cjs/Transformers/GroupTransformer.d.cts +9 -5
  101. package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +3 -1
  102. package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.d.cts +4 -1
  103. package/dist/lib/cjs/Transformers/Transformer.cjs +9 -2
  104. package/dist/lib/cjs/Transformers/Transformer.d.cts +2 -1
  105. package/dist/lib/cjs/Transformers/TypedTransformer.cjs +1 -1
  106. package/dist/lib/cjs/Transformers/TypedTransformer.d.cts +2 -1
  107. package/dist/lib/cjs/Type.cjs +24 -0
  108. package/dist/lib/cjs/Type.d.cts +17 -0
  109. package/dist/lib/cjs/ValueProvider.cjs +1 -1
  110. package/dist/lib/cjs/ValueProvider.d.cts +3 -2
  111. package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +1 -1
  112. package/dist/lib/cjs/codemirror/StateFieldSpec.d.cts +2 -1
  113. package/dist/lib/cjs/index.cjs +10 -1
  114. package/dist/lib/cjs/index.d.cts +3 -0
  115. package/dist/lib/cjs/obsidian/App.cjs +1 -1
  116. package/dist/lib/cjs/obsidian/App.d.cts +2 -1
  117. package/dist/lib/cjs/obsidian/AttachmentPath.cjs +1 -1
  118. package/dist/lib/cjs/obsidian/AttachmentPath.d.cts +7 -5
  119. package/dist/lib/cjs/obsidian/Backlink.cjs +1 -1
  120. package/dist/lib/cjs/obsidian/Backlink.d.cts +3 -2
  121. package/dist/lib/cjs/obsidian/Callout.cjs +1 -1
  122. package/dist/lib/cjs/obsidian/Callout.d.cts +3 -2
  123. package/dist/lib/cjs/obsidian/Components/CheckboxComponent.cjs +99 -0
  124. package/dist/lib/cjs/obsidian/Components/CheckboxComponent.d.cts +59 -0
  125. package/dist/lib/cjs/obsidian/Components/DateComponent.cjs +1 -1
  126. package/dist/lib/cjs/obsidian/Components/DateComponent.d.cts +2 -1
  127. package/dist/lib/cjs/obsidian/Components/DateTimeComponent.cjs +1 -1
  128. package/dist/lib/cjs/obsidian/Components/DateTimeComponent.d.cts +2 -1
  129. package/dist/lib/cjs/obsidian/Components/EmailComponent.cjs +1 -1
  130. package/dist/lib/cjs/obsidian/Components/EmailComponent.d.cts +2 -1
  131. package/dist/lib/cjs/obsidian/Components/FileComponent.cjs +1 -1
  132. package/dist/lib/cjs/obsidian/Components/FileComponent.d.cts +2 -1
  133. package/dist/lib/cjs/obsidian/Components/MonthComponent.cjs +1 -1
  134. package/dist/lib/cjs/obsidian/Components/MonthComponent.d.cts +2 -1
  135. package/dist/lib/cjs/obsidian/Components/MultipleDropdownComponent.cjs +4 -2
  136. package/dist/lib/cjs/obsidian/Components/MultipleDropdownComponent.d.cts +4 -1
  137. package/dist/lib/cjs/obsidian/Components/MultipleEmailComponent.cjs +1 -1
  138. package/dist/lib/cjs/obsidian/Components/MultipleEmailComponent.d.cts +2 -1
  139. package/dist/lib/cjs/obsidian/Components/MultipleFileComponent.cjs +1 -1
  140. package/dist/lib/cjs/obsidian/Components/MultipleFileComponent.d.cts +2 -1
  141. package/dist/lib/cjs/obsidian/Components/MultipleTextComponent.cjs +30 -3
  142. package/dist/lib/cjs/obsidian/Components/MultipleTextComponent.d.cts +22 -3
  143. package/dist/lib/cjs/obsidian/Components/NumberComponent.cjs +1 -1
  144. package/dist/lib/cjs/obsidian/Components/NumberComponent.d.cts +2 -1
  145. package/dist/lib/cjs/obsidian/Components/TextBasedComponent.cjs +65 -0
  146. package/dist/lib/cjs/obsidian/Components/TextBasedComponent.d.cts +37 -0
  147. package/dist/lib/cjs/obsidian/Components/TimeComponent.cjs +1 -1
  148. package/dist/lib/cjs/obsidian/Components/TimeComponent.d.cts +2 -1
  149. package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.cjs +100 -0
  150. package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.d.cts +59 -0
  151. package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.cjs +129 -0
  152. package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.d.cts +78 -0
  153. package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.cjs +131 -0
  154. package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.d.cts +79 -0
  155. package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.cjs +1 -1
  156. package/dist/lib/cjs/obsidian/Components/TypedRangeTextComponent.d.cts +4 -1
  157. package/dist/lib/cjs/obsidian/Components/TypedTextComponent.cjs +30 -4
  158. package/dist/lib/cjs/obsidian/Components/TypedTextComponent.d.cts +25 -3
  159. package/dist/lib/cjs/obsidian/Components/UrlComponent.cjs +1 -1
  160. package/dist/lib/cjs/obsidian/Components/UrlComponent.d.cts +2 -1
  161. package/dist/lib/cjs/obsidian/Components/ValidatorComponent.cjs +23 -29
  162. package/dist/lib/cjs/obsidian/Components/ValidatorComponent.d.cts +6 -6
  163. package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.cjs +1 -1
  164. package/dist/lib/cjs/obsidian/Components/ValueComponentWithChangeTracking.d.cts +4 -1
  165. package/dist/lib/cjs/obsidian/Components/WeekComponent.cjs +1 -1
  166. package/dist/lib/cjs/obsidian/Components/WeekComponent.d.cts +2 -1
  167. package/dist/lib/cjs/obsidian/Components/index.cjs +16 -4
  168. package/dist/lib/cjs/obsidian/Components/index.d.cts +5 -1
  169. package/dist/lib/cjs/obsidian/Dataview.cjs +1 -1
  170. package/dist/lib/cjs/obsidian/Dataview.d.cts +11 -12
  171. package/dist/lib/cjs/obsidian/DataviewLink.cjs +1 -1
  172. package/dist/lib/cjs/obsidian/DataviewLink.d.cts +4 -3
  173. package/dist/lib/cjs/obsidian/FileChange.cjs +1 -1
  174. package/dist/lib/cjs/obsidian/FileChange.d.cts +4 -3
  175. package/dist/lib/cjs/obsidian/FileManager.cjs +1 -1
  176. package/dist/lib/cjs/obsidian/FileManager.d.cts +6 -5
  177. package/dist/lib/cjs/obsidian/FileSystem.cjs +1 -1
  178. package/dist/lib/cjs/obsidian/FileSystem.d.cts +3 -1
  179. package/dist/lib/cjs/obsidian/Frontmatter.cjs +1 -1
  180. package/dist/lib/cjs/obsidian/Frontmatter.d.cts +5 -1
  181. package/dist/lib/cjs/obsidian/Link.cjs +1 -1
  182. package/dist/lib/cjs/obsidian/Link.d.cts +7 -6
  183. package/dist/lib/cjs/obsidian/Logger.cjs +1 -1
  184. package/dist/lib/cjs/obsidian/Logger.d.cts +2 -1
  185. package/dist/lib/cjs/obsidian/Loop.cjs +1 -1
  186. package/dist/lib/cjs/obsidian/Loop.d.cts +2 -1
  187. package/dist/lib/cjs/obsidian/Markdown.cjs +5 -8
  188. package/dist/lib/cjs/obsidian/Markdown.d.cts +2 -1
  189. package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +1 -1
  190. package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.d.cts +2 -1
  191. package/dist/lib/cjs/obsidian/MarkdownView.cjs +1 -1
  192. package/dist/lib/cjs/obsidian/MarkdownView.d.cts +2 -1
  193. package/dist/lib/cjs/obsidian/MetadataCache.cjs +1 -1
  194. package/dist/lib/cjs/obsidian/MetadataCache.d.cts +7 -5
  195. package/dist/lib/cjs/obsidian/Modals/Alert.cjs +3 -1
  196. package/dist/lib/cjs/obsidian/Modals/Alert.d.cts +3 -2
  197. package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +3 -1
  198. package/dist/lib/cjs/obsidian/Modals/Confirm.d.cts +3 -2
  199. package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +1 -1
  200. package/dist/lib/cjs/obsidian/Modals/ModalBase.d.cts +2 -2
  201. package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +3 -1
  202. package/dist/lib/cjs/obsidian/Modals/Prompt.d.cts +5 -3
  203. package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +2 -1
  204. package/dist/lib/cjs/obsidian/Modals/SelectItem.d.cts +4 -2
  205. package/dist/lib/cjs/obsidian/MonkeyAround.cjs +1 -1
  206. package/dist/lib/cjs/obsidian/MonkeyAround.d.cts +5 -3
  207. package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +1 -1
  208. package/dist/lib/cjs/obsidian/ObsidianSettings.d.cts +3 -0
  209. package/dist/lib/cjs/obsidian/Pdf.cjs +1 -1
  210. package/dist/lib/cjs/obsidian/Pdf.d.cts +2 -1
  211. package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +6 -2
  212. package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.d.cts +38 -29
  213. package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +1 -1
  214. package/dist/lib/cjs/obsidian/Plugin/Plugin.d.cts +4 -3
  215. package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +121 -32
  216. package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +52 -21
  217. package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +1 -1
  218. package/dist/lib/cjs/obsidian/Plugin/PluginContext.d.cts +2 -1
  219. package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +1 -1
  220. package/dist/lib/cjs/obsidian/Plugin/PluginId.d.cts +2 -1
  221. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +76 -48
  222. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +39 -21
  223. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +18 -10
  224. package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +18 -11
  225. package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +24 -0
  226. package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.d.cts +55 -0
  227. package/dist/lib/cjs/obsidian/Plugin/index.cjs +6 -3
  228. package/dist/lib/cjs/obsidian/Plugin/index.d.cts +1 -0
  229. package/dist/lib/cjs/obsidian/Queue.cjs +1 -1
  230. package/dist/lib/cjs/obsidian/Queue.d.cts +3 -2
  231. package/dist/lib/cjs/obsidian/React/AppContext.cjs +3 -3
  232. package/dist/lib/cjs/obsidian/React/AppContext.d.cts +8 -1
  233. package/dist/lib/cjs/obsidian/Reference.cjs +1 -1
  234. package/dist/lib/cjs/obsidian/Reference.d.cts +2 -1
  235. package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +75 -75
  236. package/dist/lib/cjs/obsidian/RenameDeleteHandler.d.cts +3 -2
  237. package/dist/lib/cjs/obsidian/ResourceUrl.cjs +1 -1
  238. package/dist/lib/cjs/obsidian/ResourceUrl.d.cts +2 -1
  239. package/dist/lib/cjs/obsidian/SettingEx.cjs +41 -1
  240. package/dist/lib/cjs/obsidian/SettingEx.d.cts +35 -2
  241. package/dist/lib/cjs/obsidian/ValidationMessage.cjs +1 -1
  242. package/dist/lib/cjs/obsidian/ValidationMessage.d.cts +5 -0
  243. package/dist/lib/cjs/obsidian/Vault.cjs +1 -1
  244. package/dist/lib/cjs/obsidian/Vault.d.cts +15 -10
  245. package/dist/lib/cjs/obsidian/VaultEx.cjs +1 -1
  246. package/dist/lib/cjs/obsidian/VaultEx.d.cts +4 -3
  247. package/dist/lib/cjs/url.cjs +1 -1
  248. package/dist/lib/cjs/url.d.cts +2 -1
  249. package/dist/lib/esm/@types/debug.d.mts +1 -0
  250. package/dist/lib/esm/Array.d.mts +12 -0
  251. package/dist/lib/esm/Array.mjs +24 -0
  252. package/dist/lib/esm/Async.d.mts +26 -18
  253. package/dist/lib/esm/Async.mjs +5 -1
  254. package/dist/lib/esm/AsyncEvents.d.mts +144 -0
  255. package/dist/lib/esm/AsyncEvents.mjs +192 -0
  256. package/dist/lib/esm/Blob.d.mts +9 -8
  257. package/dist/lib/esm/Blob.mjs +1 -1
  258. package/dist/lib/esm/CssClass.d.mts +18 -1
  259. package/dist/lib/esm/CssClass.mjs +5 -1
  260. package/dist/lib/esm/Debug.d.mts +2 -1
  261. package/dist/lib/esm/Debug.mjs +1 -1
  262. package/dist/lib/esm/DebugController.d.mts +1 -0
  263. package/dist/lib/esm/Enum.d.mts +2 -1
  264. package/dist/lib/esm/Enum.mjs +1 -1
  265. package/dist/lib/esm/Error.d.mts +3 -2
  266. package/dist/lib/esm/Error.mjs +8 -6
  267. package/dist/lib/esm/Function.d.mts +2 -1
  268. package/dist/lib/esm/Function.mjs +1 -1
  269. package/dist/lib/esm/HTMLElement.d.mts +4 -2
  270. package/dist/lib/esm/HTMLElement.mjs +1 -1
  271. package/dist/lib/esm/Library.d.mts +2 -1
  272. package/dist/lib/esm/Library.mjs +2 -2
  273. package/dist/lib/esm/Object.d.mts +18 -13
  274. package/dist/lib/esm/Object.mjs +36 -3
  275. package/dist/lib/esm/Path.d.mts +2 -1
  276. package/dist/lib/esm/Path.mjs +2 -2
  277. package/dist/lib/esm/RegExp.d.mts +2 -1
  278. package/dist/lib/esm/RegExp.mjs +1 -1
  279. package/dist/lib/esm/ScriptUtils/CliUtils.d.mts +12 -11
  280. package/dist/lib/esm/ScriptUtils/CliUtils.mjs +7 -7
  281. package/dist/lib/esm/ScriptUtils/CodeGenerator.d.mts +3 -2
  282. package/dist/lib/esm/ScriptUtils/CodeGenerator.mjs +1 -1
  283. package/dist/lib/esm/ScriptUtils/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.mts +1 -0
  284. package/dist/lib/esm/ScriptUtils/ESLint/@types/eslint-plugin-modules-newlines.d.mts +1 -0
  285. package/dist/lib/esm/ScriptUtils/ESLint/@types/eslint-plugin-verify-tsdoc.d.mts +1 -0
  286. package/dist/lib/esm/ScriptUtils/ESLint/ESLint.d.mts +2 -1
  287. package/dist/lib/esm/ScriptUtils/ESLint/ESLint.mjs +1 -1
  288. package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.d.mts +2 -3
  289. package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +13 -10
  290. package/dist/lib/esm/ScriptUtils/Exec.d.mts +4 -3
  291. package/dist/lib/esm/ScriptUtils/Exec.mjs +1 -1
  292. package/dist/lib/esm/ScriptUtils/Fs.d.mts +5 -4
  293. package/dist/lib/esm/ScriptUtils/Fs.mjs +1 -1
  294. package/dist/lib/esm/ScriptUtils/JSON.d.mts +5 -4
  295. package/dist/lib/esm/ScriptUtils/JSON.mjs +1 -1
  296. package/dist/lib/esm/ScriptUtils/NodeModules.d.mts +2 -1
  297. package/dist/lib/esm/ScriptUtils/NodeModules.mjs +1 -1
  298. package/dist/lib/esm/ScriptUtils/Npm.d.mts +9 -10
  299. package/dist/lib/esm/ScriptUtils/Npm.mjs +1 -1
  300. package/dist/lib/esm/ScriptUtils/NpmPublish.d.mts +3 -1
  301. package/dist/lib/esm/ScriptUtils/NpmPublish.mjs +1 -1
  302. package/dist/lib/esm/ScriptUtils/NpmRun.d.mts +5 -0
  303. package/dist/lib/esm/ScriptUtils/NpmRun.mjs +1 -1
  304. package/dist/lib/esm/ScriptUtils/ObsidianDevUtilsRepoPaths.d.mts +45 -61
  305. package/dist/lib/esm/ScriptUtils/ObsidianDevUtilsRepoPaths.mjs +1 -10
  306. package/dist/lib/esm/ScriptUtils/Root.d.mts +4 -3
  307. package/dist/lib/esm/ScriptUtils/Root.mjs +1 -1
  308. package/dist/lib/esm/ScriptUtils/build.d.mts +7 -6
  309. package/dist/lib/esm/ScriptUtils/build.mjs +1 -1
  310. package/dist/lib/esm/ScriptUtils/cli.d.mts +2 -1
  311. package/dist/lib/esm/ScriptUtils/cli.mjs +1 -1
  312. package/dist/lib/esm/ScriptUtils/esbuild/Dependency.d.mts +4 -3
  313. package/dist/lib/esm/ScriptUtils/esbuild/Dependency.mjs +1 -1
  314. package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.d.mts +4 -3
  315. package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.mjs +1 -1
  316. package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.d.mts +2 -1
  317. package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.mjs +1 -1
  318. package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.d.mts +2 -1
  319. package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.mjs +1 -1
  320. package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.d.mts +2 -1
  321. package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.mjs +1 -1
  322. package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.d.mts +2 -1
  323. package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.mjs +1 -1
  324. package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.d.mts +2 -1
  325. package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.mjs +1 -1
  326. package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.d.mts +2 -1
  327. package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +1 -1
  328. package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.d.mts +5 -0
  329. package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.mjs +1 -1
  330. package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.d.mts +5 -0
  331. package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.mjs +1 -1
  332. package/dist/lib/esm/ScriptUtils/format.d.mts +4 -2
  333. package/dist/lib/esm/ScriptUtils/format.mjs +1 -1
  334. package/dist/lib/esm/ScriptUtils/spellcheck.d.mts +4 -3
  335. package/dist/lib/esm/ScriptUtils/spellcheck.mjs +1 -1
  336. package/dist/lib/esm/ScriptUtils/version.d.mts +12 -11
  337. package/dist/lib/esm/ScriptUtils/version.mjs +1 -1
  338. package/dist/lib/esm/String.d.mts +4 -3
  339. package/dist/lib/esm/String.mjs +1 -1
  340. package/dist/lib/esm/Transformers/DateTransformer.d.mts +4 -1
  341. package/dist/lib/esm/Transformers/DateTransformer.mjs +3 -1
  342. package/dist/lib/esm/Transformers/DurationTransformer.d.mts +6 -1
  343. package/dist/lib/esm/Transformers/DurationTransformer.mjs +5 -1
  344. package/dist/lib/esm/Transformers/GroupTransformer.d.mts +9 -5
  345. package/dist/lib/esm/Transformers/GroupTransformer.mjs +7 -4
  346. package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.d.mts +4 -1
  347. package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.mjs +3 -1
  348. package/dist/lib/esm/Transformers/Transformer.d.mts +2 -1
  349. package/dist/lib/esm/Transformers/Transformer.mjs +9 -2
  350. package/dist/lib/esm/Transformers/TypedTransformer.d.mts +2 -1
  351. package/dist/lib/esm/Transformers/TypedTransformer.mjs +1 -1
  352. package/dist/lib/esm/Type.d.mts +17 -0
  353. package/dist/lib/esm/Type.mjs +8 -0
  354. package/dist/lib/esm/ValueProvider.d.mts +3 -2
  355. package/dist/lib/esm/ValueProvider.mjs +1 -1
  356. package/dist/lib/esm/codemirror/StateFieldSpec.d.mts +2 -1
  357. package/dist/lib/esm/index.d.mts +3 -0
  358. package/dist/lib/esm/index.mjs +7 -1
  359. package/dist/lib/esm/obsidian/App.d.mts +2 -1
  360. package/dist/lib/esm/obsidian/App.mjs +1 -1
  361. package/dist/lib/esm/obsidian/AttachmentPath.d.mts +7 -5
  362. package/dist/lib/esm/obsidian/AttachmentPath.mjs +1 -1
  363. package/dist/lib/esm/obsidian/Backlink.d.mts +3 -2
  364. package/dist/lib/esm/obsidian/Backlink.mjs +1 -1
  365. package/dist/lib/esm/obsidian/Callout.d.mts +3 -2
  366. package/dist/lib/esm/obsidian/Callout.mjs +1 -1
  367. package/dist/lib/esm/obsidian/Components/CheckboxComponent.d.mts +59 -0
  368. package/dist/lib/esm/obsidian/Components/CheckboxComponent.mjs +75 -0
  369. package/dist/lib/esm/obsidian/Components/DateComponent.d.mts +2 -1
  370. package/dist/lib/esm/obsidian/Components/DateComponent.mjs +1 -1
  371. package/dist/lib/esm/obsidian/Components/DateTimeComponent.d.mts +2 -1
  372. package/dist/lib/esm/obsidian/Components/DateTimeComponent.mjs +1 -1
  373. package/dist/lib/esm/obsidian/Components/EmailComponent.d.mts +2 -1
  374. package/dist/lib/esm/obsidian/Components/EmailComponent.mjs +1 -1
  375. package/dist/lib/esm/obsidian/Components/FileComponent.d.mts +2 -1
  376. package/dist/lib/esm/obsidian/Components/FileComponent.mjs +1 -1
  377. package/dist/lib/esm/obsidian/Components/MonthComponent.d.mts +2 -1
  378. package/dist/lib/esm/obsidian/Components/MonthComponent.mjs +1 -1
  379. package/dist/lib/esm/obsidian/Components/MultipleDropdownComponent.d.mts +4 -1
  380. package/dist/lib/esm/obsidian/Components/MultipleDropdownComponent.mjs +4 -2
  381. package/dist/lib/esm/obsidian/Components/MultipleEmailComponent.d.mts +2 -1
  382. package/dist/lib/esm/obsidian/Components/MultipleEmailComponent.mjs +1 -1
  383. package/dist/lib/esm/obsidian/Components/MultipleFileComponent.d.mts +2 -1
  384. package/dist/lib/esm/obsidian/Components/MultipleFileComponent.mjs +1 -1
  385. package/dist/lib/esm/obsidian/Components/MultipleTextComponent.d.mts +22 -3
  386. package/dist/lib/esm/obsidian/Components/MultipleTextComponent.mjs +30 -3
  387. package/dist/lib/esm/obsidian/Components/NumberComponent.d.mts +2 -1
  388. package/dist/lib/esm/obsidian/Components/NumberComponent.mjs +1 -1
  389. package/dist/lib/esm/obsidian/Components/TextBasedComponent.d.mts +37 -0
  390. package/dist/lib/esm/obsidian/Components/TextBasedComponent.mjs +41 -0
  391. package/dist/lib/esm/obsidian/Components/TimeComponent.d.mts +2 -1
  392. package/dist/lib/esm/obsidian/Components/TimeComponent.mjs +1 -1
  393. package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.d.mts +59 -0
  394. package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.mjs +76 -0
  395. package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.d.mts +78 -0
  396. package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.mjs +108 -0
  397. package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.d.mts +79 -0
  398. package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.mjs +110 -0
  399. package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.d.mts +4 -1
  400. package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.mjs +1 -1
  401. package/dist/lib/esm/obsidian/Components/TypedTextComponent.d.mts +25 -3
  402. package/dist/lib/esm/obsidian/Components/TypedTextComponent.mjs +30 -4
  403. package/dist/lib/esm/obsidian/Components/UrlComponent.d.mts +2 -1
  404. package/dist/lib/esm/obsidian/Components/UrlComponent.mjs +1 -1
  405. package/dist/lib/esm/obsidian/Components/ValidatorComponent.d.mts +6 -6
  406. package/dist/lib/esm/obsidian/Components/ValidatorComponent.mjs +25 -30
  407. package/dist/lib/esm/obsidian/Components/ValueComponentWithChangeTracking.d.mts +4 -1
  408. package/dist/lib/esm/obsidian/Components/WeekComponent.d.mts +2 -1
  409. package/dist/lib/esm/obsidian/Components/WeekComponent.mjs +1 -1
  410. package/dist/lib/esm/obsidian/Components/index.d.mts +5 -1
  411. package/dist/lib/esm/obsidian/Components/index.mjs +11 -3
  412. package/dist/lib/esm/obsidian/Dataview.d.mts +11 -12
  413. package/dist/lib/esm/obsidian/Dataview.mjs +1 -1
  414. package/dist/lib/esm/obsidian/DataviewLink.d.mts +4 -3
  415. package/dist/lib/esm/obsidian/DataviewLink.mjs +1 -1
  416. package/dist/lib/esm/obsidian/FileChange.d.mts +4 -3
  417. package/dist/lib/esm/obsidian/FileChange.mjs +1 -1
  418. package/dist/lib/esm/obsidian/FileManager.d.mts +6 -5
  419. package/dist/lib/esm/obsidian/FileManager.mjs +1 -1
  420. package/dist/lib/esm/obsidian/FileSystem.d.mts +3 -1
  421. package/dist/lib/esm/obsidian/FileSystem.mjs +1 -1
  422. package/dist/lib/esm/obsidian/Frontmatter.d.mts +5 -1
  423. package/dist/lib/esm/obsidian/Frontmatter.mjs +1 -1
  424. package/dist/lib/esm/obsidian/Link.d.mts +7 -6
  425. package/dist/lib/esm/obsidian/Link.mjs +1 -1
  426. package/dist/lib/esm/obsidian/Logger.d.mts +2 -1
  427. package/dist/lib/esm/obsidian/Logger.mjs +1 -1
  428. package/dist/lib/esm/obsidian/Loop.d.mts +2 -1
  429. package/dist/lib/esm/obsidian/Loop.mjs +1 -1
  430. package/dist/lib/esm/obsidian/Markdown.d.mts +2 -1
  431. package/dist/lib/esm/obsidian/Markdown.mjs +5 -8
  432. package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.d.mts +2 -1
  433. package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.mjs +1 -1
  434. package/dist/lib/esm/obsidian/MarkdownView.d.mts +2 -1
  435. package/dist/lib/esm/obsidian/MarkdownView.mjs +1 -1
  436. package/dist/lib/esm/obsidian/MetadataCache.d.mts +7 -5
  437. package/dist/lib/esm/obsidian/MetadataCache.mjs +1 -1
  438. package/dist/lib/esm/obsidian/Modals/Alert.d.mts +3 -2
  439. package/dist/lib/esm/obsidian/Modals/Alert.mjs +3 -1
  440. package/dist/lib/esm/obsidian/Modals/Confirm.d.mts +3 -2
  441. package/dist/lib/esm/obsidian/Modals/Confirm.mjs +3 -1
  442. package/dist/lib/esm/obsidian/Modals/ModalBase.d.mts +2 -2
  443. package/dist/lib/esm/obsidian/Modals/ModalBase.mjs +1 -1
  444. package/dist/lib/esm/obsidian/Modals/Prompt.d.mts +5 -3
  445. package/dist/lib/esm/obsidian/Modals/Prompt.mjs +3 -1
  446. package/dist/lib/esm/obsidian/Modals/SelectItem.d.mts +4 -2
  447. package/dist/lib/esm/obsidian/Modals/SelectItem.mjs +2 -1
  448. package/dist/lib/esm/obsidian/MonkeyAround.d.mts +5 -3
  449. package/dist/lib/esm/obsidian/MonkeyAround.mjs +1 -1
  450. package/dist/lib/esm/obsidian/ObsidianSettings.d.mts +3 -0
  451. package/dist/lib/esm/obsidian/ObsidianSettings.mjs +1 -1
  452. package/dist/lib/esm/obsidian/Pdf.d.mts +2 -1
  453. package/dist/lib/esm/obsidian/Pdf.mjs +1 -1
  454. package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.d.mts +38 -29
  455. package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.mjs +6 -2
  456. package/dist/lib/esm/obsidian/Plugin/Plugin.d.mts +4 -3
  457. package/dist/lib/esm/obsidian/Plugin/Plugin.mjs +1 -1
  458. package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +52 -21
  459. package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +128 -38
  460. package/dist/lib/esm/obsidian/Plugin/PluginContext.d.mts +2 -1
  461. package/dist/lib/esm/obsidian/Plugin/PluginContext.mjs +1 -1
  462. package/dist/lib/esm/obsidian/Plugin/PluginId.d.mts +2 -1
  463. package/dist/lib/esm/obsidian/Plugin/PluginId.mjs +1 -1
  464. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +39 -21
  465. package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +80 -49
  466. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +18 -11
  467. package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +22 -11
  468. package/dist/lib/esm/obsidian/Plugin/PluginTypesBase.d.mts +55 -0
  469. package/dist/lib/esm/obsidian/Plugin/PluginTypesBase.mjs +8 -0
  470. package/dist/lib/esm/obsidian/Plugin/index.d.mts +1 -0
  471. package/dist/lib/esm/obsidian/Plugin/index.mjs +4 -2
  472. package/dist/lib/esm/obsidian/Queue.d.mts +3 -2
  473. package/dist/lib/esm/obsidian/Queue.mjs +1 -1
  474. package/dist/lib/esm/obsidian/React/AppContext.d.mts +8 -1
  475. package/dist/lib/esm/obsidian/React/AppContext.mjs +3 -3
  476. package/dist/lib/esm/obsidian/Reference.d.mts +2 -1
  477. package/dist/lib/esm/obsidian/Reference.mjs +1 -1
  478. package/dist/lib/esm/obsidian/RenameDeleteHandler.d.mts +3 -2
  479. package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +75 -75
  480. package/dist/lib/esm/obsidian/ResourceUrl.d.mts +2 -1
  481. package/dist/lib/esm/obsidian/ResourceUrl.mjs +1 -1
  482. package/dist/lib/esm/obsidian/SettingEx.d.mts +35 -2
  483. package/dist/lib/esm/obsidian/SettingEx.mjs +41 -1
  484. package/dist/lib/esm/obsidian/ValidationMessage.d.mts +5 -0
  485. package/dist/lib/esm/obsidian/ValidationMessage.mjs +1 -1
  486. package/dist/lib/esm/obsidian/Vault.d.mts +15 -10
  487. package/dist/lib/esm/obsidian/Vault.mjs +1 -1
  488. package/dist/lib/esm/obsidian/VaultEx.d.mts +4 -3
  489. package/dist/lib/esm/obsidian/VaultEx.mjs +1 -1
  490. package/dist/lib/esm/url.d.mts +2 -1
  491. package/dist/lib/esm/url.mjs +1 -1
  492. package/obsidian/Components/CheckboxComponent/package.json +6 -0
  493. package/obsidian/Components/TextBasedComponent/package.json +6 -0
  494. package/obsidian/Components/TriStateCheckboxComponent/package.json +6 -0
  495. package/obsidian/Components/TypedDropdownComponent/package.json +6 -0
  496. package/obsidian/Components/TypedMultipleDropdownComponent/package.json +6 -0
  497. package/obsidian/Plugin/PluginTypesBase/package.json +6 -0
  498. package/package.json +8 -9
  499. package/dist/lib/cjs/obsidian/Components/PlaceholderComponent.d.cts +0 -19
  500. package/dist/lib/esm/obsidian/Components/PlaceholderComponent.d.mts +0 -19
  501. package/dist/lib/esm/obsidian/Components/PlaceholderComponent.mjs +0 -14
  502. package/obsidian/Components/PlaceholderComponent/package.json +0 -6
@@ -0,0 +1,41 @@
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
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import { AbstractTextComponent } from "obsidian";
9
+ class AbstractTextComponentWrapper {
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ constructor(abstractTextComponent) {
12
+ this.abstractTextComponent = abstractTextComponent;
13
+ }
14
+ empty() {
15
+ this.abstractTextComponent.setValue("");
16
+ }
17
+ isEmpty() {
18
+ return this.abstractTextComponent.getValue() === "";
19
+ }
20
+ setPlaceholderValue(placeholderValue) {
21
+ this.abstractTextComponent.setPlaceholder(placeholderValue);
22
+ return this;
23
+ }
24
+ }
25
+ function getTextBasedComponentValue(obj) {
26
+ if (isTextBasedComponent(obj)) {
27
+ return obj;
28
+ }
29
+ if (obj instanceof AbstractTextComponent) {
30
+ return new AbstractTextComponentWrapper(obj);
31
+ }
32
+ return null;
33
+ }
34
+ function isTextBasedComponent(component) {
35
+ const textBasedComponent = component;
36
+ return typeof textBasedComponent.setPlaceholderValue === "function" && typeof textBasedComponent.isEmpty === "function";
37
+ }
38
+ export {
39
+ getTextBasedComponentValue
40
+ };
41
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVGV4dEJhc2VkQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRleHQgYmFzZWQgY29tcG9uZW50IHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBBYnN0cmFjdFRleHRDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQSBjb21wb25lbnQgYmFzZWQgb24gYSB0ZXh0IGlucHV0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEJhc2VkQ29tcG9uZW50PFQ+IHtcbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIGVtcHR5KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNvbXBvbmVudCBpcyBlbXB0eSwgYGZhbHNlYCBvdGhlcndpc2UuXG4gICAqL1xuICBpc0VtcHR5KCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlclZhbHVlIC0gVGhlIHBsYWNlaG9sZGVyIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHNldFBsYWNlaG9sZGVyVmFsdWUocGxhY2Vob2xkZXJWYWx1ZTogVCk6IHRoaXM7XG59XG5cbmNsYXNzIEFic3RyYWN0VGV4dENvbXBvbmVudFdyYXBwZXI8VD4gaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8VD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhYnN0cmFjdFRleHRDb21wb25lbnQ6IEFic3RyYWN0VGV4dENvbXBvbmVudDxhbnk+KSB7fVxuXG4gIHB1YmxpYyBlbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLmFic3RyYWN0VGV4dENvbXBvbmVudC5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hYnN0cmFjdFRleHRDb21wb25lbnQuZ2V0VmFsdWUoKSA9PT0gJyc7XG4gIH1cblxuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBUKTogdGhpcyB7XG4gICAgdGhpcy5hYnN0cmFjdFRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIocGxhY2Vob2xkZXJWYWx1ZSBhcyBzdHJpbmcpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbi8qKlxuICogR2V0cyB0aGUgdGV4dCBiYXNlZCBjb21wb25lbnQgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICogQHBhcmFtIG9iaiAtIEFueSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgdGV4dCBiYXNlZCBjb21wb25lbnQgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBvciBgbnVsbGAgaWYgdGhlIGNvbXBvbmVudCBpcyBub3QgYSB0ZXh0IGJhc2VkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlPFQ+KG9iajogdW5rbm93bik6IG51bGwgfCBUZXh0QmFzZWRDb21wb25lbnQ8VD4ge1xuICBpZiAoaXNUZXh0QmFzZWRDb21wb25lbnQob2JqKSkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAob2JqIGluc3RhbmNlb2YgQWJzdHJhY3RUZXh0Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIG5ldyBBYnN0cmFjdFRleHRDb21wb25lbnRXcmFwcGVyPFQ+KG9iaik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gaXNUZXh0QmFzZWRDb21wb25lbnQ8VD4oY29tcG9uZW50OiB1bmtub3duKTogY29tcG9uZW50IGlzIFRleHRCYXNlZENvbXBvbmVudDxUPiB7XG4gIGNvbnN0IHRleHRCYXNlZENvbXBvbmVudCA9IGNvbXBvbmVudCBhcyBQYXJ0aWFsPFRleHRCYXNlZENvbXBvbmVudDxUPj47XG4gIHJldHVybiB0eXBlb2YgdGV4dEJhc2VkQ29tcG9uZW50LnNldFBsYWNlaG9sZGVyVmFsdWUgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHRleHRCYXNlZENvbXBvbmVudC5pc0VtcHR5ID09PSAnZnVuY3Rpb24nO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQU1BLFNBQVMsNkJBQTZCO0FBNkJ0QyxNQUFNLDZCQUFpRTtBQUFBO0FBQUEsRUFFOUQsWUFBNkIsdUJBQW1EO0FBQW5EO0FBQUEsRUFBb0Q7QUFBQSxFQUVqRixRQUFjO0FBQ25CLFNBQUssc0JBQXNCLFNBQVMsRUFBRTtBQUFBLEVBQ3hDO0FBQUEsRUFFTyxVQUFtQjtBQUN4QixXQUFPLEtBQUssc0JBQXNCLFNBQVMsTUFBTTtBQUFBLEVBQ25EO0FBQUEsRUFFTyxvQkFBb0Isa0JBQTJCO0FBQ3BELFNBQUssc0JBQXNCLGVBQWUsZ0JBQTBCO0FBQ3BFLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFTTyxTQUFTLDJCQUE4QixLQUE0QztBQUN4RixNQUFJLHFCQUFxQixHQUFHLEdBQUc7QUFDN0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGVBQWUsdUJBQXVCO0FBQ3hDLFdBQU8sSUFBSSw2QkFBZ0MsR0FBRztBQUFBLEVBQ2hEO0FBRUEsU0FBTztBQUNUO0FBRUEsU0FBUyxxQkFBd0IsV0FBd0Q7QUFDdkYsUUFBTSxxQkFBcUI7QUFDM0IsU0FBTyxPQUFPLG1CQUFtQix3QkFBd0IsY0FBYyxPQUFPLG1CQUFtQixZQUFZO0FBQy9HOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,6 @@
1
1
  /**
2
- * @packageDocumentation TimeComponent
2
+ * @packageDocumentation
3
+ *
3
4
  * Contains a component that displays and edits a time.
4
5
  */
5
6
  import type { Duration } from 'moment';
@@ -50,4 +50,4 @@ class TimeComponent extends TypedRangeTextComponent {
50
50
  export {
51
51
  TimeComponent
52
52
  };
53
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVGltZUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gVGltZUNvbXBvbmVudFxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSB0aW1lLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRHVyYXRpb24gfSBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQge1xuICBkdXJhdGlvbixcbiAgdXRjXG59IGZyb20gJ21vbWVudCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL1NldHRpbmdFeC50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgVHlwZWRSYW5nZVRleHRDb21wb25lbnQgfSBmcm9tICcuL1R5cGVkUmFuZ2VUZXh0Q29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRpbWUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRUaW1lfS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBUaW1lQ29tcG9uZW50IGV4dGVuZHMgVHlwZWRSYW5nZVRleHRDb21wb25lbnQ8RHVyYXRpb24+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgdGltZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKGNvbnRhaW5lckVsLCAndGltZScsIENzc0NsYXNzLlRpbWVDb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgdGltZS5cbiAgICpcbiAgICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIGRhdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdmFsdWVGcm9tU3RyaW5nKHN0cjogc3RyaW5nKTogRHVyYXRpb24ge1xuICAgIHJldHVybiBkdXJhdGlvbihzdHIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgdGltZSB0byBhIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHRpbWUgdG8gY29udmVydC5cbiAgICogQHJldHVybnMgVGhlIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZVRvU3RyaW5nKHZhbHVlOiBEdXJhdGlvbik6IHN0cmluZyB7XG4gICAgbGV0IGZvcm1hdDogc3RyaW5nO1xuICAgIGlmICh2YWx1ZS5taWxsaXNlY29uZHMoKSA+IDApIHtcbiAgICAgIGZvcm1hdCA9ICdISDptbTpzcy5TU1MnO1xuICAgIH0gZWxzZSBpZiAodmFsdWUuc2Vjb25kcygpID4gMCkge1xuICAgICAgZm9ybWF0ID0gJ0hIOm1tOnNzJztcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ID0gJ0hIOm1tJztcbiAgICB9XG5cbiAgICByZXR1cm4gdXRjKHZhbHVlLmFzTWlsbGlzZWNvbmRzKCkpLmZvcm1hdChmb3JtYXQpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBT0E7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFPUCxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLCtCQUErQjtBQVdqQyxNQUFNLHNCQUFzQix3QkFBa0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNNUQsWUFBWSxhQUEwQjtBQUMzQyxVQUFNLGFBQWEsUUFBUSxTQUFTLGFBQWE7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLGdCQUFnQixLQUF1QjtBQUNyRCxXQUFPLFNBQVMsR0FBRztBQUFBLEVBQ3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsY0FBYyxPQUF5QjtBQUNyRCxRQUFJO0FBQ0osUUFBSSxNQUFNLGFBQWEsSUFBSSxHQUFHO0FBQzVCLGVBQVM7QUFBQSxJQUNYLFdBQVcsTUFBTSxRQUFRLElBQUksR0FBRztBQUM5QixlQUFTO0FBQUEsSUFDWCxPQUFPO0FBQ0wsZUFBUztBQUFBLElBQ1g7QUFFQSxXQUFPLElBQUksTUFBTSxlQUFlLENBQUMsRUFBRSxPQUFPLE1BQU07QUFBQSxFQUNsRDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVGltZUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBDb250YWlucyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRpbWUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBEdXJhdGlvbiB9IGZyb20gJ21vbWVudCc7XG5cbmltcG9ydCB7XG4gIGR1cmF0aW9uLFxuICB1dGNcbn0gZnJvbSAnbW9tZW50JztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBpbml0UGx1Z2luQ29udGV4dCB9IGZyb20gJy4uL1BsdWdpbi9QbHVnaW5Db250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCB0eXBlIHsgU2V0dGluZ0V4IH0gZnJvbSAnLi4vU2V0dGluZ0V4LnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9Dc3NDbGFzcy50cyc7XG5pbXBvcnQgeyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vVHlwZWRSYW5nZVRleHRDb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgdGltZS5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZFRpbWV9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRpbWVDb21wb25lbnQgZXh0ZW5kcyBUeXBlZFJhbmdlVGV4dENvbXBvbmVudDxEdXJhdGlvbj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB0aW1lIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lckVsIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoY29udGFpbmVyRWwsICd0aW1lJywgQ3NzQ2xhc3MuVGltZUNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc3RyIC0gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZUZyb21TdHJpbmcoc3RyOiBzdHJpbmcpOiBEdXJhdGlvbiB7XG4gICAgcmV0dXJuIGR1cmF0aW9uKHN0cik7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSB0aW1lIHRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdGltZSB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZhbHVlVG9TdHJpbmcodmFsdWU6IER1cmF0aW9uKTogc3RyaW5nIHtcbiAgICBsZXQgZm9ybWF0OiBzdHJpbmc7XG4gICAgaWYgKHZhbHVlLm1pbGxpc2Vjb25kcygpID4gMCkge1xuICAgICAgZm9ybWF0ID0gJ0hIOm1tOnNzLlNTUyc7XG4gICAgfSBlbHNlIGlmICh2YWx1ZS5zZWNvbmRzKCkgPiAwKSB7XG4gICAgICBmb3JtYXQgPSAnSEg6bW06c3MnO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtYXQgPSAnSEg6bW0nO1xuICAgIH1cblxuICAgIHJldHVybiB1dGModmFsdWUuYXNNaWxsaXNlY29uZHMoKSkuZm9ybWF0KGZvcm1hdCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFRQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU9QLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsK0JBQStCO0FBV2pDLE1BQU0sc0JBQXNCLHdCQUFrQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU01RCxZQUFZLGFBQTBCO0FBQzNDLFVBQU0sYUFBYSxRQUFRLFNBQVMsYUFBYTtBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsZ0JBQWdCLEtBQXVCO0FBQ3JELFdBQU8sU0FBUyxHQUFHO0FBQUEsRUFDckI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixjQUFjLE9BQXlCO0FBQ3JELFFBQUk7QUFDSixRQUFJLE1BQU0sYUFBYSxJQUFJLEdBQUc7QUFDNUIsZUFBUztBQUFBLElBQ1gsV0FBVyxNQUFNLFFBQVEsSUFBSSxHQUFHO0FBQzlCLGVBQVM7QUFBQSxJQUNYLE9BQU87QUFDTCxlQUFTO0FBQUEsSUFDWDtBQUVBLFdBQU8sSUFBSSxNQUFNLGVBQWUsQ0FBQyxFQUFFLE9BQU8sTUFBTTtBQUFBLEVBQ2xEO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Tri-state checkbox component.
5
+ */
6
+ import type { Promisable } from 'type-fest';
7
+ import { ValueComponent } from 'obsidian';
8
+ import type { ValidatorElement } from '../../HTMLElement.mjs';
9
+ import type { ValidatorComponent } from './ValidatorComponent.mjs';
10
+ import type { ValueComponentWithChangeTracking } from './ValueComponentWithChangeTracking.mjs';
11
+ /**
12
+ * A component that displays a tri-state checkbox.
13
+ *
14
+ * You can add this component using {@link SettingEx.addTriStateCheckbox}.
15
+ *
16
+ * In order to add the styles for the component, use {@link initPluginContext} in your plugin's `onload()` function.
17
+ *
18
+ * Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
19
+ */
20
+ export declare class TriStateCheckboxComponent extends ValueComponent<boolean | null> implements ValidatorComponent, ValueComponentWithChangeTracking<boolean | null> {
21
+ /**
22
+ * The input element of the checkbox.
23
+ */
24
+ readonly inputEl: HTMLInputElement;
25
+ get validatorEl(): ValidatorElement;
26
+ private changeCallback?;
27
+ constructor(containerEl: HTMLElement);
28
+ /**
29
+ * Gets the value of the checkbox.
30
+ *
31
+ * @returns The value of the checkbox.
32
+ */
33
+ getValue(): boolean | null;
34
+ /**
35
+ * Sets the callback to be called when the checkbox is changed.
36
+ *
37
+ * @param callback - The callback to be called when the checkbox is changed.
38
+ * @returns The component.
39
+ */
40
+ onChange(callback: (newValue: boolean | null) => Promisable<void>): this;
41
+ /**
42
+ * Called when the checkbox is changed.
43
+ */
44
+ onChanged(): void;
45
+ /**
46
+ * Sets the disabled state of the checkbox.
47
+ *
48
+ * @param disabled - The disabled state of the checkbox.
49
+ * @returns The component.
50
+ */
51
+ setDisabled(disabled: boolean): this;
52
+ /**
53
+ * Sets the value of the checkbox.
54
+ *
55
+ * @param value - The value to set the checkbox to.
56
+ * @returns The component.
57
+ */
58
+ setValue(value: boolean | null): this;
59
+ }
@@ -0,0 +1,76 @@
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
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import { ValueComponent } from "obsidian";
9
+ import { CssClass } from "../../CssClass.mjs";
10
+ import { getPluginId } from "../Plugin/PluginId.mjs";
11
+ class TriStateCheckboxComponent extends ValueComponent {
12
+ /**
13
+ * The input element of the checkbox.
14
+ */
15
+ inputEl;
16
+ get validatorEl() {
17
+ return this.inputEl;
18
+ }
19
+ changeCallback;
20
+ constructor(containerEl) {
21
+ super();
22
+ containerEl.addClass(CssClass.LibraryName, getPluginId(), CssClass.TriStateCheckboxComponent);
23
+ this.inputEl = containerEl.createEl("input", { type: "checkbox" });
24
+ this.inputEl.addEventListener("change", this.onChanged.bind(this));
25
+ }
26
+ /**
27
+ * Gets the value of the checkbox.
28
+ *
29
+ * @returns The value of the checkbox.
30
+ */
31
+ getValue() {
32
+ return this.inputEl.indeterminate ? null : this.inputEl.checked;
33
+ }
34
+ /**
35
+ * Sets the callback to be called when the checkbox is changed.
36
+ *
37
+ * @param callback - The callback to be called when the checkbox is changed.
38
+ * @returns The component.
39
+ */
40
+ onChange(callback) {
41
+ this.changeCallback = callback;
42
+ return this;
43
+ }
44
+ /**
45
+ * Called when the checkbox is changed.
46
+ */
47
+ onChanged() {
48
+ this.changeCallback?.(this.getValue());
49
+ }
50
+ /**
51
+ * Sets the disabled state of the checkbox.
52
+ *
53
+ * @param disabled - The disabled state of the checkbox.
54
+ * @returns The component.
55
+ */
56
+ setDisabled(disabled) {
57
+ super.setDisabled(disabled);
58
+ this.inputEl.disabled = disabled;
59
+ return this;
60
+ }
61
+ /**
62
+ * Sets the value of the checkbox.
63
+ *
64
+ * @param value - The value to set the checkbox to.
65
+ * @returns The component.
66
+ */
67
+ setValue(value) {
68
+ this.inputEl.indeterminate = value === null;
69
+ this.inputEl.checked = value ?? false;
70
+ return this;
71
+ }
72
+ }
73
+ export {
74
+ TriStateCheckboxComponent
75
+ };
76
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHJpU3RhdGVDaGVja2JveENvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUcmktc3RhdGUgY2hlY2tib3ggY29tcG9uZW50LlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi9IVE1MRWxlbWVudC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IGluaXRQbHVnaW5Db250ZXh0IH0gZnJvbSAnLi4vUGx1Z2luL1BsdWdpbkNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBTZXR0aW5nRXggfSBmcm9tICcuLi9TZXR0aW5nRXgudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL1ZhbGlkYXRvckNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nIH0gZnJvbSAnLi9WYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luSWQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSB0cmktc3RhdGUgY2hlY2tib3guXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRUcmlTdGF0ZUNoZWNrYm94fS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8Ym9vbGVhbiB8IG51bGw+IGltcGxlbWVudHMgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxib29sZWFuIHwgbnVsbD4ge1xuICAvKipcbiAgICogVGhlIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9yRWwoKTogVmFsaWRhdG9yRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbDtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlQ2FsbGJhY2s/OiAobmV3VmFsdWU6IGJvb2xlYW4gfCBudWxsKSA9PiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnRhaW5lckVsLmFkZENsYXNzKENzc0NsYXNzLkxpYnJhcnlOYW1lLCBnZXRQbHVnaW5JZCgpLCBDc3NDbGFzcy5UcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50KTtcbiAgICB0aGlzLmlucHV0RWwgPSBjb250YWluZXJFbC5jcmVhdGVFbCgnaW5wdXQnLCB7IHR5cGU6ICdjaGVja2JveCcgfSk7XG4gICAgdGhpcy5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMub25DaGFuZ2VkLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5pbmRldGVybWluYXRlID8gbnVsbCA6IHRoaXMuaW5wdXRFbC5jaGVja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGNoYW5nZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2UoY2FsbGJhY2s6IChuZXdWYWx1ZTogYm9vbGVhbiB8IG51bGwpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICB0aGlzLmNoYW5nZUNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGNoYW5nZWQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlQ2FsbGJhY2s/Lih0aGlzLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICpcbiAgICogQHBhcmFtIGRpc2FibGVkIC0gVGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXREaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHRoaXMge1xuICAgIHN1cGVyLnNldERpc2FibGVkKGRpc2FibGVkKTtcbiAgICB0aGlzLmlucHV0RWwuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQgdGhlIGNoZWNrYm94IHRvLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldFZhbHVlKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHRoaXMge1xuICAgIHRoaXMuaW5wdXRFbC5pbmRldGVybWluYXRlID0gdmFsdWUgPT09IG51bGw7XG4gICAgdGhpcy5pbnB1dEVsLmNoZWNrZWQgPSB2YWx1ZSA/PyBmYWxzZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVFBLFNBQVMsc0JBQXNCO0FBVS9CLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsbUJBQW1CO0FBV3JCLE1BQU0sa0NBQWtDLGVBQStHO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJNUk7QUFBQSxFQUNoQixJQUFXLGNBQWdDO0FBQ3pDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVRO0FBQUEsRUFFRCxZQUFZLGFBQTBCO0FBQzNDLFVBQU07QUFDTixnQkFBWSxTQUFTLFNBQVMsYUFBYSxZQUFZLEdBQUcsU0FBUyx5QkFBeUI7QUFDNUYsU0FBSyxVQUFVLFlBQVksU0FBUyxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakUsU0FBSyxRQUFRLGlCQUFpQixVQUFVLEtBQUssVUFBVSxLQUFLLElBQUksQ0FBQztBQUFBLEVBQ25FO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLFdBQTJCO0FBQ3pDLFdBQU8sS0FBSyxRQUFRLGdCQUFnQixPQUFPLEtBQUssUUFBUTtBQUFBLEVBQzFEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxTQUFTLFVBQWdFO0FBQzlFLFNBQUssaUJBQWlCO0FBQ3RCLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLTyxZQUFrQjtBQUN2QixTQUFLLGlCQUFpQixLQUFLLFNBQVMsQ0FBQztBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsWUFBWSxVQUF5QjtBQUNuRCxVQUFNLFlBQVksUUFBUTtBQUMxQixTQUFLLFFBQVEsV0FBVztBQUN4QixXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUWdCLFNBQVMsT0FBNkI7QUFDcEQsU0FBSyxRQUFRLGdCQUFnQixVQUFVO0FBQ3ZDLFNBQUssUUFBUSxVQUFVLFNBQVM7QUFDaEMsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Typed dropdown component.
5
+ */
6
+ import type { Promisable } from 'type-fest';
7
+ import { ValueComponent } from 'obsidian';
8
+ import type { ValidatorElement } from '../../HTMLElement.mjs';
9
+ import type { ValueComponentWithChangeTracking } from './ValueComponentWithChangeTracking.mjs';
10
+ /**
11
+ * A dropdown component that can be used to select a value from a list.
12
+ *
13
+ * You can add this component using {@link SettingEx.addTypedDropdown}.
14
+ *
15
+ * In order to add the styles for the component, use {@link initPluginContext} in your plugin's `onload()` function.
16
+ *
17
+ * Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
18
+ *
19
+ * @typeParam T - The type of the value to select.
20
+ */
21
+ export declare class TypedDropdownComponent<T> extends ValueComponent<null | T> implements ValueComponentWithChangeTracking<null | T> {
22
+ /**
23
+ * The validator element of the component.
24
+ *
25
+ * @returns The validator element.
26
+ */
27
+ get validatorEl(): ValidatorElement;
28
+ private readonly dropdownComponent;
29
+ private values;
30
+ /**
31
+ * Creates a new multiple dropdown component.
32
+ *
33
+ * @param containerEl - The container element of the component.
34
+ */
35
+ constructor(containerEl: HTMLElement);
36
+ /**
37
+ * Adds an option to the dropdown.
38
+ *
39
+ * @param value - The value of the option.
40
+ * @param display - The display text of the option.
41
+ * @returns The component.
42
+ */
43
+ addOption(value: T, display: string): this;
44
+ /**
45
+ * Adds multiple options to the dropdown.
46
+ *
47
+ * @param options - The options to add.
48
+ * @returns The component.
49
+ */
50
+ addOptions(options: Map<T, string>): this;
51
+ /**
52
+ * Gets the value of the component.
53
+ *
54
+ * @returns The value of the component.
55
+ */
56
+ getValue(): null | T;
57
+ /**
58
+ * Sets the callback function to be called when the component is changed.
59
+ *
60
+ * @param callback - The callback function to be called when the component is changed.
61
+ * @returns The component.
62
+ */
63
+ onChange(callback: (value: null | T) => Promisable<void>): this;
64
+ /**
65
+ * Sets the disabled state of the component.
66
+ *
67
+ * @param disabled - The disabled state to set.
68
+ * @returns The component.
69
+ */
70
+ setDisabled(disabled: boolean): this;
71
+ /**
72
+ * Sets the value of the component.
73
+ *
74
+ * @param value - The value to set.
75
+ * @returns The component.
76
+ */
77
+ setValue(value: null | T): this;
78
+ }
@@ -0,0 +1,108 @@
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
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import {
9
+ DropdownComponent,
10
+ ValueComponent
11
+ } from "obsidian";
12
+ import { CssClass } from "../../CssClass.mjs";
13
+ import { getPluginId } from "../Plugin/PluginId.mjs";
14
+ class TypedDropdownComponent extends ValueComponent {
15
+ /**
16
+ * The validator element of the component.
17
+ *
18
+ * @returns The validator element.
19
+ */
20
+ get validatorEl() {
21
+ return this.dropdownComponent.selectEl;
22
+ }
23
+ dropdownComponent;
24
+ values = [];
25
+ /**
26
+ * Creates a new multiple dropdown component.
27
+ *
28
+ * @param containerEl - The container element of the component.
29
+ */
30
+ constructor(containerEl) {
31
+ super();
32
+ this.dropdownComponent = new DropdownComponent(containerEl);
33
+ this.dropdownComponent.selectEl.multiple = true;
34
+ containerEl.addClass(CssClass.LibraryName, getPluginId(), CssClass.TypedDropdownComponent);
35
+ }
36
+ /**
37
+ * Adds an option to the dropdown.
38
+ *
39
+ * @param value - The value of the option.
40
+ * @param display - The display text of the option.
41
+ * @returns The component.
42
+ */
43
+ addOption(value, display) {
44
+ let index = this.values.indexOf(value);
45
+ if (index === -1) {
46
+ this.values.push(value);
47
+ index = this.values.length - 1;
48
+ }
49
+ this.dropdownComponent.addOption(index.toString(), display);
50
+ return this;
51
+ }
52
+ /**
53
+ * Adds multiple options to the dropdown.
54
+ *
55
+ * @param options - The options to add.
56
+ * @returns The component.
57
+ */
58
+ addOptions(options) {
59
+ for (const [value, display] of options.entries()) {
60
+ this.addOption(value, display);
61
+ }
62
+ return this;
63
+ }
64
+ /**
65
+ * Gets the value of the component.
66
+ *
67
+ * @returns The value of the component.
68
+ */
69
+ getValue() {
70
+ return this.values[this.dropdownComponent.selectEl.selectedIndex] ?? null;
71
+ }
72
+ /**
73
+ * Sets the callback function to be called when the component is changed.
74
+ *
75
+ * @param callback - The callback function to be called when the component is changed.
76
+ * @returns The component.
77
+ */
78
+ onChange(callback) {
79
+ this.dropdownComponent.onChange(() => callback(this.getValue()));
80
+ return this;
81
+ }
82
+ /**
83
+ * Sets the disabled state of the component.
84
+ *
85
+ * @param disabled - The disabled state to set.
86
+ * @returns The component.
87
+ */
88
+ setDisabled(disabled) {
89
+ super.setDisabled(disabled);
90
+ this.dropdownComponent.setDisabled(disabled);
91
+ return this;
92
+ }
93
+ /**
94
+ * Sets the value of the component.
95
+ *
96
+ * @param value - The value to set.
97
+ * @returns The component.
98
+ */
99
+ setValue(value) {
100
+ const index = value === null ? -1 : this.values.indexOf(value);
101
+ this.dropdownComponent.selectEl.selectedIndex = index;
102
+ return this;
103
+ }
104
+ }
105
+ export {
106
+ TypedDropdownComponent
107
+ };
108
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWREcm9wZG93bkNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUeXBlZCBkcm9wZG93biBjb21wb25lbnQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgRHJvcGRvd25Db21wb25lbnQsXG4gIFZhbHVlQ29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JFbGVtZW50IH0gZnJvbSAnLi4vLi4vSFRNTEVsZW1lbnQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuaW1wb3J0IHR5cGUgeyBpbml0UGx1Z2luQ29udGV4dCB9IGZyb20gJy4uL1BsdWdpbi9QbHVnaW5Db250ZXh0LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCB0eXBlIHsgU2V0dGluZ0V4IH0gZnJvbSAnLi4vU2V0dGluZ0V4LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcgfSBmcm9tICcuL1ZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9Dc3NDbGFzcy50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5JZCB9IGZyb20gJy4uL1BsdWdpbi9QbHVnaW5JZC50cyc7XG5cbi8qKlxuICogQSBkcm9wZG93biBjb21wb25lbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWxlY3QgYSB2YWx1ZSBmcm9tIGEgbGlzdC5cbiAqXG4gKiBZb3UgY2FuIGFkZCB0aGlzIGNvbXBvbmVudCB1c2luZyB7QGxpbmsgU2V0dGluZ0V4LmFkZFR5cGVkRHJvcGRvd259LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdG8gc2VsZWN0LlxuICovXG5leHBvcnQgY2xhc3MgVHlwZWREcm9wZG93bkNvbXBvbmVudDxUPiBleHRlbmRzIFZhbHVlQ29tcG9uZW50PG51bGwgfCBUPiBpbXBsZW1lbnRzIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPG51bGwgfCBUPiB7XG4gIC8qKlxuICAgKiBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbGlkYXRvciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZWxlY3RFbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25Db21wb25lbnQ6IERyb3Bkb3duQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgdmFsdWVzOiBUW10gPSBbXTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtdWx0aXBsZSBkcm9wZG93biBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudCA9IG5ldyBEcm9wZG93bkNvbXBvbmVudChjb250YWluZXJFbCk7XG4gICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZWxlY3RFbC5tdWx0aXBsZSA9IHRydWU7XG4gICAgY29udGFpbmVyRWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuTGlicmFyeU5hbWUsIGdldFBsdWdpbklkKCksIENzc0NsYXNzLlR5cGVkRHJvcGRvd25Db21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb3B0aW9uIHRvIHRoZSBkcm9wZG93bi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBvcHRpb24uXG4gICAqIEBwYXJhbSBkaXNwbGF5IC0gVGhlIGRpc3BsYXkgdGV4dCBvZiB0aGUgb3B0aW9uLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFkZE9wdGlvbih2YWx1ZTogVCwgZGlzcGxheTogc3RyaW5nKTogdGhpcyB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy52YWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG4gICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICBpbmRleCA9IHRoaXMudmFsdWVzLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuYWRkT3B0aW9uKGluZGV4LnRvU3RyaW5nKCksIGRpc3BsYXkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgbXVsdGlwbGUgb3B0aW9ucyB0byB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFkZE9wdGlvbnMob3B0aW9uczogTWFwPFQsIHN0cmluZz4pOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IFt2YWx1ZSwgZGlzcGxheV0gb2Ygb3B0aW9ucy5lbnRyaWVzKCkpIHtcbiAgICAgIHRoaXMuYWRkT3B0aW9uKHZhbHVlLCBkaXNwbGF5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWUoKTogbnVsbCB8IFQge1xuICAgIHJldHVybiB0aGlzLnZhbHVlc1t0aGlzLmRyb3Bkb3duQ29tcG9uZW50LnNlbGVjdEVsLnNlbGVjdGVkSW5kZXhdID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBjaGFuZ2VkLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlKGNhbGxiYWNrOiAodmFsdWU6IG51bGwgfCBUKSA9PiBQcm9taXNhYmxlPHZvaWQ+KTogdGhpcyB7XG4gICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5vbkNoYW5nZSgoKSA9PiBjYWxsYmFjayh0aGlzLmdldFZhbHVlKCkpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IG51bGwgfCBUKTogdGhpcyB7XG4gICAgY29uc3QgaW5kZXggPSB2YWx1ZSA9PT0gbnVsbCA/IC0xIDogdGhpcy52YWx1ZXMuaW5kZXhPZih2YWx1ZSk7XG4gICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZWxlY3RFbC5zZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFRQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQVNQLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsbUJBQW1CO0FBYXJCLE1BQU0sK0JBQWtDLGVBQStFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTVILElBQVcsY0FBZ0M7QUFDekMsV0FBTyxLQUFLLGtCQUFrQjtBQUFBLEVBQ2hDO0FBQUEsRUFFaUI7QUFBQSxFQUVULFNBQWMsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oQixZQUFZLGFBQTBCO0FBQzNDLFVBQU07QUFDTixTQUFLLG9CQUFvQixJQUFJLGtCQUFrQixXQUFXO0FBQzFELFNBQUssa0JBQWtCLFNBQVMsV0FBVztBQUMzQyxnQkFBWSxTQUFTLFNBQVMsYUFBYSxZQUFZLEdBQUcsU0FBUyxzQkFBc0I7QUFBQSxFQUMzRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxVQUFVLE9BQVUsU0FBdUI7QUFDaEQsUUFBSSxRQUFRLEtBQUssT0FBTyxRQUFRLEtBQUs7QUFDckMsUUFBSSxVQUFVLElBQUk7QUFDaEIsV0FBSyxPQUFPLEtBQUssS0FBSztBQUN0QixjQUFRLEtBQUssT0FBTyxTQUFTO0FBQUEsSUFDL0I7QUFDQSxTQUFLLGtCQUFrQixVQUFVLE1BQU0sU0FBUyxHQUFHLE9BQU87QUFDMUQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFdBQVcsU0FBK0I7QUFDL0MsZUFBVyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsUUFBUSxHQUFHO0FBQ2hELFdBQUssVUFBVSxPQUFPLE9BQU87QUFBQSxJQUMvQjtBQUNBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sV0FBcUI7QUFDMUIsV0FBTyxLQUFLLE9BQU8sS0FBSyxrQkFBa0IsU0FBUyxhQUFhLEtBQUs7QUFBQSxFQUN2RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxVQUF1RDtBQUNyRSxTQUFLLGtCQUFrQixTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBQy9ELFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRZ0IsWUFBWSxVQUF5QjtBQUNuRCxVQUFNLFlBQVksUUFBUTtBQUMxQixTQUFLLGtCQUFrQixZQUFZLFFBQVE7QUFDM0MsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFNBQVMsT0FBdUI7QUFDckMsVUFBTSxRQUFRLFVBQVUsT0FBTyxLQUFLLEtBQUssT0FBTyxRQUFRLEtBQUs7QUFDN0QsU0FBSyxrQkFBa0IsU0FBUyxnQkFBZ0I7QUFDaEQsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Contains a component that displays and edits a multi-select dropdown.
5
+ */
6
+ import type { Promisable } from 'type-fest';
7
+ import { ValueComponent } from 'obsidian';
8
+ import type { ValidatorElement } from '../../HTMLElement.mjs';
9
+ import type { ValidatorComponent } from './ValidatorComponent.mjs';
10
+ import type { ValueComponentWithChangeTracking } from './ValueComponentWithChangeTracking.mjs';
11
+ /**
12
+ * A multi-select dropdown component.
13
+ *
14
+ * You can add this component using {@link SettingEx.addTypedMultipleDropdown}.
15
+ *
16
+ * In order to add the styles for the component, use {@link initPluginContext} in your plugin's `onload()` function.
17
+ *
18
+ * Alternatively, you can copy styles from {@link https://github.com/mnaoumov/obsidian-dev-utils/releases/latest/download/styles.css}.
19
+ *
20
+ * @typeParam T - The type of the value to select.
21
+ */
22
+ export declare class TypedMultipleDropdownComponent<T> extends ValueComponent<T[]> implements ValidatorComponent, ValueComponentWithChangeTracking<T[]> {
23
+ /**
24
+ * The validator element of the component.
25
+ *
26
+ * @returns The validator element.
27
+ */
28
+ get validatorEl(): ValidatorElement;
29
+ private readonly dropdownComponent;
30
+ private values;
31
+ /**
32
+ * Creates a new multiple dropdown component.
33
+ *
34
+ * @param containerEl - The container element of the component.
35
+ */
36
+ constructor(containerEl: HTMLElement);
37
+ /**
38
+ * Adds an option to the dropdown.
39
+ *
40
+ * @param value - The value of the option.
41
+ * @param display - The display text of the option.
42
+ * @returns The component.
43
+ */
44
+ addOption(value: T, display: string): this;
45
+ /**
46
+ * Adds multiple options to the dropdown.
47
+ *
48
+ * @param options - The options to add.
49
+ * @returns The component.
50
+ */
51
+ addOptions(options: Map<T, string>): this;
52
+ /**
53
+ * Gets the value of the component.
54
+ *
55
+ * @returns The value of the component.
56
+ */
57
+ getValue(): T[];
58
+ /**
59
+ * Sets the callback function to be called when the component is changed.
60
+ *
61
+ * @param callback - The callback function to be called when the component is changed.
62
+ * @returns The component.
63
+ */
64
+ onChange(callback: (value: T[]) => Promisable<void>): this;
65
+ /**
66
+ * Sets the disabled state of the component.
67
+ *
68
+ * @param disabled - The disabled state to set.
69
+ * @returns The component.
70
+ */
71
+ setDisabled(disabled: boolean): this;
72
+ /**
73
+ * Sets the value of the component.
74
+ *
75
+ * @param value - The value to set.
76
+ * @returns The component.
77
+ */
78
+ setValue(value: T[]): this;
79
+ }
@@ -0,0 +1,110 @@
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
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import {
9
+ DropdownComponent,
10
+ ValueComponent
11
+ } from "obsidian";
12
+ import { CssClass } from "../../CssClass.mjs";
13
+ import { getPluginId } from "../Plugin/PluginId.mjs";
14
+ class TypedMultipleDropdownComponent extends ValueComponent {
15
+ /**
16
+ * The validator element of the component.
17
+ *
18
+ * @returns The validator element.
19
+ */
20
+ get validatorEl() {
21
+ return this.dropdownComponent.selectEl;
22
+ }
23
+ dropdownComponent;
24
+ values = [];
25
+ /**
26
+ * Creates a new multiple dropdown component.
27
+ *
28
+ * @param containerEl - The container element of the component.
29
+ */
30
+ constructor(containerEl) {
31
+ super();
32
+ this.dropdownComponent = new DropdownComponent(containerEl);
33
+ this.dropdownComponent.selectEl.multiple = true;
34
+ containerEl.addClass(CssClass.LibraryName, getPluginId(), CssClass.TypedMultipleDropdownComponent);
35
+ }
36
+ /**
37
+ * Adds an option to the dropdown.
38
+ *
39
+ * @param value - The value of the option.
40
+ * @param display - The display text of the option.
41
+ * @returns The component.
42
+ */
43
+ addOption(value, display) {
44
+ let index = this.values.indexOf(value);
45
+ if (index === -1) {
46
+ this.values.push(value);
47
+ index = this.values.length - 1;
48
+ }
49
+ this.dropdownComponent.addOption(index.toString(), display);
50
+ return this;
51
+ }
52
+ /**
53
+ * Adds multiple options to the dropdown.
54
+ *
55
+ * @param options - The options to add.
56
+ * @returns The component.
57
+ */
58
+ addOptions(options) {
59
+ for (const [value, display] of options.entries()) {
60
+ this.addOption(value, display);
61
+ }
62
+ return this;
63
+ }
64
+ /**
65
+ * Gets the value of the component.
66
+ *
67
+ * @returns The value of the component.
68
+ */
69
+ getValue() {
70
+ return Array.from(this.dropdownComponent.selectEl.selectedOptions).map((o) => this.values[o.index]).filter((value) => value !== void 0);
71
+ }
72
+ /**
73
+ * Sets the callback function to be called when the component is changed.
74
+ *
75
+ * @param callback - The callback function to be called when the component is changed.
76
+ * @returns The component.
77
+ */
78
+ onChange(callback) {
79
+ this.dropdownComponent.onChange(() => callback(this.getValue()));
80
+ return this;
81
+ }
82
+ /**
83
+ * Sets the disabled state of the component.
84
+ *
85
+ * @param disabled - The disabled state to set.
86
+ * @returns The component.
87
+ */
88
+ setDisabled(disabled) {
89
+ super.setDisabled(disabled);
90
+ this.dropdownComponent.setDisabled(disabled);
91
+ return this;
92
+ }
93
+ /**
94
+ * Sets the value of the component.
95
+ *
96
+ * @param value - The value to set.
97
+ * @returns The component.
98
+ */
99
+ setValue(value) {
100
+ const selectedIndices = value.map((v) => this.values.indexOf(v)).filter((index) => index !== -1);
101
+ for (const option of Array.from(this.dropdownComponent.selectEl.options)) {
102
+ option.selected = selectedIndices.includes(option.index);
103
+ }
104
+ return this;
105
+ }
106
+ }
107
+ export {
108
+ TypedMultipleDropdownComponent
109
+ };
110
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIENvbnRhaW5zIGEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGEgbXVsdGktc2VsZWN0IGRyb3Bkb3duLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIERyb3Bkb3duQ29tcG9uZW50LFxuICBWYWx1ZUNvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgVmFsaWRhdG9yRWxlbWVudCB9IGZyb20gJy4uLy4uL0hUTUxFbGVtZW50LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5pbXBvcnQgdHlwZSB7IFNldHRpbmdFeCB9IGZyb20gJy4uL1NldHRpbmdFeC50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vVmFsaWRhdG9yQ29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcgfSBmcm9tICcuL1ZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nLnRzJztcblxuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi8uLi9Dc3NDbGFzcy50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5JZCB9IGZyb20gJy4uL1BsdWdpbi9QbHVnaW5JZC50cyc7XG5cbi8qKlxuICogQSBtdWx0aS1zZWxlY3QgZHJvcGRvd24gY29tcG9uZW50LlxuICpcbiAqIFlvdSBjYW4gYWRkIHRoaXMgY29tcG9uZW50IHVzaW5nIHtAbGluayBTZXR0aW5nRXguYWRkVHlwZWRNdWx0aXBsZURyb3Bkb3dufS5cbiAqXG4gKiBJbiBvcmRlciB0byBhZGQgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbXBvbmVudCwgdXNlIHtAbGluayBpbml0UGx1Z2luQ29udGV4dH0gaW4geW91ciBwbHVnaW4ncyBgb25sb2FkKClgIGZ1bmN0aW9uLlxuICpcbiAqIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gY29weSBzdHlsZXMgZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21uYW91bW92L29ic2lkaWFuLWRldi11dGlscy9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvc3R5bGVzLmNzc30uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIHRvIHNlbGVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVkTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudDxUPiBleHRlbmRzIFZhbHVlQ29tcG9uZW50PFRbXT4gaW1wbGVtZW50cyBWYWxpZGF0b3JDb21wb25lbnQsIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFRbXT4ge1xuICAvKipcbiAgICogVGhlIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWxpZGF0b3IgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsaWRhdG9yRWwoKTogVmFsaWRhdG9yRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Db21wb25lbnQuc2VsZWN0RWw7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duQ29tcG9uZW50OiBEcm9wZG93bkNvbXBvbmVudDtcbiAgcHJpdmF0ZSB2YWx1ZXM6IFRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG11bHRpcGxlIGRyb3Bkb3duIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRhaW5lckVsIC0gVGhlIGNvbnRhaW5lciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50ID0gbmV3IERyb3Bkb3duQ29tcG9uZW50KGNvbnRhaW5lckVsKTtcbiAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50LnNlbGVjdEVsLm11bHRpcGxlID0gdHJ1ZTtcbiAgICBjb250YWluZXJFbC5hZGRDbGFzcyhDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgZ2V0UGx1Z2luSWQoKSwgQ3NzQ2xhc3MuVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIG9wdGlvbiB0byB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9uLlxuICAgKiBAcGFyYW0gZGlzcGxheSAtIFRoZSBkaXNwbGF5IHRleHQgb2YgdGhlIG9wdGlvbi5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhZGRPcHRpb24odmFsdWU6IFQsIGRpc3BsYXk6IHN0cmluZyk6IHRoaXMge1xuICAgIGxldCBpbmRleCA9IHRoaXMudmFsdWVzLmluZGV4T2YodmFsdWUpO1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHRoaXMudmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgaW5kZXggPSB0aGlzLnZhbHVlcy5sZW5ndGggLSAxO1xuICAgIH1cbiAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50LmFkZE9wdGlvbihpbmRleC50b1N0cmluZygpLCBkaXNwbGF5KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIG9wdGlvbnMgdG8gdGhlIGRyb3Bkb3duLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIHRvIGFkZC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhZGRPcHRpb25zKG9wdGlvbnM6IE1hcDxULCBzdHJpbmc+KTogdGhpcyB7XG4gICAgZm9yIChjb25zdCBbdmFsdWUsIGRpc3BsYXldIG9mIG9wdGlvbnMuZW50cmllcygpKSB7XG4gICAgICB0aGlzLmFkZE9wdGlvbih2YWx1ZSwgZGlzcGxheSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldFZhbHVlKCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5kcm9wZG93bkNvbXBvbmVudC5zZWxlY3RFbC5zZWxlY3RlZE9wdGlvbnMpXG4gICAgICAubWFwKChvKSA9PiB0aGlzLnZhbHVlc1tvLmluZGV4XSlcbiAgICAgIC5maWx0ZXIoKHZhbHVlKTogdmFsdWUgaXMgVCA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGNoYW5nZWQuXG4gICAqXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGNoYW5nZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb25DaGFuZ2UoY2FsbGJhY2s6ICh2YWx1ZTogVFtdKSA9PiBQcm9taXNhYmxlPHZvaWQ+KTogdGhpcyB7XG4gICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudC5vbkNoYW5nZSgoKSA9PiBjYWxsYmFjayh0aGlzLmdldFZhbHVlKCkpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnQuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHRoaXMge1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kaWNlcyA9IHZhbHVlLm1hcCgodikgPT4gdGhpcy52YWx1ZXMuaW5kZXhPZih2KSkuZmlsdGVyKChpbmRleCkgPT4gaW5kZXggIT09IC0xKTtcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBBcnJheS5mcm9tKHRoaXMuZHJvcGRvd25Db21wb25lbnQuc2VsZWN0RWwub3B0aW9ucykpIHtcbiAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHNlbGVjdGVkSW5kaWNlcy5pbmNsdWRlcyhvcHRpb24uaW5kZXgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBUUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFVUCxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLG1CQUFtQjtBQWFyQixNQUFNLHVDQUEwQyxlQUF5RjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU05SSxJQUFXLGNBQWdDO0FBQ3pDLFdBQU8sS0FBSyxrQkFBa0I7QUFBQSxFQUNoQztBQUFBLEVBRWlCO0FBQUEsRUFDVCxTQUFjLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPaEIsWUFBWSxhQUEwQjtBQUMzQyxVQUFNO0FBQ04sU0FBSyxvQkFBb0IsSUFBSSxrQkFBa0IsV0FBVztBQUMxRCxTQUFLLGtCQUFrQixTQUFTLFdBQVc7QUFDM0MsZ0JBQVksU0FBUyxTQUFTLGFBQWEsWUFBWSxHQUFHLFNBQVMsOEJBQThCO0FBQUEsRUFDbkc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sVUFBVSxPQUFVLFNBQXVCO0FBQ2hELFFBQUksUUFBUSxLQUFLLE9BQU8sUUFBUSxLQUFLO0FBQ3JDLFFBQUksVUFBVSxJQUFJO0FBQ2hCLFdBQUssT0FBTyxLQUFLLEtBQUs7QUFDdEIsY0FBUSxLQUFLLE9BQU8sU0FBUztBQUFBLElBQy9CO0FBQ0EsU0FBSyxrQkFBa0IsVUFBVSxNQUFNLFNBQVMsR0FBRyxPQUFPO0FBQzFELFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxXQUFXLFNBQStCO0FBQy9DLGVBQVcsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLFFBQVEsR0FBRztBQUNoRCxXQUFLLFVBQVUsT0FBTyxPQUFPO0FBQUEsSUFDL0I7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLFdBQWdCO0FBQ3JCLFdBQU8sTUFBTSxLQUFLLEtBQUssa0JBQWtCLFNBQVMsZUFBZSxFQUM5RCxJQUFJLENBQUMsTUFBTSxLQUFLLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFDL0IsT0FBTyxDQUFDLFVBQXNCLFVBQVUsTUFBUztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxTQUFTLFVBQWtEO0FBQ2hFLFNBQUssa0JBQWtCLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7QUFDL0QsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixZQUFZLFVBQXlCO0FBQ25ELFVBQU0sWUFBWSxRQUFRO0FBQzFCLFNBQUssa0JBQWtCLFlBQVksUUFBUTtBQUMzQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sU0FBUyxPQUFrQjtBQUNoQyxVQUFNLGtCQUFrQixNQUFNLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLFVBQVUsRUFBRTtBQUMvRixlQUFXLFVBQVUsTUFBTSxLQUFLLEtBQUssa0JBQWtCLFNBQVMsT0FBTyxHQUFHO0FBQ3hFLGFBQU8sV0FBVyxnQkFBZ0IsU0FBUyxPQUFPLEtBQUs7QUFBQSxJQUN6RDtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,10 +1,13 @@
1
1
  /**
2
- * @packageDocumentation TypedRangeTextComponent
2
+ * @packageDocumentation
3
+ *
3
4
  * Contains a component that displays and edits a text-based value with a range.
4
5
  */
5
6
  import { TypedTextComponent } from './TypedTextComponent.mjs';
6
7
  /**
7
8
  * A component that displays and edits a text-based value with a range.
9
+ *
10
+ * @typeParam T - The type of the value to set.
8
11
  */
9
12
  export declare abstract class TypedRangeTextComponent<T> extends TypedTextComponent<T> {
10
13
  /**
@@ -41,4 +41,4 @@ class TypedRangeTextComponent extends TypedTextComponent {
41
41
  export {
42
42
  TypedRangeTextComponent
43
43
  };
44
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWRSYW5nZVRleHRDb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50XG4gKiBDb250YWlucyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRleHQtYmFzZWQgdmFsdWUgd2l0aCBhIHJhbmdlLlxuICovXG5cbmltcG9ydCB7IFR5cGVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vVHlwZWRUZXh0Q29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGFuZCBlZGl0cyBhIHRleHQtYmFzZWQgdmFsdWUgd2l0aCBhIHJhbmdlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHlwZWRSYW5nZVRleHRDb21wb25lbnQ8VD4gZXh0ZW5kcyBUeXBlZFRleHRDb21wb25lbnQ8VD4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbWF4IC0gVGhlIG1heGltdW0gdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0TWF4KG1heDogVCk6IHRoaXMge1xuICAgIHRoaXMuaW5wdXRFbC5tYXggPSB0aGlzLnZhbHVlVG9TdHJpbmcobWF4KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBtaW4gLSBUaGUgbWluaW11bSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRNaW4obWluOiBUKTogdGhpcyB7XG4gICAgdGhpcy5pbnB1dEVsLm1pbiA9IHRoaXMudmFsdWVUb1N0cmluZyhtaW4pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXAgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHN0ZXAgLSBUaGUgc3RlcCB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRTdGVwKHN0ZXA6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuaW5wdXRFbC5zdGVwID0gc3RlcC50b1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBS0EsU0FBUywwQkFBMEI7QUFLNUIsTUFBZSxnQ0FBbUMsbUJBQXNCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPdEUsT0FBTyxLQUFjO0FBQzFCLFNBQUssUUFBUSxNQUFNLEtBQUssY0FBYyxHQUFHO0FBQ3pDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxPQUFPLEtBQWM7QUFDMUIsU0FBSyxRQUFRLE1BQU0sS0FBSyxjQUFjLEdBQUc7QUFDekMsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFFBQVEsTUFBb0I7QUFDakMsU0FBSyxRQUFRLE9BQU8sS0FBSyxTQUFTO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
44
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbXBvbmVudHMvVHlwZWRSYW5nZVRleHRDb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSB0ZXh0LWJhc2VkIHZhbHVlIHdpdGggYSByYW5nZS5cbiAqL1xuXG5pbXBvcnQgeyBUeXBlZFRleHRDb21wb25lbnQgfSBmcm9tICcuL1R5cGVkVGV4dENvbXBvbmVudC50cyc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgYSB0ZXh0LWJhc2VkIHZhbHVlIHdpdGggYSByYW5nZS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHlwZWRSYW5nZVRleHRDb21wb25lbnQ8VD4gZXh0ZW5kcyBUeXBlZFRleHRDb21wb25lbnQ8VD4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbWF4IC0gVGhlIG1heGltdW0gdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0TWF4KG1heDogVCk6IHRoaXMge1xuICAgIHRoaXMuaW5wdXRFbC5tYXggPSB0aGlzLnZhbHVlVG9TdHJpbmcobWF4KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBtaW4gLSBUaGUgbWluaW11bSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRNaW4obWluOiBUKTogdGhpcyB7XG4gICAgdGhpcy5pbnB1dEVsLm1pbiA9IHRoaXMudmFsdWVUb1N0cmluZyhtaW4pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXAgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHN0ZXAgLSBUaGUgc3RlcCB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRTdGVwKHN0ZXA6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuaW5wdXRFbC5zdGVwID0gc3RlcC50b1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBTUEsU0FBUywwQkFBMEI7QUFPNUIsTUFBZSxnQ0FBbUMsbUJBQXNCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPdEUsT0FBTyxLQUFjO0FBQzFCLFNBQUssUUFBUSxNQUFNLEtBQUssY0FBYyxHQUFHO0FBQ3pDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxPQUFPLEtBQWM7QUFDMUIsU0FBSyxRQUFRLE1BQU0sS0FBSyxjQUFjLEdBQUc7QUFDekMsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLFFBQVEsTUFBb0I7QUFDakMsU0FBSyxRQUFRLE9BQU8sS0FBSyxTQUFTO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==