roamjs-components 0.85.1 → 0.86.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (810) hide show
  1. package/.eslintrc.json +19 -0
  2. package/.github/workflows/main.yaml +34 -0
  3. package/LICENSE +21 -21
  4. package/README.md +29 -29
  5. package/docs/components.md +32 -0
  6. package/docs/date.md +13 -0
  7. package/docs/dom.md +58 -0
  8. package/docs/events.md +16 -0
  9. package/docs/hooks.md +15 -0
  10. package/docs/marked.md +56 -0
  11. package/docs/queries.md +24 -0
  12. package/docs/scripts.md +20 -0
  13. package/docs/types.md +32 -0
  14. package/docs/util.md +38 -0
  15. package/docs/writes.md +23 -0
  16. package/package.json +125 -117
  17. package/patches/@blueprintjs+core+3.50.4.patch +48 -0
  18. package/patches/@blueprintjs+select+3.18.6.patch +12 -0
  19. package/patches/dotenv+16.3.1.patch +12 -0
  20. package/src/components/AutocompleteInput.tsx +248 -0
  21. package/src/components/BlockErrorBoundary.tsx +39 -0
  22. package/src/components/BlockInput.tsx +117 -0
  23. package/src/components/ComponentContainer.tsx +70 -0
  24. package/src/components/ConfigPage.tsx +320 -0
  25. package/src/components/ConfigPanels/BlockPanel.tsx +60 -0
  26. package/src/components/ConfigPanels/BlocksPanel.tsx +100 -0
  27. package/src/components/ConfigPanels/CustomPanel.tsx +41 -0
  28. package/src/components/ConfigPanels/FlagPanel.tsx +48 -0
  29. package/src/components/ConfigPanels/MultiChildPanel.tsx +99 -0
  30. package/src/components/ConfigPanels/MultiTextPanel.tsx +23 -0
  31. package/src/components/ConfigPanels/NumberPanel.tsx +36 -0
  32. package/src/components/ConfigPanels/OauthPanel.tsx +127 -0
  33. package/src/components/ConfigPanels/PagesPanel.tsx +19 -0
  34. package/src/components/ConfigPanels/SelectPanel.tsx +46 -0
  35. package/src/components/ConfigPanels/TextPanel.tsx +44 -0
  36. package/src/components/ConfigPanels/TimePanel.tsx +45 -0
  37. package/src/components/ConfigPanels/getBrandColors.tsx +31 -0
  38. package/src/components/ConfigPanels/types.ts +111 -0
  39. package/src/components/ConfigPanels/useSingleChildValue.tsx +63 -0
  40. package/src/components/CursorMenu.tsx +286 -0
  41. package/src/components/Description.tsx +31 -0
  42. package/src/components/ExtensionApiContext.tsx +24 -0
  43. package/src/components/ExternalLogin.tsx +190 -0
  44. package/src/components/Filter.tsx +313 -0
  45. package/src/components/FormDialog.tsx +503 -0
  46. package/src/components/Loading.tsx +33 -0
  47. package/src/components/MenuItemSelect.tsx +93 -0
  48. package/src/components/OauthPanel.tsx +62 -0
  49. package/src/components/OauthSelect.tsx +40 -0
  50. package/src/components/PageInput.tsx +17 -0
  51. package/src/components/PageLink.tsx +50 -0
  52. package/src/components/ProgressDialog.tsx +85 -0
  53. package/src/components/SimpleAlert.tsx +103 -0
  54. package/src/components/Toast.tsx +85 -0
  55. package/src/components/index.ts +5 -0
  56. package/src/components.tsx +285 -0
  57. package/src/date/constants.ts +19 -0
  58. package/{date/index.d.ts → src/date/index.ts} +3 -3
  59. package/src/date/parseNlpDate.ts +255 -0
  60. package/src/date/parseRoamDateUid.ts +6 -0
  61. package/src/dom/addBlockCommand.ts +59 -0
  62. package/src/dom/addKeyboardTriggers.ts +52 -0
  63. package/src/dom/addOldRoamJSDependency.ts +10 -0
  64. package/src/dom/addRoamJSDependency.ts +7 -0
  65. package/src/dom/addScriptAsDependency.ts +24 -0
  66. package/src/dom/addStyle.ts +11 -0
  67. package/src/dom/constants.ts +1 -0
  68. package/src/dom/createBlockObserver.ts +44 -0
  69. package/src/dom/createButtonObserver.ts +31 -0
  70. package/src/dom/createDivObserver.ts +15 -0
  71. package/src/dom/createHTMLObserver.ts +44 -0
  72. package/src/dom/createHashtagObserver.ts +22 -0
  73. package/src/dom/createIconButton.ts +13 -0
  74. package/src/dom/createObserver.ts +15 -0
  75. package/src/dom/createOverlayObserver.ts +7 -0
  76. package/src/dom/createPageObserver.ts +37 -0
  77. package/src/dom/createPageTitleObserver.ts +43 -0
  78. package/src/dom/elToTitle.ts +21 -0
  79. package/src/dom/genericError.ts +13 -0
  80. package/src/dom/getActiveUids.ts +6 -0
  81. package/src/dom/getBlockUidFromTarget.ts +39 -0
  82. package/src/dom/getCurrentPageUid.ts +5 -0
  83. package/src/dom/getDomRefs.ts +15 -0
  84. package/src/dom/getDropUidOffset.ts +36 -0
  85. package/src/dom/getMutatedNodes.ts +31 -0
  86. package/src/dom/getPageTitleByHtmlElement.ts +19 -0
  87. package/src/dom/getPageTitleValueByHtmlElement.ts +8 -0
  88. package/src/dom/getReferenceBlockUid.ts +22 -0
  89. package/src/dom/getRoamUrl.ts +6 -0
  90. package/src/dom/getRoamUrlByPage.ts +9 -0
  91. package/src/dom/getUids.ts +9 -0
  92. package/src/dom/getUidsFromButton.ts +9 -0
  93. package/src/dom/getUidsFromId.ts +13 -0
  94. package/{dom/index.d.ts → src/dom/index.ts} +30 -30
  95. package/src/dom/parseRoamBlocksToHtml.ts +118 -0
  96. package/src/dom/resolveRefs.ts +31 -0
  97. package/{events/index.d.ts → src/events/index.ts} +1 -1
  98. package/src/events/watchOnce.ts +17 -0
  99. package/{hooks/index.d.ts → src/hooks/index.ts} +2 -2
  100. package/src/hooks/useArrowKeyDown.ts +72 -0
  101. package/src/hooks/useSubTree.ts +16 -0
  102. package/src/marked/index.ts +619 -0
  103. package/src/queries/compileDatalog.ts +81 -0
  104. package/src/queries/getAllBlockUids.ts +6 -0
  105. package/src/queries/getAllBlockUidsAndTexts.ts +6 -0
  106. package/src/queries/getAllPageNames.ts +6 -0
  107. package/src/queries/getAttributeValueByBlockAndName.ts +23 -0
  108. package/src/queries/getBasicTreeByParentUid.ts +21 -0
  109. package/src/queries/getBlockUidAndTextIncludingText.ts +15 -0
  110. package/src/queries/getBlockUidByTextOnPage.ts +12 -0
  111. package/src/queries/getBlockUidsAndTextsReferencingPage.ts +18 -0
  112. package/src/queries/getBlockUidsByPageTitle.ts +12 -0
  113. package/src/queries/getBlockUidsReferencingBlock.ts +10 -0
  114. package/src/queries/getBlockUidsReferencingPage.ts +13 -0
  115. package/src/queries/getBlockUidsWithParentUid.ts +10 -0
  116. package/src/queries/getChildrenLengthByPageUid.ts +7 -0
  117. package/src/queries/getChildrenLengthByParentUid.ts +6 -0
  118. package/src/queries/getCreateTimeByBlockUid.ts +6 -0
  119. package/src/queries/getCurrentUser.ts +12 -0
  120. package/src/queries/getCurrentUserDisplayName.ts +9 -0
  121. package/src/queries/getCurrentUserEmail.ts +12 -0
  122. package/src/queries/getCurrentUserUid.ts +12 -0
  123. package/src/queries/getDisplayNameByEmail.ts +6 -0
  124. package/src/queries/getDisplayNameByUid.ts +6 -0
  125. package/src/queries/getEditTimeByBlockUid.ts +6 -0
  126. package/src/queries/getEditedUserEmailByBlockUid.ts +6 -0
  127. package/src/queries/getFirstChildTextByBlockUid.ts +8 -0
  128. package/src/queries/getFirstChildUidByBlockUid.ts +6 -0
  129. package/src/queries/getFullTreeByParentUid.ts +60 -0
  130. package/src/queries/getLinkedPageTitlesUnderUid.ts +8 -0
  131. package/src/queries/getNthChildUidByBlockUid.ts +16 -0
  132. package/src/queries/getOrderByBlockUid.ts +6 -0
  133. package/src/queries/getPageTitleByBlockUid.ts +8 -0
  134. package/src/queries/getPageTitleByPageUid.ts +11 -0
  135. package/src/queries/getPageTitleReferencesByPageTitle.ts +13 -0
  136. package/src/queries/getPageTitlesAndBlockUidsReferencingPage.ts +18 -0
  137. package/src/queries/getPageTitlesAndUidsDirectlyReferencingPage.ts +18 -0
  138. package/src/queries/getPageTitlesReferencingBlockUid.ts +10 -0
  139. package/src/queries/getPageTitlesStartingWithPrefix.ts +8 -0
  140. package/src/queries/getPageUidByBlockUid.ts +8 -0
  141. package/src/queries/getPageUidByPageTitle.ts +10 -0
  142. package/src/queries/getPageViewType.ts +11 -0
  143. package/src/queries/getParentTextByBlockUid.ts +6 -0
  144. package/src/queries/getParentTextByBlockUidAndTag.ts +12 -0
  145. package/src/queries/getParentUidByBlockUid.ts +10 -0
  146. package/src/queries/getParentUidsOfBlockUid.ts +10 -0
  147. package/src/queries/getSettingsByEmail.ts +8 -0
  148. package/src/queries/getShallowTreeByParentUid.ts +17 -0
  149. package/src/queries/getTextByBlockUid.ts +8 -0
  150. package/src/queries/index.ts +5 -0
  151. package/src/queries/isLiveBlock.ts +4 -0
  152. package/src/queries/isTagOnPage.ts +12 -0
  153. package/src/queries/normalizePageTitle.ts +4 -0
  154. package/src/scripts/index.ts +2 -0
  155. package/src/scripts/publishToRoamDepot.ts +163 -0
  156. package/src/testing/mockRoamEnvironment.ts +1489 -0
  157. package/src/types/index.ts +260 -0
  158. package/src/types/native.ts +495 -0
  159. package/src/types/query-builder.ts +10 -0
  160. package/src/types/smartblocks.ts +39 -0
  161. package/src/util/addInputSetting.ts +33 -0
  162. package/src/util/apiDelete.ts +5 -0
  163. package/src/util/apiGet.ts +5 -0
  164. package/src/util/apiPost.ts +5 -0
  165. package/src/util/apiPut.ts +5 -0
  166. package/src/util/createOverlayRender.ts +12 -0
  167. package/src/util/createTagRegex.ts +7 -0
  168. package/src/util/dispatchToRegistry.ts +11 -0
  169. package/src/util/env.ts +44 -0
  170. package/src/util/extensionApiContext.ts +17 -0
  171. package/src/util/extensionDeprecatedWarning.ts +57 -0
  172. package/src/util/extractRef.ts +8 -0
  173. package/src/util/extractTag.ts +15 -0
  174. package/src/util/focusMainWindowBlock.ts +13 -0
  175. package/src/util/getAuthorizationHeader.ts +11 -0
  176. package/src/util/getLocalStorageKey.ts +4 -0
  177. package/src/util/getOauth.ts +57 -0
  178. package/src/util/getOauthAccounts.ts +26 -0
  179. package/src/util/getRenderRoot.ts +17 -0
  180. package/src/util/getSettingIntFromTree.ts +18 -0
  181. package/src/util/getSettingValueFromTree.ts +23 -0
  182. package/src/util/getSettingValuesFromTree.ts +20 -0
  183. package/src/util/getSubTree.ts +31 -0
  184. package/src/util/getToken.ts +12 -0
  185. package/src/util/getTokenFromTree.ts +6 -0
  186. package/src/util/getWorkerClient.ts +55 -0
  187. package/src/util/handleBodyFetch.ts +38 -0
  188. package/src/util/handleFetch.ts +70 -0
  189. package/src/util/handleUrlFetch.ts +30 -0
  190. package/src/util/idToTitle.ts +8 -0
  191. package/{util/index.d.ts → src/util/index.ts} +24 -24
  192. package/src/util/isControl.ts +4 -0
  193. package/src/util/localStorageGet.ts +6 -0
  194. package/src/util/localStorageRemove.ts +6 -0
  195. package/src/util/localStorageSet.ts +6 -0
  196. package/src/util/registerExperimentalMode.ts +76 -0
  197. package/src/util/registerSmartBlocksCommand.ts +23 -0
  198. package/src/util/removeFromRegistry.ts +11 -0
  199. package/src/util/renderOverlay.ts +69 -0
  200. package/src/util/renderWithUnmount.ts +50 -0
  201. package/src/util/runExtension.ts +206 -0
  202. package/src/util/setInputSetting.ts +46 -0
  203. package/src/util/setInputSettings.ts +37 -0
  204. package/src/util/stripUid.ts +10 -0
  205. package/src/util/toConfigPageName.ts +3 -0
  206. package/src/util/toFlexRegex.ts +7 -0
  207. package/src/writes/clearBlockById.ts +17 -0
  208. package/src/writes/clearBlockByUid.ts +16 -0
  209. package/src/writes/createBlock.ts +50 -0
  210. package/src/writes/createPage.ts +30 -0
  211. package/src/writes/deleteBlock.ts +9 -0
  212. package/{writes/index.d.ts → src/writes/index.ts} +8 -8
  213. package/src/writes/openBlockInSidebar.ts +13 -0
  214. package/src/writes/submitActions.ts +54 -0
  215. package/src/writes/updateActiveBlock.ts +17 -0
  216. package/src/writes/updateBlock.ts +33 -0
  217. package/tests/backend.test.tsx +28 -0
  218. package/tests/date.test.ts +26 -0
  219. package/tests/dom.test.tsx +10 -0
  220. package/tests/index.test.tsx +25 -0
  221. package/tests/marked.test.ts +474 -0
  222. package/tests/util/createTagRegex.test.ts +63 -0
  223. package/tests/util/extractTag.test.ts +17 -0
  224. package/tests/util/toFlexRegex.test.ts +7 -0
  225. package/tsconfig.json +26 -0
  226. package/components/AutocompleteInput.d.ts +0 -28
  227. package/components/AutocompleteInput.js +0 -121
  228. package/components/AutocompleteInput.js.map +0 -1
  229. package/components/BlockErrorBoundary.d.ts +0 -15
  230. package/components/BlockErrorBoundary.js +0 -28
  231. package/components/BlockErrorBoundary.js.map +0 -1
  232. package/components/BlockInput.d.ts +0 -13
  233. package/components/BlockInput.js +0 -56
  234. package/components/BlockInput.js.map +0 -1
  235. package/components/ComponentContainer.d.ts +0 -10
  236. package/components/ComponentContainer.js +0 -38
  237. package/components/ComponentContainer.js.map +0 -1
  238. package/components/ConfigPage.d.ts +0 -35
  239. package/components/ConfigPage.js +0 -160
  240. package/components/ConfigPage.js.map +0 -1
  241. package/components/ConfigPanels/BlockPanel.d.ts +0 -3
  242. package/components/ConfigPanels/BlockPanel.js +0 -43
  243. package/components/ConfigPanels/BlockPanel.js.map +0 -1
  244. package/components/ConfigPanels/BlocksPanel.d.ts +0 -3
  245. package/components/ConfigPanels/BlocksPanel.js +0 -69
  246. package/components/ConfigPanels/BlocksPanel.js.map +0 -1
  247. package/components/ConfigPanels/CustomPanel.d.ts +0 -3
  248. package/components/ConfigPanels/CustomPanel.js +0 -25
  249. package/components/ConfigPanels/CustomPanel.js.map +0 -1
  250. package/components/ConfigPanels/FlagPanel.d.ts +0 -3
  251. package/components/ConfigPanels/FlagPanel.js +0 -32
  252. package/components/ConfigPanels/FlagPanel.js.map +0 -1
  253. package/components/ConfigPanels/MultiChildPanel.d.ts +0 -9
  254. package/components/ConfigPanels/MultiChildPanel.js +0 -59
  255. package/components/ConfigPanels/MultiChildPanel.js.map +0 -1
  256. package/components/ConfigPanels/MultiTextPanel.d.ts +0 -3
  257. package/components/ConfigPanels/MultiTextPanel.js +0 -15
  258. package/components/ConfigPanels/MultiTextPanel.js.map +0 -1
  259. package/components/ConfigPanels/NumberPanel.d.ts +0 -3
  260. package/components/ConfigPanels/NumberPanel.js +0 -26
  261. package/components/ConfigPanels/NumberPanel.js.map +0 -1
  262. package/components/ConfigPanels/OauthPanel.d.ts +0 -3
  263. package/components/ConfigPanels/OauthPanel.js +0 -82
  264. package/components/ConfigPanels/OauthPanel.js.map +0 -1
  265. package/components/ConfigPanels/PagesPanel.d.ts +0 -3
  266. package/components/ConfigPanels/PagesPanel.js +0 -12
  267. package/components/ConfigPanels/PagesPanel.js.map +0 -1
  268. package/components/ConfigPanels/SelectPanel.d.ts +0 -3
  269. package/components/ConfigPanels/SelectPanel.js +0 -28
  270. package/components/ConfigPanels/SelectPanel.js.map +0 -1
  271. package/components/ConfigPanels/TextPanel.d.ts +0 -3
  272. package/components/ConfigPanels/TextPanel.js +0 -29
  273. package/components/ConfigPanels/TextPanel.js.map +0 -1
  274. package/components/ConfigPanels/TimePanel.d.ts +0 -3
  275. package/components/ConfigPanels/TimePanel.js +0 -35
  276. package/components/ConfigPanels/TimePanel.js.map +0 -1
  277. package/components/ConfigPanels/getBrandColors.d.ts +0 -7
  278. package/components/ConfigPanels/getBrandColors.js +0 -29
  279. package/components/ConfigPanels/getBrandColors.js.map +0 -1
  280. package/components/ConfigPanels/types.d.ts +0 -84
  281. package/components/ConfigPanels/types.js +0 -3
  282. package/components/ConfigPanels/types.js.map +0 -1
  283. package/components/ConfigPanels/useSingleChildValue.d.ts +0 -13
  284. package/components/ConfigPanels/useSingleChildValue.js +0 -44
  285. package/components/ConfigPanels/useSingleChildValue.js.map +0 -1
  286. package/components/CursorMenu.d.ts +0 -21
  287. package/components/CursorMenu.js +0 -182
  288. package/components/CursorMenu.js.map +0 -1
  289. package/components/Description.d.ts +0 -5
  290. package/components/Description.js +0 -17
  291. package/components/Description.js.map +0 -1
  292. package/components/ExtensionApiContext.d.ts +0 -31
  293. package/components/ExtensionApiContext.js +0 -17
  294. package/components/ExtensionApiContext.js.map +0 -1
  295. package/components/ExternalLogin.d.ts +0 -18
  296. package/components/ExternalLogin.js +0 -142
  297. package/components/ExternalLogin.js.map +0 -1
  298. package/components/Filter.d.ts +0 -15
  299. package/components/Filter.js +0 -143
  300. package/components/Filter.js.map +0 -1
  301. package/components/FormDialog.d.ts +0 -55
  302. package/components/FormDialog.js +0 -224
  303. package/components/FormDialog.js.map +0 -1
  304. package/components/Loading.d.ts +0 -4
  305. package/components/Loading.js +0 -36
  306. package/components/Loading.js.map +0 -1
  307. package/components/MenuItemSelect.d.ts +0 -17
  308. package/components/MenuItemSelect.js +0 -24
  309. package/components/MenuItemSelect.js.map +0 -1
  310. package/components/OauthPanel.d.ts +0 -7
  311. package/components/OauthPanel.js +0 -31
  312. package/components/OauthPanel.js.map +0 -1
  313. package/components/OauthSelect.d.ts +0 -5
  314. package/components/OauthSelect.js +0 -26
  315. package/components/OauthSelect.js.map +0 -1
  316. package/components/PageInput.d.ts +0 -6
  317. package/components/PageInput.js +0 -14
  318. package/components/PageInput.js.map +0 -1
  319. package/components/PageLink.d.ts +0 -6
  320. package/components/PageLink.js +0 -32
  321. package/components/PageLink.js.map +0 -1
  322. package/components/ProgressDialog.d.ts +0 -11
  323. package/components/ProgressDialog.js +0 -61
  324. package/components/ProgressDialog.js.map +0 -1
  325. package/components/SimpleAlert.d.ts +0 -15
  326. package/components/SimpleAlert.js +0 -48
  327. package/components/SimpleAlert.js.map +0 -1
  328. package/components/Toast.d.ts +0 -15
  329. package/components/Toast.js +0 -51
  330. package/components/Toast.js.map +0 -1
  331. package/components/index.d.ts +0 -0
  332. package/components/index.js +0 -5
  333. package/components/index.js.map +0 -1
  334. package/components.d.ts +0 -5
  335. package/components.js +0 -171
  336. package/components.js.map +0 -1
  337. package/date/constants.d.ts +0 -3
  338. package/date/constants.js +0 -20
  339. package/date/constants.js.map +0 -1
  340. package/date/index.js +0 -10
  341. package/date/index.js.map +0 -1
  342. package/date/parseNlpDate.d.ts +0 -5
  343. package/date/parseNlpDate.js +0 -227
  344. package/date/parseNlpDate.js.map +0 -1
  345. package/date/parseRoamDateUid.d.ts +0 -2
  346. package/date/parseRoamDateUid.js +0 -8
  347. package/date/parseRoamDateUid.js.map +0 -1
  348. package/dom/addBlockCommand.d.ts +0 -5
  349. package/dom/addBlockCommand.js +0 -54
  350. package/dom/addBlockCommand.js.map +0 -1
  351. package/dom/addKeyboardTriggers.d.ts +0 -11
  352. package/dom/addKeyboardTriggers.js +0 -39
  353. package/dom/addKeyboardTriggers.js.map +0 -1
  354. package/dom/addOldRoamJSDependency.d.ts +0 -2
  355. package/dom/addOldRoamJSDependency.js +0 -11
  356. package/dom/addOldRoamJSDependency.js.map +0 -1
  357. package/dom/addRoamJSDependency.d.ts +0 -2
  358. package/dom/addRoamJSDependency.js +0 -9
  359. package/dom/addRoamJSDependency.js.map +0 -1
  360. package/dom/addScriptAsDependency.d.ts +0 -6
  361. package/dom/addScriptAsDependency.js +0 -17
  362. package/dom/addScriptAsDependency.js.map +0 -1
  363. package/dom/addStyle.d.ts +0 -2
  364. package/dom/addStyle.js +0 -15
  365. package/dom/addStyle.js.map +0 -1
  366. package/dom/constants.d.ts +0 -1
  367. package/dom/constants.js +0 -5
  368. package/dom/constants.js.map +0 -1
  369. package/dom/createBlockObserver.d.ts +0 -7
  370. package/dom/createBlockObserver.js +0 -44
  371. package/dom/createBlockObserver.js.map +0 -1
  372. package/dom/createButtonObserver.d.ts +0 -6
  373. package/dom/createButtonObserver.js +0 -22
  374. package/dom/createButtonObserver.js.map +0 -1
  375. package/dom/createDivObserver.d.ts +0 -2
  376. package/dom/createDivObserver.js +0 -14
  377. package/dom/createDivObserver.js.map +0 -1
  378. package/dom/createHTMLObserver.d.ts +0 -8
  379. package/dom/createHTMLObserver.js +0 -25
  380. package/dom/createHTMLObserver.js.map +0 -1
  381. package/dom/createHashtagObserver.d.ts +0 -5
  382. package/dom/createHashtagObserver.js +0 -17
  383. package/dom/createHashtagObserver.js.map +0 -1
  384. package/dom/createIconButton.d.ts +0 -2
  385. package/dom/createIconButton.js +0 -13
  386. package/dom/createIconButton.js.map +0 -1
  387. package/dom/createObserver.d.ts +0 -2
  388. package/dom/createObserver.js +0 -10
  389. package/dom/createObserver.js.map +0 -1
  390. package/dom/createOverlayObserver.d.ts +0 -2
  391. package/dom/createOverlayObserver.js +0 -7
  392. package/dom/createOverlayObserver.js.map +0 -1
  393. package/dom/createPageObserver.d.ts +0 -2
  394. package/dom/createPageObserver.js +0 -35
  395. package/dom/createPageObserver.js.map +0 -1
  396. package/dom/createPageTitleObserver.d.ts +0 -6
  397. package/dom/createPageTitleObserver.js +0 -32
  398. package/dom/createPageTitleObserver.js.map +0 -1
  399. package/dom/elToTitle.d.ts +0 -2
  400. package/dom/elToTitle.js +0 -23
  401. package/dom/elToTitle.js.map +0 -1
  402. package/dom/genericError.d.ts +0 -3
  403. package/dom/genericError.js +0 -12
  404. package/dom/genericError.js.map +0 -1
  405. package/dom/getActiveUids.d.ts +0 -3
  406. package/dom/getActiveUids.js +0 -7
  407. package/dom/getActiveUids.js.map +0 -1
  408. package/dom/getBlockUidFromTarget.d.ts +0 -2
  409. package/dom/getBlockUidFromTarget.js +0 -34
  410. package/dom/getBlockUidFromTarget.js.map +0 -1
  411. package/dom/getCurrentPageUid.d.ts +0 -2
  412. package/dom/getCurrentPageUid.js +0 -9
  413. package/dom/getCurrentPageUid.js.map +0 -1
  414. package/dom/getDomRefs.d.ts +0 -2
  415. package/dom/getDomRefs.js +0 -13
  416. package/dom/getDomRefs.js.map +0 -1
  417. package/dom/getDropUidOffset.d.ts +0 -5
  418. package/dom/getDropUidOffset.js +0 -28
  419. package/dom/getDropUidOffset.js.map +0 -1
  420. package/dom/getMutatedNodes.d.ts +0 -7
  421. package/dom/getMutatedNodes.js +0 -12
  422. package/dom/getMutatedNodes.js.map +0 -1
  423. package/dom/getPageTitleByHtmlElement.d.ts +0 -2
  424. package/dom/getPageTitleByHtmlElement.js +0 -13
  425. package/dom/getPageTitleByHtmlElement.js.map +0 -1
  426. package/dom/getPageTitleValueByHtmlElement.d.ts +0 -2
  427. package/dom/getPageTitleValueByHtmlElement.js +0 -10
  428. package/dom/getPageTitleValueByHtmlElement.js.map +0 -1
  429. package/dom/getReferenceBlockUid.d.ts +0 -2
  430. package/dom/getReferenceBlockUid.js +0 -19
  431. package/dom/getReferenceBlockUid.js.map +0 -1
  432. package/dom/getRoamUrl.d.ts +0 -2
  433. package/dom/getRoamUrl.js +0 -5
  434. package/dom/getRoamUrl.js.map +0 -1
  435. package/dom/getRoamUrlByPage.d.ts +0 -2
  436. package/dom/getRoamUrlByPage.js +0 -11
  437. package/dom/getRoamUrlByPage.js.map +0 -1
  438. package/dom/getUids.d.ts +0 -3
  439. package/dom/getUids.js +0 -9
  440. package/dom/getUids.js.map +0 -1
  441. package/dom/getUidsFromButton.d.ts +0 -3
  442. package/dom/getUidsFromButton.js +0 -9
  443. package/dom/getUidsFromButton.js.map +0 -1
  444. package/dom/getUidsFromId.d.ts +0 -5
  445. package/dom/getUidsFromId.js +0 -16
  446. package/dom/getUidsFromId.js.map +0 -1
  447. package/dom/index.js +0 -64
  448. package/dom/index.js.map +0 -1
  449. package/dom/parseRoamBlocksToHtml.d.ts +0 -11
  450. package/dom/parseRoamBlocksToHtml.js +0 -80
  451. package/dom/parseRoamBlocksToHtml.js.map +0 -1
  452. package/dom/resolveRefs.d.ts +0 -2
  453. package/dom/resolveRefs.js +0 -25
  454. package/dom/resolveRefs.js.map +0 -1
  455. package/events/index.js +0 -9
  456. package/events/index.js.map +0 -1
  457. package/events/watchOnce.d.ts +0 -3
  458. package/events/watchOnce.js +0 -13
  459. package/events/watchOnce.js.map +0 -1
  460. package/hooks/index.js +0 -11
  461. package/hooks/index.js.map +0 -1
  462. package/hooks/useArrowKeyDown.d.ts +0 -10
  463. package/hooks/useArrowKeyDown.js +0 -55
  464. package/hooks/useArrowKeyDown.js.map +0 -1
  465. package/hooks/useSubTree.d.ts +0 -3
  466. package/hooks/useSubTree.js +0 -12
  467. package/hooks/useSubTree.js.map +0 -1
  468. package/marked/index.d.ts +0 -25
  469. package/marked/index.js +0 -568
  470. package/marked/index.js.map +0 -1
  471. package/queries/compileDatalog.d.ts +0 -3
  472. package/queries/compileDatalog.js +0 -64
  473. package/queries/compileDatalog.js.map +0 -1
  474. package/queries/getAllBlockUids.d.ts +0 -2
  475. package/queries/getAllBlockUids.js +0 -7
  476. package/queries/getAllBlockUids.js.map +0 -1
  477. package/queries/getAllBlockUidsAndTexts.d.ts +0 -5
  478. package/queries/getAllBlockUidsAndTexts.js +0 -7
  479. package/queries/getAllBlockUidsAndTexts.js.map +0 -1
  480. package/queries/getAllPageNames.d.ts +0 -2
  481. package/queries/getAllPageNames.js +0 -7
  482. package/queries/getAllPageNames.js.map +0 -1
  483. package/queries/getAttributeValueByBlockAndName.d.ts +0 -5
  484. package/queries/getAttributeValueByBlockAndName.js +0 -12
  485. package/queries/getAttributeValueByBlockAndName.js.map +0 -1
  486. package/queries/getBasicTreeByParentUid.d.ts +0 -3
  487. package/queries/getBasicTreeByParentUid.js +0 -14
  488. package/queries/getBasicTreeByParentUid.js.map +0 -1
  489. package/queries/getBlockUidAndTextIncludingText.d.ts +0 -5
  490. package/queries/getBlockUidAndTextIncludingText.js +0 -8
  491. package/queries/getBlockUidAndTextIncludingText.js.map +0 -1
  492. package/queries/getBlockUidByTextOnPage.d.ts +0 -5
  493. package/queries/getBlockUidByTextOnPage.js +0 -8
  494. package/queries/getBlockUidByTextOnPage.js.map +0 -1
  495. package/queries/getBlockUidsAndTextsReferencingPage.d.ts +0 -5
  496. package/queries/getBlockUidsAndTextsReferencingPage.js +0 -10
  497. package/queries/getBlockUidsAndTextsReferencingPage.js.map +0 -1
  498. package/queries/getBlockUidsByPageTitle.d.ts +0 -2
  499. package/queries/getBlockUidsByPageTitle.js +0 -9
  500. package/queries/getBlockUidsByPageTitle.js.map +0 -1
  501. package/queries/getBlockUidsReferencingBlock.d.ts +0 -2
  502. package/queries/getBlockUidsReferencingBlock.js +0 -5
  503. package/queries/getBlockUidsReferencingBlock.js.map +0 -1
  504. package/queries/getBlockUidsReferencingPage.d.ts +0 -2
  505. package/queries/getBlockUidsReferencingPage.js +0 -7
  506. package/queries/getBlockUidsReferencingPage.js.map +0 -1
  507. package/queries/getBlockUidsWithParentUid.d.ts +0 -2
  508. package/queries/getBlockUidsWithParentUid.js +0 -7
  509. package/queries/getBlockUidsWithParentUid.js.map +0 -1
  510. package/queries/getChildrenLengthByPageUid.d.ts +0 -2
  511. package/queries/getChildrenLengthByPageUid.js +0 -9
  512. package/queries/getChildrenLengthByPageUid.js.map +0 -1
  513. package/queries/getChildrenLengthByParentUid.d.ts +0 -2
  514. package/queries/getChildrenLengthByParentUid.js +0 -8
  515. package/queries/getChildrenLengthByParentUid.js.map +0 -1
  516. package/queries/getCreateTimeByBlockUid.d.ts +0 -2
  517. package/queries/getCreateTimeByBlockUid.js +0 -8
  518. package/queries/getCreateTimeByBlockUid.js.map +0 -1
  519. package/queries/getCurrentUser.d.ts +0 -2
  520. package/queries/getCurrentUser.js +0 -12
  521. package/queries/getCurrentUser.js.map +0 -1
  522. package/queries/getCurrentUserDisplayName.d.ts +0 -2
  523. package/queries/getCurrentUserDisplayName.js +0 -11
  524. package/queries/getCurrentUserDisplayName.js.map +0 -1
  525. package/queries/getCurrentUserEmail.d.ts +0 -2
  526. package/queries/getCurrentUserEmail.js +0 -14
  527. package/queries/getCurrentUserEmail.js.map +0 -1
  528. package/queries/getCurrentUserUid.d.ts +0 -2
  529. package/queries/getCurrentUserUid.js +0 -14
  530. package/queries/getCurrentUserUid.js.map +0 -1
  531. package/queries/getDisplayNameByEmail.d.ts +0 -2
  532. package/queries/getDisplayNameByEmail.js +0 -8
  533. package/queries/getDisplayNameByEmail.js.map +0 -1
  534. package/queries/getDisplayNameByUid.d.ts +0 -2
  535. package/queries/getDisplayNameByUid.js +0 -8
  536. package/queries/getDisplayNameByUid.js.map +0 -1
  537. package/queries/getEditTimeByBlockUid.d.ts +0 -2
  538. package/queries/getEditTimeByBlockUid.js +0 -8
  539. package/queries/getEditTimeByBlockUid.js.map +0 -1
  540. package/queries/getEditedUserEmailByBlockUid.d.ts +0 -2
  541. package/queries/getEditedUserEmailByBlockUid.js +0 -8
  542. package/queries/getEditedUserEmailByBlockUid.js.map +0 -1
  543. package/queries/getFirstChildTextByBlockUid.d.ts +0 -2
  544. package/queries/getFirstChildTextByBlockUid.js +0 -8
  545. package/queries/getFirstChildTextByBlockUid.js.map +0 -1
  546. package/queries/getFirstChildUidByBlockUid.d.ts +0 -2
  547. package/queries/getFirstChildUidByBlockUid.js +0 -7
  548. package/queries/getFirstChildUidByBlockUid.js.map +0 -1
  549. package/queries/getFullTreeByParentUid.d.ts +0 -3
  550. package/queries/getFullTreeByParentUid.js +0 -52
  551. package/queries/getFullTreeByParentUid.js.map +0 -1
  552. package/queries/getLinkedPageTitlesUnderUid.d.ts +0 -2
  553. package/queries/getLinkedPageTitlesUnderUid.js +0 -7
  554. package/queries/getLinkedPageTitlesUnderUid.js.map +0 -1
  555. package/queries/getNthChildUidByBlockUid.d.ts +0 -5
  556. package/queries/getNthChildUidByBlockUid.js +0 -8
  557. package/queries/getNthChildUidByBlockUid.js.map +0 -1
  558. package/queries/getOrderByBlockUid.d.ts +0 -2
  559. package/queries/getOrderByBlockUid.js +0 -8
  560. package/queries/getOrderByBlockUid.js.map +0 -1
  561. package/queries/getPageTitleByBlockUid.d.ts +0 -2
  562. package/queries/getPageTitleByBlockUid.js +0 -8
  563. package/queries/getPageTitleByBlockUid.js.map +0 -1
  564. package/queries/getPageTitleByPageUid.d.ts +0 -2
  565. package/queries/getPageTitleByPageUid.js +0 -13
  566. package/queries/getPageTitleByPageUid.js.map +0 -1
  567. package/queries/getPageTitleReferencesByPageTitle.d.ts +0 -2
  568. package/queries/getPageTitleReferencesByPageTitle.js +0 -7
  569. package/queries/getPageTitleReferencesByPageTitle.js.map +0 -1
  570. package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +0 -5
  571. package/queries/getPageTitlesAndBlockUidsReferencingPage.js +0 -10
  572. package/queries/getPageTitlesAndBlockUidsReferencingPage.js.map +0 -1
  573. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +0 -5
  574. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +0 -10
  575. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js.map +0 -1
  576. package/queries/getPageTitlesReferencingBlockUid.d.ts +0 -2
  577. package/queries/getPageTitlesReferencingBlockUid.js +0 -5
  578. package/queries/getPageTitlesReferencingBlockUid.js.map +0 -1
  579. package/queries/getPageTitlesStartingWithPrefix.d.ts +0 -2
  580. package/queries/getPageTitlesStartingWithPrefix.js +0 -7
  581. package/queries/getPageTitlesStartingWithPrefix.js.map +0 -1
  582. package/queries/getPageUidByBlockUid.d.ts +0 -2
  583. package/queries/getPageUidByBlockUid.js +0 -8
  584. package/queries/getPageUidByBlockUid.js.map +0 -1
  585. package/queries/getPageUidByPageTitle.d.ts +0 -2
  586. package/queries/getPageUidByPageTitle.js +0 -10
  587. package/queries/getPageUidByPageTitle.js.map +0 -1
  588. package/queries/getPageViewType.d.ts +0 -3
  589. package/queries/getPageViewType.js +0 -10
  590. package/queries/getPageViewType.js.map +0 -1
  591. package/queries/getParentTextByBlockUid.d.ts +0 -2
  592. package/queries/getParentTextByBlockUid.js +0 -8
  593. package/queries/getParentTextByBlockUid.js.map +0 -1
  594. package/queries/getParentTextByBlockUidAndTag.d.ts +0 -5
  595. package/queries/getParentTextByBlockUidAndTag.js +0 -8
  596. package/queries/getParentTextByBlockUidAndTag.js.map +0 -1
  597. package/queries/getParentUidByBlockUid.d.ts +0 -2
  598. package/queries/getParentUidByBlockUid.js +0 -8
  599. package/queries/getParentUidByBlockUid.js.map +0 -1
  600. package/queries/getParentUidsOfBlockUid.d.ts +0 -2
  601. package/queries/getParentUidsOfBlockUid.js +0 -5
  602. package/queries/getParentUidsOfBlockUid.js.map +0 -1
  603. package/queries/getSettingsByEmail.d.ts +0 -3
  604. package/queries/getSettingsByEmail.js +0 -8
  605. package/queries/getSettingsByEmail.js.map +0 -1
  606. package/queries/getShallowTreeByParentUid.d.ts +0 -5
  607. package/queries/getShallowTreeByParentUid.js +0 -10
  608. package/queries/getShallowTreeByParentUid.js.map +0 -1
  609. package/queries/getTextByBlockUid.d.ts +0 -2
  610. package/queries/getTextByBlockUid.js +0 -10
  611. package/queries/getTextByBlockUid.js.map +0 -1
  612. package/queries/index.d.ts +0 -0
  613. package/queries/index.js +0 -5
  614. package/queries/index.js.map +0 -1
  615. package/queries/isLiveBlock.d.ts +0 -2
  616. package/queries/isLiveBlock.js +0 -5
  617. package/queries/isLiveBlock.js.map +0 -1
  618. package/queries/isTagOnPage.d.ts +0 -5
  619. package/queries/isTagOnPage.js +0 -10
  620. package/queries/isTagOnPage.js.map +0 -1
  621. package/queries/normalizePageTitle.d.ts +0 -2
  622. package/queries/normalizePageTitle.js +0 -5
  623. package/queries/normalizePageTitle.js.map +0 -1
  624. package/scripts/index.d.ts +0 -1
  625. package/scripts/index.js +0 -27
  626. package/scripts/index.js.map +0 -1
  627. package/scripts/publishToRoamDepot.d.ts +0 -7
  628. package/scripts/publishToRoamDepot.js +0 -114
  629. package/scripts/publishToRoamDepot.js.map +0 -1
  630. package/testing/mockRoamEnvironment.d.ts +0 -2
  631. package/testing/mockRoamEnvironment.js +0 -1254
  632. package/testing/mockRoamEnvironment.js.map +0 -1
  633. package/types/index.d.ts +0 -250
  634. package/types/index.js +0 -5
  635. package/types/index.js.map +0 -1
  636. package/types/native.d.ts +0 -402
  637. package/types/native.js +0 -5
  638. package/types/native.js.map +0 -1
  639. package/types/query-builder.d.ts +0 -10
  640. package/types/query-builder.js +0 -3
  641. package/types/query-builder.js.map +0 -1
  642. package/types/smartblocks.d.ts +0 -35
  643. package/types/smartblocks.js +0 -3
  644. package/types/smartblocks.js.map +0 -1
  645. package/util/addInputSetting.d.ts +0 -7
  646. package/util/addInputSetting.js +0 -26
  647. package/util/addInputSetting.js.map +0 -1
  648. package/util/apiDelete.d.ts +0 -2
  649. package/util/apiDelete.js +0 -7
  650. package/util/apiDelete.js.map +0 -1
  651. package/util/apiGet.d.ts +0 -2
  652. package/util/apiGet.js +0 -7
  653. package/util/apiGet.js.map +0 -1
  654. package/util/apiPost.d.ts +0 -2
  655. package/util/apiPost.js +0 -7
  656. package/util/apiPost.js.map +0 -1
  657. package/util/apiPut.d.ts +0 -2
  658. package/util/apiPut.js +0 -7
  659. package/util/apiPut.js.map +0 -1
  660. package/util/createOverlayRender.d.ts +0 -4
  661. package/util/createOverlayRender.js +0 -7
  662. package/util/createOverlayRender.js.map +0 -1
  663. package/util/createTagRegex.d.ts +0 -2
  664. package/util/createTagRegex.js +0 -8
  665. package/util/createTagRegex.js.map +0 -1
  666. package/util/dispatchToRegistry.d.ts +0 -3
  667. package/util/dispatchToRegistry.js +0 -8
  668. package/util/dispatchToRegistry.js.map +0 -1
  669. package/util/env.d.ts +0 -4
  670. package/util/env.js +0 -48
  671. package/util/env.js.map +0 -1
  672. package/util/extensionApiContext.d.ts +0 -29
  673. package/util/extensionApiContext.js +0 -18
  674. package/util/extensionApiContext.js.map +0 -1
  675. package/util/extensionDeprecatedWarning.d.ts +0 -5
  676. package/util/extensionDeprecatedWarning.js +0 -40
  677. package/util/extensionDeprecatedWarning.js.map +0 -1
  678. package/util/extractRef.d.ts +0 -2
  679. package/util/extractRef.js +0 -9
  680. package/util/extractRef.js.map +0 -1
  681. package/util/extractTag.d.ts +0 -2
  682. package/util/extractTag.js +0 -16
  683. package/util/extractTag.js.map +0 -1
  684. package/util/focusMainWindowBlock.d.ts +0 -2
  685. package/util/focusMainWindowBlock.js +0 -13
  686. package/util/focusMainWindowBlock.js.map +0 -1
  687. package/util/getAuthorizationHeader.d.ts +0 -2
  688. package/util/getAuthorizationHeader.js +0 -13
  689. package/util/getAuthorizationHeader.js.map +0 -1
  690. package/util/getLocalStorageKey.d.ts +0 -2
  691. package/util/getLocalStorageKey.js +0 -5
  692. package/util/getLocalStorageKey.js.map +0 -1
  693. package/util/getOauth.d.ts +0 -2
  694. package/util/getOauth.js +0 -53
  695. package/util/getOauth.js.map +0 -1
  696. package/util/getOauthAccounts.d.ts +0 -2
  697. package/util/getOauthAccounts.js +0 -23
  698. package/util/getOauthAccounts.js.map +0 -1
  699. package/util/getRenderRoot.d.ts +0 -2
  700. package/util/getRenderRoot.js +0 -19
  701. package/util/getRenderRoot.js.map +0 -1
  702. package/util/getSettingIntFromTree.d.ts +0 -7
  703. package/util/getSettingIntFromTree.js +0 -12
  704. package/util/getSettingIntFromTree.js.map +0 -1
  705. package/util/getSettingValueFromTree.d.ts +0 -8
  706. package/util/getSettingValueFromTree.js +0 -15
  707. package/util/getSettingValueFromTree.js.map +0 -1
  708. package/util/getSettingValuesFromTree.d.ts +0 -7
  709. package/util/getSettingValuesFromTree.js +0 -13
  710. package/util/getSettingValuesFromTree.js.map +0 -1
  711. package/util/getSubTree.d.ts +0 -8
  712. package/util/getSubTree.js +0 -20
  713. package/util/getSubTree.js.map +0 -1
  714. package/util/getToken.d.ts +0 -2
  715. package/util/getToken.js +0 -11
  716. package/util/getToken.js.map +0 -1
  717. package/util/getTokenFromTree.d.ts +0 -3
  718. package/util/getTokenFromTree.js +0 -5
  719. package/util/getTokenFromTree.js.map +0 -1
  720. package/util/getWorkerClient.d.ts +0 -12
  721. package/util/getWorkerClient.js +0 -42
  722. package/util/getWorkerClient.js.map +0 -1
  723. package/util/handleBodyFetch.d.ts +0 -3
  724. package/util/handleBodyFetch.js +0 -22
  725. package/util/handleBodyFetch.js.map +0 -1
  726. package/util/handleFetch.d.ts +0 -13
  727. package/util/handleFetch.js +0 -41
  728. package/util/handleFetch.js.map +0 -1
  729. package/util/handleUrlFetch.d.ts +0 -3
  730. package/util/handleUrlFetch.js +0 -20
  731. package/util/handleUrlFetch.js.map +0 -1
  732. package/util/idToTitle.d.ts +0 -2
  733. package/util/idToTitle.js +0 -9
  734. package/util/idToTitle.js.map +0 -1
  735. package/util/index.js +0 -55
  736. package/util/index.js.map +0 -1
  737. package/util/isControl.d.ts +0 -2
  738. package/util/isControl.js +0 -5
  739. package/util/isControl.js.map +0 -1
  740. package/util/localStorageGet.d.ts +0 -2
  741. package/util/localStorageGet.js +0 -9
  742. package/util/localStorageGet.js.map +0 -1
  743. package/util/localStorageRemove.d.ts +0 -2
  744. package/util/localStorageRemove.js +0 -7
  745. package/util/localStorageRemove.js.map +0 -1
  746. package/util/localStorageSet.d.ts +0 -2
  747. package/util/localStorageSet.js +0 -9
  748. package/util/localStorageSet.js.map +0 -1
  749. package/util/registerExperimentalMode.d.ts +0 -6
  750. package/util/registerExperimentalMode.js +0 -66
  751. package/util/registerExperimentalMode.js.map +0 -1
  752. package/util/registerSmartBlocksCommand.d.ts +0 -3
  753. package/util/registerSmartBlocksCommand.js +0 -24
  754. package/util/registerSmartBlocksCommand.js.map +0 -1
  755. package/util/removeFromRegistry.d.ts +0 -3
  756. package/util/removeFromRegistry.js +0 -8
  757. package/util/removeFromRegistry.js.map +0 -1
  758. package/util/renderOverlay.d.ts +0 -12
  759. package/util/renderOverlay.js +0 -49
  760. package/util/renderOverlay.js.map +0 -1
  761. package/util/renderWithUnmount.d.ts +0 -4
  762. package/util/renderWithUnmount.js +0 -45
  763. package/util/renderWithUnmount.js.map +0 -1
  764. package/util/runExtension.d.ts +0 -11
  765. package/util/runExtension.js +0 -175
  766. package/util/runExtension.js.map +0 -1
  767. package/util/setInputSetting.d.ts +0 -7
  768. package/util/setInputSetting.js +0 -38
  769. package/util/setInputSetting.js.map +0 -1
  770. package/util/setInputSettings.d.ts +0 -7
  771. package/util/setInputSettings.js +0 -29
  772. package/util/setInputSettings.js.map +0 -1
  773. package/util/stripUid.d.ts +0 -3
  774. package/util/stripUid.js +0 -11
  775. package/util/stripUid.js.map +0 -1
  776. package/util/toConfigPageName.d.ts +0 -2
  777. package/util/toConfigPageName.js +0 -5
  778. package/util/toConfigPageName.js.map +0 -1
  779. package/util/toFlexRegex.d.ts +0 -2
  780. package/util/toFlexRegex.js +0 -5
  781. package/util/toFlexRegex.js.map +0 -1
  782. package/writes/clearBlockById.d.ts +0 -2
  783. package/writes/clearBlockById.js +0 -18
  784. package/writes/clearBlockById.js.map +0 -1
  785. package/writes/clearBlockByUid.d.ts +0 -2
  786. package/writes/clearBlockByUid.js +0 -17
  787. package/writes/clearBlockByUid.js.map +0 -1
  788. package/writes/createBlock.d.ts +0 -8
  789. package/writes/createBlock.js +0 -29
  790. package/writes/createBlock.js.map +0 -1
  791. package/writes/createPage.d.ts +0 -7
  792. package/writes/createPage.js +0 -21
  793. package/writes/createPage.js.map +0 -1
  794. package/writes/deleteBlock.d.ts +0 -2
  795. package/writes/deleteBlock.js +0 -11
  796. package/writes/deleteBlock.js.map +0 -1
  797. package/writes/index.js +0 -23
  798. package/writes/index.js.map +0 -1
  799. package/writes/openBlockInSidebar.d.ts +0 -2
  800. package/writes/openBlockInSidebar.js +0 -14
  801. package/writes/openBlockInSidebar.js.map +0 -1
  802. package/writes/submitActions.d.ts +0 -8
  803. package/writes/submitActions.js +0 -37
  804. package/writes/submitActions.js.map +0 -1
  805. package/writes/updateActiveBlock.d.ts +0 -2
  806. package/writes/updateActiveBlock.js +0 -18
  807. package/writes/updateActiveBlock.js.map +0 -1
  808. package/writes/updateBlock.d.ts +0 -5
  809. package/writes/updateBlock.js +0 -24
  810. package/writes/updateBlock.js.map +0 -1
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const core_1 = require("@blueprintjs/core");
5
- const react_1 = tslib_1.__importStar(require("react"));
6
- const useArrowKeyDown_1 = tslib_1.__importDefault(require("../hooks/useArrowKeyDown"));
7
- const fuzzy_1 = tslib_1.__importDefault(require("fuzzy"));
8
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint
9
- const AutocompleteInput = ({ value, setValue, onBlur, onConfirm, showButton, options = [], placeholder = "Enter value", autoFocus, multiline, id, filterOptions: _filterOptions, itemToQuery: _itemToQuery, renderItem, onNewItem: _onNewItem, disabled, maxItemsDisplayed = Infinity, }) => {
10
- const [isOpen, setIsOpen] = (0, react_1.useState)(false);
11
- const itemToQuery = (0, react_1.useMemo)(() => _itemToQuery || ((s) => (s ? `${s}` : "")), [_itemToQuery]);
12
- const [query, setQuery] = (0, react_1.useState)(() => itemToQuery(value));
13
- const open = (0, react_1.useCallback)(() => setIsOpen(true), [setIsOpen]);
14
- const close = (0, react_1.useCallback)(() => setIsOpen(false), [setIsOpen]);
15
- const [isTyping, setIsTyping] = (0, react_1.useState)(false);
16
- const filterOptions = (0, react_1.useMemo)(() => _filterOptions ||
17
- ((o, q) => fuzzy_1.default
18
- .filter(q, o, { extract: itemToQuery })
19
- .map((f) => f.original)
20
- .filter((f) => !!f)), [_filterOptions, itemToQuery]);
21
- const onNewItem = (0, react_1.useMemo)(() => _onNewItem || ((s) => s), [_onNewItem]);
22
- const items = (0, react_1.useMemo)(() => (query ? filterOptions(options, query) : options).slice(0, maxItemsDisplayed), [query, options, filterOptions, maxItemsDisplayed]);
23
- const menuRef = (0, react_1.useRef)(null);
24
- const inputRef = (0, react_1.useRef)(null);
25
- const onEnter = (0, react_1.useCallback)((value) => {
26
- if (isOpen && value) {
27
- setQuery(itemToQuery(value));
28
- setValue(value);
29
- setIsTyping(false);
30
- }
31
- else if (onConfirm) {
32
- onConfirm();
33
- }
34
- else {
35
- setIsOpen(true);
36
- }
37
- }, [setValue, onConfirm, isOpen]);
38
- const { activeIndex, onKeyDown } = (0, useArrowKeyDown_1.default)({
39
- onEnter,
40
- results: items,
41
- menuRef,
42
- });
43
- (0, react_1.useEffect)(() => {
44
- if (!items.length || !isTyping)
45
- close();
46
- else
47
- open();
48
- }, [items, close, open, isTyping]);
49
- (0, react_1.useEffect)(() => {
50
- if (query && isOpen)
51
- setValue(items[activeIndex] || onNewItem(query));
52
- else if (query)
53
- setValue(onNewItem(query));
54
- }, [setValue, activeIndex, items, onNewItem, query]);
55
- (0, react_1.useEffect)(() => {
56
- if (inputRef.current &&
57
- inputRef.current === document.activeElement &&
58
- value) {
59
- const index = itemToQuery(value).length;
60
- inputRef.current.setSelectionRange(index, index);
61
- }
62
- const touchEndListener = (e) => {
63
- if (!e.target ||
64
- !menuRef.current ||
65
- menuRef.current.contains(e.target)) {
66
- return;
67
- }
68
- if (!inputRef.current || inputRef.current.contains(e.target)) {
69
- return;
70
- }
71
- close();
72
- };
73
- document.body.addEventListener("touchend", touchEndListener);
74
- return () => document.body.removeEventListener("touchend", touchEndListener);
75
- }, [inputRef, menuRef, close]);
76
- const Input = (0, react_1.useMemo)(() => (multiline ? core_1.TextArea : core_1.InputGroup), [multiline]);
77
- return (react_1.default.createElement(core_1.Popover, { portalClassName: "roamjs-autocomplete-input", targetClassName: "roamjs-autocomplete-input-target", captureDismiss: true, isOpen: isOpen, onOpened: open, minimal: true, autoFocus: false, enforceFocus: false, position: core_1.PopoverPosition.BOTTOM_LEFT, modifiers: {
78
- flip: { enabled: false },
79
- preventOverflow: { enabled: false },
80
- }, content: react_1.default.createElement(core_1.Menu, { className: "max-h-64 overflow-auto max-w-md", ulRef: menuRef }, items.map((t, i) => {
81
- const onClick = () => {
82
- var _a;
83
- setIsTyping(false);
84
- setValue(t);
85
- setQuery(itemToQuery(t));
86
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
87
- };
88
- const sharedProps = {
89
- onClick,
90
- onTouchEnd: onClick,
91
- active: activeIndex === i,
92
- };
93
- return renderItem ? (react_1.default.createElement(react_1.default.Fragment, { key: i }, renderItem === null || renderItem === void 0 ? void 0 : renderItem(Object.assign({ item: t }, sharedProps)))) : (react_1.default.createElement(core_1.MenuItem, Object.assign({ text: itemToQuery(t), key: i, multiline: true }, sharedProps)));
94
- })), target: react_1.default.createElement(Input, Object.assign({ disabled: disabled, value: query, onChange: (e) => {
95
- setIsTyping(true);
96
- setQuery(e.target.value);
97
- }, autoFocus: autoFocus, placeholder: placeholder, onKeyDown: (e) => {
98
- if (e.key === "Escape") {
99
- e.stopPropagation();
100
- close();
101
- }
102
- else {
103
- onKeyDown(e);
104
- }
105
- }, id: id, onClick: () => setIsTyping(true), onBlur: (e) => {
106
- var _a, _b;
107
- if (e.relatedTarget === null ||
108
- !((_b = (_a = e.relatedTarget).closest) === null || _b === void 0 ? void 0 : _b.call(_a, ".roamjs-autocomplete-input"))) {
109
- setIsTyping(false);
110
- }
111
- if (onBlur) {
112
- onBlur(e.target.value);
113
- }
114
- }, inputRef: inputRef }, (showButton
115
- ? {
116
- rightElement: (react_1.default.createElement(core_1.Button, { icon: "add", minimal: true, onClick: () => onEnter() })),
117
- }
118
- : {}))) }));
119
- };
120
- exports.default = AutocompleteInput;
121
- //# sourceMappingURL=AutocompleteInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutocompleteInput.js","sourceRoot":"","sources":["../../src/components/AutocompleteInput.tsx"],"names":[],"mappings":";;;AAAA,4CAQ2B;AAC3B,uDAMe;AACf,uFAAuD;AACvD,0DAA0B;AA6B1B,6EAA6E;AAC7E,MAAM,iBAAiB,GAAG,CAA6B,EACrD,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,OAAO,GAAG,EAAE,EACZ,WAAW,GAAG,aAAa,EAC3B,SAAS,EACT,SAAS,EACT,EAAE,EACF,aAAa,EAAE,cAAc,EAC7B,WAAW,EAAE,YAAY,EACzB,UAAU,EACV,SAAS,EAAE,UAAU,EACrB,QAAQ,EACR,iBAAiB,GAAG,QAAQ,GACF,EAAsB,EAAE;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,eAAO,EACzB,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChD,CAAC,YAAY,CAAC,CACf,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,IAAA,eAAO,EAC3B,GAAG,EAAE,CACH,cAAc;QACd,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,eAAK;aACF,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClC,CAAC,cAAc,EAAE,WAAW,CAAC,CAC9B,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,eAAO,EACvB,GAAG,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAM,CAAC,EACnC,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CACH,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CACrD,CAAC,EACD,iBAAiB,CAClB,EACH,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,CACnD,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAyC,IAAI,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,CAAC,KAAS,EAAE,EAAE;QACZ,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,WAAW,CAAC,KAAK,CAAC,CAAC;SACpB;aAAM,IAAI,SAAS,EAAE;YACpB,SAAS,EAAE,CAAC;SACb;aAAM;YACL,SAAS,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAC9B,CAAC;IACF,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAA,yBAAe,EAAC;QACjD,OAAO;QACP,OAAO,EAAE,KAAK;QACd,OAAO;KACR,CAAC,CAAC;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ;YAAE,KAAK,EAAE,CAAC;;YACnC,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACjE,IAAI,KAAK;YAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IACE,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa;YAC3C,KAAK,EACL;YACA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAClD;QACD,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,EAAE;YACzC,IACE,CAAC,CAAC,CAAC,MAAM;gBACT,CAAC,OAAO,CAAC,OAAO;gBAChB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,EAC7C;gBACA,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAiB,CAAC,EAAE;gBACvE,OAAO;aACR;YACD,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7D,OAAO,GAAG,EAAE,CACV,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAQ,CAAC,CAAC,CAAC,iBAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,OAAO,CACL,8BAAC,cAAO,IACN,eAAe,EAAE,2BAA2B,EAC5C,eAAe,EAAE,kCAAkC,EACnD,cAAc,EAAE,IAAI,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,EACd,OAAO,QACP,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,sBAAe,CAAC,WAAW,EACrC,SAAS,EAAE;YACT,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACxB,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SACpC,EACD,OAAO,EACL,8BAAC,WAAI,IAAC,SAAS,EAAE,iCAAiC,EAAE,KAAK,EAAE,OAAO,IAC/D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,GAAG,EAAE;;gBACnB,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACZ,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,CAAC,CAAC;YACF,MAAM,WAAW,GAAG;gBAClB,OAAO;gBACP,UAAU,EAAE,OAAO;gBACnB,MAAM,EAAE,WAAW,KAAK,CAAC;aAC1B,CAAC;YACF,OAAO,UAAU,CAAC,CAAC,CAAC,CAClB,8BAAC,eAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,CAAC,IACnB,UAAU,aAAV,UAAU,uBAAV,UAAU,iBACT,IAAI,EAAE,CAAC,IACJ,WAAW,EACd,CACa,CAClB,CAAC,CAAC,CAAC,CACF,8BAAC,eAAQ,kBACP,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,GAAG,EAAE,CAAC,EACN,SAAS,UACL,WAAW,EACf,CACH,CAAC;QACJ,CAAC,CAAC,CACG,EAET,MAAM,EACJ,8BAAC,KAAK,kBACJ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EACD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;oBACtB,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,KAAK,EAAE,CAAC;iBACT;qBAAM;oBACL,SAAS,CAAC,CAAC,CAAC,CAAC;iBACd;YACH,CAAC,EACD,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAChC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;;gBACZ,IACE,CAAC,CAAC,aAAa,KAAK,IAAI;oBACxB,CAAC,CAAA,MAAA,MAAC,CAAC,CAAC,aAA6B,EAAC,OAAO,mDACvC,4BAA4B,CAC7B,CAAA,EACD;oBACA,WAAW,CAAC,KAAK,CAAC,CAAC;iBACpB;gBACD,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACxB;YACH,CAAC,EACD,QAAQ,EAAE,QAAQ,IACd,CAAC,UAAU;YACb,CAAC,CAAC;gBACE,YAAY,EAAE,CACZ,8BAAC,aAAM,IAAC,IAAI,EAAE,KAAK,EAAE,OAAO,QAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAI,CAC1D;aACF;YACH,CAAC,CAAC,EAAE,CAAC,EACP,GAEJ,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC","sourcesContent":["import {\n InputGroup,\n Menu,\n MenuItem,\n PopoverPosition,\n Popover,\n Button,\n TextArea,\n} from \"@blueprintjs/core\";\nimport React, {\n useState,\n useCallback,\n useMemo,\n useRef,\n useEffect,\n} from \"react\";\nimport useArrowKeyDown from \"../hooks/useArrowKeyDown\";\nimport fuzzy from \"fuzzy\";\n\ntype FilterOptions<T> = (options: T[], query: string) => T[];\ntype OnNewItem<T> = (s: string) => T;\ntype ItemToQuery<T> = (t?: T) => string;\n\nexport type AutocompleteInputProps<T = string> = {\n value?: T;\n setValue: (q: T) => void;\n showButton?: boolean;\n onBlur?: (v: string) => void;\n onConfirm?: () => void;\n options?: T[];\n placeholder?: string;\n autoFocus?: boolean;\n multiline?: boolean;\n id?: string;\n filterOptions?: FilterOptions<T>;\n itemToQuery?: ItemToQuery<T>;\n renderItem?: (props: {\n item: T;\n onClick: () => void;\n active: boolean;\n }) => React.ReactElement;\n onNewItem?: OnNewItem<T>;\n disabled?: boolean;\n maxItemsDisplayed?: number;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint\nconst AutocompleteInput = <T extends unknown = string>({\n value,\n setValue,\n onBlur,\n onConfirm,\n showButton,\n options = [],\n placeholder = \"Enter value\",\n autoFocus,\n multiline,\n id,\n filterOptions: _filterOptions,\n itemToQuery: _itemToQuery,\n renderItem,\n onNewItem: _onNewItem,\n disabled,\n maxItemsDisplayed = Infinity,\n}: AutocompleteInputProps<T>): React.ReactElement => {\n const [isOpen, setIsOpen] = useState(false);\n const itemToQuery = useMemo<ItemToQuery<T>>(\n () => _itemToQuery || ((s) => (s ? `${s}` : \"\")),\n [_itemToQuery]\n );\n const [query, setQuery] = useState<string>(() => itemToQuery(value));\n const open = useCallback(() => setIsOpen(true), [setIsOpen]);\n const close = useCallback(() => setIsOpen(false), [setIsOpen]);\n const [isTyping, setIsTyping] = useState(false);\n const filterOptions = useMemo<FilterOptions<T>>(\n () =>\n _filterOptions ||\n ((o, q) =>\n fuzzy\n .filter(q, o, { extract: itemToQuery })\n .map((f) => f.original)\n .filter((f): f is T => !!f)),\n [_filterOptions, itemToQuery]\n );\n const onNewItem = useMemo<OnNewItem<T>>(\n () => _onNewItem || ((s) => s as T),\n [_onNewItem]\n );\n\n const items = useMemo(\n () =>\n (query ? filterOptions(options, query) : options).slice(\n 0,\n maxItemsDisplayed\n ),\n [query, options, filterOptions, maxItemsDisplayed]\n );\n const menuRef = useRef<HTMLUListElement>(null);\n const inputRef = useRef<HTMLInputElement & HTMLTextAreaElement>(null);\n const onEnter = useCallback(\n (value?: T) => {\n if (isOpen && value) {\n setQuery(itemToQuery(value));\n setValue(value);\n setIsTyping(false);\n } else if (onConfirm) {\n onConfirm();\n } else {\n setIsOpen(true);\n }\n },\n [setValue, onConfirm, isOpen]\n );\n const { activeIndex, onKeyDown } = useArrowKeyDown({\n onEnter,\n results: items,\n menuRef,\n });\n useEffect(() => {\n if (!items.length || !isTyping) close();\n else open();\n }, [items, close, open, isTyping]);\n useEffect(() => {\n if (query && isOpen) setValue(items[activeIndex] || onNewItem(query));\n else if (query) setValue(onNewItem(query));\n }, [setValue, activeIndex, items, onNewItem, query]);\n useEffect(() => {\n if (\n inputRef.current &&\n inputRef.current === document.activeElement &&\n value\n ) {\n const index = itemToQuery(value).length;\n inputRef.current.setSelectionRange(index, index);\n }\n const touchEndListener = (e: TouchEvent) => {\n if (\n !e.target ||\n !menuRef.current ||\n menuRef.current.contains(e.target as Element)\n ) {\n return;\n }\n if (!inputRef.current || inputRef.current.contains(e.target as Element)) {\n return;\n }\n close();\n };\n document.body.addEventListener(\"touchend\", touchEndListener);\n return () =>\n document.body.removeEventListener(\"touchend\", touchEndListener);\n }, [inputRef, menuRef, close]);\n const Input = useMemo(() => (multiline ? TextArea : InputGroup), [multiline]);\n return (\n <Popover\n portalClassName={\"roamjs-autocomplete-input\"}\n targetClassName={\"roamjs-autocomplete-input-target\"}\n captureDismiss={true}\n isOpen={isOpen}\n onOpened={open}\n minimal\n autoFocus={false}\n enforceFocus={false}\n position={PopoverPosition.BOTTOM_LEFT}\n modifiers={{\n flip: { enabled: false },\n preventOverflow: { enabled: false },\n }}\n content={\n <Menu className={\"max-h-64 overflow-auto max-w-md\"} ulRef={menuRef}>\n {items.map((t, i) => {\n const onClick = () => {\n setIsTyping(false);\n setValue(t);\n setQuery(itemToQuery(t));\n inputRef.current?.focus();\n };\n const sharedProps = {\n onClick,\n onTouchEnd: onClick,\n active: activeIndex === i,\n };\n return renderItem ? (\n <React.Fragment key={i}>\n {renderItem?.({\n item: t,\n ...sharedProps,\n })}\n </React.Fragment>\n ) : (\n <MenuItem\n text={itemToQuery(t)}\n key={i}\n multiline\n {...sharedProps}\n />\n );\n })}\n </Menu>\n }\n target={\n <Input\n disabled={disabled}\n value={query}\n onChange={(e) => {\n setIsTyping(true);\n setQuery(e.target.value);\n }}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={(e) => {\n if (e.key === \"Escape\") {\n e.stopPropagation();\n close();\n } else {\n onKeyDown(e);\n }\n }}\n id={id}\n onClick={() => setIsTyping(true)}\n onBlur={(e) => {\n if (\n e.relatedTarget === null ||\n !(e.relatedTarget as HTMLElement).closest?.(\n \".roamjs-autocomplete-input\"\n )\n ) {\n setIsTyping(false);\n }\n if (onBlur) {\n onBlur(e.target.value);\n }\n }}\n inputRef={inputRef}\n {...(showButton\n ? {\n rightElement: (\n <Button icon={\"add\"} minimal onClick={() => onEnter()} />\n ),\n }\n : {})}\n />\n }\n />\n );\n};\n\nexport default AutocompleteInput;\n"]}
@@ -1,15 +0,0 @@
1
- import React from "react";
2
- declare type BlockErrorBoundaryProps = {
3
- blockUid: string;
4
- message: string;
5
- };
6
- declare type BlockErrorBoundaryState = {
7
- hasError: boolean;
8
- };
9
- declare class BlockErrorBoundary extends React.Component<BlockErrorBoundaryProps, BlockErrorBoundaryState> {
10
- constructor(props: BlockErrorBoundaryProps);
11
- static getDerivedStateFromError(): BlockErrorBoundaryState;
12
- componentDidCatch(error: Error): void;
13
- render(): React.ReactNode;
14
- }
15
- export default BlockErrorBoundary;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importDefault(require("react"));
5
- const createBlock_1 = tslib_1.__importDefault(require("../writes/createBlock"));
6
- class BlockErrorBoundary extends react_1.default.Component {
7
- constructor(props) {
8
- super(props);
9
- this.state = { hasError: false };
10
- }
11
- static getDerivedStateFromError() {
12
- return { hasError: true };
13
- }
14
- componentDidCatch(error) {
15
- (0, createBlock_1.default)({
16
- node: { text: this.props.message.replace("{ERROR}", error.message) },
17
- parentUid: this.props.blockUid,
18
- });
19
- }
20
- render() {
21
- if (this.state.hasError) {
22
- return react_1.default.createElement("div", null, "Component Failed To Load");
23
- }
24
- return this.props.children;
25
- }
26
- }
27
- exports.default = BlockErrorBoundary;
28
- //# sourceMappingURL=BlockErrorBoundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockErrorBoundary.js","sourceRoot":"","sources":["../../src/components/BlockErrorBoundary.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,gFAAgD;AAKhD,MAAM,kBAAmB,SAAQ,eAAK,CAAC,SAGtC;IACC,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,KAAY;QAC5B,IAAA,qBAAW,EAAC;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YACpE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,OAAO,sEAAmC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAC","sourcesContent":["import React from \"react\";\nimport createBlock from \"../writes/createBlock\";\n\ntype BlockErrorBoundaryProps = { blockUid: string; message: string };\ntype BlockErrorBoundaryState = { hasError: boolean };\n\nclass BlockErrorBoundary extends React.Component<\n BlockErrorBoundaryProps,\n BlockErrorBoundaryState\n> {\n constructor(props: BlockErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(): BlockErrorBoundaryState {\n return { hasError: true };\n }\n\n componentDidCatch(error: Error): void {\n createBlock({\n node: { text: this.props.message.replace(\"{ERROR}\", error.message) },\n parentUid: this.props.blockUid,\n });\n }\n\n render(): React.ReactNode {\n if (this.state.hasError) {\n return <div>Component Failed To Load</div>;\n }\n return this.props.children;\n }\n}\n\nexport default BlockErrorBoundary;\n"]}
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- declare const BlockInput: ({ value, setValue, onBlur, onConfirm, getAllBlocks, autoFocus, }: {
3
- value: string;
4
- setValue: (q: string, uid?: string) => void;
5
- onBlur?: ((v: string) => void) | undefined;
6
- onConfirm?: (() => void) | undefined;
7
- getAllBlocks?: (() => {
8
- text: string;
9
- uid: string;
10
- }[]) | undefined;
11
- autoFocus?: boolean | undefined;
12
- }) => React.ReactElement;
13
- export default BlockInput;
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const core_1 = require("@blueprintjs/core");
5
- const react_1 = tslib_1.__importStar(require("react"));
6
- const getAllBlockUidsAndTexts_1 = tslib_1.__importDefault(require("../queries/getAllBlockUidsAndTexts"));
7
- const useArrowKeyDown_1 = tslib_1.__importDefault(require("../hooks/useArrowKeyDown"));
8
- const searchBlocksByString = (q, blocks) => {
9
- const regex = new RegExp(q, "i");
10
- return blocks.filter((a) => regex.test(a.text)).slice(0, 9);
11
- };
12
- const BlockInput = ({ value, setValue, onBlur, onConfirm, getAllBlocks = getAllBlockUidsAndTexts_1.default, autoFocus, }) => {
13
- const [isOpen, setIsOpen] = (0, react_1.useState)(false);
14
- const open = (0, react_1.useCallback)(() => setIsOpen(true), [setIsOpen]);
15
- const close = (0, react_1.useCallback)(() => setIsOpen(false), [setIsOpen]);
16
- const allBlocks = (0, react_1.useMemo)(getAllBlocks, []);
17
- const items = (0, react_1.useMemo)(() => (value && isOpen ? searchBlocksByString(value, allBlocks) : []), [value, allBlocks]);
18
- const menuRef = (0, react_1.useRef)(null);
19
- const inputRef = (0, react_1.useRef)(null);
20
- const { activeIndex, onKeyDown } = (0, useArrowKeyDown_1.default)({
21
- onEnter: (value) => {
22
- if (isOpen) {
23
- setValue(value.text, value.uid);
24
- close();
25
- }
26
- else if (onConfirm) {
27
- onConfirm();
28
- }
29
- },
30
- results: items,
31
- menuRef,
32
- });
33
- return (react_1.default.createElement(core_1.Popover, { portalClassName: "roamjs-block-input", targetClassName: "roamjs-block-input-target", captureDismiss: true, isOpen: isOpen, onOpened: open, minimal: true, autoFocus: false, enforceFocus: false, position: core_1.PopoverPosition.BOTTOM_LEFT, modifiers: {
34
- flip: { enabled: false },
35
- preventOverflow: { enabled: false },
36
- }, content: react_1.default.createElement(core_1.Menu, { className: "max-h-64 overflow-auto max-w-md", ulRef: menuRef }, items.map((t, i) => (react_1.default.createElement(core_1.MenuItem, { text: t.text, active: activeIndex === i, key: t.uid, multiline: true, onClick: () => {
37
- var _a;
38
- setValue(t.text, t.uid);
39
- close();
40
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
41
- } })))), target: react_1.default.createElement(core_1.InputGroup, { value: value || "", onChange: (e) => {
42
- setValue(e.target.value);
43
- setIsOpen(!!e.target.value);
44
- }, placeholder: "Search for a block", onKeyDown: onKeyDown, onBlur: (e) => {
45
- var _a, _b;
46
- if (e.relatedTarget &&
47
- !((_b = (_a = e.relatedTarget).closest) === null || _b === void 0 ? void 0 : _b.call(_a, ".roamjs-block-input"))) {
48
- close();
49
- }
50
- if (onBlur) {
51
- onBlur(e.target.value);
52
- }
53
- }, inputRef: inputRef, autoFocus: autoFocus }) }));
54
- };
55
- exports.default = BlockInput;
56
- //# sourceMappingURL=BlockInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockInput.js","sourceRoot":"","sources":["../../src/components/BlockInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Popover,\n PopoverPosition,\n Menu,\n MenuItem,\n InputGroup,\n} from \"@blueprintjs/core\";\nimport React, { useCallback, useMemo, useRef, useState } from \"react\";\nimport getAllBlockUidsAndTexts from \"../queries/getAllBlockUidsAndTexts\";\nimport useArrowKeyDown from \"../hooks/useArrowKeyDown\";\n\nconst searchBlocksByString = (\n q: string,\n blocks: { text: string; uid: string }[]\n) => {\n const regex = new RegExp(q, \"i\");\n return blocks.filter((a) => regex.test(a.text)).slice(0, 9);\n};\n\nconst BlockInput = ({\n value,\n setValue,\n onBlur,\n onConfirm,\n getAllBlocks = getAllBlockUidsAndTexts,\n autoFocus,\n}: {\n value: string;\n setValue: (q: string, uid?: string) => void;\n onBlur?: (v: string) => void;\n onConfirm?: () => void;\n getAllBlocks?: () => { text: string; uid: string }[];\n autoFocus?: boolean;\n}): React.ReactElement => {\n const [isOpen, setIsOpen] = useState(false);\n const open = useCallback(() => setIsOpen(true), [setIsOpen]);\n const close = useCallback(() => setIsOpen(false), [setIsOpen]);\n const allBlocks = useMemo(getAllBlocks, []);\n const items = useMemo(\n () => (value && isOpen ? searchBlocksByString(value, allBlocks) : []),\n [value, allBlocks]\n );\n const menuRef = useRef<HTMLUListElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const { activeIndex, onKeyDown } = useArrowKeyDown({\n onEnter: (value) => {\n if (isOpen) {\n setValue(value.text, value.uid);\n close();\n } else if (onConfirm) {\n onConfirm();\n }\n },\n results: items,\n menuRef,\n });\n return (\n <Popover\n portalClassName={\"roamjs-block-input\"}\n targetClassName={\"roamjs-block-input-target\"}\n captureDismiss={true}\n isOpen={isOpen}\n onOpened={open}\n minimal={true}\n autoFocus={false}\n enforceFocus={false}\n position={PopoverPosition.BOTTOM_LEFT}\n modifiers={{\n flip: { enabled: false },\n preventOverflow: { enabled: false },\n }}\n content={\n <Menu className={\"max-h-64 overflow-auto max-w-md\"} ulRef={menuRef}>\n {items.map((t, i) => (\n <MenuItem\n text={t.text}\n active={activeIndex === i}\n key={t.uid}\n multiline\n onClick={() => {\n setValue(t.text, t.uid);\n close();\n inputRef.current?.focus();\n }}\n />\n ))}\n </Menu>\n }\n target={\n <InputGroup\n value={value || \"\"}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n setIsOpen(!!e.target.value);\n }}\n placeholder={\"Search for a block\"}\n onKeyDown={onKeyDown}\n onBlur={(e) => {\n if (\n e.relatedTarget &&\n !(e.relatedTarget as HTMLElement).closest?.(\".roamjs-block-input\")\n ) {\n close();\n }\n if (onBlur) {\n onBlur(e.target.value);\n }\n }}\n inputRef={inputRef}\n autoFocus={autoFocus}\n />\n }\n />\n );\n};\n\nexport default BlockInput;\n"]}
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { OnloadArgs } from "../types/native";
3
- declare const ComponentContainer: React.FunctionComponent<{
4
- blockId?: string;
5
- className?: string;
6
- }>;
7
- export declare const createComponentRender: (Fc: (props: {
8
- blockUid: string;
9
- }) => React.ReactElement, className?: string) => (b: HTMLButtonElement, args?: OnloadArgs) => void;
10
- export default ComponentContainer;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createComponentRender = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@blueprintjs/core");
6
- const react_1 = tslib_1.__importStar(require("react"));
7
- const getUidsFromId_1 = tslib_1.__importDefault(require("../dom/getUidsFromId"));
8
- const getBlockUidFromTarget_1 = tslib_1.__importDefault(require("../dom/getBlockUidFromTarget"));
9
- const renderWithUnmount_1 = tslib_1.__importDefault(require("../util/renderWithUnmount"));
10
- const ComponentContainer = ({ blockId, className, children }) => {
11
- const [showIcons, setShowIcons] = (0, react_1.useState)(false);
12
- const appear = (0, react_1.useCallback)(() => setShowIcons(true), [setShowIcons]);
13
- const disappear = (0, react_1.useCallback)(() => setShowIcons(false), [setShowIcons]);
14
- const { blockUid, windowId } = (0, getUidsFromId_1.default)(blockId);
15
- return (react_1.default.createElement("div", { className: className, onMouseOver: appear, onMouseLeave: disappear, style: { position: "relative", width: "fit-content", minWidth: 300 } },
16
- showIcons && (react_1.default.createElement("div", { className: "roamjs-edit-component absolute top-2 right-2 z-50" }, blockId && (react_1.default.createElement(core_1.Button, { icon: "edit", minimal: true, onClick: () => window.roamAlphaAPI.ui.setBlockFocusAndSelection({
17
- location: { "block-uid": blockUid, "window-id": windowId },
18
- }) })))),
19
- children));
20
- };
21
- const createComponentRender = (Fc, className) => (b, args) => {
22
- var _a, _b;
23
- if (b.parentElement) {
24
- b.parentElement.onmousedown = (e) => e.stopPropagation();
25
- const blockUid = (0, getBlockUidFromTarget_1.default)(b);
26
- const possibleBlockId = (_a = b.closest(".roam-block")) === null || _a === void 0 ? void 0 : _a.id;
27
- const blockId = ((_b = possibleBlockId === null || possibleBlockId === void 0 ? void 0 : possibleBlockId.endsWith) === null || _b === void 0 ? void 0 : _b.call(possibleBlockId, blockUid))
28
- ? possibleBlockId
29
- : undefined;
30
- if (blockUid) {
31
- (0, renderWithUnmount_1.default)(react_1.default.createElement(ComponentContainer, { blockId: blockId, className: className },
32
- react_1.default.createElement(Fc, { blockUid: blockUid })), b.parentElement, args);
33
- }
34
- }
35
- };
36
- exports.createComponentRender = createComponentRender;
37
- exports.default = ComponentContainer;
38
- //# sourceMappingURL=ComponentContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentContainer.js","sourceRoot":"","sources":["../../src/components/ComponentContainer.tsx"],"names":[],"mappings":";;;;AAAA,4CAA2C;AAC3C,uDAAqD;AACrD,iFAAiD;AACjD,iGAAiE;AACjE,0FAA0D;AAG1D,MAAM,kBAAkB,GAGnB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IACtD,OAAO,CACL,uCACE,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,SAAS,EACvB,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE;QAEnE,SAAS,IAAI,CACZ,uCAAK,SAAS,EAAE,mDAAmD,IAChE,OAAO,IAAI,CACV,8BAAC,aAAM,IACL,IAAI,EAAC,MAAM,EACX,OAAO,QACP,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,yBAAyB,CAAC;gBAC/C,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;aAC3D,CAAC,GAEJ,CACH,CACG,CACP;QACA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAChC,CACE,EAAuD,EACvD,SAAkB,EAClB,EAAE,CACJ,CAAC,CAAoB,EAAE,IAAiB,EAAQ,EAAE;;IAChD,IAAI,CAAC,CAAC,aAAa,EAAE;QACnB,CAAC,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAA,+BAAqB,EAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,MAAA,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,0CAAE,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,gEAAG,QAAQ,CAAC;YACnD,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,QAAQ,EAAE;YACZ,IAAA,2BAAiB,EACf,8BAAC,kBAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;gBACxD,8BAAC,EAAE,IAAC,QAAQ,EAAE,QAAQ,GAAI,CACP,EACrB,CAAC,CAAC,aAAa,EACf,IAAI,CACL,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAvBS,QAAA,qBAAqB,yBAuB9B;AAEJ,kBAAe,kBAAkB,CAAC","sourcesContent":["import { Button } from \"@blueprintjs/core\";\nimport React, { useCallback, useState } from \"react\";\nimport getUidsFromId from \"../dom/getUidsFromId\";\nimport getBlockUidFromTarget from \"../dom/getBlockUidFromTarget\";\nimport renderWithUnmount from \"../util/renderWithUnmount\";\nimport { OnloadArgs } from \"../types/native\";\n\nconst ComponentContainer: React.FunctionComponent<{\n blockId?: string;\n className?: string;\n}> = ({ blockId, className, children }) => {\n const [showIcons, setShowIcons] = useState(false);\n const appear = useCallback(() => setShowIcons(true), [setShowIcons]);\n const disappear = useCallback(() => setShowIcons(false), [setShowIcons]);\n\n const { blockUid, windowId } = getUidsFromId(blockId);\n return (\n <div\n className={className}\n onMouseOver={appear}\n onMouseLeave={disappear}\n style={{ position: \"relative\", width: \"fit-content\", minWidth: 300 }}\n >\n {showIcons && (\n <div className={\"roamjs-edit-component absolute top-2 right-2 z-50\"}>\n {blockId && (\n <Button\n icon=\"edit\"\n minimal\n onClick={() =>\n window.roamAlphaAPI.ui.setBlockFocusAndSelection({\n location: { \"block-uid\": blockUid, \"window-id\": windowId },\n })\n }\n />\n )}\n </div>\n )}\n {children}\n </div>\n );\n};\n\nexport const createComponentRender =\n (\n Fc: (props: { blockUid: string }) => React.ReactElement,\n className?: string\n ) =>\n (b: HTMLButtonElement, args?: OnloadArgs): void => {\n if (b.parentElement) {\n b.parentElement.onmousedown = (e: MouseEvent) => e.stopPropagation();\n const blockUid = getBlockUidFromTarget(b);\n const possibleBlockId = b.closest(\".roam-block\")?.id;\n const blockId = possibleBlockId?.endsWith?.(blockUid)\n ? possibleBlockId\n : undefined;\n if (blockUid) {\n renderWithUnmount(\n <ComponentContainer blockId={blockId} className={className}>\n <Fc blockUid={blockUid} />\n </ComponentContainer>,\n b.parentElement,\n args\n );\n }\n }\n };\n\nexport default ComponentContainer;\n"]}
@@ -1,35 +0,0 @@
1
- import React from "react";
2
- import type { Field, UnionField } from "./ConfigPanels/types";
3
- import { Brand } from "./ConfigPanels/getBrandColors";
4
- export declare type ConfigTab = {
5
- id: string;
6
- toggleable?: boolean | "premium";
7
- onEnable?: () => void;
8
- onDisable?: () => void;
9
- development?: boolean;
10
- fields: Field<UnionField>[];
11
- };
12
- declare type Config = {
13
- tabs: ConfigTab[];
14
- versioning?: boolean;
15
- brand?: Brand;
16
- } | Field<UnionField>[];
17
- declare const ConfigPage: ({ id, config, pageUid, }: {
18
- id: string;
19
- config: Config;
20
- pageUid: string;
21
- }) => React.ReactElement;
22
- export declare const render: ({ h, title, pageUid, config, }: {
23
- h: HTMLHeadingElement;
24
- title: string;
25
- pageUid?: string | undefined;
26
- config: Config;
27
- }) => void;
28
- export declare const createConfigObserver: ({ title, config, }: {
29
- title: string;
30
- config: Config;
31
- }) => Promise<{
32
- pageUid: string;
33
- observer?: MutationObserver | undefined;
34
- }>;
35
- export default ConfigPage;
@@ -1,160 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createConfigObserver = exports.render = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@blueprintjs/core");
6
- const react_1 = tslib_1.__importStar(require("react"));
7
- const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
8
- const createHTMLObserver_1 = tslib_1.__importDefault(require("../dom/createHTMLObserver"));
9
- const createBlock_1 = tslib_1.__importDefault(require("../writes/createBlock"));
10
- const createPage_1 = tslib_1.__importDefault(require("../writes/createPage"));
11
- const getBasicTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getBasicTreeByParentUid"));
12
- const getPageUidByPageTitle_1 = tslib_1.__importDefault(require("../queries/getPageUidByPageTitle"));
13
- const getShallowTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getShallowTreeByParentUid"));
14
- const localStorageGet_1 = tslib_1.__importDefault(require("../util/localStorageGet"));
15
- const idToTitle_1 = tslib_1.__importDefault(require("../util/idToTitle"));
16
- const FieldTabs = ({ id, fields, uid, pageUid, order, toggleable, }) => {
17
- const parentUid = (0, react_1.useMemo)(() => {
18
- if (/home/i.test(id)) {
19
- return pageUid;
20
- }
21
- if (uid) {
22
- return uid;
23
- }
24
- if (toggleable) {
25
- return "";
26
- }
27
- const newUid = window.roamAlphaAPI.util.generateUID();
28
- (0, createBlock_1.default)({
29
- parentUid: pageUid,
30
- order,
31
- node: { text: id, uid: newUid },
32
- });
33
- return newUid;
34
- }, [pageUid, uid, id, toggleable]);
35
- const childUids = Object.fromEntries((0, getShallowTreeByParentUid_1.default)(parentUid).map(({ text, uid }) => [
36
- text.toLowerCase().trim(),
37
- uid,
38
- ]));
39
- const [selectedTabId, setSelectedTabId] = (0, react_1.useState)(fields.length && typeof toggleable !== "string"
40
- ? fields[0].title
41
- : "enabled");
42
- const onTabsChange = (0, react_1.useCallback)((tabId) => setSelectedTabId(tabId), [setSelectedTabId]);
43
- return (react_1.default.createElement(core_1.Tabs, { vertical: true, id: `${id}-field-tabs`, onChange: onTabsChange, selectedTabId: selectedTabId, renderActiveTabPanelOnly: true }, fields.map((field, i) => {
44
- const { Panel, title, defaultValue } = field;
45
- return (react_1.default.createElement(core_1.Tab, { id: title, key: title, title: (0, idToTitle_1.default)(title), panel: react_1.default.createElement(Panel, Object.assign({}, field, { defaultValue: defaultValue, order: i, parentUid: parentUid, uid: childUids[title.toLowerCase()] })) }));
46
- })));
47
- };
48
- const ConfigPage = ({ id, config, pageUid, }) => {
49
- var _a;
50
- const isLegacy = "tabs" in config;
51
- const userTabs = isLegacy
52
- ? config.tabs.filter((t) => t.fields.length || t.toggleable)
53
- : [{ fields: config, id: "home" }];
54
- const [selectedTabId, setSelectedTabId] = (0, react_1.useState)((_a = userTabs[0]) === null || _a === void 0 ? void 0 : _a.id);
55
- const onTabsChange = (0, react_1.useCallback)((tabId) => setSelectedTabId(tabId), [setSelectedTabId]);
56
- const tree = (0, getBasicTreeByParentUid_1.default)(pageUid);
57
- // first character trimmed intentionally for the `v` below
58
- const titleRef = (0, react_1.useRef)(null);
59
- const experimentalMode = (0, react_1.useMemo)(() => (0, localStorageGet_1.default)("experimental"), []);
60
- return (react_1.default.createElement(core_1.Card, { style: { color: "#202B33" }, className: "roamjs-config-panel" },
61
- react_1.default.createElement("div", { style: { display: "flex", justifyContent: "space-between" }, ref: titleRef, tabIndex: -1 },
62
- react_1.default.createElement("h4", { style: { padding: 4 } },
63
- (0, idToTitle_1.default)(id),
64
- " Configuration")),
65
- react_1.default.createElement("style", null, `.roamjs-config-tabs {\npadding: 4px;\n}`),
66
- isLegacy ? (react_1.default.createElement(core_1.Tabs, { id: `${id}-config-tabs`, onChange: onTabsChange, selectedTabId: selectedTabId, renderActiveTabPanelOnly: true, className: "roamjs-config-tabs" }, userTabs.map(({ id: tabId, fields, toggleable, development = false, onEnable, onDisable, }, i) => {
67
- var _a;
68
- return (react_1.default.createElement(core_1.Tab, { id: tabId, key: tabId, title: (0, idToTitle_1.default)(tabId), disabled: development && !experimentalMode, panel: react_1.default.createElement(FieldTabs, { id: tabId, extensionId: id, fields: fields, uid: ((_a = tree.find((t) => new RegExp(tabId, "i").test(t.text))) === null || _a === void 0 ? void 0 : _a.uid) || "", pageUid: pageUid, order: i, toggleable: toggleable, onEnable: onEnable, onDisable: onDisable }) }));
69
- }))) : (react_1.default.createElement(FieldTabs, { id: "home", extensionId: id, fields: config, uid: pageUid, pageUid: pageUid, order: 0, toggleable: false }))));
70
- };
71
- // TODO: better nested type discrimination here
72
- const fieldsToChildren = (fields) => fields
73
- .filter((f) => !!f.defaultValue)
74
- .map((f) => {
75
- var _a;
76
- return ({
77
- text: f.title,
78
- children: f.Panel.type === "flag"
79
- ? []
80
- : f.Panel.type === "custom"
81
- ? f.defaultValue || []
82
- : f.Panel.type === "pages" || f.Panel.type === "multitext"
83
- ? (_a = f.defaultValue) === null || _a === void 0 ? void 0 : _a.map((v) => ({ text: v }))
84
- : f.Panel.type === "block"
85
- ? f.defaultValue
86
- ? [f.defaultValue]
87
- : []
88
- : [{ text: `${f.defaultValue}` }],
89
- });
90
- });
91
- const createConfigPage = ({ title, config, }) => {
92
- var _a;
93
- const homeTab = "tabs" in config
94
- ? (_a = config.tabs.find((t) => /home/i.test(t.id))) === null || _a === void 0 ? void 0 : _a.fields
95
- : config;
96
- const rawTree = [
97
- ...(homeTab ? fieldsToChildren(homeTab) : []),
98
- ...("tabs" in config
99
- ? config.tabs
100
- .filter((t) => !/home/i.test(t.id) && !t.toggleable && !t.development)
101
- .map((t) => ({
102
- text: t.id,
103
- children: fieldsToChildren(t.fields),
104
- }))
105
- : []),
106
- ];
107
- return (0, createPage_1.default)({
108
- title,
109
- tree: rawTree.length ? rawTree : [{ text: " " }],
110
- });
111
- };
112
- const render = ({ h, title, pageUid = (0, getPageUidByPageTitle_1.default)(title), config, }) => {
113
- var _a, _b;
114
- const uid = (0, getPageUidByPageTitle_1.default)(title);
115
- const attribute = `data-roamjs-${uid}`;
116
- const containerParent = (_a = h.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
117
- if (containerParent && !containerParent.hasAttribute(attribute)) {
118
- containerParent.setAttribute(attribute, "true");
119
- const parent = document.createElement("div");
120
- const configPageId = title.split("/").slice(-1)[0];
121
- parent.id = `${configPageId}-config`;
122
- containerParent.insertBefore(parent, ((_b = h.parentElement) === null || _b === void 0 ? void 0 : _b.nextElementSibling) || null);
123
- react_dom_1.default.render(react_1.default.createElement(ConfigPage, { id: configPageId, config: config, pageUid: pageUid }), parent);
124
- }
125
- };
126
- exports.render = render;
127
- const createConfigObserver = ({ title, config, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
128
- const pageUid = (0, getPageUidByPageTitle_1.default)(title) ||
129
- (yield createConfigPage({
130
- title,
131
- config,
132
- }));
133
- if ("tabs" in config ? !!config.tabs.length : !!config.length) {
134
- const observer = (0, createHTMLObserver_1.default)({
135
- className: "rm-title-display",
136
- tag: "H1",
137
- callback: (d) => {
138
- const h = d;
139
- if (h.innerText === title) {
140
- (0, exports.render)({
141
- pageUid,
142
- config,
143
- title,
144
- h,
145
- });
146
- }
147
- },
148
- });
149
- return {
150
- pageUid,
151
- observer,
152
- };
153
- }
154
- return {
155
- pageUid,
156
- };
157
- });
158
- exports.createConfigObserver = createConfigObserver;
159
- exports.default = ConfigPage;
160
- //# sourceMappingURL=ConfigPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigPage.js","sourceRoot":"","sources":["../../src/components/ConfigPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Card, Tab, Tabs } from \"@blueprintjs/core\";\nimport React, { useCallback, useMemo, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport createHTMLObserver from \"../dom/createHTMLObserver\";\nimport createBlock from \"../writes/createBlock\";\nimport createPage from \"../writes/createPage\";\nimport getBasicTreeByParentUid from \"../queries/getBasicTreeByParentUid\";\nimport getPageUidByPageTitle from \"../queries/getPageUidByPageTitle\";\nimport getShallowTreeByParentUid from \"../queries/getShallowTreeByParentUid\";\nimport localStorageGet from \"../util/localStorageGet\";\nimport idToTitle from \"../util/idToTitle\";\nimport type { Field, UnionField } from \"./ConfigPanels/types\";\nimport { Brand } from \"./ConfigPanels/getBrandColors\";\nimport { InputTextNode } from \"../types\";\n\nexport type ConfigTab = {\n id: string;\n toggleable?: boolean | \"premium\";\n onEnable?: () => void;\n onDisable?: () => void;\n development?: boolean;\n fields: Field<UnionField>[];\n};\n\ntype Config =\n | {\n tabs: ConfigTab[];\n versioning?: boolean;\n brand?: Brand;\n }\n | Field<UnionField>[];\n\nconst FieldTabs = ({\n id,\n fields,\n uid,\n pageUid,\n order,\n toggleable,\n}: {\n uid: string;\n pageUid: string;\n order: number;\n extensionId: string;\n} & ConfigTab) => {\n const parentUid = useMemo(() => {\n if (/home/i.test(id)) {\n return pageUid;\n }\n if (uid) {\n return uid;\n }\n if (toggleable) {\n return \"\";\n }\n const newUid = window.roamAlphaAPI.util.generateUID();\n createBlock({\n parentUid: pageUid,\n order,\n node: { text: id, uid: newUid },\n });\n return newUid;\n }, [pageUid, uid, id, toggleable]);\n const childUids = Object.fromEntries(\n getShallowTreeByParentUid(parentUid).map(({ text, uid }) => [\n text.toLowerCase().trim(),\n uid,\n ])\n );\n const [selectedTabId, setSelectedTabId] = useState(\n fields.length && typeof toggleable !== \"string\"\n ? fields[0].title\n : \"enabled\"\n );\n const onTabsChange = useCallback(\n (tabId: string) => setSelectedTabId(tabId),\n [setSelectedTabId]\n );\n return (\n <Tabs\n vertical\n id={`${id}-field-tabs`}\n onChange={onTabsChange}\n selectedTabId={selectedTabId}\n renderActiveTabPanelOnly\n >\n {fields.map((field, i) => {\n const { Panel, title, defaultValue } = field;\n return (\n <Tab\n id={title}\n key={title}\n title={idToTitle(title)}\n panel={\n <Panel\n {...field}\n defaultValue={defaultValue}\n order={i}\n parentUid={parentUid}\n uid={childUids[title.toLowerCase()]}\n />\n }\n />\n );\n })}\n </Tabs>\n );\n};\n\nconst ConfigPage = ({\n id,\n config,\n pageUid,\n}: {\n id: string;\n config: Config;\n pageUid: string;\n}): React.ReactElement => {\n const isLegacy = \"tabs\" in config;\n const userTabs = isLegacy\n ? config.tabs.filter((t) => t.fields.length || t.toggleable)\n : [{ fields: config, id: \"home\" }];\n const [selectedTabId, setSelectedTabId] = useState(userTabs[0]?.id);\n const onTabsChange = useCallback(\n (tabId: string) => setSelectedTabId(tabId),\n [setSelectedTabId]\n );\n const tree = getBasicTreeByParentUid(pageUid);\n\n // first character trimmed intentionally for the `v` below\n const titleRef = useRef<HTMLDivElement>(null);\n const experimentalMode = useMemo(() => localStorageGet(\"experimental\"), []);\n return (\n <Card style={{ color: \"#202B33\" }} className={\"roamjs-config-panel\"}>\n <div\n style={{ display: \"flex\", justifyContent: \"space-between\" }}\n ref={titleRef}\n tabIndex={-1}\n >\n <h4 style={{ padding: 4 }}>{idToTitle(id)} Configuration</h4>\n </div>\n <style>{`.roamjs-config-tabs {\\npadding: 4px;\\n}`}</style>\n {isLegacy ? (\n <Tabs\n id={`${id}-config-tabs`}\n onChange={onTabsChange}\n selectedTabId={selectedTabId}\n renderActiveTabPanelOnly\n className={\"roamjs-config-tabs\"}\n >\n {userTabs.map(\n (\n {\n id: tabId,\n fields,\n toggleable,\n development = false,\n onEnable,\n onDisable,\n },\n i\n ) => (\n <Tab\n id={tabId}\n key={tabId}\n title={idToTitle(tabId)}\n disabled={development && !experimentalMode}\n panel={\n <FieldTabs\n id={tabId}\n extensionId={id}\n fields={fields}\n uid={\n tree.find((t) => new RegExp(tabId, \"i\").test(t.text))\n ?.uid || \"\"\n }\n pageUid={pageUid}\n order={i}\n toggleable={toggleable}\n onEnable={onEnable}\n onDisable={onDisable}\n />\n }\n />\n )\n )}\n </Tabs>\n ) : (\n <FieldTabs\n id={\"home\"}\n extensionId={id}\n fields={config}\n uid={pageUid}\n pageUid={pageUid}\n order={0}\n toggleable={false}\n />\n )}\n </Card>\n );\n};\n\n// TODO: better nested type discrimination here\nconst fieldsToChildren = (fields: Field<UnionField>[]) =>\n fields\n .filter((f) => !!f.defaultValue)\n .map((f) => ({\n text: f.title,\n children:\n f.Panel.type === \"flag\"\n ? []\n : f.Panel.type === \"custom\"\n ? (f.defaultValue as InputTextNode[]) || []\n : f.Panel.type === \"pages\" || f.Panel.type === \"multitext\"\n ? (f.defaultValue as string[])?.map((v) => ({ text: v }))\n : f.Panel.type === \"block\"\n ? f.defaultValue\n ? [f.defaultValue as InputTextNode]\n : []\n : [{ text: `${f.defaultValue}` }],\n }));\n\nconst createConfigPage = ({\n title,\n config,\n}: {\n title: string;\n config: Config;\n}) => {\n const homeTab =\n \"tabs\" in config\n ? config.tabs.find((t) => /home/i.test(t.id))?.fields\n : config;\n const rawTree = [\n ...(homeTab ? fieldsToChildren(homeTab) : []),\n ...(\"tabs\" in config\n ? config.tabs\n .filter((t) => !/home/i.test(t.id) && !t.toggleable && !t.development)\n .map((t) => ({\n text: t.id,\n children: fieldsToChildren(t.fields),\n }))\n : []),\n ];\n return createPage({\n title,\n tree: rawTree.length ? rawTree : [{ text: \" \" }],\n });\n};\n\nexport const render = ({\n h,\n title,\n pageUid = getPageUidByPageTitle(title),\n config,\n}: {\n h: HTMLHeadingElement;\n title: string;\n pageUid?: string;\n config: Config;\n}) => {\n const uid = getPageUidByPageTitle(title);\n const attribute = `data-roamjs-${uid}`;\n const containerParent = h.parentElement?.parentElement;\n if (containerParent && !containerParent.hasAttribute(attribute)) {\n containerParent.setAttribute(attribute, \"true\");\n const parent = document.createElement(\"div\");\n const configPageId = title.split(\"/\").slice(-1)[0];\n parent.id = `${configPageId}-config`;\n containerParent.insertBefore(\n parent,\n h.parentElement?.nextElementSibling || null\n );\n ReactDOM.render(\n <ConfigPage id={configPageId} config={config} pageUid={pageUid} />,\n parent\n );\n }\n};\n\nexport const createConfigObserver = async ({\n title,\n config,\n}: {\n title: string;\n config: Config;\n}): Promise<{ pageUid: string; observer?: MutationObserver }> => {\n const pageUid =\n getPageUidByPageTitle(title) ||\n (await createConfigPage({\n title,\n config,\n }));\n if (\"tabs\" in config ? !!config.tabs.length : !!config.length) {\n const observer = createHTMLObserver({\n className: \"rm-title-display\",\n tag: \"H1\",\n callback: (d: HTMLElement) => {\n const h = d as HTMLHeadingElement;\n if (h.innerText === title) {\n render({\n pageUid,\n config,\n title,\n h,\n });\n }\n },\n });\n return {\n pageUid,\n observer,\n };\n }\n return {\n pageUid,\n };\n};\n\nexport default ConfigPage;\n"]}
@@ -1,3 +0,0 @@
1
- import type { FieldPanel, BlockField } from "./types";
2
- declare const BlockPanel: FieldPanel<BlockField>;
3
- export default BlockPanel;