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,160 @@
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
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, BlockField } from "./types";
2
+ declare const BlockPanel: FieldPanel<BlockField>;
3
+ export default BlockPanel;
@@ -0,0 +1,43 @@
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 getFirstChildUidByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getFirstChildUidByBlockUid"));
7
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
8
+ const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
9
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
10
+ const BlockPanel = ({ uid: initialUid, parentUid, title, defaultValue, description, }) => {
11
+ const containerRef = (0, react_1.useRef)(null);
12
+ (0, react_1.useEffect)(() => {
13
+ if (containerRef.current) {
14
+ const el = containerRef.current;
15
+ (initialUid
16
+ ? Promise.resolve(initialUid)
17
+ : (0, createBlock_1.default)({ node: { text: title, children: [] }, parentUid }))
18
+ .then((formatUid) => (0, getFirstChildUidByBlockUid_1.default)(formatUid) ||
19
+ (0, createBlock_1.default)({
20
+ node: defaultValue || { text: " " },
21
+ parentUid: formatUid,
22
+ }))
23
+ .then((uid) => {
24
+ window.roamAlphaAPI.ui.components.renderBlock({
25
+ uid,
26
+ el,
27
+ });
28
+ });
29
+ }
30
+ }, [containerRef, defaultValue]);
31
+ return (react_1.default.createElement(react_1.default.Fragment, null,
32
+ react_1.default.createElement(core_1.Label, null,
33
+ (0, idToTitle_1.default)(title),
34
+ react_1.default.createElement(Description_1.default, { description: description })),
35
+ react_1.default.createElement("div", { ref: containerRef, style: {
36
+ border: "1px solid #33333333",
37
+ padding: "8px 0",
38
+ borderRadius: 4,
39
+ } })));
40
+ };
41
+ BlockPanel.type = "block";
42
+ exports.default = BlockPanel;
43
+ //# sourceMappingURL=BlockPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/BlockPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAiD;AACjD,kHAAkF;AAClF,6EAA6C;AAC7C,mFAAmD;AACnD,yEAAyC;AAGzC,MAAM,UAAU,GAA2B,CAAC,EAC1C,GAAG,EAAE,UAAU,EACf,SAAS,EACT,KAAK,EACL,YAAY,EACZ,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAClC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,EAAE;YACxB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;YAChC,CAAC,UAAU;gBACT,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,CAAC,CAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClE;iBACE,IAAI,CACH,CAAC,SAAS,EAAE,EAAE,CACZ,IAAA,oCAA0B,EAAC,SAAS,CAAC;gBACrC,IAAA,qBAAW,EAAC;oBACV,IAAI,EAAE,YAAY,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;oBACnC,SAAS,EAAE,SAAS;iBACrB,CAAC,CACL;iBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC5C,GAAG;oBACH,EAAE;iBACH,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IACjC,OAAO,CACL;QACE,8BAAC,YAAK;YACH,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACnC;QACR,uCACE,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;gBACL,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,CAAC;aAChB,GACI,CACN,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;AAE1B,kBAAe,UAAU,CAAC","sourcesContent":["import { Label } from \"@blueprintjs/core\";\nimport React, { useRef, useEffect } from \"react\";\nimport getFirstChildUidByBlockUid from \"../../queries/getFirstChildUidByBlockUid\";\nimport idToTitle from \"../../util/idToTitle\";\nimport createBlock from \"../../writes/createBlock\";\nimport Description from \"../Description\";\nimport type { FieldPanel, BlockField } from \"./types\";\n\nconst BlockPanel: FieldPanel<BlockField> = ({\n uid: initialUid,\n parentUid,\n title,\n defaultValue,\n description,\n}) => {\n const containerRef = useRef(null);\n useEffect(() => {\n if (containerRef.current) {\n const el = containerRef.current;\n (initialUid\n ? Promise.resolve(initialUid)\n : createBlock({ node: { text: title, children: [] }, parentUid })\n )\n .then(\n (formatUid) =>\n getFirstChildUidByBlockUid(formatUid) ||\n createBlock({\n node: defaultValue || { text: \" \" },\n parentUid: formatUid,\n })\n )\n .then((uid) => {\n window.roamAlphaAPI.ui.components.renderBlock({\n uid,\n el,\n });\n });\n }\n }, [containerRef, defaultValue]);\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n </Label>\n <div\n ref={containerRef}\n style={{\n border: \"1px solid #33333333\",\n padding: \"8px 0\",\n borderRadius: 4,\n }}\n ></div>\n </>\n );\n};\n\nBlockPanel.type = \"block\";\n\nexport default BlockPanel;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, BlocksField } from "./types";
2
+ declare const BlocksPanel: FieldPanel<BlocksField>;
3
+ export default BlocksPanel;
@@ -0,0 +1,69 @@
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 getFirstChildUidByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getFirstChildUidByBlockUid"));
7
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
8
+ const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
9
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
10
+ const BlocksPanel = ({ uid: initialUid, parentUid, title, defaultValue, description, }) => {
11
+ const containerRef = (0, react_1.useRef)(null);
12
+ const [navUid, setNavUid] = (0, react_1.useState)(initialUid || parentUid);
13
+ (0, react_1.useEffect)(() => {
14
+ if (containerRef.current) {
15
+ const el = containerRef.current;
16
+ (initialUid
17
+ ? Promise.resolve(initialUid)
18
+ : (0, createBlock_1.default)({ node: { text: title, children: [] }, parentUid }).then((uid) => {
19
+ setNavUid(uid);
20
+ return uid;
21
+ }))
22
+ .then((formatUid) => (0, getFirstChildUidByBlockUid_1.default)(formatUid)
23
+ ? formatUid
24
+ : ((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.length)
25
+ ? Promise.all(defaultValue.map((node, order) => (0, createBlock_1.default)({
26
+ node,
27
+ parentUid: formatUid,
28
+ order,
29
+ })))
30
+ : (0, createBlock_1.default)({
31
+ node: { text: " " },
32
+ parentUid: formatUid,
33
+ })).then(() => formatUid))
34
+ .then((uid) => {
35
+ window.roamAlphaAPI.ui.components.renderBlock({
36
+ uid,
37
+ el,
38
+ });
39
+ });
40
+ }
41
+ }, [containerRef, defaultValue, setNavUid]);
42
+ return (react_1.default.createElement(react_1.default.Fragment, null,
43
+ react_1.default.createElement(core_1.Label, null,
44
+ (0, idToTitle_1.default)(title),
45
+ react_1.default.createElement(Description_1.default, { description: description }),
46
+ react_1.default.createElement(core_1.Tooltip, { content: "Click here to edit these blocks directly" },
47
+ react_1.default.createElement(core_1.Button, { icon: "link", minimal: true, onClick: () => window.roamAlphaAPI.ui.mainWindow.openBlock({
48
+ block: { uid: navUid },
49
+ }) }))),
50
+ react_1.default.createElement("style", null, `.roamjs-config-blocks > div > .rm-block-main {
51
+ display: none;
52
+ }
53
+
54
+ .roamjs-config-blocks > div > .rm-block-children > .rm-multibar {
55
+ display: none;
56
+ }
57
+
58
+ .roamjs-config-blocks > div > .rm-block-children {
59
+ margin-left: -4px;
60
+ }`),
61
+ react_1.default.createElement("div", { ref: containerRef, style: {
62
+ border: "1px solid #33333333",
63
+ padding: "8px 0",
64
+ borderRadius: 4,
65
+ }, className: "roamjs-config-blocks" })));
66
+ };
67
+ BlocksPanel.type = "blocks";
68
+ exports.default = BlocksPanel;
69
+ //# sourceMappingURL=BlocksPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlocksPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/BlocksPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Button, Label, Tooltip } from \"@blueprintjs/core\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport getFirstChildUidByBlockUid from \"../../queries/getFirstChildUidByBlockUid\";\nimport idToTitle from \"../../util/idToTitle\";\nimport createBlock from \"../../writes/createBlock\";\nimport Description from \"../Description\";\nimport type { FieldPanel, BlocksField } from \"./types\";\n\nconst BlocksPanel: FieldPanel<BlocksField> = ({\n uid: initialUid,\n parentUid,\n title,\n defaultValue,\n description,\n}) => {\n const containerRef = useRef(null);\n const [navUid, setNavUid] = useState(initialUid || parentUid);\n useEffect(() => {\n if (containerRef.current) {\n const el = containerRef.current;\n (initialUid\n ? Promise.resolve(initialUid)\n : createBlock({ node: { text: title, children: [] }, parentUid }).then(\n (uid) => {\n setNavUid(uid);\n return uid;\n }\n )\n )\n .then((formatUid) =>\n getFirstChildUidByBlockUid(formatUid)\n ? formatUid\n : (defaultValue?.length\n ? Promise.all(\n defaultValue.map((node, order) =>\n createBlock({\n node,\n parentUid: formatUid,\n order,\n })\n )\n )\n : createBlock({\n node: { text: \" \" },\n parentUid: formatUid,\n })\n ).then(() => formatUid)\n )\n .then((uid) => {\n window.roamAlphaAPI.ui.components.renderBlock({\n uid,\n el,\n });\n });\n }\n }, [containerRef, defaultValue, setNavUid]);\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n <Tooltip content={\"Click here to edit these blocks directly\"}>\n <Button\n icon={\"link\"}\n minimal\n onClick={() =>\n window.roamAlphaAPI.ui.mainWindow.openBlock({\n block: { uid: navUid },\n })\n }\n />\n </Tooltip>\n </Label>\n <style>{`.roamjs-config-blocks > div > .rm-block-main {\n display: none;\n }\n \n .roamjs-config-blocks > div > .rm-block-children > .rm-multibar {\n display: none;\n }\n \n .roamjs-config-blocks > div > .rm-block-children {\n margin-left: -4px;\n }`}</style>\n <div\n ref={containerRef}\n style={{\n border: \"1px solid #33333333\",\n padding: \"8px 0\",\n borderRadius: 4,\n }}\n className={\"roamjs-config-blocks\"}\n ></div>\n </>\n );\n};\n\nBlocksPanel.type = \"blocks\";\n\nexport default BlocksPanel;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, CustomField } from "./types";
2
+ declare const CustomPanel: FieldPanel<CustomField>;
3
+ export default CustomPanel;
@@ -0,0 +1,25 @@
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 idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
8
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
9
+ const CustomPanel = ({ description, title, uid: inputUid, options: { component: Component }, parentUid, defaultValue = [], order, }) => {
10
+ const uid = (0, react_1.useMemo)(() => {
11
+ if (inputUid)
12
+ return inputUid;
13
+ const newUid = window.roamAlphaAPI.util.generateUID();
14
+ (0, createBlock_1.default)({ node: { text: title, uid: newUid }, parentUid, order });
15
+ return newUid;
16
+ }, [inputUid]);
17
+ return (react_1.default.createElement(react_1.default.Fragment, null,
18
+ react_1.default.createElement(core_1.Label, null,
19
+ (0, idToTitle_1.default)(title),
20
+ react_1.default.createElement(Description_1.default, { description: description })),
21
+ react_1.default.createElement(Component, { uid: uid, parentUid: parentUid, title: title, defaultValue: defaultValue })));
22
+ };
23
+ CustomPanel.type = "custom";
24
+ exports.default = CustomPanel;
25
+ //# sourceMappingURL=CustomPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/CustomPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAuC;AACvC,6EAA6C;AAC7C,mFAAmD;AACnD,yEAAyC;AAGzC,MAAM,WAAW,GAA4B,CAAC,EAC5C,WAAW,EACX,KAAK,EACL,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EACjC,SAAS,EACT,YAAY,GAAG,EAAE,EACjB,KAAK,GACN,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtD,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,OAAO,CACL;QACE,8BAAC,YAAK;YACH,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACnC;QACR,8BAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,GAC1B,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC","sourcesContent":["import { Label } from \"@blueprintjs/core\";\nimport React, { useMemo } from \"react\";\nimport idToTitle from \"../../util/idToTitle\";\nimport createBlock from \"../../writes/createBlock\";\nimport Description from \"../Description\";\nimport type { FieldPanel, CustomField } from \"./types\";\n\nconst CustomPanel: FieldPanel<CustomField> = ({\n description,\n title,\n uid: inputUid,\n options: { component: Component },\n parentUid,\n defaultValue = [],\n order,\n}) => {\n const uid = useMemo(() => {\n if (inputUid) return inputUid;\n const newUid = window.roamAlphaAPI.util.generateUID();\n createBlock({ node: { text: title, uid: newUid }, parentUid, order });\n return newUid;\n }, [inputUid]);\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n </Label>\n <Component\n uid={uid}\n parentUid={parentUid}\n title={title}\n defaultValue={defaultValue}\n />\n </>\n );\n};\n\nCustomPanel.type = \"custom\";\n\nexport default CustomPanel;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, FlagField } from "./types";
2
+ declare const FlagPanel: FieldPanel<FlagField>;
3
+ export default FlagPanel;
@@ -0,0 +1,32 @@
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 idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
8
+ const FlagPanel = ({ title, uid: initialUid, parentUid, order, description, options = {}, disabled = false, }) => {
9
+ const [uid, setUid] = (0, react_1.useState)(initialUid);
10
+ return (react_1.default.createElement(core_1.Checkbox, { checked: !!uid, disabled: disabled, onChange: (e) => {
11
+ var _a;
12
+ const { checked } = e.target;
13
+ if (checked) {
14
+ const newUid = window.roamAlphaAPI.util.generateUID();
15
+ window.roamAlphaAPI.createBlock({
16
+ block: { string: title, uid: newUid },
17
+ location: { order, "parent-uid": parentUid },
18
+ });
19
+ setTimeout(() => setUid(newUid), 1);
20
+ }
21
+ else {
22
+ window.roamAlphaAPI.deleteBlock({ block: { uid } });
23
+ setUid("");
24
+ }
25
+ (_a = options.onChange) === null || _a === void 0 ? void 0 : _a.call(options, checked, e);
26
+ }, labelElement: react_1.default.createElement(react_1.default.Fragment, null,
27
+ (0, idToTitle_1.default)(title),
28
+ react_1.default.createElement(Description_1.default, { description: description })) }));
29
+ };
30
+ FlagPanel.type = "flag";
31
+ exports.default = FlagPanel;
32
+ //# sourceMappingURL=FlagPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlagPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/FlagPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,uDAAwC;AACxC,6EAA6C;AAC7C,yEAAyC;AAGzC,MAAM,SAAS,GAA0B,CAAC,EACxC,KAAK,EACL,GAAG,EAAE,UAAU,EACf,SAAS,EACT,KAAK,EACL,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,KAAK,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CACL,8BAAC,eAAQ,IACP,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;;YACd,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAA0B,CAAC;YACjD,IAAI,OAAO,EAAE;gBACX,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;oBACrC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE;iBAC7C,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,CAAC,EAAE,CAAC,CAAC;aACZ;YACD,MAAA,OAAO,CAAC,QAAQ,wDAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,EACD,YAAY,EACV;YACG,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACxC,GAEL,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;AAExB,kBAAe,SAAS,CAAC","sourcesContent":["import { Checkbox } from \"@blueprintjs/core\";\nimport React, { useState } from \"react\";\nimport idToTitle from \"../../util/idToTitle\";\nimport Description from \"../Description\";\nimport type { FieldPanel, FlagField } from \"./types\";\n\nconst FlagPanel: FieldPanel<FlagField> = ({\n title,\n uid: initialUid,\n parentUid,\n order,\n description,\n options = {},\n disabled = false,\n}) => {\n const [uid, setUid] = useState(initialUid);\n return (\n <Checkbox\n checked={!!uid}\n disabled={disabled}\n onChange={(e) => {\n const { checked } = e.target as HTMLInputElement;\n if (checked) {\n const newUid = window.roamAlphaAPI.util.generateUID();\n window.roamAlphaAPI.createBlock({\n block: { string: title, uid: newUid },\n location: { order, \"parent-uid\": parentUid },\n });\n setTimeout(() => setUid(newUid), 1);\n } else {\n window.roamAlphaAPI.deleteBlock({ block: { uid } });\n setUid(\"\");\n }\n options.onChange?.(checked, e);\n }}\n labelElement={\n <>\n {idToTitle(title)}\n <Description description={description} />\n </>\n }\n />\n );\n};\n\nFlagPanel.type = \"flag\";\n\nexport default FlagPanel;\n"]}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import type { FieldPanel, ArrayField } from "./types";
3
+ declare const MultiChildPanel: FieldPanel<ArrayField, {
4
+ InputComponent: (props: {
5
+ value: string;
6
+ setValue: (s: string) => void;
7
+ }) => React.ReactElement;
8
+ }>;
9
+ export default MultiChildPanel;
@@ -0,0 +1,59 @@
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 getShallowTreeByParentUid_1 = tslib_1.__importDefault(require("../../queries/getShallowTreeByParentUid"));
7
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
8
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
9
+ const MultiChildPanel = ({ uid: initialUid, title, description, order, parentUid, InputComponent, }) => {
10
+ const [uid, setUid] = (0, react_1.useState)(initialUid);
11
+ const [texts, setTexts] = (0, react_1.useState)(() => uid ? (0, getShallowTreeByParentUid_1.default)(uid) : []);
12
+ const [value, setValue] = (0, react_1.useState)("");
13
+ return (react_1.default.createElement(react_1.default.Fragment, null,
14
+ react_1.default.createElement(core_1.Label, null,
15
+ (0, idToTitle_1.default)(title),
16
+ react_1.default.createElement(Description_1.default, { description: description }),
17
+ react_1.default.createElement("div", { style: { display: "flex" } },
18
+ react_1.default.createElement(InputComponent, { value: value, setValue: setValue }),
19
+ react_1.default.createElement(core_1.Button, { icon: "plus", minimal: true, disabled: !value, onClick: () => {
20
+ const valueUid = window.roamAlphaAPI.util.generateUID();
21
+ if (uid) {
22
+ window.roamAlphaAPI.createBlock({
23
+ location: { "parent-uid": uid, order: texts.length },
24
+ block: { string: value, uid: valueUid },
25
+ });
26
+ }
27
+ else {
28
+ const newUid = window.roamAlphaAPI.util.generateUID();
29
+ window.roamAlphaAPI.createBlock({
30
+ block: { string: title, uid: newUid },
31
+ location: { order, "parent-uid": parentUid },
32
+ });
33
+ setTimeout(() => setUid(newUid));
34
+ window.roamAlphaAPI.createBlock({
35
+ block: { string: value, uid: valueUid },
36
+ location: { order: 0, "parent-uid": newUid },
37
+ });
38
+ }
39
+ setTexts([...texts, { text: value, uid: valueUid }]);
40
+ setValue("");
41
+ } }))),
42
+ texts.map((p) => (react_1.default.createElement("div", { key: p.uid, style: {
43
+ display: "flex",
44
+ alignItems: "center",
45
+ justifyContent: "space-between",
46
+ } },
47
+ react_1.default.createElement("span", { style: {
48
+ textOverflow: "ellipsis",
49
+ whiteSpace: "nowrap",
50
+ overflow: "hidden",
51
+ } }, p.text),
52
+ react_1.default.createElement(core_1.Button, { icon: "trash", minimal: true, onClick: () => {
53
+ window.roamAlphaAPI.deleteBlock({ block: { uid: p.uid } });
54
+ setTexts(texts.filter((f) => f.uid !== p.uid));
55
+ } }))))));
56
+ };
57
+ MultiChildPanel.type = "custom";
58
+ exports.default = MultiChildPanel;
59
+ //# sourceMappingURL=MultiChildPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiChildPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/MultiChildPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Button, Label } from \"@blueprintjs/core\";\nimport React, { useState } from \"react\";\nimport getShallowTreeByParentUid from \"../../queries/getShallowTreeByParentUid\";\nimport idToTitle from \"../../util/idToTitle\";\nimport Description from \"../Description\";\nimport type { FieldPanel, ArrayField } from \"./types\";\n\nconst MultiChildPanel: FieldPanel<\n ArrayField,\n {\n InputComponent: (props: {\n value: string;\n setValue: (s: string) => void;\n }) => React.ReactElement;\n }\n> = ({\n uid: initialUid,\n title,\n description,\n order,\n parentUid,\n InputComponent,\n}) => {\n const [uid, setUid] = useState(initialUid);\n const [texts, setTexts] = useState(() =>\n uid ? getShallowTreeByParentUid(uid) : []\n );\n const [value, setValue] = useState(\"\");\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n <div style={{ display: \"flex\" }}>\n <InputComponent value={value} setValue={setValue} />\n <Button\n icon={\"plus\"}\n minimal\n disabled={!value}\n onClick={() => {\n const valueUid = window.roamAlphaAPI.util.generateUID();\n if (uid) {\n window.roamAlphaAPI.createBlock({\n location: { \"parent-uid\": uid, order: texts.length },\n block: { string: value, uid: valueUid },\n });\n } else {\n const newUid = window.roamAlphaAPI.util.generateUID();\n window.roamAlphaAPI.createBlock({\n block: { string: title, uid: newUid },\n location: { order, \"parent-uid\": parentUid },\n });\n setTimeout(() => setUid(newUid));\n window.roamAlphaAPI.createBlock({\n block: { string: value, uid: valueUid },\n location: { order: 0, \"parent-uid\": newUid },\n });\n }\n setTexts([...texts, { text: value, uid: valueUid }]);\n setValue(\"\");\n }}\n />\n </div>\n </Label>\n {texts.map((p) => (\n <div\n key={p.uid}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <span\n style={{\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n }}\n >\n {p.text}\n </span>\n <Button\n icon={\"trash\"}\n minimal\n onClick={() => {\n window.roamAlphaAPI.deleteBlock({ block: { uid: p.uid } });\n setTexts(texts.filter((f) => f.uid !== p.uid));\n }}\n />\n </div>\n ))}\n </>\n );\n};\n\nMultiChildPanel.type = \"custom\";\n\nexport default MultiChildPanel;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { FieldPanel, MultiTextField } from "./types";
2
+ declare const MultiTextPanel: FieldPanel<MultiTextField>;
3
+ export default MultiTextPanel;
@@ -0,0 +1,15 @@
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.__importDefault(require("react"));
6
+ const MultiChildPanel_1 = tslib_1.__importDefault(require("./MultiChildPanel"));
7
+ const MultiTextPanel = (props) => {
8
+ return (react_1.default.createElement(MultiChildPanel_1.default, Object.assign({}, props, { InputComponent: ({ value, setValue }) => {
9
+ var _a;
10
+ return (react_1.default.createElement(core_1.InputGroup, { value: value, onChange: (e) => setValue(e.target.value), placeholder: (_a = props.options) === null || _a === void 0 ? void 0 : _a.placeholder }));
11
+ } })));
12
+ };
13
+ MultiTextPanel.type = "multitext";
14
+ exports.default = MultiTextPanel;
15
+ //# sourceMappingURL=MultiTextPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiTextPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/MultiTextPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA+C;AAC/C,0DAA0B;AAC1B,gFAAgD;AAGhD,MAAM,cAAc,GAA+B,CAAC,KAAK,EAAE,EAAE;IAC3D,OAAO,CACL,8BAAC,yBAAe,oBACV,KAAK,IACT,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;;YAAC,OAAA,CACvC,8BAAC,iBAAU,IACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,WAAW,GACvC,CACH,CAAA;SAAA,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC;AAElC,kBAAe,cAAc,CAAC","sourcesContent":["import { InputGroup } from \"@blueprintjs/core\";\nimport React from \"react\";\nimport MultiChildPanel from \"./MultiChildPanel\";\nimport type { FieldPanel, MultiTextField } from \"./types\";\n\nconst MultiTextPanel: FieldPanel<MultiTextField> = (props) => {\n return (\n <MultiChildPanel\n {...props}\n InputComponent={({ value, setValue }) => (\n <InputGroup\n value={value}\n onChange={(e) => setValue(e.target.value)}\n placeholder={props.options?.placeholder}\n />\n )}\n />\n );\n};\n\nMultiTextPanel.type = \"multitext\";\n\nexport default MultiTextPanel;\n"]}
@@ -0,0 +1,3 @@
1
+ import { FieldPanel, NumberField } from "./types";
2
+ declare const NumberPanel: FieldPanel<NumberField>;
3
+ export default NumberPanel;
@@ -0,0 +1,26 @@
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.__importDefault(require("react"));
6
+ const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
7
+ const Description_1 = tslib_1.__importDefault(require("../Description"));
8
+ const useSingleChildValue_1 = tslib_1.__importDefault(require("./useSingleChildValue"));
9
+ const NumberPanel = ({ title, uid, parentUid, order, description, defaultValue = 0, }) => {
10
+ const { value, onChange } = (0, useSingleChildValue_1.default)({
11
+ defaultValue,
12
+ title,
13
+ uid,
14
+ parentUid,
15
+ order,
16
+ transform: parseInt,
17
+ toStr: (v) => `${v}`,
18
+ });
19
+ return (react_1.default.createElement(core_1.Label, null,
20
+ (0, idToTitle_1.default)(title),
21
+ react_1.default.createElement(Description_1.default, { description: description }),
22
+ react_1.default.createElement(core_1.NumericInput, { value: value, onValueChange: onChange })));
23
+ };
24
+ NumberPanel.type = "number";
25
+ exports.default = NumberPanel;
26
+ //# sourceMappingURL=NumberPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/NumberPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAAwD;AACxD,0DAA0B;AAC1B,6EAA6C;AAC7C,yEAAyC;AAEzC,wFAAwD;AAExD,MAAM,WAAW,GAA4B,CAAC,EAC5C,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,GAAG,CAAC,GACjB,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EAAC;QAC9C,YAAY;QACZ,KAAK;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;KACrB,CAAC,CAAC;IACH,OAAO,CACL,8BAAC,YAAK;QACH,IAAA,mBAAS,EAAC,KAAK,CAAC;QACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI;QACzC,8BAAC,mBAAY,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,GAAI,CACjD,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC","sourcesContent":["import { Label, NumericInput } from \"@blueprintjs/core\";\nimport React from \"react\";\nimport idToTitle from \"../../util/idToTitle\";\nimport Description from \"../Description\";\nimport { FieldPanel, NumberField } from \"./types\";\nimport useSingleChildValue from \"./useSingleChildValue\";\n\nconst NumberPanel: FieldPanel<NumberField> = ({\n title,\n uid,\n parentUid,\n order,\n description,\n defaultValue = 0,\n}) => {\n const { value, onChange } = useSingleChildValue({\n defaultValue,\n title,\n uid,\n parentUid,\n order,\n transform: parseInt,\n toStr: (v) => `${v}`,\n });\n return (\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n <NumericInput value={value} onValueChange={onChange} />\n </Label>\n );\n};\n\nNumberPanel.type = \"number\";\n\nexport default NumberPanel;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { OauthField, FieldPanel } from "./types";
2
+ declare const OauthPanel: FieldPanel<OauthField>;
3
+ export default OauthPanel;