roamjs-components 0.85.2 → 0.85.4

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 (808) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +29 -29
  3. package/components/AutocompleteInput.d.ts +28 -0
  4. package/components/AutocompleteInput.js +121 -0
  5. package/components/AutocompleteInput.js.map +1 -0
  6. package/components/BlockErrorBoundary.d.ts +15 -0
  7. package/components/BlockErrorBoundary.js +28 -0
  8. package/components/BlockErrorBoundary.js.map +1 -0
  9. package/components/BlockInput.d.ts +13 -0
  10. package/components/BlockInput.js +56 -0
  11. package/components/BlockInput.js.map +1 -0
  12. package/components/ComponentContainer.d.ts +10 -0
  13. package/components/ComponentContainer.js +38 -0
  14. package/components/ComponentContainer.js.map +1 -0
  15. package/components/ConfigPage.d.ts +35 -0
  16. package/components/ConfigPage.js +160 -0
  17. package/components/ConfigPage.js.map +1 -0
  18. package/components/ConfigPanels/BlockPanel.d.ts +3 -0
  19. package/components/ConfigPanels/BlockPanel.js +43 -0
  20. package/components/ConfigPanels/BlockPanel.js.map +1 -0
  21. package/components/ConfigPanels/BlocksPanel.d.ts +3 -0
  22. package/components/ConfigPanels/BlocksPanel.js +69 -0
  23. package/components/ConfigPanels/BlocksPanel.js.map +1 -0
  24. package/components/ConfigPanels/CustomPanel.d.ts +3 -0
  25. package/components/ConfigPanels/CustomPanel.js +25 -0
  26. package/components/ConfigPanels/CustomPanel.js.map +1 -0
  27. package/components/ConfigPanels/FlagPanel.d.ts +3 -0
  28. package/components/ConfigPanels/FlagPanel.js +32 -0
  29. package/components/ConfigPanels/FlagPanel.js.map +1 -0
  30. package/components/ConfigPanels/MultiChildPanel.d.ts +9 -0
  31. package/components/ConfigPanels/MultiChildPanel.js +59 -0
  32. package/components/ConfigPanels/MultiChildPanel.js.map +1 -0
  33. package/components/ConfigPanels/MultiTextPanel.d.ts +3 -0
  34. package/components/ConfigPanels/MultiTextPanel.js +15 -0
  35. package/components/ConfigPanels/MultiTextPanel.js.map +1 -0
  36. package/components/ConfigPanels/NumberPanel.d.ts +3 -0
  37. package/components/ConfigPanels/NumberPanel.js +26 -0
  38. package/components/ConfigPanels/NumberPanel.js.map +1 -0
  39. package/components/ConfigPanels/OauthPanel.d.ts +3 -0
  40. package/components/ConfigPanels/OauthPanel.js +82 -0
  41. package/components/ConfigPanels/OauthPanel.js.map +1 -0
  42. package/components/ConfigPanels/PagesPanel.d.ts +3 -0
  43. package/components/ConfigPanels/PagesPanel.js +12 -0
  44. package/components/ConfigPanels/PagesPanel.js.map +1 -0
  45. package/components/ConfigPanels/SelectPanel.d.ts +3 -0
  46. package/components/ConfigPanels/SelectPanel.js +28 -0
  47. package/components/ConfigPanels/SelectPanel.js.map +1 -0
  48. package/components/ConfigPanels/TextPanel.d.ts +3 -0
  49. package/components/ConfigPanels/TextPanel.js +29 -0
  50. package/components/ConfigPanels/TextPanel.js.map +1 -0
  51. package/components/ConfigPanels/TimePanel.d.ts +3 -0
  52. package/components/ConfigPanels/TimePanel.js +35 -0
  53. package/components/ConfigPanels/TimePanel.js.map +1 -0
  54. package/components/ConfigPanels/getBrandColors.d.ts +7 -0
  55. package/components/ConfigPanels/getBrandColors.js +29 -0
  56. package/components/ConfigPanels/getBrandColors.js.map +1 -0
  57. package/components/ConfigPanels/types.d.ts +84 -0
  58. package/components/ConfigPanels/types.js +3 -0
  59. package/components/ConfigPanels/types.js.map +1 -0
  60. package/components/ConfigPanels/useSingleChildValue.d.ts +13 -0
  61. package/components/ConfigPanels/useSingleChildValue.js +44 -0
  62. package/components/ConfigPanels/useSingleChildValue.js.map +1 -0
  63. package/components/CursorMenu.d.ts +21 -0
  64. package/components/CursorMenu.js +182 -0
  65. package/components/CursorMenu.js.map +1 -0
  66. package/components/Description.d.ts +5 -0
  67. package/components/Description.js +17 -0
  68. package/components/Description.js.map +1 -0
  69. package/components/ExtensionApiContext.d.ts +31 -0
  70. package/components/ExtensionApiContext.js +17 -0
  71. package/components/ExtensionApiContext.js.map +1 -0
  72. package/components/ExternalLogin.d.ts +18 -0
  73. package/components/ExternalLogin.js +142 -0
  74. package/components/ExternalLogin.js.map +1 -0
  75. package/components/Filter.d.ts +15 -0
  76. package/components/Filter.js +143 -0
  77. package/components/Filter.js.map +1 -0
  78. package/components/FormDialog.d.ts +55 -0
  79. package/components/FormDialog.js +224 -0
  80. package/components/FormDialog.js.map +1 -0
  81. package/components/Loading.d.ts +4 -0
  82. package/components/Loading.js +36 -0
  83. package/components/Loading.js.map +1 -0
  84. package/components/MenuItemSelect.d.ts +17 -0
  85. package/components/MenuItemSelect.js +24 -0
  86. package/components/MenuItemSelect.js.map +1 -0
  87. package/components/OauthPanel.d.ts +7 -0
  88. package/components/OauthPanel.js +31 -0
  89. package/components/OauthPanel.js.map +1 -0
  90. package/components/OauthSelect.d.ts +5 -0
  91. package/components/OauthSelect.js +26 -0
  92. package/components/OauthSelect.js.map +1 -0
  93. package/components/PageInput.d.ts +6 -0
  94. package/components/PageInput.js +14 -0
  95. package/components/PageInput.js.map +1 -0
  96. package/components/PageLink.d.ts +6 -0
  97. package/components/PageLink.js +32 -0
  98. package/components/PageLink.js.map +1 -0
  99. package/components/ProgressDialog.d.ts +11 -0
  100. package/components/ProgressDialog.js +61 -0
  101. package/components/ProgressDialog.js.map +1 -0
  102. package/components/SimpleAlert.d.ts +15 -0
  103. package/components/SimpleAlert.js +48 -0
  104. package/components/SimpleAlert.js.map +1 -0
  105. package/components/Toast.d.ts +15 -0
  106. package/components/Toast.js +51 -0
  107. package/components/Toast.js.map +1 -0
  108. package/components/index.d.ts +0 -0
  109. package/components/index.js +5 -0
  110. package/components/index.js.map +1 -0
  111. package/components.d.ts +5 -0
  112. package/components.js +171 -0
  113. package/components.js.map +1 -0
  114. package/date/constants.d.ts +3 -0
  115. package/date/constants.js +20 -0
  116. package/date/constants.js.map +1 -0
  117. package/{src/date/index.ts → date/index.d.ts} +3 -3
  118. package/date/index.js +10 -0
  119. package/date/index.js.map +1 -0
  120. package/date/parseNlpDate.d.ts +5 -0
  121. package/date/parseNlpDate.js +227 -0
  122. package/date/parseNlpDate.js.map +1 -0
  123. package/date/parseRoamDateUid.d.ts +2 -0
  124. package/date/parseRoamDateUid.js +8 -0
  125. package/date/parseRoamDateUid.js.map +1 -0
  126. package/dom/addBlockCommand.d.ts +5 -0
  127. package/dom/addBlockCommand.js +54 -0
  128. package/dom/addBlockCommand.js.map +1 -0
  129. package/dom/addKeyboardTriggers.d.ts +11 -0
  130. package/dom/addKeyboardTriggers.js +39 -0
  131. package/dom/addKeyboardTriggers.js.map +1 -0
  132. package/dom/addOldRoamJSDependency.d.ts +2 -0
  133. package/dom/addOldRoamJSDependency.js +11 -0
  134. package/dom/addOldRoamJSDependency.js.map +1 -0
  135. package/dom/addRoamJSDependency.d.ts +2 -0
  136. package/dom/addRoamJSDependency.js +9 -0
  137. package/dom/addRoamJSDependency.js.map +1 -0
  138. package/dom/addScriptAsDependency.d.ts +6 -0
  139. package/dom/addScriptAsDependency.js +17 -0
  140. package/dom/addScriptAsDependency.js.map +1 -0
  141. package/dom/addStyle.d.ts +2 -0
  142. package/dom/addStyle.js +15 -0
  143. package/dom/addStyle.js.map +1 -0
  144. package/dom/constants.d.ts +1 -0
  145. package/dom/constants.js +5 -0
  146. package/dom/constants.js.map +1 -0
  147. package/dom/createBlockObserver.d.ts +7 -0
  148. package/dom/createBlockObserver.js +44 -0
  149. package/dom/createBlockObserver.js.map +1 -0
  150. package/dom/createButtonObserver.d.ts +6 -0
  151. package/dom/createButtonObserver.js +22 -0
  152. package/dom/createButtonObserver.js.map +1 -0
  153. package/dom/createDivObserver.d.ts +2 -0
  154. package/dom/createDivObserver.js +14 -0
  155. package/dom/createDivObserver.js.map +1 -0
  156. package/dom/createHTMLObserver.d.ts +8 -0
  157. package/dom/createHTMLObserver.js +25 -0
  158. package/dom/createHTMLObserver.js.map +1 -0
  159. package/dom/createHashtagObserver.d.ts +5 -0
  160. package/dom/createHashtagObserver.js +17 -0
  161. package/dom/createHashtagObserver.js.map +1 -0
  162. package/dom/createIconButton.d.ts +2 -0
  163. package/dom/createIconButton.js +13 -0
  164. package/dom/createIconButton.js.map +1 -0
  165. package/dom/createObserver.d.ts +2 -0
  166. package/dom/createObserver.js +10 -0
  167. package/dom/createObserver.js.map +1 -0
  168. package/dom/createOverlayObserver.d.ts +2 -0
  169. package/dom/createOverlayObserver.js +7 -0
  170. package/dom/createOverlayObserver.js.map +1 -0
  171. package/dom/createPageObserver.d.ts +2 -0
  172. package/dom/createPageObserver.js +35 -0
  173. package/dom/createPageObserver.js.map +1 -0
  174. package/dom/createPageTitleObserver.d.ts +6 -0
  175. package/dom/createPageTitleObserver.js +32 -0
  176. package/dom/createPageTitleObserver.js.map +1 -0
  177. package/dom/elToTitle.d.ts +2 -0
  178. package/dom/elToTitle.js +23 -0
  179. package/dom/elToTitle.js.map +1 -0
  180. package/dom/genericError.d.ts +3 -0
  181. package/dom/genericError.js +12 -0
  182. package/dom/genericError.js.map +1 -0
  183. package/dom/getActiveUids.d.ts +3 -0
  184. package/dom/getActiveUids.js +7 -0
  185. package/dom/getActiveUids.js.map +1 -0
  186. package/dom/getBlockUidFromTarget.d.ts +2 -0
  187. package/dom/getBlockUidFromTarget.js +34 -0
  188. package/dom/getBlockUidFromTarget.js.map +1 -0
  189. package/dom/getCurrentPageUid.d.ts +2 -0
  190. package/dom/getCurrentPageUid.js +9 -0
  191. package/dom/getCurrentPageUid.js.map +1 -0
  192. package/dom/getDomRefs.d.ts +2 -0
  193. package/dom/getDomRefs.js +13 -0
  194. package/dom/getDomRefs.js.map +1 -0
  195. package/dom/getDropUidOffset.d.ts +5 -0
  196. package/dom/getDropUidOffset.js +28 -0
  197. package/dom/getDropUidOffset.js.map +1 -0
  198. package/dom/getMutatedNodes.d.ts +7 -0
  199. package/dom/getMutatedNodes.js +12 -0
  200. package/dom/getMutatedNodes.js.map +1 -0
  201. package/dom/getPageTitleByHtmlElement.d.ts +2 -0
  202. package/dom/getPageTitleByHtmlElement.js +13 -0
  203. package/dom/getPageTitleByHtmlElement.js.map +1 -0
  204. package/dom/getPageTitleValueByHtmlElement.d.ts +2 -0
  205. package/dom/getPageTitleValueByHtmlElement.js +10 -0
  206. package/dom/getPageTitleValueByHtmlElement.js.map +1 -0
  207. package/dom/getReferenceBlockUid.d.ts +2 -0
  208. package/dom/getReferenceBlockUid.js +19 -0
  209. package/dom/getReferenceBlockUid.js.map +1 -0
  210. package/dom/getRoamUrl.d.ts +2 -0
  211. package/dom/getRoamUrl.js +5 -0
  212. package/dom/getRoamUrl.js.map +1 -0
  213. package/dom/getRoamUrlByPage.d.ts +2 -0
  214. package/dom/getRoamUrlByPage.js +11 -0
  215. package/dom/getRoamUrlByPage.js.map +1 -0
  216. package/dom/getUids.d.ts +3 -0
  217. package/dom/getUids.js +9 -0
  218. package/dom/getUids.js.map +1 -0
  219. package/dom/getUidsFromButton.d.ts +3 -0
  220. package/dom/getUidsFromButton.js +9 -0
  221. package/dom/getUidsFromButton.js.map +1 -0
  222. package/dom/getUidsFromId.d.ts +5 -0
  223. package/dom/getUidsFromId.js +16 -0
  224. package/dom/getUidsFromId.js.map +1 -0
  225. package/{src/dom/index.ts → dom/index.d.ts} +30 -30
  226. package/dom/index.js +64 -0
  227. package/dom/index.js.map +1 -0
  228. package/dom/parseRoamBlocksToHtml.d.ts +11 -0
  229. package/dom/parseRoamBlocksToHtml.js +80 -0
  230. package/dom/parseRoamBlocksToHtml.js.map +1 -0
  231. package/dom/resolveRefs.d.ts +2 -0
  232. package/dom/resolveRefs.js +25 -0
  233. package/dom/resolveRefs.js.map +1 -0
  234. package/{src/events/index.ts → events/index.d.ts} +1 -1
  235. package/events/index.js +9 -0
  236. package/events/index.js.map +1 -0
  237. package/events/watchOnce.d.ts +3 -0
  238. package/events/watchOnce.js +13 -0
  239. package/events/watchOnce.js.map +1 -0
  240. package/{src/hooks/index.ts → hooks/index.d.ts} +2 -2
  241. package/hooks/index.js +11 -0
  242. package/hooks/index.js.map +1 -0
  243. package/hooks/useArrowKeyDown.d.ts +10 -0
  244. package/hooks/useArrowKeyDown.js +55 -0
  245. package/hooks/useArrowKeyDown.js.map +1 -0
  246. package/hooks/useSubTree.d.ts +3 -0
  247. package/hooks/useSubTree.js +12 -0
  248. package/hooks/useSubTree.js.map +1 -0
  249. package/marked/index.d.ts +25 -0
  250. package/marked/index.js +568 -0
  251. package/marked/index.js.map +1 -0
  252. package/package.json +116 -116
  253. package/queries/compileDatalog.d.ts +3 -0
  254. package/queries/compileDatalog.js +64 -0
  255. package/queries/compileDatalog.js.map +1 -0
  256. package/queries/getAllBlockUids.d.ts +2 -0
  257. package/queries/getAllBlockUids.js +7 -0
  258. package/queries/getAllBlockUids.js.map +1 -0
  259. package/queries/getAllBlockUidsAndTexts.d.ts +5 -0
  260. package/queries/getAllBlockUidsAndTexts.js +7 -0
  261. package/queries/getAllBlockUidsAndTexts.js.map +1 -0
  262. package/queries/getAllPageNames.d.ts +2 -0
  263. package/queries/getAllPageNames.js +7 -0
  264. package/queries/getAllPageNames.js.map +1 -0
  265. package/queries/getAttributeValueByBlockAndName.d.ts +5 -0
  266. package/queries/getAttributeValueByBlockAndName.js +12 -0
  267. package/queries/getAttributeValueByBlockAndName.js.map +1 -0
  268. package/queries/getBasicTreeByParentUid.d.ts +3 -0
  269. package/queries/getBasicTreeByParentUid.js +14 -0
  270. package/queries/getBasicTreeByParentUid.js.map +1 -0
  271. package/queries/getBlockUidAndTextIncludingText.d.ts +5 -0
  272. package/queries/getBlockUidAndTextIncludingText.js +8 -0
  273. package/queries/getBlockUidAndTextIncludingText.js.map +1 -0
  274. package/queries/getBlockUidByTextOnPage.d.ts +5 -0
  275. package/queries/getBlockUidByTextOnPage.js +8 -0
  276. package/queries/getBlockUidByTextOnPage.js.map +1 -0
  277. package/queries/getBlockUidsAndTextsReferencingPage.d.ts +5 -0
  278. package/queries/getBlockUidsAndTextsReferencingPage.js +10 -0
  279. package/queries/getBlockUidsAndTextsReferencingPage.js.map +1 -0
  280. package/queries/getBlockUidsByPageTitle.d.ts +2 -0
  281. package/queries/getBlockUidsByPageTitle.js +9 -0
  282. package/queries/getBlockUidsByPageTitle.js.map +1 -0
  283. package/queries/getBlockUidsReferencingBlock.d.ts +2 -0
  284. package/queries/getBlockUidsReferencingBlock.js +5 -0
  285. package/queries/getBlockUidsReferencingBlock.js.map +1 -0
  286. package/queries/getBlockUidsReferencingPage.d.ts +2 -0
  287. package/queries/getBlockUidsReferencingPage.js +7 -0
  288. package/queries/getBlockUidsReferencingPage.js.map +1 -0
  289. package/queries/getBlockUidsWithParentUid.d.ts +2 -0
  290. package/queries/getBlockUidsWithParentUid.js +7 -0
  291. package/queries/getBlockUidsWithParentUid.js.map +1 -0
  292. package/queries/getChildrenLengthByPageUid.d.ts +2 -0
  293. package/queries/getChildrenLengthByPageUid.js +9 -0
  294. package/queries/getChildrenLengthByPageUid.js.map +1 -0
  295. package/queries/getChildrenLengthByParentUid.d.ts +2 -0
  296. package/queries/getChildrenLengthByParentUid.js +8 -0
  297. package/queries/getChildrenLengthByParentUid.js.map +1 -0
  298. package/queries/getCreateTimeByBlockUid.d.ts +2 -0
  299. package/queries/getCreateTimeByBlockUid.js +8 -0
  300. package/queries/getCreateTimeByBlockUid.js.map +1 -0
  301. package/queries/getCurrentUser.d.ts +2 -0
  302. package/queries/getCurrentUser.js +12 -0
  303. package/queries/getCurrentUser.js.map +1 -0
  304. package/queries/getCurrentUserDisplayName.d.ts +2 -0
  305. package/queries/getCurrentUserDisplayName.js +11 -0
  306. package/queries/getCurrentUserDisplayName.js.map +1 -0
  307. package/queries/getCurrentUserEmail.d.ts +2 -0
  308. package/queries/getCurrentUserEmail.js +14 -0
  309. package/queries/getCurrentUserEmail.js.map +1 -0
  310. package/queries/getCurrentUserUid.d.ts +2 -0
  311. package/queries/getCurrentUserUid.js +14 -0
  312. package/queries/getCurrentUserUid.js.map +1 -0
  313. package/queries/getDisplayNameByEmail.d.ts +2 -0
  314. package/queries/getDisplayNameByEmail.js +8 -0
  315. package/queries/getDisplayNameByEmail.js.map +1 -0
  316. package/queries/getDisplayNameByUid.d.ts +2 -0
  317. package/queries/getDisplayNameByUid.js +8 -0
  318. package/queries/getDisplayNameByUid.js.map +1 -0
  319. package/queries/getEditTimeByBlockUid.d.ts +2 -0
  320. package/queries/getEditTimeByBlockUid.js +8 -0
  321. package/queries/getEditTimeByBlockUid.js.map +1 -0
  322. package/queries/getEditedUserEmailByBlockUid.d.ts +2 -0
  323. package/queries/getEditedUserEmailByBlockUid.js +8 -0
  324. package/queries/getEditedUserEmailByBlockUid.js.map +1 -0
  325. package/queries/getFirstChildTextByBlockUid.d.ts +2 -0
  326. package/queries/getFirstChildTextByBlockUid.js +8 -0
  327. package/queries/getFirstChildTextByBlockUid.js.map +1 -0
  328. package/queries/getFirstChildUidByBlockUid.d.ts +2 -0
  329. package/queries/getFirstChildUidByBlockUid.js +7 -0
  330. package/queries/getFirstChildUidByBlockUid.js.map +1 -0
  331. package/queries/getFullTreeByParentUid.d.ts +3 -0
  332. package/queries/getFullTreeByParentUid.js +52 -0
  333. package/queries/getFullTreeByParentUid.js.map +1 -0
  334. package/queries/getLinkedPageTitlesUnderUid.d.ts +2 -0
  335. package/queries/getLinkedPageTitlesUnderUid.js +7 -0
  336. package/queries/getLinkedPageTitlesUnderUid.js.map +1 -0
  337. package/queries/getNthChildUidByBlockUid.d.ts +5 -0
  338. package/queries/getNthChildUidByBlockUid.js +8 -0
  339. package/queries/getNthChildUidByBlockUid.js.map +1 -0
  340. package/queries/getOrderByBlockUid.d.ts +2 -0
  341. package/queries/getOrderByBlockUid.js +8 -0
  342. package/queries/getOrderByBlockUid.js.map +1 -0
  343. package/queries/getPageTitleByBlockUid.d.ts +2 -0
  344. package/queries/getPageTitleByBlockUid.js +8 -0
  345. package/queries/getPageTitleByBlockUid.js.map +1 -0
  346. package/queries/getPageTitleByPageUid.d.ts +2 -0
  347. package/queries/getPageTitleByPageUid.js +13 -0
  348. package/queries/getPageTitleByPageUid.js.map +1 -0
  349. package/queries/getPageTitleReferencesByPageTitle.d.ts +2 -0
  350. package/queries/getPageTitleReferencesByPageTitle.js +7 -0
  351. package/queries/getPageTitleReferencesByPageTitle.js.map +1 -0
  352. package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +5 -0
  353. package/queries/getPageTitlesAndBlockUidsReferencingPage.js +10 -0
  354. package/queries/getPageTitlesAndBlockUidsReferencingPage.js.map +1 -0
  355. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +5 -0
  356. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +10 -0
  357. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js.map +1 -0
  358. package/queries/getPageTitlesReferencingBlockUid.d.ts +2 -0
  359. package/queries/getPageTitlesReferencingBlockUid.js +5 -0
  360. package/queries/getPageTitlesReferencingBlockUid.js.map +1 -0
  361. package/queries/getPageTitlesStartingWithPrefix.d.ts +2 -0
  362. package/queries/getPageTitlesStartingWithPrefix.js +7 -0
  363. package/queries/getPageTitlesStartingWithPrefix.js.map +1 -0
  364. package/queries/getPageUidByBlockUid.d.ts +2 -0
  365. package/queries/getPageUidByBlockUid.js +8 -0
  366. package/queries/getPageUidByBlockUid.js.map +1 -0
  367. package/queries/getPageUidByPageTitle.d.ts +2 -0
  368. package/queries/getPageUidByPageTitle.js +10 -0
  369. package/queries/getPageUidByPageTitle.js.map +1 -0
  370. package/queries/getPageViewType.d.ts +3 -0
  371. package/queries/getPageViewType.js +10 -0
  372. package/queries/getPageViewType.js.map +1 -0
  373. package/queries/getParentTextByBlockUid.d.ts +2 -0
  374. package/queries/getParentTextByBlockUid.js +8 -0
  375. package/queries/getParentTextByBlockUid.js.map +1 -0
  376. package/queries/getParentTextByBlockUidAndTag.d.ts +5 -0
  377. package/queries/getParentTextByBlockUidAndTag.js +8 -0
  378. package/queries/getParentTextByBlockUidAndTag.js.map +1 -0
  379. package/queries/getParentUidByBlockUid.d.ts +2 -0
  380. package/queries/getParentUidByBlockUid.js +8 -0
  381. package/queries/getParentUidByBlockUid.js.map +1 -0
  382. package/queries/getParentUidsOfBlockUid.d.ts +2 -0
  383. package/queries/getParentUidsOfBlockUid.js +5 -0
  384. package/queries/getParentUidsOfBlockUid.js.map +1 -0
  385. package/queries/getSettingsByEmail.d.ts +3 -0
  386. package/queries/getSettingsByEmail.js +8 -0
  387. package/queries/getSettingsByEmail.js.map +1 -0
  388. package/queries/getShallowTreeByParentUid.d.ts +5 -0
  389. package/queries/getShallowTreeByParentUid.js +10 -0
  390. package/queries/getShallowTreeByParentUid.js.map +1 -0
  391. package/queries/getTextByBlockUid.d.ts +2 -0
  392. package/queries/getTextByBlockUid.js +10 -0
  393. package/queries/getTextByBlockUid.js.map +1 -0
  394. package/queries/index.d.ts +0 -0
  395. package/queries/index.js +5 -0
  396. package/queries/index.js.map +1 -0
  397. package/queries/isLiveBlock.d.ts +2 -0
  398. package/queries/isLiveBlock.js +5 -0
  399. package/queries/isLiveBlock.js.map +1 -0
  400. package/queries/isTagOnPage.d.ts +5 -0
  401. package/queries/isTagOnPage.js +10 -0
  402. package/queries/isTagOnPage.js.map +1 -0
  403. package/queries/normalizePageTitle.d.ts +2 -0
  404. package/queries/normalizePageTitle.js +5 -0
  405. package/queries/normalizePageTitle.js.map +1 -0
  406. package/scripts/index.d.ts +1 -0
  407. package/scripts/index.js +27 -0
  408. package/scripts/index.js.map +1 -0
  409. package/scripts/publishToRoamDepot.d.ts +7 -0
  410. package/scripts/publishToRoamDepot.js +114 -0
  411. package/scripts/publishToRoamDepot.js.map +1 -0
  412. package/testing/mockRoamEnvironment.d.ts +2 -0
  413. package/testing/mockRoamEnvironment.js +1254 -0
  414. package/testing/mockRoamEnvironment.js.map +1 -0
  415. package/types/index.d.ts +389 -0
  416. package/types/index.js +5 -0
  417. package/types/index.js.map +1 -0
  418. package/types/native.d.ts +405 -0
  419. package/types/native.js +5 -0
  420. package/types/native.js.map +1 -0
  421. package/types/query-builder.d.ts +10 -0
  422. package/types/query-builder.js +3 -0
  423. package/types/query-builder.js.map +1 -0
  424. package/types/smartblocks.d.ts +35 -0
  425. package/types/smartblocks.js +3 -0
  426. package/types/smartblocks.js.map +1 -0
  427. package/util/addInputSetting.d.ts +7 -0
  428. package/util/addInputSetting.js +26 -0
  429. package/util/addInputSetting.js.map +1 -0
  430. package/util/apiDelete.d.ts +2 -0
  431. package/util/apiDelete.js +7 -0
  432. package/util/apiDelete.js.map +1 -0
  433. package/util/apiGet.d.ts +2 -0
  434. package/util/apiGet.js +7 -0
  435. package/util/apiGet.js.map +1 -0
  436. package/util/apiPost.d.ts +2 -0
  437. package/util/apiPost.js +7 -0
  438. package/util/apiPost.js.map +1 -0
  439. package/util/apiPut.d.ts +2 -0
  440. package/util/apiPut.js +7 -0
  441. package/util/apiPut.js.map +1 -0
  442. package/util/createOverlayRender.d.ts +4 -0
  443. package/util/createOverlayRender.js +7 -0
  444. package/util/createOverlayRender.js.map +1 -0
  445. package/util/createTagRegex.d.ts +2 -0
  446. package/util/createTagRegex.js +8 -0
  447. package/util/createTagRegex.js.map +1 -0
  448. package/util/dispatchToRegistry.d.ts +3 -0
  449. package/util/dispatchToRegistry.js +8 -0
  450. package/util/dispatchToRegistry.js.map +1 -0
  451. package/util/env.d.ts +4 -0
  452. package/util/env.js +48 -0
  453. package/util/env.js.map +1 -0
  454. package/util/extensionApiContext.d.ts +29 -0
  455. package/util/extensionApiContext.js +18 -0
  456. package/util/extensionApiContext.js.map +1 -0
  457. package/util/extensionDeprecatedWarning.d.ts +5 -0
  458. package/util/extensionDeprecatedWarning.js +40 -0
  459. package/util/extensionDeprecatedWarning.js.map +1 -0
  460. package/util/extractRef.d.ts +2 -0
  461. package/util/extractRef.js +9 -0
  462. package/util/extractRef.js.map +1 -0
  463. package/util/extractTag.d.ts +2 -0
  464. package/util/extractTag.js +16 -0
  465. package/util/extractTag.js.map +1 -0
  466. package/util/focusMainWindowBlock.d.ts +2 -0
  467. package/util/focusMainWindowBlock.js +13 -0
  468. package/util/focusMainWindowBlock.js.map +1 -0
  469. package/util/getAuthorizationHeader.d.ts +2 -0
  470. package/util/getAuthorizationHeader.js +13 -0
  471. package/util/getAuthorizationHeader.js.map +1 -0
  472. package/util/getLocalStorageKey.d.ts +2 -0
  473. package/util/getLocalStorageKey.js +5 -0
  474. package/util/getLocalStorageKey.js.map +1 -0
  475. package/util/getOauth.d.ts +2 -0
  476. package/util/getOauth.js +53 -0
  477. package/util/getOauth.js.map +1 -0
  478. package/util/getOauthAccounts.d.ts +2 -0
  479. package/util/getOauthAccounts.js +23 -0
  480. package/util/getOauthAccounts.js.map +1 -0
  481. package/util/getRenderRoot.d.ts +2 -0
  482. package/util/getRenderRoot.js +19 -0
  483. package/util/getRenderRoot.js.map +1 -0
  484. package/util/getSettingIntFromTree.d.ts +7 -0
  485. package/util/getSettingIntFromTree.js +12 -0
  486. package/util/getSettingIntFromTree.js.map +1 -0
  487. package/util/getSettingValueFromTree.d.ts +8 -0
  488. package/util/getSettingValueFromTree.js +15 -0
  489. package/util/getSettingValueFromTree.js.map +1 -0
  490. package/util/getSettingValuesFromTree.d.ts +7 -0
  491. package/util/getSettingValuesFromTree.js +13 -0
  492. package/util/getSettingValuesFromTree.js.map +1 -0
  493. package/util/getSubTree.d.ts +8 -0
  494. package/util/getSubTree.js +20 -0
  495. package/util/getSubTree.js.map +1 -0
  496. package/util/getToken.d.ts +2 -0
  497. package/util/getToken.js +11 -0
  498. package/util/getToken.js.map +1 -0
  499. package/util/getTokenFromTree.d.ts +3 -0
  500. package/util/getTokenFromTree.js +5 -0
  501. package/util/getTokenFromTree.js.map +1 -0
  502. package/util/getWorkerClient.d.ts +12 -0
  503. package/util/getWorkerClient.js +42 -0
  504. package/util/getWorkerClient.js.map +1 -0
  505. package/util/handleBodyFetch.d.ts +3 -0
  506. package/util/handleBodyFetch.js +22 -0
  507. package/util/handleBodyFetch.js.map +1 -0
  508. package/util/handleFetch.d.ts +13 -0
  509. package/util/handleFetch.js +41 -0
  510. package/util/handleFetch.js.map +1 -0
  511. package/util/handleUrlFetch.d.ts +3 -0
  512. package/util/handleUrlFetch.js +20 -0
  513. package/util/handleUrlFetch.js.map +1 -0
  514. package/util/idToTitle.d.ts +2 -0
  515. package/util/idToTitle.js +9 -0
  516. package/util/idToTitle.js.map +1 -0
  517. package/{src/util/index.ts → util/index.d.ts} +24 -24
  518. package/util/index.js +55 -0
  519. package/util/index.js.map +1 -0
  520. package/util/isControl.d.ts +2 -0
  521. package/util/isControl.js +5 -0
  522. package/util/isControl.js.map +1 -0
  523. package/util/localStorageGet.d.ts +2 -0
  524. package/util/localStorageGet.js +9 -0
  525. package/util/localStorageGet.js.map +1 -0
  526. package/util/localStorageRemove.d.ts +2 -0
  527. package/util/localStorageRemove.js +7 -0
  528. package/util/localStorageRemove.js.map +1 -0
  529. package/util/localStorageSet.d.ts +2 -0
  530. package/util/localStorageSet.js +9 -0
  531. package/util/localStorageSet.js.map +1 -0
  532. package/util/registerExperimentalMode.d.ts +6 -0
  533. package/util/registerExperimentalMode.js +66 -0
  534. package/util/registerExperimentalMode.js.map +1 -0
  535. package/util/registerSmartBlocksCommand.d.ts +3 -0
  536. package/util/registerSmartBlocksCommand.js +24 -0
  537. package/util/registerSmartBlocksCommand.js.map +1 -0
  538. package/util/removeFromRegistry.d.ts +3 -0
  539. package/util/removeFromRegistry.js +8 -0
  540. package/util/removeFromRegistry.js.map +1 -0
  541. package/util/renderOverlay.d.ts +12 -0
  542. package/util/renderOverlay.js +49 -0
  543. package/util/renderOverlay.js.map +1 -0
  544. package/util/renderWithUnmount.d.ts +4 -0
  545. package/util/renderWithUnmount.js +45 -0
  546. package/util/renderWithUnmount.js.map +1 -0
  547. package/util/runExtension.d.ts +11 -0
  548. package/util/runExtension.js +175 -0
  549. package/util/runExtension.js.map +1 -0
  550. package/util/setInputSetting.d.ts +7 -0
  551. package/util/setInputSetting.js +38 -0
  552. package/util/setInputSetting.js.map +1 -0
  553. package/util/setInputSettings.d.ts +7 -0
  554. package/util/setInputSettings.js +29 -0
  555. package/util/setInputSettings.js.map +1 -0
  556. package/util/stripUid.d.ts +3 -0
  557. package/util/stripUid.js +11 -0
  558. package/util/stripUid.js.map +1 -0
  559. package/util/toConfigPageName.d.ts +2 -0
  560. package/util/toConfigPageName.js +5 -0
  561. package/util/toConfigPageName.js.map +1 -0
  562. package/util/toFlexRegex.d.ts +2 -0
  563. package/util/toFlexRegex.js +5 -0
  564. package/util/toFlexRegex.js.map +1 -0
  565. package/writes/clearBlockById.d.ts +2 -0
  566. package/writes/clearBlockById.js +18 -0
  567. package/writes/clearBlockById.js.map +1 -0
  568. package/writes/clearBlockByUid.d.ts +2 -0
  569. package/writes/clearBlockByUid.js +17 -0
  570. package/writes/clearBlockByUid.js.map +1 -0
  571. package/writes/createBlock.d.ts +8 -0
  572. package/writes/createBlock.js +29 -0
  573. package/writes/createBlock.js.map +1 -0
  574. package/writes/createPage.d.ts +7 -0
  575. package/writes/createPage.js +21 -0
  576. package/writes/createPage.js.map +1 -0
  577. package/writes/deleteBlock.d.ts +2 -0
  578. package/writes/deleteBlock.js +11 -0
  579. package/writes/deleteBlock.js.map +1 -0
  580. package/{src/writes/index.ts → writes/index.d.ts} +8 -8
  581. package/writes/index.js +23 -0
  582. package/writes/index.js.map +1 -0
  583. package/writes/openBlockInSidebar.d.ts +2 -0
  584. package/writes/openBlockInSidebar.js +14 -0
  585. package/writes/openBlockInSidebar.js.map +1 -0
  586. package/writes/submitActions.d.ts +8 -0
  587. package/writes/submitActions.js +37 -0
  588. package/writes/submitActions.js.map +1 -0
  589. package/writes/updateActiveBlock.d.ts +2 -0
  590. package/writes/updateActiveBlock.js +18 -0
  591. package/writes/updateActiveBlock.js.map +1 -0
  592. package/writes/updateBlock.d.ts +5 -0
  593. package/writes/updateBlock.js +24 -0
  594. package/writes/updateBlock.js.map +1 -0
  595. package/.eslintrc.json +0 -19
  596. package/.github/workflows/main.yaml +0 -34
  597. package/docs/components.md +0 -32
  598. package/docs/date.md +0 -13
  599. package/docs/dom.md +0 -58
  600. package/docs/events.md +0 -16
  601. package/docs/hooks.md +0 -15
  602. package/docs/marked.md +0 -56
  603. package/docs/queries.md +0 -24
  604. package/docs/scripts.md +0 -20
  605. package/docs/types.md +0 -32
  606. package/docs/util.md +0 -38
  607. package/docs/writes.md +0 -23
  608. package/patches/dotenv+16.3.1.patch +0 -12
  609. package/src/components/AutocompleteInput.tsx +0 -248
  610. package/src/components/BlockErrorBoundary.tsx +0 -35
  611. package/src/components/BlockInput.tsx +0 -117
  612. package/src/components/ComponentContainer.tsx +0 -69
  613. package/src/components/ConfigPage.tsx +0 -320
  614. package/src/components/ConfigPanels/BlockPanel.tsx +0 -60
  615. package/src/components/ConfigPanels/BlocksPanel.tsx +0 -100
  616. package/src/components/ConfigPanels/CustomPanel.tsx +0 -41
  617. package/src/components/ConfigPanels/FlagPanel.tsx +0 -48
  618. package/src/components/ConfigPanels/MultiChildPanel.tsx +0 -99
  619. package/src/components/ConfigPanels/MultiTextPanel.tsx +0 -23
  620. package/src/components/ConfigPanels/NumberPanel.tsx +0 -36
  621. package/src/components/ConfigPanels/OauthPanel.tsx +0 -127
  622. package/src/components/ConfigPanels/PagesPanel.tsx +0 -19
  623. package/src/components/ConfigPanels/SelectPanel.tsx +0 -46
  624. package/src/components/ConfigPanels/TextPanel.tsx +0 -44
  625. package/src/components/ConfigPanels/TimePanel.tsx +0 -45
  626. package/src/components/ConfigPanels/getBrandColors.tsx +0 -31
  627. package/src/components/ConfigPanels/types.ts +0 -111
  628. package/src/components/ConfigPanels/useSingleChildValue.tsx +0 -63
  629. package/src/components/CursorMenu.tsx +0 -286
  630. package/src/components/Description.tsx +0 -31
  631. package/src/components/ExtensionApiContext.tsx +0 -24
  632. package/src/components/ExternalLogin.tsx +0 -190
  633. package/src/components/Filter.tsx +0 -313
  634. package/src/components/FormDialog.tsx +0 -503
  635. package/src/components/Loading.tsx +0 -33
  636. package/src/components/MenuItemSelect.tsx +0 -88
  637. package/src/components/OauthPanel.tsx +0 -62
  638. package/src/components/OauthSelect.tsx +0 -40
  639. package/src/components/PageInput.tsx +0 -17
  640. package/src/components/PageLink.tsx +0 -50
  641. package/src/components/ProgressDialog.tsx +0 -85
  642. package/src/components/SimpleAlert.tsx +0 -103
  643. package/src/components/Toast.tsx +0 -85
  644. package/src/components/index.ts +0 -5
  645. package/src/components.tsx +0 -242
  646. package/src/date/constants.ts +0 -19
  647. package/src/date/parseNlpDate.ts +0 -255
  648. package/src/date/parseRoamDateUid.ts +0 -6
  649. package/src/dom/addBlockCommand.ts +0 -59
  650. package/src/dom/addKeyboardTriggers.ts +0 -52
  651. package/src/dom/addOldRoamJSDependency.ts +0 -10
  652. package/src/dom/addRoamJSDependency.ts +0 -7
  653. package/src/dom/addScriptAsDependency.ts +0 -24
  654. package/src/dom/addStyle.ts +0 -11
  655. package/src/dom/constants.ts +0 -1
  656. package/src/dom/createBlockObserver.ts +0 -44
  657. package/src/dom/createButtonObserver.ts +0 -31
  658. package/src/dom/createDivObserver.ts +0 -15
  659. package/src/dom/createHTMLObserver.ts +0 -44
  660. package/src/dom/createHashtagObserver.ts +0 -22
  661. package/src/dom/createIconButton.ts +0 -13
  662. package/src/dom/createObserver.ts +0 -15
  663. package/src/dom/createOverlayObserver.ts +0 -7
  664. package/src/dom/createPageObserver.ts +0 -37
  665. package/src/dom/createPageTitleObserver.ts +0 -43
  666. package/src/dom/elToTitle.ts +0 -21
  667. package/src/dom/genericError.ts +0 -13
  668. package/src/dom/getActiveUids.ts +0 -6
  669. package/src/dom/getBlockUidFromTarget.ts +0 -39
  670. package/src/dom/getCurrentPageUid.ts +0 -5
  671. package/src/dom/getDomRefs.ts +0 -15
  672. package/src/dom/getDropUidOffset.ts +0 -36
  673. package/src/dom/getMutatedNodes.ts +0 -31
  674. package/src/dom/getPageTitleByHtmlElement.ts +0 -19
  675. package/src/dom/getPageTitleValueByHtmlElement.ts +0 -8
  676. package/src/dom/getReferenceBlockUid.ts +0 -22
  677. package/src/dom/getRoamUrl.ts +0 -6
  678. package/src/dom/getRoamUrlByPage.ts +0 -9
  679. package/src/dom/getUids.ts +0 -9
  680. package/src/dom/getUidsFromButton.ts +0 -9
  681. package/src/dom/getUidsFromId.ts +0 -13
  682. package/src/dom/parseRoamBlocksToHtml.ts +0 -118
  683. package/src/dom/resolveRefs.ts +0 -31
  684. package/src/events/watchOnce.ts +0 -17
  685. package/src/hooks/useArrowKeyDown.ts +0 -72
  686. package/src/hooks/useSubTree.ts +0 -16
  687. package/src/marked/index.ts +0 -619
  688. package/src/queries/compileDatalog.ts +0 -81
  689. package/src/queries/getAllBlockUids.ts +0 -6
  690. package/src/queries/getAllBlockUidsAndTexts.ts +0 -6
  691. package/src/queries/getAllPageNames.ts +0 -6
  692. package/src/queries/getAttributeValueByBlockAndName.ts +0 -23
  693. package/src/queries/getBasicTreeByParentUid.ts +0 -21
  694. package/src/queries/getBlockUidAndTextIncludingText.ts +0 -15
  695. package/src/queries/getBlockUidByTextOnPage.ts +0 -12
  696. package/src/queries/getBlockUidsAndTextsReferencingPage.ts +0 -18
  697. package/src/queries/getBlockUidsByPageTitle.ts +0 -12
  698. package/src/queries/getBlockUidsReferencingBlock.ts +0 -10
  699. package/src/queries/getBlockUidsReferencingPage.ts +0 -13
  700. package/src/queries/getBlockUidsWithParentUid.ts +0 -10
  701. package/src/queries/getChildrenLengthByPageUid.ts +0 -7
  702. package/src/queries/getChildrenLengthByParentUid.ts +0 -6
  703. package/src/queries/getCreateTimeByBlockUid.ts +0 -6
  704. package/src/queries/getCurrentUser.ts +0 -12
  705. package/src/queries/getCurrentUserDisplayName.ts +0 -9
  706. package/src/queries/getCurrentUserEmail.ts +0 -12
  707. package/src/queries/getCurrentUserUid.ts +0 -12
  708. package/src/queries/getDisplayNameByEmail.ts +0 -6
  709. package/src/queries/getDisplayNameByUid.ts +0 -6
  710. package/src/queries/getEditTimeByBlockUid.ts +0 -6
  711. package/src/queries/getEditedUserEmailByBlockUid.ts +0 -6
  712. package/src/queries/getFirstChildTextByBlockUid.ts +0 -8
  713. package/src/queries/getFirstChildUidByBlockUid.ts +0 -6
  714. package/src/queries/getFullTreeByParentUid.ts +0 -60
  715. package/src/queries/getLinkedPageTitlesUnderUid.ts +0 -8
  716. package/src/queries/getNthChildUidByBlockUid.ts +0 -16
  717. package/src/queries/getOrderByBlockUid.ts +0 -6
  718. package/src/queries/getPageTitleByBlockUid.ts +0 -8
  719. package/src/queries/getPageTitleByPageUid.ts +0 -11
  720. package/src/queries/getPageTitleReferencesByPageTitle.ts +0 -13
  721. package/src/queries/getPageTitlesAndBlockUidsReferencingPage.ts +0 -18
  722. package/src/queries/getPageTitlesAndUidsDirectlyReferencingPage.ts +0 -18
  723. package/src/queries/getPageTitlesReferencingBlockUid.ts +0 -10
  724. package/src/queries/getPageTitlesStartingWithPrefix.ts +0 -8
  725. package/src/queries/getPageUidByBlockUid.ts +0 -8
  726. package/src/queries/getPageUidByPageTitle.ts +0 -10
  727. package/src/queries/getPageViewType.ts +0 -11
  728. package/src/queries/getParentTextByBlockUid.ts +0 -6
  729. package/src/queries/getParentTextByBlockUidAndTag.ts +0 -12
  730. package/src/queries/getParentUidByBlockUid.ts +0 -10
  731. package/src/queries/getParentUidsOfBlockUid.ts +0 -10
  732. package/src/queries/getSettingsByEmail.ts +0 -8
  733. package/src/queries/getShallowTreeByParentUid.ts +0 -17
  734. package/src/queries/getTextByBlockUid.ts +0 -8
  735. package/src/queries/index.ts +0 -5
  736. package/src/queries/isLiveBlock.ts +0 -4
  737. package/src/queries/isTagOnPage.ts +0 -12
  738. package/src/queries/normalizePageTitle.ts +0 -4
  739. package/src/scripts/index.ts +0 -2
  740. package/src/scripts/publishToRoamDepot.ts +0 -163
  741. package/src/testing/mockRoamEnvironment.ts +0 -1489
  742. package/src/types/index.ts +0 -260
  743. package/src/types/native.ts +0 -495
  744. package/src/types/query-builder.ts +0 -10
  745. package/src/types/smartblocks.ts +0 -39
  746. package/src/util/addInputSetting.ts +0 -33
  747. package/src/util/apiDelete.ts +0 -5
  748. package/src/util/apiGet.ts +0 -5
  749. package/src/util/apiPost.ts +0 -5
  750. package/src/util/apiPut.ts +0 -5
  751. package/src/util/createOverlayRender.ts +0 -12
  752. package/src/util/createTagRegex.ts +0 -7
  753. package/src/util/dispatchToRegistry.ts +0 -11
  754. package/src/util/env.ts +0 -44
  755. package/src/util/extensionApiContext.ts +0 -17
  756. package/src/util/extensionDeprecatedWarning.ts +0 -57
  757. package/src/util/extractRef.ts +0 -8
  758. package/src/util/extractTag.ts +0 -15
  759. package/src/util/focusMainWindowBlock.ts +0 -13
  760. package/src/util/getAuthorizationHeader.ts +0 -11
  761. package/src/util/getLocalStorageKey.ts +0 -4
  762. package/src/util/getOauth.ts +0 -57
  763. package/src/util/getOauthAccounts.ts +0 -26
  764. package/src/util/getRenderRoot.ts +0 -17
  765. package/src/util/getSettingIntFromTree.ts +0 -18
  766. package/src/util/getSettingValueFromTree.ts +0 -23
  767. package/src/util/getSettingValuesFromTree.ts +0 -20
  768. package/src/util/getSubTree.ts +0 -31
  769. package/src/util/getToken.ts +0 -12
  770. package/src/util/getTokenFromTree.ts +0 -6
  771. package/src/util/getWorkerClient.ts +0 -55
  772. package/src/util/handleBodyFetch.ts +0 -38
  773. package/src/util/handleFetch.ts +0 -70
  774. package/src/util/handleUrlFetch.ts +0 -30
  775. package/src/util/idToTitle.ts +0 -8
  776. package/src/util/isControl.ts +0 -4
  777. package/src/util/localStorageGet.ts +0 -6
  778. package/src/util/localStorageRemove.ts +0 -6
  779. package/src/util/localStorageSet.ts +0 -6
  780. package/src/util/registerExperimentalMode.ts +0 -76
  781. package/src/util/registerSmartBlocksCommand.ts +0 -23
  782. package/src/util/removeFromRegistry.ts +0 -11
  783. package/src/util/renderOverlay.ts +0 -69
  784. package/src/util/renderWithUnmount.ts +0 -50
  785. package/src/util/runExtension.ts +0 -206
  786. package/src/util/setInputSetting.ts +0 -46
  787. package/src/util/setInputSettings.ts +0 -37
  788. package/src/util/stripUid.ts +0 -10
  789. package/src/util/toConfigPageName.ts +0 -3
  790. package/src/util/toFlexRegex.ts +0 -7
  791. package/src/writes/clearBlockById.ts +0 -17
  792. package/src/writes/clearBlockByUid.ts +0 -16
  793. package/src/writes/createBlock.ts +0 -50
  794. package/src/writes/createPage.ts +0 -30
  795. package/src/writes/deleteBlock.ts +0 -9
  796. package/src/writes/openBlockInSidebar.ts +0 -13
  797. package/src/writes/submitActions.ts +0 -54
  798. package/src/writes/updateActiveBlock.ts +0 -17
  799. package/src/writes/updateBlock.ts +0 -33
  800. package/tests/backend.test.tsx +0 -28
  801. package/tests/date.test.ts +0 -26
  802. package/tests/dom.test.tsx +0 -10
  803. package/tests/index.test.tsx +0 -25
  804. package/tests/marked.test.ts +0 -474
  805. package/tests/util/createTagRegex.test.ts +0 -63
  806. package/tests/util/extractTag.test.ts +0 -17
  807. package/tests/util/toFlexRegex.test.ts +0 -7
  808. package/tsconfig.json +0 -26
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItemSelect.js","sourceRoot":"","sources":["../../src/components/MenuItemSelect.tsx"],"names":[],"mappings":";;;AAAA,4CAAkE;AAClE,gDAA0E;AAC1E,0DAA0E;AAkB1E,MAAM,cAAc,GAAG,CACrB,KAA6B,EAChB,EAAE;IACf,MAAM,UAAU,GAAG,eAAM,CAAC,MAAM,EAAK,CAAC;IACtC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,IAAO,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,MAAM,EACJ,UAAU,EACV,UAAU,GAAG,KAAK,EAClB,QAAQ,EACR,aAAa,EACb,cAAc,KAEZ,KAAK,EADJ,WAAW,kBACZ,KAAK,EAPH,2EAOL,CAAQ,CAAC;IAEV,MAAM,aAAa,GAAG,CACpB,8BAAC,aAAM,kBACL,IAAI,EACF,UAAU,CAAC,CAAC,CAAC,CACX,aAAa,CAAC,CAAC,CAAC,CACd,aAAa,CAAC,UAAe,CAAC,CAC/B,CAAC,CAAC,CAAC,CACF,UAAU,CACX,CACF,CAAC,CAAC,CAAC,CACF,wCAAM,SAAS,EAAC,mBAAmB,IAChC,cAAc,IAAI,WAAW,CACzB,CACR,EAEH,SAAS,EAAC,uBAAuB,IAC7B,KAAK,CAAC,WAAW,EACrB,CACH,CAAC;IAEF,OAAO,CACL,8BAAC,UAAU,oBACL,WAAW,IACf,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAClD,8BAAC,eAAQ,IACP,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAChD,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,OAAO,EAAE,WAAW,GACpB,CACH,EACD,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACrD,YAAY,kBACV,OAAO,EAAE,IAAI,EACb,cAAc,EAAE,IAAI,IACjB,KAAK,CAAC,YAAY,MAGtB,QAAQ;QACP,CAAC,CAAC,QAAQ,CAAC;YACP,UAAU;YACV,cAAc;YACd,aAAa;SACd,CAAC;QACJ,CAAC,CAAC,aAAa,CACN,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC","sourcesContent":["import { Button, ButtonProps, MenuItem } from \"@blueprintjs/core\";\nimport { SelectProps, Select, ICreateNewItem } from \"@blueprintjs/select\";\nimport React, { ReactText, ButtonHTMLAttributes, ReactNode } from \"react\";\n\ntype ActiveItem<T> = T | ICreateNewItem | null | undefined;\ntype TransformItem<T> = (s: T) => ReactNode;\ntype MenuItemSelectProps<T extends ReactText> = Omit<\n SelectProps<T>,\n \"itemRenderer\"\n> & {\n ButtonProps?: ButtonProps & ButtonHTMLAttributes<HTMLButtonElement>;\n emptyValueText?: string;\n transformItem?: TransformItem<T>;\n children?: (props: {\n activeItem: ActiveItem<T>;\n emptyValueText?: string;\n transformItem?: TransformItem<T>;\n }) => ReactNode;\n};\n\nconst MenuItemSelect = <T extends ReactText>(\n props: MenuItemSelectProps<T>\n): JSX.Element => {\n const TypeSelect = Select.ofType<T>();\n const itemPredicate = (query: string, item: T) => {\n const text = props.transformItem ? props.transformItem(item) : item;\n return String(text).toLowerCase().includes(query.toLowerCase());\n };\n const {\n activeItem,\n filterable = false,\n children,\n transformItem,\n emptyValueText,\n ...selectProps\n } = props;\n\n const defaultButton = (\n <Button\n text={\n activeItem ? (\n transformItem ? (\n transformItem(activeItem as T)\n ) : (\n activeItem\n )\n ) : (\n <span className=\"opacity-50 italic\">\n {emptyValueText || \"Choose...\"}\n </span>\n )\n }\n rightIcon=\"double-caret-vertical\"\n {...props.ButtonProps}\n />\n );\n\n return (\n <TypeSelect\n {...selectProps}\n itemRenderer={(item, { modifiers, handleClick }) => (\n <MenuItem\n key={item}\n text={transformItem ? transformItem(item) : item}\n active={modifiers.active}\n onClick={handleClick}\n />\n )}\n filterable={filterable}\n itemPredicate={filterable ? itemPredicate : undefined}\n popoverProps={{\n minimal: true,\n captureDismiss: true,\n ...props.popoverProps,\n }}\n >\n {children\n ? children({\n activeItem,\n emptyValueText,\n transformItem,\n })\n : defaultButton}\n </TypeSelect>\n );\n};\n\nexport default MenuItemSelect;\n"]}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { ExternalLoginOptions } from "./ExternalLogin";
3
+ declare const OauthPanel: {
4
+ (options: ExternalLoginOptions): JSX.Element;
5
+ type: string;
6
+ };
7
+ export default OauthPanel;
@@ -0,0 +1,31 @@
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 localStorageGet_1 = tslib_1.__importDefault(require("../util/localStorageGet"));
7
+ const localStorageSet_1 = require("../util/localStorageSet");
8
+ const ExternalLogin_1 = tslib_1.__importDefault(require("./ExternalLogin"));
9
+ const OauthPanel = (options) => {
10
+ const key = `oauth-${options.service}`;
11
+ const [accounts, setAccounts] = (0, react_1.useState)(() => JSON.parse((0, localStorageGet_1.default)(key) || "[]"));
12
+ return (react_1.default.createElement("div", { className: "flex flex-col gap-1", style: { minWidth: 300 } },
13
+ react_1.default.createElement(ExternalLogin_1.default, Object.assign({ useLocal: true, onSuccess: (acc) => setAccounts([...accounts, acc]), parentUid: "", loggedIn: !!accounts.length }, options)),
14
+ !!accounts.length && (react_1.default.createElement(react_1.default.Fragment, null,
15
+ react_1.default.createElement("h5", { className: "margin-0" }, "Accounts"),
16
+ react_1.default.createElement("ul", { className: "margin-0" }, accounts.map((act) => (react_1.default.createElement("li", { key: act.uid, style: {
17
+ display: "flex",
18
+ justifyContent: "space-between",
19
+ alignItems: "center",
20
+ marginTop: 8,
21
+ } },
22
+ react_1.default.createElement("span", { style: { minWidth: 192 } }, act.text),
23
+ react_1.default.createElement(core_1.Button, { text: "Log Out", onClick: () => {
24
+ const accts = JSON.parse((0, localStorageGet_1.default)(key));
25
+ (0, localStorageSet_1.localStorageSet)(key, JSON.stringify(accts.filter((a) => act.uid !== a.uid)));
26
+ setAccounts(accounts.filter((a) => act.uid !== a.uid));
27
+ } })))))))));
28
+ };
29
+ OauthPanel.type = "oauth";
30
+ exports.default = OauthPanel;
31
+ //# sourceMappingURL=OauthPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OauthPanel.js","sourceRoot":"","sources":["../../src/components/OauthPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,uDAAwC;AACxC,sFAAsD;AACtD,6DAA0D;AAC1D,4EAAsE;AAEtE,MAAM,UAAU,GAAG,CAAC,OAA6B,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,SAAS,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAEtC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAE,IAAA,yBAAe,EAAC,GAAG,CAAY,IAAI,IAAI,CAAC,CAAC,CAAC;IAC9D,OAAO,CACL,uCAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC3D,8BAAC,uBAAa,kBACZ,QAAQ,QACR,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,EACnD,SAAS,EAAE,EAAE,EACb,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IACvB,OAAO,EACX;QACD,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CACpB;YACE,sCAAI,SAAS,EAAC,UAAU,eAAc;YACtC,sCAAI,SAAS,EAAC,UAAU,IACrB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACrB,sCACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,UAAU,EAAE,QAAQ;oBACpB,SAAS,EAAE,CAAC;iBACb;gBAED,wCAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAG,GAAG,CAAC,IAAI,CAAQ;gBACjD,8BAAC,aAAM,IACL,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,IAAA,yBAAe,EAAC,GAAG,CAAW,CAG7B,CAAC;wBACJ,IAAA,iCAAe,EACb,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CACvD,CAAC;wBACF,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,CAAC,GACD,CACC,CACN,CAAC,CACC,CACJ,CACJ,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;AAE1B,kBAAe,UAAU,CAAC","sourcesContent":["import { Button } from \"@blueprintjs/core\";\nimport React, { useState } from \"react\";\nimport localStorageGet from \"../util/localStorageGet\";\nimport { localStorageSet } from \"../util/localStorageSet\";\nimport ExternalLogin, { ExternalLoginOptions } from \"./ExternalLogin\";\n\nconst OauthPanel = (options: ExternalLoginOptions) => {\n const key = `oauth-${options.service}`;\n const [accounts, setAccounts] = useState<\n { text: string; uid: string; data: string }[]\n >(() => JSON.parse((localStorageGet(key) as string) || \"[]\"));\n return (\n <div className=\"flex flex-col gap-1\" style={{ minWidth: 300 }}>\n <ExternalLogin\n useLocal\n onSuccess={(acc) => setAccounts([...accounts, acc])}\n parentUid={\"\"}\n loggedIn={!!accounts.length}\n {...options}\n />\n {!!accounts.length && (\n <>\n <h5 className=\"margin-0\">Accounts</h5>\n <ul className=\"margin-0\">\n {accounts.map((act) => (\n <li\n key={act.uid}\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginTop: 8,\n }}\n >\n <span style={{ minWidth: 192 }}>{act.text}</span>\n <Button\n text={\"Log Out\"}\n onClick={() => {\n const accts = JSON.parse(\n localStorageGet(key) as string\n ) as {\n uid: string;\n }[];\n localStorageSet(\n key,\n JSON.stringify(accts.filter((a) => act.uid !== a.uid))\n );\n setAccounts(accounts.filter((a) => act.uid !== a.uid));\n }}\n />\n </li>\n ))}\n </ul>\n </>\n )}\n </div>\n );\n};\n\nOauthPanel.type = \"oauth\";\n\nexport default OauthPanel;\n"]}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export declare const useOauthAccounts: (id: string) => {
3
+ accountDropdown: React.ReactElement;
4
+ accountLabel: string;
5
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOauthAccounts = 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 getPageUidByPageTitle_1 = tslib_1.__importDefault(require("../queries/getPageUidByPageTitle"));
8
+ const getBasicTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getBasicTreeByParentUid"));
9
+ const toFlexRegex_1 = tslib_1.__importDefault(require("../util/toFlexRegex"));
10
+ const MenuItemSelect_1 = tslib_1.__importDefault(require("./MenuItemSelect"));
11
+ const useOauthAccounts = (id) => {
12
+ var _a;
13
+ const accountLabels = (((_a = (0, getBasicTreeByParentUid_1.default)((0, getPageUidByPageTitle_1.default)(`roam/js/${id}`)).find((t) => (0, toFlexRegex_1.default)("oauth").test(t.text))) === null || _a === void 0 ? void 0 : _a.children) || [])
14
+ .map((t) => t.text)
15
+ .filter((t) => !t.startsWith("{") && !t.endsWith("}"));
16
+ const [accountLabel, setAccountLabel] = (0, react_1.useState)(accountLabels[0] || "");
17
+ const accountDropdown = (react_1.default.createElement(react_1.default.Fragment, null, accountLabels.length > 1 && (react_1.default.createElement(core_1.Label, null,
18
+ "Account:",
19
+ react_1.default.createElement(MenuItemSelect_1.default, { activeItem: accountLabel, onItemSelect: (i) => setAccountLabel(i), items: accountLabels })))));
20
+ return {
21
+ accountDropdown,
22
+ accountLabel,
23
+ };
24
+ };
25
+ exports.useOauthAccounts = useOauthAccounts;
26
+ //# sourceMappingURL=OauthSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OauthSelect.js","sourceRoot":"","sources":["../../src/components/OauthSelect.tsx"],"names":[],"mappings":";;;;AAAA,4CAA0C;AAC1C,uDAAwC;AACxC,qGAAqE;AACrE,yGAAyE;AACzE,8EAA8C;AAC9C,8EAA8C;AAEvC,MAAM,gBAAgB,GAAG,CAC9B,EAAU,EAIV,EAAE;;IACF,MAAM,aAAa,GAAG,CACpB,CAAA,MAAA,IAAA,iCAAuB,EAAC,IAAA,+BAAqB,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAClC,0CAAE,QAAQ,KAAI,EAAE,CAClB;SACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,CACtB,8DACG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,8BAAC,YAAK;;QAEJ,8BAAC,wBAAc,IACb,UAAU,EAAE,YAAY,EACxB,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EACvC,KAAK,EAAE,aAAa,GACpB,CACI,CACT,CACA,CACJ,CAAC;IACF,OAAO;QACL,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,gBAAgB,oBAgC3B","sourcesContent":["import { Label } from \"@blueprintjs/core\";\nimport React, { useState } from \"react\";\nimport getPageUidByPageTitle from \"../queries/getPageUidByPageTitle\";\nimport getBasicTreeByParentUid from \"../queries/getBasicTreeByParentUid\";\nimport toFlexRegex from \"../util/toFlexRegex\";\nimport MenuItemSelect from \"./MenuItemSelect\";\n\nexport const useOauthAccounts = (\n id: string\n): {\n accountDropdown: React.ReactElement;\n accountLabel: string;\n} => {\n const accountLabels = (\n getBasicTreeByParentUid(getPageUidByPageTitle(`roam/js/${id}`)).find((t) =>\n toFlexRegex(\"oauth\").test(t.text)\n )?.children || []\n )\n .map((t) => t.text)\n .filter((t) => !t.startsWith(\"{\") && !t.endsWith(\"}\"));\n const [accountLabel, setAccountLabel] = useState(accountLabels[0] || \"\");\n const accountDropdown = (\n <>\n {accountLabels.length > 1 && (\n <Label>\n Account:\n <MenuItemSelect\n activeItem={accountLabel}\n onItemSelect={(i) => setAccountLabel(i)}\n items={accountLabels}\n />\n </Label>\n )}\n </>\n );\n return {\n accountDropdown,\n accountLabel,\n };\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { AutocompleteInputProps } from "./AutocompleteInput";
3
+ declare const PageInput: ({ extra, ...rest }: {
4
+ extra?: string[] | undefined;
5
+ } & Omit<AutocompleteInputProps<string>, "options">) => React.ReactElement;
6
+ export default PageInput;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const getAllPageNames_1 = tslib_1.__importDefault(require("../queries/getAllPageNames"));
6
+ const AutocompleteInput_1 = tslib_1.__importDefault(require("./AutocompleteInput"));
7
+ const DEFAULT_EXTRA = [];
8
+ const PageInput = (_a) => {
9
+ var { extra = DEFAULT_EXTRA } = _a, rest = tslib_1.__rest(_a, ["extra"]);
10
+ const options = (0, react_1.useMemo)(() => [...(0, getAllPageNames_1.default)(), ...extra], [extra]);
11
+ return react_1.default.createElement(AutocompleteInput_1.default, Object.assign({}, rest, { options: options }));
12
+ };
13
+ exports.default = PageInput;
14
+ //# sourceMappingURL=PageInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageInput.js","sourceRoot":"","sources":["../../src/components/PageInput.tsx"],"names":[],"mappings":";;;AAAA,uDAAuC;AACvC,yFAAyD;AACzD,oFAAgF;AAEhF,MAAM,aAAa,GAAa,EAAE,CAAC;AAEnC,MAAM,SAAS,GAAG,CAAC,EAKwB,EAAsB,EAAE;QALhD,EACjB,KAAK,GAAG,aAAa,OAIoB,EAHtC,IAAI,sBAFU,SAGlB,CADQ;IAIP,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAA,yBAAe,GAAE,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,8BAAC,2BAAiB,oBAAK,IAAI,IAAE,OAAO,EAAE,OAAO,IAAI,CAAC;AAC3D,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["import React, { useMemo } from \"react\";\nimport getAllPageNames from \"../queries/getAllPageNames\";\nimport AutocompleteInput, { AutocompleteInputProps } from \"./AutocompleteInput\";\n\nconst DEFAULT_EXTRA: string[] = [];\n\nconst PageInput = ({\n extra = DEFAULT_EXTRA,\n ...rest\n}: {\n extra?: string[];\n} & Omit<AutocompleteInputProps, \"options\">): React.ReactElement => {\n const options = useMemo(() => [...getAllPageNames(), ...extra], [extra]);\n return <AutocompleteInput {...rest} options={options} />;\n};\n\nexport default PageInput;\n"]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ declare const PageLink: ({ uid, onCtrlClick, children, }: React.PropsWithChildren<{
3
+ uid: string;
4
+ onCtrlClick?: ((e: React.MouseEvent) => void) | undefined;
5
+ }>) => JSX.Element;
6
+ export default PageLink;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const getRoamUrl_1 = tslib_1.__importDefault(require("../dom/getRoamUrl"));
6
+ const getPageTitleByPageUid_1 = tslib_1.__importDefault(require("../queries/getPageTitleByPageUid"));
7
+ const openBlockInSidebar_1 = tslib_1.__importDefault(require("../writes/openBlockInSidebar"));
8
+ const PageLink = ({ uid, onCtrlClick, children, }) => {
9
+ const title = (0, react_1.useMemo)(() => children || (0, getPageTitleByPageUid_1.default)(uid), [children, uid]);
10
+ return (react_1.default.createElement("a", { className: "rm-page-ref", "data-link-title": title, href: (0, getRoamUrl_1.default)(uid), onMouseDown: (e) => {
11
+ if (e.shiftKey) {
12
+ (0, openBlockInSidebar_1.default)(uid);
13
+ e.preventDefault();
14
+ e.stopPropagation();
15
+ }
16
+ else if (e.ctrlKey) {
17
+ onCtrlClick === null || onCtrlClick === void 0 ? void 0 : onCtrlClick(e);
18
+ }
19
+ }, onClick: (e) => {
20
+ if (e.shiftKey || e.ctrlKey) {
21
+ e.preventDefault();
22
+ e.stopPropagation();
23
+ }
24
+ }, onContextMenu: (e) => {
25
+ if (e.ctrlKey) {
26
+ e.preventDefault();
27
+ e.stopPropagation();
28
+ }
29
+ } }, title));
30
+ };
31
+ exports.default = PageLink;
32
+ //# sourceMappingURL=PageLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageLink.js","sourceRoot":"","sources":["../../src/components/PageLink.tsx"],"names":[],"mappings":";;;AAAA,uDAAuC;AACvC,2EAA2C;AAC3C,qGAAqE;AACrE,8FAA8D;AAE9D,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,WAAW,EACX,QAAQ,GAIR,EAAE,EAAE;IACJ,MAAM,KAAK,GAAG,IAAA,eAAO,EACnB,GAAG,EAAE,CAAC,QAAQ,IAAI,IAAA,+BAAqB,EAAC,GAAG,CAAC,EAC5C,CAAC,QAAQ,EAAE,GAAG,CAAC,CAChB,CAAC;IACF,OAAO,CACL,qCACE,SAAS,EAAE,aAAa,qBACP,KAAK,EACtB,IAAI,EAAE,IAAA,oBAAU,EAAC,GAAG,CAAC,EACrB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACd,IAAA,4BAAkB,EAAC,GAAG,CAAC,CAAC;gBACxB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;iBAAM,IAAI,CAAC,CAAC,OAAO,EAAE;gBACpB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,CAAC,CAAC,CAAC;aAClB;QACH,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE;gBAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;QACH,CAAC,EACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;aACrB;QACH,CAAC,IAEA,KAAK,CACJ,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC","sourcesContent":["import React, { useMemo } from \"react\";\nimport getRoamUrl from \"../dom/getRoamUrl\";\nimport getPageTitleByPageUid from \"../queries/getPageTitleByPageUid\";\nimport openBlockInSidebar from \"../writes/openBlockInSidebar\";\n\nconst PageLink = ({\n uid,\n onCtrlClick,\n children,\n}: React.PropsWithChildren<{\n uid: string;\n onCtrlClick?: (e: React.MouseEvent) => void;\n}>) => {\n const title = useMemo(\n () => children || getPageTitleByPageUid(uid),\n [children, uid]\n );\n return (\n <a\n className={\"rm-page-ref\"}\n data-link-title={title}\n href={getRoamUrl(uid)}\n onMouseDown={(e) => {\n if (e.shiftKey) {\n openBlockInSidebar(uid);\n e.preventDefault();\n e.stopPropagation();\n } else if (e.ctrlKey) {\n onCtrlClick?.(e);\n }\n }}\n onClick={(e) => {\n if (e.shiftKey || e.ctrlKey) {\n e.preventDefault();\n e.stopPropagation();\n }\n }}\n onContextMenu={(e) => {\n if (e.ctrlKey) {\n e.preventDefault();\n e.stopPropagation();\n }\n }}\n >\n {title}\n </a>\n );\n};\n\nexport default PageLink;\n"]}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id: string;
4
+ timeout: number;
5
+ };
6
+ export declare const ID = "roamjs-progress-dialog-root";
7
+ declare const ProgressDialog: ({ onClose, ...props }: {
8
+ onClose: () => void;
9
+ } & Props) => JSX.Element;
10
+ export declare const render: (props: Props) => (() => void) | undefined;
11
+ export default ProgressDialog;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.render = exports.ID = 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 createOverlayRender_1 = tslib_1.__importDefault(require("../util/createOverlayRender"));
8
+ exports.ID = "roamjs-progress-dialog-root";
9
+ const ProgressDialog = (_a) => {
10
+ var { onClose } = _a, props = tslib_1.__rest(_a, ["onClose"]);
11
+ const [maxTimeout, setMaxtimeout] = (0, react_1.useState)(props.timeout);
12
+ const [now, setNow] = (0, react_1.useState)(new Date());
13
+ const onId = (0, react_1.useCallback)((props) => {
14
+ window.roamjs.actions[props.id] = props.timeout;
15
+ setMaxtimeout(props.timeout);
16
+ }, [setMaxtimeout]);
17
+ (0, react_1.useEffect)(() => {
18
+ const element = document.getElementById(exports.ID);
19
+ if (element) {
20
+ element.addEventListener("log", ((e) => {
21
+ onId(e.detail);
22
+ }));
23
+ onId(props);
24
+ }
25
+ const interval = setInterval(() => setNow(new Date()), 1000);
26
+ return () => clearInterval(interval);
27
+ }, [onId, setTimeout, props]);
28
+ const numActions = Object.keys(window.roamjs.actions).length;
29
+ (0, react_1.useEffect)(() => {
30
+ if (numActions === 0)
31
+ onClose();
32
+ }, [numActions]);
33
+ return (react_1.default.createElement(react_1.default.Fragment, null,
34
+ react_1.default.createElement("style", null, `.roamjs-progress-dialog {
35
+ right: 8px;
36
+ margin: 0;
37
+ position: absolute;
38
+ bottom: 8px;
39
+ }
40
+ .roamjs-progress-dialog-portal .bp3-dialog-container,
41
+ .roamjs-progress-dialog-portal .bp3-overlay {
42
+ pointer-events: none;
43
+ }
44
+ .roamjs-progress-dialog-portal .bp3-overlay-backdrop {
45
+ display: none;
46
+ }`),
47
+ react_1.default.createElement(core_1.Dialog, { isOpen: true, onClose: onClose, portalClassName: "roamjs-progress-dialog-portal", className: "roamjs-progress-dialog", canOutsideClickClose: false, canEscapeKeyClose: false, hasBackdrop: false, enforceFocus: false },
48
+ react_1.default.createElement("div", { style: { padding: 16 } },
49
+ react_1.default.createElement("h4", null, "Performing Writes to Roam..."),
50
+ react_1.default.createElement("p", null,
51
+ "Still have ",
52
+ react_1.default.createElement("b", null, Object.keys(window.roamjs.actions).length),
53
+ " ",
54
+ "actions to write. Expected to finish the last one in",
55
+ " ",
56
+ Math.ceil((maxTimeout - now.valueOf()) / 1000),
57
+ " seconds...")))));
58
+ };
59
+ exports.render = (0, createOverlayRender_1.default)("progress-dialog", ProgressDialog);
60
+ exports.default = ProgressDialog;
61
+ //# sourceMappingURL=ProgressDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressDialog.js","sourceRoot":"","sources":["../../src/components/ProgressDialog.tsx"],"names":[],"mappings":";;;;AAAA,4CAA2C;AAC3C,uDAAgE;AAChE,8FAA8D;AAOjD,QAAA,EAAE,GAAG,6BAA6B,CAAC;AAEhD,MAAM,cAAc,GAAG,CAAC,EAKf,EAAE,EAAE;QALW,EACtB,OAAO,OAIA,EAHJ,KAAK,sBAFc,WAGvB,CADS;IAIR,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAA,mBAAW,EACtB,CAAC,KAAY,EAAE,EAAE;QACf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAChD,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAc,EAAE,EAAE;gBAClD,IAAI,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC;YAC1B,CAAC,CAAkB,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,CAAC;SACb;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,OAAO,CACL;QACE,6CAAQ;;;;;;;;;;;;EAYZ,CAAS;QACL,8BAAC,aAAM,IACL,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,+BAA+B,EAChD,SAAS,EAAE,wBAAwB,EACnC,oBAAoB,EAAE,KAAK,EAC3B,iBAAiB,EAAE,KAAK,EACxB,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE,KAAK;YAEnB,uCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACzB,yEAAqC;gBACrC;;oBACa,yCAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAK;oBAAC,GAAG;;oBACZ,GAAG;oBACvD,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;kCAC7C,CACA,CACC,CACR,CACJ,CAAC;AACJ,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG,IAAA,6BAAmB,EACvC,iBAAiB,EACjB,cAAc,CACf,CAAC;AAEF,kBAAe,cAAc,CAAC","sourcesContent":["import { Dialog } from \"@blueprintjs/core\";\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport createOverlayRender from \"../util/createOverlayRender\";\n\ntype Props = {\n id: string;\n timeout: number;\n};\n\nexport const ID = \"roamjs-progress-dialog-root\";\n\nconst ProgressDialog = ({\n onClose,\n ...props\n}: {\n onClose: () => void;\n} & Props) => {\n const [maxTimeout, setMaxtimeout] = useState(props.timeout);\n const [now, setNow] = useState(new Date());\n const onId = useCallback(\n (props: Props) => {\n window.roamjs.actions[props.id] = props.timeout;\n setMaxtimeout(props.timeout);\n },\n [setMaxtimeout]\n );\n useEffect(() => {\n const element = document.getElementById(ID);\n if (element) {\n element.addEventListener(\"log\", ((e: CustomEvent) => {\n onId(e.detail as Props);\n }) as EventListener);\n onId(props);\n }\n const interval = setInterval(() => setNow(new Date()), 1000);\n return () => clearInterval(interval);\n }, [onId, setTimeout, props]);\n const numActions = Object.keys(window.roamjs.actions).length;\n useEffect(() => {\n if (numActions === 0) onClose();\n }, [numActions]);\n return (\n <>\n <style>{`.roamjs-progress-dialog {\n right: 8px;\n margin: 0;\n position: absolute;\n bottom: 8px;\n}\n.roamjs-progress-dialog-portal .bp3-dialog-container,\n.roamjs-progress-dialog-portal .bp3-overlay {\n pointer-events: none;\n}\n.roamjs-progress-dialog-portal .bp3-overlay-backdrop {\n display: none;\n}`}</style>\n <Dialog\n isOpen={true}\n onClose={onClose}\n portalClassName={\"roamjs-progress-dialog-portal\"}\n className={\"roamjs-progress-dialog\"}\n canOutsideClickClose={false}\n canEscapeKeyClose={false}\n hasBackdrop={false}\n enforceFocus={false}\n >\n <div style={{ padding: 16 }}>\n <h4>Performing Writes to Roam...</h4>\n <p>\n Still have <b>{Object.keys(window.roamjs.actions).length}</b>{\" \"}\n actions to write. Expected to finish the last one in{\" \"}\n {Math.ceil((maxTimeout - now.valueOf()) / 1000)} seconds...\n </p>\n </div>\n </Dialog>\n </>\n );\n};\n\nexport const render = createOverlayRender<Props>(\n \"progress-dialog\",\n ProgressDialog\n);\n\nexport default ProgressDialog;\n"]}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import type Marked from "marked-react";
3
+ declare type Props = {
4
+ content: string;
5
+ onConfirm?: () => void;
6
+ confirmText?: string;
7
+ onCancel?: (() => void) | true;
8
+ externalLink?: boolean;
9
+ dontShowAgain?: string;
10
+ };
11
+ declare const SimpleAlert: (Markdown: typeof Marked) => ({ onClose, content, onConfirm, onCancel, externalLink, confirmText, dontShowAgain, }: Props & {
12
+ onClose: () => void;
13
+ }) => React.ReactElement;
14
+ export declare const render: (props: Props) => Promise<(() => void) | undefined>;
15
+ export default SimpleAlert;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.render = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const core_1 = require("@blueprintjs/core");
7
+ const createOverlayRender_1 = tslib_1.__importDefault(require("../util/createOverlayRender"));
8
+ const createBlock_1 = tslib_1.__importDefault(require("../writes/createBlock"));
9
+ const SimpleAlert = (Markdown) => ({ onClose, content, onConfirm, onCancel, externalLink, confirmText = "Ok", dontShowAgain, }) => {
10
+ const alertOnClose = (0, react_1.useCallback)((confirmed) => {
11
+ onClose();
12
+ if (!confirmed && typeof onCancel === "function")
13
+ onCancel();
14
+ }, [onCancel, onClose]);
15
+ const cancelProps = onCancel
16
+ ? {
17
+ cancelButtonText: "Cancel",
18
+ canOutsideClickCancel: true,
19
+ canEscapeKeyCancel: true,
20
+ }
21
+ : {};
22
+ const [checked, setChecked] = (0, react_1.useState)(false);
23
+ const alerOnConfirm = (0, react_1.useCallback)(() => {
24
+ (checked && dontShowAgain
25
+ ? (0, createBlock_1.default)({
26
+ parentUid: dontShowAgain,
27
+ node: { text: "Do not show again" },
28
+ })
29
+ : Promise.resolve()).then(onConfirm);
30
+ }, [onConfirm, checked, dontShowAgain]);
31
+ return (react_1.default.createElement(core_1.Alert, Object.assign({ isOpen: true, onClose: alertOnClose, onConfirm: alerOnConfirm, confirmButtonText: confirmText,
32
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
+ // @ts-ignore
34
+ autoFocus: false }, cancelProps),
35
+ react_1.default.createElement("div", { className: core_1.Classes.ALERT_CONTENTS, style: { whiteSpace: "pre-wrap" } },
36
+ react_1.default.createElement(Markdown, { renderer: externalLink
37
+ ? {
38
+ link: (href, text) => (react_1.default.createElement("a", { href: href, rel: "noreferrer", target: "_blank" }, text)),
39
+ }
40
+ : {} }, content),
41
+ dontShowAgain && (react_1.default.createElement(core_1.Checkbox, { checked: checked, label: "Don't show again", onChange: (e) => setChecked(e.target.checked) })))));
42
+ };
43
+ const render = (props) => (window.RoamLazy
44
+ ? window.RoamLazy.MarkedReact()
45
+ : Promise.resolve().then(() => tslib_1.__importStar(require("marked-react"))).then((r) => r.default)).then((Markdown) => (0, createOverlayRender_1.default)("simple-alert", SimpleAlert(Markdown))(props));
46
+ exports.render = render;
47
+ exports.default = SimpleAlert;
48
+ //# sourceMappingURL=SimpleAlert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleAlert.js","sourceRoot":"","sources":["../../src/components/SimpleAlert.tsx"],"names":[],"mappings":";;;;AAAA,uDAAqD;AACrD,4CAA6D;AAC7D,8FAA8D;AAE9D,gFAAgD;AAWhD,MAAM,WAAW,GACf,CAAC,QAAuB,EAAE,EAAE,CAC5B,CAAC,EACC,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,GAAG,IAAI,EAClB,aAAa,GACmB,EAAsB,EAAE;IACxD,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,SAAkB,EAAE,EAAE;QACrB,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,SAAS,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC;YACE,gBAAgB,EAAE,QAAQ;YAC1B,qBAAqB,EAAE,IAAI;YAC3B,kBAAkB,EAAE,IAAI;SACzB;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACrC,CAAC,OAAO,IAAI,aAAa;YACvB,CAAC,CAAC,IAAA,qBAAW,EAAC;gBACV,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;aACpC,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CACpB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IACxC,OAAO,CACL,8BAAC,YAAK,kBACJ,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,aAAa,EACxB,iBAAiB,EAAE,WAAW;QAC9B,6DAA6D;QAC7D,aAAa;QACb,SAAS,EAAE,KAAK,IACZ,WAAW;QAEf,uCACE,SAAS,EAAE,cAAO,CAAC,cAAc,EACjC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;YAEjC,8BAAC,QAAQ,IACP,QAAQ,EACN,YAAY;oBACV,CAAC,CAAC;wBACE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CACpB,qCAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,IAC/C,IAAI,CACH,CACL;qBACF;oBACH,CAAC,CAAC,EAAE,IAGP,OAAO,CACC;YACV,aAAa,IAAI,CAChB,8BAAC,eAAQ,IACP,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,kBAAkB,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,UAAU,CAAE,CAAC,CAAC,MAA2B,CAAC,OAAO,CAAC,GAEpD,CACH,CACG,CACA,CACT,CAAC;AACJ,CAAC,CAAC;AAEG,MAAM,MAAM,GAAG,CAAC,KAAY,EAAE,EAAE,CACrC,CAAC,MAAM,CAAC,QAAQ;IACd,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;IAC/B,CAAC,CAAC,0DAAO,cAAc,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAChD,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClB,IAAA,6BAAmB,EAAQ,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CACzE,CAAC;AANS,QAAA,MAAM,UAMf;AAEJ,kBAAe,WAAW,CAAC","sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { Alert, Checkbox, Classes } from \"@blueprintjs/core\";\nimport createOverlayRender from \"../util/createOverlayRender\";\nimport type Marked from \"marked-react\";\nimport createBlock from \"../writes/createBlock\";\n\ntype Props = {\n content: string;\n onConfirm?: () => void;\n confirmText?: string;\n onCancel?: (() => void) | true;\n externalLink?: boolean;\n dontShowAgain?: string;\n};\n\nconst SimpleAlert =\n (Markdown: typeof Marked) =>\n ({\n onClose,\n content,\n onConfirm,\n onCancel,\n externalLink,\n confirmText = \"Ok\",\n dontShowAgain,\n }: Props & { onClose: () => void }): React.ReactElement => {\n const alertOnClose = useCallback(\n (confirmed: boolean) => {\n onClose();\n if (!confirmed && typeof onCancel === \"function\") onCancel();\n },\n [onCancel, onClose]\n );\n const cancelProps = onCancel\n ? {\n cancelButtonText: \"Cancel\",\n canOutsideClickCancel: true,\n canEscapeKeyCancel: true,\n }\n : {};\n const [checked, setChecked] = useState(false);\n const alerOnConfirm = useCallback(() => {\n (checked && dontShowAgain\n ? createBlock({\n parentUid: dontShowAgain,\n node: { text: \"Do not show again\" },\n })\n : Promise.resolve()\n ).then(onConfirm);\n }, [onConfirm, checked, dontShowAgain]);\n return (\n <Alert\n isOpen={true}\n onClose={alertOnClose}\n onConfirm={alerOnConfirm}\n confirmButtonText={confirmText}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n autoFocus={false}\n {...cancelProps}\n >\n <div\n className={Classes.ALERT_CONTENTS}\n style={{ whiteSpace: \"pre-wrap\" }}\n >\n <Markdown\n renderer={\n externalLink\n ? {\n link: (href, text) => (\n <a href={href} rel={\"noreferrer\"} target={\"_blank\"}>\n {text}\n </a>\n ),\n }\n : {}\n }\n >\n {content}\n </Markdown>\n {dontShowAgain && (\n <Checkbox\n checked={checked}\n label=\"Don't show again\"\n onChange={(e) =>\n setChecked((e.target as HTMLInputElement).checked)\n }\n />\n )}\n </div>\n </Alert>\n );\n };\n\nexport const render = (props: Props) =>\n (window.RoamLazy\n ? window.RoamLazy.MarkedReact()\n : import(\"marked-react\").then((r) => r.default)\n ).then((Markdown) =>\n createOverlayRender<Props>(\"simple-alert\", SimpleAlert(Markdown))(props)\n );\n\nexport default SimpleAlert;\n"]}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { Intent, IToastProps, ToasterPosition } from "@blueprintjs/core";
3
+ declare type ToastBaseProps = {
4
+ content?: React.ReactNode;
5
+ timeout?: number;
6
+ intent?: Intent;
7
+ onDismiss?: IToastProps["onDismiss"];
8
+ action?: IToastProps["action"];
9
+ };
10
+ declare type ToastProps = {
11
+ id: string;
12
+ position?: ToasterPosition;
13
+ } & ToastBaseProps;
14
+ export declare const render: ({ position, ...props }: ToastProps) => (() => void);
15
+ export default render;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.render = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const core_1 = require("@blueprintjs/core");
7
+ const render = (_a) => {
8
+ var { position = "top" } = _a, props = tslib_1.__rest(_a, ["position"]);
9
+ const className = `roamjs-toast-${position}`;
10
+ const toasterRoot = document.querySelector(`.bp3-toast-container.${className}`);
11
+ if (toasterRoot) {
12
+ toasterRoot.dispatchEvent(new CustomEvent("roamjs-toast", { detail: props }));
13
+ return () => toasterRoot.remove();
14
+ }
15
+ else {
16
+ const toaster = core_1.Toaster.create({
17
+ position,
18
+ className,
19
+ });
20
+ // `import(marked-react)` is returning `window.RoamLazy.MarkedReact` instead of the module itself
21
+ (window.RoamLazy
22
+ ? window.RoamLazy.MarkedReact()
23
+ : Promise.resolve().then(() => tslib_1.__importStar(require("marked-react"))).then((r) => r.default)).then((Markdown) => {
24
+ const Toast = ({ content = "RoamJS Notification", intent = core_1.Intent.PRIMARY, timeout = 5000, onDismiss, action, }) => {
25
+ const isStringContent = typeof content === "string";
26
+ return {
27
+ message: (react_1.default.createElement(react_1.default.Fragment, null,
28
+ react_1.default.createElement("style", null, `.${className} p { margin-bottom: 0; }`),
29
+ isStringContent ? react_1.default.createElement(Markdown, null, content) : content)),
30
+ intent,
31
+ timeout,
32
+ onDismiss,
33
+ action,
34
+ };
35
+ };
36
+ toaster.show(Toast(props), props.id);
37
+ setTimeout(() => {
38
+ const toasterRoot = document.querySelector(`.bp3-toast-container.${className}`);
39
+ if (toasterRoot)
40
+ toasterRoot.addEventListener("roamjs-toast", ((e) => {
41
+ const _a = e.detail, { id } = _a, props = tslib_1.__rest(_a, ["id"]);
42
+ toaster.show(Toast(props), id);
43
+ }));
44
+ }, 1);
45
+ });
46
+ return () => toaster.dismiss(props.id);
47
+ }
48
+ };
49
+ exports.render = render;
50
+ exports.default = exports.render;
51
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,4CAK2B;AAepB,MAAM,MAAM,GAAG,CAAC,EAGV,EAAgB,EAAE;QAHR,EACrB,QAAQ,GAAG,KAAK,OAEL,EADR,KAAK,sBAFa,YAGtB,CADS;IAER,MAAM,SAAS,GAAG,gBAAgB,QAAQ,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CACxC,wBAAwB,SAAS,EAAE,CACpC,CAAC;IACF,IAAI,WAAW,EAAE;QACf,WAAW,CAAC,aAAa,CACvB,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CACnD,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;KACnC;SAAM;QACL,MAAM,OAAO,GAAG,cAAO,CAAC,MAAM,CAAC;YAC7B,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;QAEH,iGAAiG;QACjG,CAAC,MAAM,CAAC,QAAQ;YACd,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC/B,CAAC,CAAC,0DAAO,cAAc,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAChD,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,CAAC,EACb,OAAO,GAAG,qBAAqB,EAC/B,MAAM,GAAG,aAAM,CAAC,OAAO,EACvB,OAAO,GAAG,IAAI,EACd,SAAS,EACT,MAAM,GACS,EAAE,EAAE;gBACnB,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC;gBACpD,OAAO;oBACL,OAAO,EAAE,CACP;wBACE,6CAAQ,IAAI,SAAS,0BAA0B,CAAS;wBACvD,eAAe,CAAC,CAAC,CAAC,8BAAC,QAAQ,QAAE,OAAO,CAAY,CAAC,CAAC,CAAC,OAAO,CAC1D,CACJ;oBACD,MAAM;oBACN,OAAO;oBACP,SAAS;oBACT,MAAM;iBACP,CAAC;YACJ,CAAC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CACxC,wBAAwB,SAAS,EAAE,CACpC,CAAC;gBACF,IAAI,WAAW;oBACb,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAc,EAAE,EAAE;wBAC/D,MACE,KACE,CAAC,OADqB,EAAxB,EAAU,EAAE,OAAY,EAAP,KAAK,sBAAd,MAAgB,CACrB,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjC,CAAC,CAAkB,CAAC,CAAC;YACzB,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACxC;AACH,CAAC,CAAC;AA7DW,QAAA,MAAM,UA6DjB;AAEF,kBAAe,cAAM,CAAC","sourcesContent":["import React from \"react\";\nimport {\n Intent,\n IToastProps,\n Toaster,\n ToasterPosition,\n} from \"@blueprintjs/core\";\n\ntype ToastBaseProps = {\n content?: React.ReactNode;\n timeout?: number;\n intent?: Intent;\n onDismiss?: IToastProps[\"onDismiss\"];\n action?: IToastProps[\"action\"];\n};\n\ntype ToastProps = {\n id: string;\n position?: ToasterPosition;\n} & ToastBaseProps;\n\nexport const render = ({\n position = \"top\",\n ...props\n}: ToastProps): (() => void) => {\n const className = `roamjs-toast-${position}`;\n const toasterRoot = document.querySelector(\n `.bp3-toast-container.${className}`\n );\n if (toasterRoot) {\n toasterRoot.dispatchEvent(\n new CustomEvent(\"roamjs-toast\", { detail: props })\n );\n return () => toasterRoot.remove();\n } else {\n const toaster = Toaster.create({\n position,\n className,\n });\n\n // `import(marked-react)` is returning `window.RoamLazy.MarkedReact` instead of the module itself\n (window.RoamLazy\n ? window.RoamLazy.MarkedReact()\n : import(\"marked-react\").then((r) => r.default)\n ).then((Markdown) => {\n const Toast = ({\n content = \"RoamJS Notification\",\n intent = Intent.PRIMARY,\n timeout = 5000,\n onDismiss,\n action,\n }: ToastBaseProps) => {\n const isStringContent = typeof content === \"string\";\n return {\n message: (\n <>\n <style>{`.${className} p { margin-bottom: 0; }`}</style>\n {isStringContent ? <Markdown>{content}</Markdown> : content}\n </>\n ),\n intent,\n timeout,\n onDismiss,\n action,\n };\n };\n toaster.show(Toast(props), props.id);\n setTimeout(() => {\n const toasterRoot = document.querySelector<HTMLDivElement>(\n `.bp3-toast-container.${className}`\n );\n if (toasterRoot)\n toasterRoot.addEventListener(\"roamjs-toast\", ((e: CustomEvent) => {\n const {\n detail: { id, ...props },\n } = e;\n toaster.show(Toast(props), id);\n }) as EventListener);\n }, 1);\n });\n return () => toaster.dismiss(props.id);\n }\n};\n\nexport default render;\n"]}
File without changes
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ throw new Error(`Do not import from roamjs-components/components directly. Instead import the *component* you need directly. For example:
3
+
4
+ import AutocompleteInput from "roamjs-components/util/AutocompleteInput;"`);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";AAAA,MAAM,IAAI,KAAK,CACb;;0EAEwE,CACzE,CAAC","sourcesContent":["throw new Error(\n `Do not import from roamjs-components/components directly. Instead import the *component* you need directly. For example: \n \nimport AutocompleteInput from \"roamjs-components/util/AutocompleteInput;\"`\n);\n"]}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ onload: (args: import("./types").OnloadArgs) => void;
3
+ onunload: () => void;
4
+ };
5
+ export default _default;
package/components.js ADDED
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const core_1 = require("@blueprintjs/core");
7
+ const AutocompleteInput_1 = tslib_1.__importDefault(require("./components/AutocompleteInput"));
8
+ const FormDialog_1 = tslib_1.__importDefault(require("./components/FormDialog"));
9
+ const PageInput_1 = tslib_1.__importDefault(require("./components/PageInput"));
10
+ const Toast_1 = tslib_1.__importDefault(require("./components/Toast"));
11
+ const renderOverlay_1 = tslib_1.__importDefault(require("./util/renderOverlay"));
12
+ const runExtension_1 = tslib_1.__importDefault(require("./util/runExtension"));
13
+ const writes_1 = require("./writes");
14
+ const MenuItemSelect_1 = tslib_1.__importDefault(require("./components/MenuItemSelect"));
15
+ // const blockRender = (Component: React.FC) => {
16
+ // const block = window.roamAlphaAPI.ui.getFocusedBlock();
17
+ // const parent = document.getElementById(
18
+ // `block-input-${block?.["window-id"]}-${block?.["block-uid"]}`
19
+ // );
20
+ // ReactDOM.render(<Component />, parent);
21
+ // };
22
+ const unloads = new Set();
23
+ const rootRender = (Component) => {
24
+ const root = document.querySelector(".roam-article");
25
+ const parent = document.createElement("div");
26
+ root === null || root === void 0 ? void 0 : root.insertBefore(parent, root.firstElementChild);
27
+ react_dom_1.default.render(react_1.default.createElement(Component, null), parent);
28
+ unloads.add(() => {
29
+ react_dom_1.default.unmountComponentAtNode(parent);
30
+ parent.remove();
31
+ });
32
+ };
33
+ const components = [
34
+ {
35
+ callback: () => rootRender(() => {
36
+ const [value, setValue] = (0, react_1.useState)("");
37
+ const [filterable, setFilterable] = (0, react_1.useState)(false);
38
+ const options = (0, react_1.useMemo)(() => ["apple", "banana", "orange"], []);
39
+ return (react_1.default.createElement(react_1.default.Fragment, null,
40
+ react_1.default.createElement("div", null,
41
+ "Chosen value: ",
42
+ value),
43
+ react_1.default.createElement(core_1.Checkbox, { checked: filterable, onChange: (e) => setFilterable(e.target.checked), label: "Filterable" }),
44
+ react_1.default.createElement(MenuItemSelect_1.default, { activeItem: value, items: options, onItemSelect: (item) => setValue(item), filterable: filterable })));
45
+ }),
46
+ label: "MenuItemSelect",
47
+ },
48
+ {
49
+ callback: () => rootRender(() => {
50
+ const [value, setValue] = (0, react_1.useState)("");
51
+ const [numResults, setNumResults] = (0, react_1.useState)(100);
52
+ const [disabled, setDisabled] = (0, react_1.useState)(false);
53
+ const [maxItemsDisplayed, setMaxItemsDisplayed] = (0, react_1.useState)(0);
54
+ const options = (0, react_1.useMemo)(() => {
55
+ const items = [];
56
+ for (let i = 0; i < numResults; i++) {
57
+ items.push(Math.random().toString(36).substring(7));
58
+ }
59
+ return items;
60
+ }, [numResults]);
61
+ return (react_1.default.createElement(react_1.default.Fragment, null,
62
+ react_1.default.createElement(core_1.Label, null,
63
+ "Number of Results",
64
+ react_1.default.createElement(core_1.NumericInput, { value: numResults, onValueChange: (e) => setNumResults(e), buttonPosition: "none" })),
65
+ react_1.default.createElement(core_1.Label, null,
66
+ "Max Items Displayed (0 for all)",
67
+ react_1.default.createElement(core_1.NumericInput, { value: maxItemsDisplayed, onValueChange: (e) => setMaxItemsDisplayed(e), buttonPosition: "none" })),
68
+ react_1.default.createElement(core_1.Label, null,
69
+ "Chosen value: ",
70
+ value),
71
+ react_1.default.createElement(core_1.Checkbox, { checked: disabled, onChange: (e) => setDisabled(e.target.checked), label: "Disabled" }),
72
+ react_1.default.createElement(core_1.Label, null,
73
+ "Autocomplete",
74
+ react_1.default.createElement(AutocompleteInput_1.default, { disabled: disabled, value: value, setValue: setValue, options: options, maxItemsDisplayed: maxItemsDisplayed === 0 ? undefined : maxItemsDisplayed }))));
75
+ }),
76
+ label: "AutocompleteInput",
77
+ },
78
+ {
79
+ callback: () => rootRender(() => {
80
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
81
+ return (react_1.default.createElement(react_1.default.Fragment, null,
82
+ react_1.default.createElement(core_1.Button, { onClick: () => setIsOpen(true), text: "Open Form" }),
83
+ react_1.default.createElement(FormDialog_1.default, { isOpen: isOpen, onClose: () => setIsOpen(false), onSubmit: (data) => window.roamAlphaAPI.ui.mainWindow
84
+ .getOpenPageOrBlockUid()
85
+ .then((parentUid) => (0, writes_1.createBlock)({
86
+ parentUid: parentUid ||
87
+ window.roamAlphaAPI.util.dateToPageUid(new Date()),
88
+ node: {
89
+ text: "Response",
90
+ children: Object.entries(data).map(([k, v]) => ({
91
+ text: k,
92
+ children: Array.isArray(v) ? v : [{ text: `${v}` }],
93
+ })),
94
+ },
95
+ })), fields: {
96
+ text: { type: "text", label: "Text Field" },
97
+ number: { type: "number", label: "Number Field" },
98
+ info: { type: "info", label: "Read Only Info Text" },
99
+ flag: { type: "flag", label: "Flag Field" },
100
+ conditionalText: {
101
+ type: "text",
102
+ label: "Conditional Text Field",
103
+ conditional: "flag",
104
+ },
105
+ page: { type: "page", label: "Page Field" },
106
+ block: { type: "block", label: "Block Field" },
107
+ select: {
108
+ type: "select",
109
+ label: "Select Field",
110
+ options: [
111
+ "apple",
112
+ "banana",
113
+ "orange",
114
+ "conditional select 1",
115
+ ],
116
+ },
117
+ conditionalSelect: {
118
+ type: "text",
119
+ label: "Conditional Text Field",
120
+ conditional: "select",
121
+ conditionalValues: ["conditional select 1"],
122
+ },
123
+ autocomplete: {
124
+ type: "autocomplete",
125
+ label: "Autocomplete Field",
126
+ options: ["apple", "banana", "orange"],
127
+ },
128
+ embed: {
129
+ type: "embed",
130
+ label: "Embed Field",
131
+ },
132
+ } })));
133
+ }),
134
+ label: "FormDialog",
135
+ },
136
+ {
137
+ callback: () => rootRender(() => {
138
+ const [value, setValue] = (0, react_1.useState)("");
139
+ const [multiline, setMultiline] = (0, react_1.useState)(false);
140
+ return (react_1.default.createElement(react_1.default.Fragment, null,
141
+ react_1.default.createElement(PageInput_1.default, { value: value, setValue: setValue, multiline: multiline }),
142
+ react_1.default.createElement("input", { className: "ml-8 inline-block", checked: multiline, onChange: (e) => setMultiline(e.target.checked), type: "checkbox" })));
143
+ }),
144
+ label: "PageInput",
145
+ },
146
+ ];
147
+ exports.default = (0, runExtension_1.default)((args) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
148
+ components.forEach(({ callback, label }) => {
149
+ args.extensionAPI.ui.commandPalette.addCommand({
150
+ label: `Render RoamJS component ${label}`,
151
+ callback,
152
+ });
153
+ });
154
+ window.roamjs.extension.developer = {
155
+ components: {
156
+ AutocompleteInput: AutocompleteInput_1.default,
157
+ FormDialog: FormDialog_1.default,
158
+ PageInput: PageInput_1.default,
159
+ renderToast: Toast_1.default,
160
+ },
161
+ util: {
162
+ renderOverlay: renderOverlay_1.default,
163
+ runExtension: runExtension_1.default,
164
+ },
165
+ args,
166
+ };
167
+ return () => {
168
+ unloads.forEach((unload) => unload());
169
+ };
170
+ }));
171
+ //# sourceMappingURL=components.js.map