roamjs-components 0.85.3 → 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 (558) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +29 -29
  3. package/components/AutocompleteInput.d.ts +28 -28
  4. package/components/AutocompleteInput.js +120 -120
  5. package/components/BlockErrorBoundary.d.ts +15 -15
  6. package/components/BlockErrorBoundary.js +27 -27
  7. package/components/BlockInput.d.ts +13 -13
  8. package/components/BlockInput.js +55 -55
  9. package/components/ComponentContainer.d.ts +10 -10
  10. package/components/ComponentContainer.js +37 -37
  11. package/components/ConfigPage.d.ts +35 -35
  12. package/components/ConfigPage.js +159 -159
  13. package/components/ConfigPanels/BlockPanel.d.ts +3 -3
  14. package/components/ConfigPanels/BlockPanel.js +42 -42
  15. package/components/ConfigPanels/BlocksPanel.d.ts +3 -3
  16. package/components/ConfigPanels/BlocksPanel.js +58 -58
  17. package/components/ConfigPanels/CustomPanel.d.ts +3 -3
  18. package/components/ConfigPanels/CustomPanel.js +24 -24
  19. package/components/ConfigPanels/FlagPanel.d.ts +3 -3
  20. package/components/ConfigPanels/FlagPanel.js +31 -31
  21. package/components/ConfigPanels/MultiChildPanel.d.ts +9 -9
  22. package/components/ConfigPanels/MultiChildPanel.js +58 -58
  23. package/components/ConfigPanels/MultiTextPanel.d.ts +3 -3
  24. package/components/ConfigPanels/MultiTextPanel.js +14 -14
  25. package/components/ConfigPanels/NumberPanel.d.ts +3 -3
  26. package/components/ConfigPanels/NumberPanel.js +25 -25
  27. package/components/ConfigPanels/OauthPanel.d.ts +3 -3
  28. package/components/ConfigPanels/OauthPanel.js +81 -81
  29. package/components/ConfigPanels/PagesPanel.d.ts +3 -3
  30. package/components/ConfigPanels/PagesPanel.js +11 -11
  31. package/components/ConfigPanels/SelectPanel.d.ts +3 -3
  32. package/components/ConfigPanels/SelectPanel.js +27 -27
  33. package/components/ConfigPanels/TextPanel.d.ts +3 -3
  34. package/components/ConfigPanels/TextPanel.js +28 -28
  35. package/components/ConfigPanels/TimePanel.d.ts +3 -3
  36. package/components/ConfigPanels/TimePanel.js +34 -34
  37. package/components/ConfigPanels/getBrandColors.d.ts +7 -7
  38. package/components/ConfigPanels/getBrandColors.js +28 -28
  39. package/components/ConfigPanels/types.d.ts +84 -84
  40. package/components/ConfigPanels/types.js +2 -2
  41. package/components/ConfigPanels/types.js.map +1 -1
  42. package/components/ConfigPanels/useSingleChildValue.d.ts +13 -13
  43. package/components/ConfigPanels/useSingleChildValue.js +43 -43
  44. package/components/CursorMenu.d.ts +21 -21
  45. package/components/CursorMenu.js +181 -181
  46. package/components/Description.d.ts +5 -5
  47. package/components/Description.js +16 -16
  48. package/components/ExtensionApiContext.d.ts +31 -31
  49. package/components/ExtensionApiContext.js +16 -16
  50. package/components/ExternalLogin.d.ts +18 -18
  51. package/components/ExternalLogin.js +141 -141
  52. package/components/Filter.d.ts +15 -15
  53. package/components/Filter.js +142 -142
  54. package/components/FormDialog.d.ts +55 -55
  55. package/components/FormDialog.js +217 -217
  56. package/components/FormDialog.js.map +1 -1
  57. package/components/Loading.d.ts +4 -4
  58. package/components/Loading.js +35 -35
  59. package/components/MenuItemSelect.d.ts +17 -17
  60. package/components/MenuItemSelect.js +23 -23
  61. package/components/OauthPanel.d.ts +7 -7
  62. package/components/OauthPanel.js +30 -30
  63. package/components/OauthSelect.d.ts +5 -5
  64. package/components/OauthSelect.js +25 -25
  65. package/components/PageInput.d.ts +6 -6
  66. package/components/PageInput.js +13 -13
  67. package/components/PageLink.d.ts +6 -6
  68. package/components/PageLink.js +31 -31
  69. package/components/ProgressDialog.d.ts +11 -11
  70. package/components/ProgressDialog.js +48 -48
  71. package/components/SimpleAlert.d.ts +15 -15
  72. package/components/SimpleAlert.js +47 -47
  73. package/components/Toast.d.ts +15 -15
  74. package/components/Toast.js +50 -50
  75. package/components/index.js +4 -4
  76. package/components/index.js.map +1 -1
  77. package/components.d.ts +5 -5
  78. package/components.js +170 -170
  79. package/date/constants.d.ts +3 -3
  80. package/date/constants.js +19 -19
  81. package/date/constants.js.map +1 -1
  82. package/date/index.d.ts +3 -3
  83. package/date/index.js +9 -9
  84. package/date/index.js.map +1 -1
  85. package/date/parseNlpDate.d.ts +5 -5
  86. package/date/parseNlpDate.js +226 -226
  87. package/date/parseNlpDate.js.map +1 -1
  88. package/date/parseRoamDateUid.d.ts +2 -2
  89. package/date/parseRoamDateUid.js +7 -7
  90. package/date/parseRoamDateUid.js.map +1 -1
  91. package/dom/addBlockCommand.d.ts +5 -5
  92. package/dom/addBlockCommand.js +53 -53
  93. package/dom/addBlockCommand.js.map +1 -1
  94. package/dom/addKeyboardTriggers.d.ts +11 -11
  95. package/dom/addKeyboardTriggers.js +38 -38
  96. package/dom/addKeyboardTriggers.js.map +1 -1
  97. package/dom/addOldRoamJSDependency.d.ts +2 -2
  98. package/dom/addOldRoamJSDependency.js +10 -10
  99. package/dom/addOldRoamJSDependency.js.map +1 -1
  100. package/dom/addRoamJSDependency.d.ts +2 -2
  101. package/dom/addRoamJSDependency.js +8 -8
  102. package/dom/addRoamJSDependency.js.map +1 -1
  103. package/dom/addScriptAsDependency.d.ts +6 -6
  104. package/dom/addScriptAsDependency.js +16 -16
  105. package/dom/addScriptAsDependency.js.map +1 -1
  106. package/dom/addStyle.d.ts +2 -2
  107. package/dom/addStyle.js +14 -14
  108. package/dom/addStyle.js.map +1 -1
  109. package/dom/constants.d.ts +1 -1
  110. package/dom/constants.js +4 -4
  111. package/dom/constants.js.map +1 -1
  112. package/dom/createBlockObserver.d.ts +7 -7
  113. package/dom/createBlockObserver.js +43 -43
  114. package/dom/createBlockObserver.js.map +1 -1
  115. package/dom/createButtonObserver.d.ts +6 -6
  116. package/dom/createButtonObserver.js +21 -21
  117. package/dom/createButtonObserver.js.map +1 -1
  118. package/dom/createDivObserver.d.ts +2 -2
  119. package/dom/createDivObserver.js +13 -13
  120. package/dom/createDivObserver.js.map +1 -1
  121. package/dom/createHTMLObserver.d.ts +8 -8
  122. package/dom/createHTMLObserver.js +24 -24
  123. package/dom/createHTMLObserver.js.map +1 -1
  124. package/dom/createHashtagObserver.d.ts +5 -5
  125. package/dom/createHashtagObserver.js +16 -16
  126. package/dom/createHashtagObserver.js.map +1 -1
  127. package/dom/createIconButton.d.ts +2 -2
  128. package/dom/createIconButton.js +12 -12
  129. package/dom/createIconButton.js.map +1 -1
  130. package/dom/createObserver.d.ts +2 -2
  131. package/dom/createObserver.js +9 -9
  132. package/dom/createObserver.js.map +1 -1
  133. package/dom/createOverlayObserver.d.ts +2 -2
  134. package/dom/createOverlayObserver.js +6 -6
  135. package/dom/createOverlayObserver.js.map +1 -1
  136. package/dom/createPageObserver.d.ts +2 -2
  137. package/dom/createPageObserver.js +34 -34
  138. package/dom/createPageObserver.js.map +1 -1
  139. package/dom/createPageTitleObserver.d.ts +6 -6
  140. package/dom/createPageTitleObserver.js +31 -31
  141. package/dom/createPageTitleObserver.js.map +1 -1
  142. package/dom/elToTitle.d.ts +2 -2
  143. package/dom/elToTitle.js +22 -22
  144. package/dom/elToTitle.js.map +1 -1
  145. package/dom/genericError.d.ts +3 -3
  146. package/dom/genericError.js +11 -11
  147. package/dom/genericError.js.map +1 -1
  148. package/dom/getActiveUids.d.ts +3 -3
  149. package/dom/getActiveUids.js +6 -6
  150. package/dom/getActiveUids.js.map +1 -1
  151. package/dom/getBlockUidFromTarget.d.ts +2 -2
  152. package/dom/getBlockUidFromTarget.js +33 -33
  153. package/dom/getBlockUidFromTarget.js.map +1 -1
  154. package/dom/getCurrentPageUid.d.ts +2 -2
  155. package/dom/getCurrentPageUid.js +8 -8
  156. package/dom/getCurrentPageUid.js.map +1 -1
  157. package/dom/getDomRefs.d.ts +2 -2
  158. package/dom/getDomRefs.js +12 -12
  159. package/dom/getDomRefs.js.map +1 -1
  160. package/dom/getDropUidOffset.d.ts +5 -5
  161. package/dom/getDropUidOffset.js +27 -27
  162. package/dom/getDropUidOffset.js.map +1 -1
  163. package/dom/getMutatedNodes.d.ts +7 -7
  164. package/dom/getMutatedNodes.js +11 -11
  165. package/dom/getMutatedNodes.js.map +1 -1
  166. package/dom/getPageTitleByHtmlElement.d.ts +2 -2
  167. package/dom/getPageTitleByHtmlElement.js +12 -12
  168. package/dom/getPageTitleByHtmlElement.js.map +1 -1
  169. package/dom/getPageTitleValueByHtmlElement.d.ts +2 -2
  170. package/dom/getPageTitleValueByHtmlElement.js +9 -9
  171. package/dom/getPageTitleValueByHtmlElement.js.map +1 -1
  172. package/dom/getReferenceBlockUid.d.ts +2 -2
  173. package/dom/getReferenceBlockUid.js +18 -18
  174. package/dom/getReferenceBlockUid.js.map +1 -1
  175. package/dom/getRoamUrl.d.ts +2 -2
  176. package/dom/getRoamUrl.js +4 -4
  177. package/dom/getRoamUrl.js.map +1 -1
  178. package/dom/getRoamUrlByPage.d.ts +2 -2
  179. package/dom/getRoamUrlByPage.js +10 -10
  180. package/dom/getRoamUrlByPage.js.map +1 -1
  181. package/dom/getUids.d.ts +3 -3
  182. package/dom/getUids.js +8 -8
  183. package/dom/getUids.js.map +1 -1
  184. package/dom/getUidsFromButton.d.ts +3 -3
  185. package/dom/getUidsFromButton.js +8 -8
  186. package/dom/getUidsFromButton.js.map +1 -1
  187. package/dom/getUidsFromId.d.ts +5 -5
  188. package/dom/getUidsFromId.js +15 -15
  189. package/dom/getUidsFromId.js.map +1 -1
  190. package/dom/index.d.ts +30 -30
  191. package/dom/index.js +63 -63
  192. package/dom/index.js.map +1 -1
  193. package/dom/parseRoamBlocksToHtml.d.ts +11 -11
  194. package/dom/parseRoamBlocksToHtml.js +79 -79
  195. package/dom/parseRoamBlocksToHtml.js.map +1 -1
  196. package/dom/resolveRefs.d.ts +2 -2
  197. package/dom/resolveRefs.js +24 -24
  198. package/dom/resolveRefs.js.map +1 -1
  199. package/events/index.d.ts +1 -1
  200. package/events/index.js +8 -8
  201. package/events/index.js.map +1 -1
  202. package/events/watchOnce.d.ts +3 -3
  203. package/events/watchOnce.js +12 -12
  204. package/events/watchOnce.js.map +1 -1
  205. package/hooks/index.d.ts +2 -2
  206. package/hooks/index.js +10 -10
  207. package/hooks/index.js.map +1 -1
  208. package/hooks/useArrowKeyDown.d.ts +10 -10
  209. package/hooks/useArrowKeyDown.js +54 -54
  210. package/hooks/useArrowKeyDown.js.map +1 -1
  211. package/hooks/useSubTree.d.ts +3 -3
  212. package/hooks/useSubTree.js +11 -11
  213. package/hooks/useSubTree.js.map +1 -1
  214. package/marked/index.d.ts +25 -25
  215. package/marked/index.js +567 -567
  216. package/marked/index.js.map +1 -1
  217. package/package.json +116 -116
  218. package/queries/compileDatalog.d.ts +3 -3
  219. package/queries/compileDatalog.js +63 -63
  220. package/queries/compileDatalog.js.map +1 -1
  221. package/queries/getAllBlockUids.d.ts +2 -2
  222. package/queries/getAllBlockUids.js +6 -6
  223. package/queries/getAllBlockUids.js.map +1 -1
  224. package/queries/getAllBlockUidsAndTexts.d.ts +5 -5
  225. package/queries/getAllBlockUidsAndTexts.js +6 -6
  226. package/queries/getAllBlockUidsAndTexts.js.map +1 -1
  227. package/queries/getAllPageNames.d.ts +2 -2
  228. package/queries/getAllPageNames.js +6 -6
  229. package/queries/getAllPageNames.js.map +1 -1
  230. package/queries/getAttributeValueByBlockAndName.d.ts +5 -5
  231. package/queries/getAttributeValueByBlockAndName.js +11 -11
  232. package/queries/getAttributeValueByBlockAndName.js.map +1 -1
  233. package/queries/getBasicTreeByParentUid.d.ts +3 -3
  234. package/queries/getBasicTreeByParentUid.js +13 -13
  235. package/queries/getBasicTreeByParentUid.js.map +1 -1
  236. package/queries/getBlockUidAndTextIncludingText.d.ts +5 -5
  237. package/queries/getBlockUidAndTextIncludingText.js +7 -7
  238. package/queries/getBlockUidAndTextIncludingText.js.map +1 -1
  239. package/queries/getBlockUidByTextOnPage.d.ts +5 -5
  240. package/queries/getBlockUidByTextOnPage.js +7 -7
  241. package/queries/getBlockUidByTextOnPage.js.map +1 -1
  242. package/queries/getBlockUidsAndTextsReferencingPage.d.ts +5 -5
  243. package/queries/getBlockUidsAndTextsReferencingPage.js +9 -9
  244. package/queries/getBlockUidsAndTextsReferencingPage.js.map +1 -1
  245. package/queries/getBlockUidsByPageTitle.d.ts +2 -2
  246. package/queries/getBlockUidsByPageTitle.js +8 -8
  247. package/queries/getBlockUidsByPageTitle.js.map +1 -1
  248. package/queries/getBlockUidsReferencingBlock.d.ts +2 -2
  249. package/queries/getBlockUidsReferencingBlock.js +4 -4
  250. package/queries/getBlockUidsReferencingBlock.js.map +1 -1
  251. package/queries/getBlockUidsReferencingPage.d.ts +2 -2
  252. package/queries/getBlockUidsReferencingPage.js +6 -6
  253. package/queries/getBlockUidsReferencingPage.js.map +1 -1
  254. package/queries/getBlockUidsWithParentUid.d.ts +2 -2
  255. package/queries/getBlockUidsWithParentUid.js +6 -6
  256. package/queries/getBlockUidsWithParentUid.js.map +1 -1
  257. package/queries/getChildrenLengthByPageUid.d.ts +2 -2
  258. package/queries/getChildrenLengthByPageUid.js +8 -8
  259. package/queries/getChildrenLengthByPageUid.js.map +1 -1
  260. package/queries/getChildrenLengthByParentUid.d.ts +2 -2
  261. package/queries/getChildrenLengthByParentUid.js +7 -7
  262. package/queries/getChildrenLengthByParentUid.js.map +1 -1
  263. package/queries/getCreateTimeByBlockUid.d.ts +2 -2
  264. package/queries/getCreateTimeByBlockUid.js +7 -7
  265. package/queries/getCreateTimeByBlockUid.js.map +1 -1
  266. package/queries/getCurrentUser.d.ts +2 -2
  267. package/queries/getCurrentUser.js +11 -11
  268. package/queries/getCurrentUser.js.map +1 -1
  269. package/queries/getCurrentUserDisplayName.d.ts +2 -2
  270. package/queries/getCurrentUserDisplayName.js +10 -10
  271. package/queries/getCurrentUserDisplayName.js.map +1 -1
  272. package/queries/getCurrentUserEmail.d.ts +2 -2
  273. package/queries/getCurrentUserEmail.js +13 -13
  274. package/queries/getCurrentUserEmail.js.map +1 -1
  275. package/queries/getCurrentUserUid.d.ts +2 -2
  276. package/queries/getCurrentUserUid.js +13 -13
  277. package/queries/getCurrentUserUid.js.map +1 -1
  278. package/queries/getDisplayNameByEmail.d.ts +2 -2
  279. package/queries/getDisplayNameByEmail.js +7 -7
  280. package/queries/getDisplayNameByEmail.js.map +1 -1
  281. package/queries/getDisplayNameByUid.d.ts +2 -2
  282. package/queries/getDisplayNameByUid.js +7 -7
  283. package/queries/getDisplayNameByUid.js.map +1 -1
  284. package/queries/getEditTimeByBlockUid.d.ts +2 -2
  285. package/queries/getEditTimeByBlockUid.js +7 -7
  286. package/queries/getEditTimeByBlockUid.js.map +1 -1
  287. package/queries/getEditedUserEmailByBlockUid.d.ts +2 -2
  288. package/queries/getEditedUserEmailByBlockUid.js +7 -7
  289. package/queries/getEditedUserEmailByBlockUid.js.map +1 -1
  290. package/queries/getFirstChildTextByBlockUid.d.ts +2 -2
  291. package/queries/getFirstChildTextByBlockUid.js +7 -7
  292. package/queries/getFirstChildTextByBlockUid.js.map +1 -1
  293. package/queries/getFirstChildUidByBlockUid.d.ts +2 -2
  294. package/queries/getFirstChildUidByBlockUid.js +6 -6
  295. package/queries/getFirstChildUidByBlockUid.js.map +1 -1
  296. package/queries/getFullTreeByParentUid.d.ts +3 -3
  297. package/queries/getFullTreeByParentUid.js +51 -51
  298. package/queries/getFullTreeByParentUid.js.map +1 -1
  299. package/queries/getLinkedPageTitlesUnderUid.d.ts +2 -2
  300. package/queries/getLinkedPageTitlesUnderUid.js +6 -6
  301. package/queries/getLinkedPageTitlesUnderUid.js.map +1 -1
  302. package/queries/getNthChildUidByBlockUid.d.ts +5 -5
  303. package/queries/getNthChildUidByBlockUid.js +7 -7
  304. package/queries/getNthChildUidByBlockUid.js.map +1 -1
  305. package/queries/getOrderByBlockUid.d.ts +2 -2
  306. package/queries/getOrderByBlockUid.js +7 -7
  307. package/queries/getOrderByBlockUid.js.map +1 -1
  308. package/queries/getPageTitleByBlockUid.d.ts +2 -2
  309. package/queries/getPageTitleByBlockUid.js +7 -7
  310. package/queries/getPageTitleByBlockUid.js.map +1 -1
  311. package/queries/getPageTitleByPageUid.d.ts +2 -2
  312. package/queries/getPageTitleByPageUid.js +12 -12
  313. package/queries/getPageTitleByPageUid.js.map +1 -1
  314. package/queries/getPageTitleReferencesByPageTitle.d.ts +2 -2
  315. package/queries/getPageTitleReferencesByPageTitle.js +6 -6
  316. package/queries/getPageTitleReferencesByPageTitle.js.map +1 -1
  317. package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +5 -5
  318. package/queries/getPageTitlesAndBlockUidsReferencingPage.js +9 -9
  319. package/queries/getPageTitlesAndBlockUidsReferencingPage.js.map +1 -1
  320. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +5 -5
  321. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +9 -9
  322. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js.map +1 -1
  323. package/queries/getPageTitlesReferencingBlockUid.d.ts +2 -2
  324. package/queries/getPageTitlesReferencingBlockUid.js +4 -4
  325. package/queries/getPageTitlesReferencingBlockUid.js.map +1 -1
  326. package/queries/getPageTitlesStartingWithPrefix.d.ts +2 -2
  327. package/queries/getPageTitlesStartingWithPrefix.js +6 -6
  328. package/queries/getPageTitlesStartingWithPrefix.js.map +1 -1
  329. package/queries/getPageUidByBlockUid.d.ts +2 -2
  330. package/queries/getPageUidByBlockUid.js +7 -7
  331. package/queries/getPageUidByBlockUid.js.map +1 -1
  332. package/queries/getPageUidByPageTitle.d.ts +2 -2
  333. package/queries/getPageUidByPageTitle.js +9 -9
  334. package/queries/getPageUidByPageTitle.js.map +1 -1
  335. package/queries/getPageViewType.d.ts +3 -3
  336. package/queries/getPageViewType.js +9 -9
  337. package/queries/getPageViewType.js.map +1 -1
  338. package/queries/getParentTextByBlockUid.d.ts +2 -2
  339. package/queries/getParentTextByBlockUid.js +7 -7
  340. package/queries/getParentTextByBlockUid.js.map +1 -1
  341. package/queries/getParentTextByBlockUidAndTag.d.ts +5 -5
  342. package/queries/getParentTextByBlockUidAndTag.js +7 -7
  343. package/queries/getParentTextByBlockUidAndTag.js.map +1 -1
  344. package/queries/getParentUidByBlockUid.d.ts +2 -2
  345. package/queries/getParentUidByBlockUid.js +7 -7
  346. package/queries/getParentUidByBlockUid.js.map +1 -1
  347. package/queries/getParentUidsOfBlockUid.d.ts +2 -2
  348. package/queries/getParentUidsOfBlockUid.js +4 -4
  349. package/queries/getParentUidsOfBlockUid.js.map +1 -1
  350. package/queries/getSettingsByEmail.d.ts +3 -3
  351. package/queries/getSettingsByEmail.js +7 -7
  352. package/queries/getSettingsByEmail.js.map +1 -1
  353. package/queries/getShallowTreeByParentUid.d.ts +5 -5
  354. package/queries/getShallowTreeByParentUid.js +9 -9
  355. package/queries/getShallowTreeByParentUid.js.map +1 -1
  356. package/queries/getTextByBlockUid.d.ts +2 -2
  357. package/queries/getTextByBlockUid.js +9 -9
  358. package/queries/getTextByBlockUid.js.map +1 -1
  359. package/queries/index.js +4 -4
  360. package/queries/index.js.map +1 -1
  361. package/queries/isLiveBlock.d.ts +2 -2
  362. package/queries/isLiveBlock.js +4 -4
  363. package/queries/isLiveBlock.js.map +1 -1
  364. package/queries/isTagOnPage.d.ts +5 -5
  365. package/queries/isTagOnPage.js +9 -9
  366. package/queries/isTagOnPage.js.map +1 -1
  367. package/queries/normalizePageTitle.d.ts +2 -2
  368. package/queries/normalizePageTitle.js +4 -4
  369. package/queries/normalizePageTitle.js.map +1 -1
  370. package/scripts/index.d.ts +1 -1
  371. package/scripts/index.js +26 -26
  372. package/scripts/index.js.map +1 -1
  373. package/scripts/publishToRoamDepot.d.ts +7 -7
  374. package/scripts/publishToRoamDepot.js +113 -113
  375. package/scripts/publishToRoamDepot.js.map +1 -1
  376. package/testing/mockRoamEnvironment.d.ts +2 -2
  377. package/testing/mockRoamEnvironment.js +1253 -1253
  378. package/testing/mockRoamEnvironment.js.map +1 -1
  379. package/types/index.d.ts +389 -250
  380. package/types/index.js +4 -4
  381. package/types/index.js.map +1 -1
  382. package/types/native.d.ts +405 -402
  383. package/types/native.js +4 -4
  384. package/types/native.js.map +1 -1
  385. package/types/query-builder.d.ts +10 -10
  386. package/types/query-builder.js +2 -2
  387. package/types/query-builder.js.map +1 -1
  388. package/types/smartblocks.d.ts +35 -35
  389. package/types/smartblocks.js +2 -2
  390. package/types/smartblocks.js.map +1 -1
  391. package/util/addInputSetting.d.ts +7 -7
  392. package/util/addInputSetting.js +25 -25
  393. package/util/addInputSetting.js.map +1 -1
  394. package/util/apiDelete.d.ts +2 -2
  395. package/util/apiDelete.js +6 -6
  396. package/util/apiDelete.js.map +1 -1
  397. package/util/apiGet.d.ts +2 -2
  398. package/util/apiGet.js +6 -6
  399. package/util/apiGet.js.map +1 -1
  400. package/util/apiPost.d.ts +2 -2
  401. package/util/apiPost.js +6 -6
  402. package/util/apiPost.js.map +1 -1
  403. package/util/apiPut.d.ts +2 -2
  404. package/util/apiPut.js +6 -6
  405. package/util/apiPut.js.map +1 -1
  406. package/util/createOverlayRender.d.ts +4 -4
  407. package/util/createOverlayRender.js +6 -6
  408. package/util/createOverlayRender.js.map +1 -1
  409. package/util/createTagRegex.d.ts +2 -2
  410. package/util/createTagRegex.js +7 -7
  411. package/util/createTagRegex.js.map +1 -1
  412. package/util/dispatchToRegistry.d.ts +3 -3
  413. package/util/dispatchToRegistry.js +7 -7
  414. package/util/dispatchToRegistry.js.map +1 -1
  415. package/util/env.d.ts +4 -4
  416. package/util/env.js +47 -47
  417. package/util/env.js.map +1 -1
  418. package/util/extensionApiContext.d.ts +29 -29
  419. package/util/extensionApiContext.js +17 -17
  420. package/util/extensionApiContext.js.map +1 -1
  421. package/util/extensionDeprecatedWarning.d.ts +5 -5
  422. package/util/extensionDeprecatedWarning.js +39 -39
  423. package/util/extensionDeprecatedWarning.js.map +1 -1
  424. package/util/extractRef.d.ts +2 -2
  425. package/util/extractRef.js +8 -8
  426. package/util/extractRef.js.map +1 -1
  427. package/util/extractTag.d.ts +2 -2
  428. package/util/extractTag.js +15 -15
  429. package/util/extractTag.js.map +1 -1
  430. package/util/focusMainWindowBlock.d.ts +2 -2
  431. package/util/focusMainWindowBlock.js +12 -12
  432. package/util/focusMainWindowBlock.js.map +1 -1
  433. package/util/getAuthorizationHeader.d.ts +2 -2
  434. package/util/getAuthorizationHeader.js +12 -12
  435. package/util/getAuthorizationHeader.js.map +1 -1
  436. package/util/getLocalStorageKey.d.ts +2 -2
  437. package/util/getLocalStorageKey.js +4 -4
  438. package/util/getLocalStorageKey.js.map +1 -1
  439. package/util/getOauth.d.ts +2 -2
  440. package/util/getOauth.js +52 -52
  441. package/util/getOauth.js.map +1 -1
  442. package/util/getOauthAccounts.d.ts +2 -2
  443. package/util/getOauthAccounts.js +22 -22
  444. package/util/getOauthAccounts.js.map +1 -1
  445. package/util/getRenderRoot.d.ts +2 -2
  446. package/util/getRenderRoot.js +18 -18
  447. package/util/getRenderRoot.js.map +1 -1
  448. package/util/getSettingIntFromTree.d.ts +7 -7
  449. package/util/getSettingIntFromTree.js +11 -11
  450. package/util/getSettingIntFromTree.js.map +1 -1
  451. package/util/getSettingValueFromTree.d.ts +8 -8
  452. package/util/getSettingValueFromTree.js +14 -14
  453. package/util/getSettingValueFromTree.js.map +1 -1
  454. package/util/getSettingValuesFromTree.d.ts +7 -7
  455. package/util/getSettingValuesFromTree.js +12 -12
  456. package/util/getSettingValuesFromTree.js.map +1 -1
  457. package/util/getSubTree.d.ts +8 -8
  458. package/util/getSubTree.js +19 -19
  459. package/util/getSubTree.js.map +1 -1
  460. package/util/getToken.d.ts +2 -2
  461. package/util/getToken.js +10 -10
  462. package/util/getToken.js.map +1 -1
  463. package/util/getTokenFromTree.d.ts +3 -3
  464. package/util/getTokenFromTree.js +4 -4
  465. package/util/getTokenFromTree.js.map +1 -1
  466. package/util/getWorkerClient.d.ts +12 -12
  467. package/util/getWorkerClient.js +41 -41
  468. package/util/getWorkerClient.js.map +1 -1
  469. package/util/handleBodyFetch.d.ts +3 -3
  470. package/util/handleBodyFetch.js +21 -21
  471. package/util/handleBodyFetch.js.map +1 -1
  472. package/util/handleFetch.d.ts +13 -13
  473. package/util/handleFetch.js +40 -40
  474. package/util/handleFetch.js.map +1 -1
  475. package/util/handleUrlFetch.d.ts +3 -3
  476. package/util/handleUrlFetch.js +19 -19
  477. package/util/handleUrlFetch.js.map +1 -1
  478. package/util/idToTitle.d.ts +2 -2
  479. package/util/idToTitle.js +8 -8
  480. package/util/idToTitle.js.map +1 -1
  481. package/util/index.d.ts +24 -24
  482. package/util/index.js +54 -54
  483. package/util/index.js.map +1 -1
  484. package/util/isControl.d.ts +2 -2
  485. package/util/isControl.js +4 -4
  486. package/util/isControl.js.map +1 -1
  487. package/util/localStorageGet.d.ts +2 -2
  488. package/util/localStorageGet.js +8 -8
  489. package/util/localStorageGet.js.map +1 -1
  490. package/util/localStorageRemove.d.ts +2 -2
  491. package/util/localStorageRemove.js +6 -6
  492. package/util/localStorageRemove.js.map +1 -1
  493. package/util/localStorageSet.d.ts +2 -2
  494. package/util/localStorageSet.js +8 -8
  495. package/util/localStorageSet.js.map +1 -1
  496. package/util/registerExperimentalMode.d.ts +6 -6
  497. package/util/registerExperimentalMode.js +65 -65
  498. package/util/registerExperimentalMode.js.map +1 -1
  499. package/util/registerSmartBlocksCommand.d.ts +3 -3
  500. package/util/registerSmartBlocksCommand.js +23 -23
  501. package/util/registerSmartBlocksCommand.js.map +1 -1
  502. package/util/removeFromRegistry.d.ts +3 -3
  503. package/util/removeFromRegistry.js +7 -7
  504. package/util/removeFromRegistry.js.map +1 -1
  505. package/util/renderOverlay.d.ts +12 -12
  506. package/util/renderOverlay.js +48 -48
  507. package/util/renderOverlay.js.map +1 -1
  508. package/util/renderWithUnmount.d.ts +4 -4
  509. package/util/renderWithUnmount.js +44 -44
  510. package/util/renderWithUnmount.js.map +1 -1
  511. package/util/runExtension.d.ts +11 -11
  512. package/util/runExtension.js +174 -174
  513. package/util/runExtension.js.map +1 -1
  514. package/util/setInputSetting.d.ts +7 -7
  515. package/util/setInputSetting.js +37 -37
  516. package/util/setInputSetting.js.map +1 -1
  517. package/util/setInputSettings.d.ts +7 -7
  518. package/util/setInputSettings.js +28 -28
  519. package/util/setInputSettings.js.map +1 -1
  520. package/util/stripUid.d.ts +3 -3
  521. package/util/stripUid.js +10 -10
  522. package/util/stripUid.js.map +1 -1
  523. package/util/toConfigPageName.d.ts +2 -2
  524. package/util/toConfigPageName.js +4 -4
  525. package/util/toConfigPageName.js.map +1 -1
  526. package/util/toFlexRegex.d.ts +2 -2
  527. package/util/toFlexRegex.js +4 -4
  528. package/util/toFlexRegex.js.map +1 -1
  529. package/writes/clearBlockById.d.ts +2 -2
  530. package/writes/clearBlockById.js +17 -17
  531. package/writes/clearBlockById.js.map +1 -1
  532. package/writes/clearBlockByUid.d.ts +2 -2
  533. package/writes/clearBlockByUid.js +16 -16
  534. package/writes/clearBlockByUid.js.map +1 -1
  535. package/writes/createBlock.d.ts +8 -8
  536. package/writes/createBlock.js +28 -28
  537. package/writes/createBlock.js.map +1 -1
  538. package/writes/createPage.d.ts +7 -7
  539. package/writes/createPage.js +20 -20
  540. package/writes/createPage.js.map +1 -1
  541. package/writes/deleteBlock.d.ts +2 -2
  542. package/writes/deleteBlock.js +10 -10
  543. package/writes/deleteBlock.js.map +1 -1
  544. package/writes/index.d.ts +8 -8
  545. package/writes/index.js +22 -22
  546. package/writes/index.js.map +1 -1
  547. package/writes/openBlockInSidebar.d.ts +2 -2
  548. package/writes/openBlockInSidebar.js +13 -13
  549. package/writes/openBlockInSidebar.js.map +1 -1
  550. package/writes/submitActions.d.ts +8 -8
  551. package/writes/submitActions.js +36 -36
  552. package/writes/submitActions.js.map +1 -1
  553. package/writes/updateActiveBlock.d.ts +2 -2
  554. package/writes/updateActiveBlock.js +17 -17
  555. package/writes/updateActiveBlock.js.map +1 -1
  556. package/writes/updateBlock.d.ts +5 -5
  557. package/writes/updateBlock.js +23 -23
  558. package/writes/updateBlock.js.map +1 -1
@@ -1,66 +1,66 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const Toast_1 = require("../components/Toast");
5
- const SimpleAlert_1 = require("../components/SimpleAlert");
6
- const localStorageRemove_1 = tslib_1.__importDefault(require("./localStorageRemove"));
7
- const localStorageSet_1 = tslib_1.__importDefault(require("./localStorageSet"));
8
- const localStorageGet_1 = tslib_1.__importDefault(require("./localStorageGet"));
9
- const registerExperimentalMode = ({ feature, onEnable, onDisable, }) => {
10
- const label = feature
11
- ? `RoamJS Experiment: ${feature}`
12
- : "RoamJS Experimental Mode";
13
- const key = feature
14
- ? `experimental-${feature.toLowerCase().replace(/ /g, "-")}`
15
- : "experimental";
16
- const toggleExperimentalModeFeatures = (experimentalOverlayMode, isInitial) => {
17
- if (experimentalOverlayMode) {
18
- onEnable(isInitial);
19
- window.roamAlphaAPI.ui.commandPalette.addCommand({
20
- label: `Disable ${label}`,
21
- callback: () => {
22
- (0, localStorageRemove_1.default)(key);
23
- toggleExperimentalModeFeatures(false, false);
24
- (0, Toast_1.render)({
25
- id: "experimental",
26
- content: `Disabled ${label}`,
27
- });
28
- },
29
- });
30
- window.roamAlphaAPI.ui.commandPalette.removeCommand({
31
- label: `Enable ${label}`,
32
- });
33
- }
34
- else {
35
- onDisable(isInitial);
36
- window.roamAlphaAPI.ui.commandPalette.addCommand({
37
- label: `Enable ${label}`,
38
- callback: () => {
39
- (0, SimpleAlert_1.render)({
40
- content: `WARNING! Experimental features are not meant for public use for most users. Enabling has a higher likelihood of unintended consequences affecting your graph.
41
-
42
- Are you sure you want to enable the experimental ${feature
43
- ? `RoamJS feature: ${feature}`
44
- : "features of RoamJS extensions"}?`,
45
- onConfirm: () => {
46
- (0, localStorageSet_1.default)(key, "true");
47
- toggleExperimentalModeFeatures(true, false);
48
- (0, Toast_1.render)({
49
- id: "experimental",
50
- content: `Enabled ${label}`,
51
- });
52
- },
53
- onCancel: true,
54
- });
55
- },
56
- });
57
- window.roamAlphaAPI.ui.commandPalette.removeCommand({
58
- label: `Disable ${label}`,
59
- });
60
- }
61
- };
62
- toggleExperimentalModeFeatures((0, localStorageGet_1.default)(key) === "true", true);
63
- return label;
64
- };
65
- exports.default = registerExperimentalMode;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const Toast_1 = require("../components/Toast");
5
+ const SimpleAlert_1 = require("../components/SimpleAlert");
6
+ const localStorageRemove_1 = tslib_1.__importDefault(require("./localStorageRemove"));
7
+ const localStorageSet_1 = tslib_1.__importDefault(require("./localStorageSet"));
8
+ const localStorageGet_1 = tslib_1.__importDefault(require("./localStorageGet"));
9
+ const registerExperimentalMode = ({ feature, onEnable, onDisable, }) => {
10
+ const label = feature
11
+ ? `RoamJS Experiment: ${feature}`
12
+ : "RoamJS Experimental Mode";
13
+ const key = feature
14
+ ? `experimental-${feature.toLowerCase().replace(/ /g, "-")}`
15
+ : "experimental";
16
+ const toggleExperimentalModeFeatures = (experimentalOverlayMode, isInitial) => {
17
+ if (experimentalOverlayMode) {
18
+ onEnable(isInitial);
19
+ window.roamAlphaAPI.ui.commandPalette.addCommand({
20
+ label: `Disable ${label}`,
21
+ callback: () => {
22
+ (0, localStorageRemove_1.default)(key);
23
+ toggleExperimentalModeFeatures(false, false);
24
+ (0, Toast_1.render)({
25
+ id: "experimental",
26
+ content: `Disabled ${label}`,
27
+ });
28
+ },
29
+ });
30
+ window.roamAlphaAPI.ui.commandPalette.removeCommand({
31
+ label: `Enable ${label}`,
32
+ });
33
+ }
34
+ else {
35
+ onDisable(isInitial);
36
+ window.roamAlphaAPI.ui.commandPalette.addCommand({
37
+ label: `Enable ${label}`,
38
+ callback: () => {
39
+ (0, SimpleAlert_1.render)({
40
+ content: `WARNING! Experimental features are not meant for public use for most users. Enabling has a higher likelihood of unintended consequences affecting your graph.
41
+
42
+ Are you sure you want to enable the experimental ${feature
43
+ ? `RoamJS feature: ${feature}`
44
+ : "features of RoamJS extensions"}?`,
45
+ onConfirm: () => {
46
+ (0, localStorageSet_1.default)(key, "true");
47
+ toggleExperimentalModeFeatures(true, false);
48
+ (0, Toast_1.render)({
49
+ id: "experimental",
50
+ content: `Enabled ${label}`,
51
+ });
52
+ },
53
+ onCancel: true,
54
+ });
55
+ },
56
+ });
57
+ window.roamAlphaAPI.ui.commandPalette.removeCommand({
58
+ label: `Disable ${label}`,
59
+ });
60
+ }
61
+ };
62
+ toggleExperimentalModeFeatures((0, localStorageGet_1.default)(key) === "true", true);
63
+ return label;
64
+ };
65
+ exports.default = registerExperimentalMode;
66
66
  //# sourceMappingURL=registerExperimentalMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerExperimentalMode.js","sourceRoot":"","sources":["../../src/util/registerExperimentalMode.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2DAAkE;AAClE,sFAAsD;AACtD,gFAAgD;AAChD,gFAAgD;AAEhD,MAAM,wBAAwB,GAAG,CAAC,EAChC,OAAO,EACP,QAAQ,EACR,SAAS,GAKV,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC,sBAAsB,OAAO,EAAE;QACjC,CAAC,CAAC,0BAA0B,CAAC;IAC/B,MAAM,GAAG,GAAG,OAAO;QACjB,CAAC,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QAC5D,CAAC,CAAC,cAAc,CAAC;IACnB,MAAM,8BAA8B,GAAG,CACrC,uBAAgC,EAChC,SAAkB,EAClB,EAAE;QACF,IAAI,uBAAuB,EAAE;YAC3B,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;gBAC/C,KAAK,EAAE,WAAW,KAAK,EAAE;gBACzB,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAA,4BAAkB,EAAC,GAAG,CAAC,CAAC;oBACxB,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7C,IAAA,cAAW,EAAC;wBACV,EAAE,EAAE,cAAc;wBAClB,OAAO,EAAE,YAAY,KAAK,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;gBAClD,KAAK,EAAE,UAAU,KAAK,EAAE;aACzB,CAAC,CAAC;SACJ;aAAM;YACL,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;gBAC/C,KAAK,EAAE,UAAU,KAAK,EAAE;gBACxB,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAA,oBAAW,EAAC;wBACV,OAAO,EAAE;;mDAGP,OAAO;4BACL,CAAC,CAAC,mBAAmB,OAAO,EAAE;4BAC9B,CAAC,CAAC,+BACN,GAAG;wBACH,SAAS,EAAE,GAAG,EAAE;4BACd,IAAA,yBAAe,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;4BAC7B,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;4BAC5C,IAAA,cAAW,EAAC;gCACV,EAAE,EAAE,cAAc;gCAClB,OAAO,EAAE,WAAW,KAAK,EAAE;6BAC5B,CAAC,CAAC;wBACL,CAAC;wBACD,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;gBAClD,KAAK,EAAE,WAAW,KAAK,EAAE;aAC1B,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IACF,8BAA8B,CAAC,IAAA,yBAAe,EAAC,GAAG,CAAC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC","sourcesContent":["import { render as renderToast } from \"../components/Toast\";\r\nimport { render as renderAlert } from \"../components/SimpleAlert\";\r\nimport localStorageRemove from \"./localStorageRemove\";\r\nimport localStorageSet from \"./localStorageSet\";\r\nimport localStorageGet from \"./localStorageGet\";\r\n\r\nconst registerExperimentalMode = ({\r\n feature,\r\n onEnable,\r\n onDisable,\r\n}: {\r\n feature?: string;\r\n onEnable: (isInitial: boolean) => void;\r\n onDisable: (isInitial: boolean) => void;\r\n}) => {\r\n const label = feature\r\n ? `RoamJS Experiment: ${feature}`\r\n : \"RoamJS Experimental Mode\";\r\n const key = feature\r\n ? `experimental-${feature.toLowerCase().replace(/ /g, \"-\")}`\r\n : \"experimental\";\r\n const toggleExperimentalModeFeatures = (\r\n experimentalOverlayMode: boolean,\r\n isInitial: boolean\r\n ) => {\r\n if (experimentalOverlayMode) {\r\n onEnable(isInitial);\r\n window.roamAlphaAPI.ui.commandPalette.addCommand({\r\n label: `Disable ${label}`,\r\n callback: () => {\r\n localStorageRemove(key);\r\n toggleExperimentalModeFeatures(false, false);\r\n renderToast({\r\n id: \"experimental\",\r\n content: `Disabled ${label}`,\r\n });\r\n },\r\n });\r\n window.roamAlphaAPI.ui.commandPalette.removeCommand({\r\n label: `Enable ${label}`,\r\n });\r\n } else {\r\n onDisable(isInitial);\r\n window.roamAlphaAPI.ui.commandPalette.addCommand({\r\n label: `Enable ${label}`,\r\n callback: () => {\r\n renderAlert({\r\n content: `WARNING! Experimental features are not meant for public use for most users. Enabling has a higher likelihood of unintended consequences affecting your graph.\r\n\r\nAre you sure you want to enable the experimental ${\r\n feature\r\n ? `RoamJS feature: ${feature}`\r\n : \"features of RoamJS extensions\"\r\n }?`,\r\n onConfirm: () => {\r\n localStorageSet(key, \"true\");\r\n toggleExperimentalModeFeatures(true, false);\r\n renderToast({\r\n id: \"experimental\",\r\n content: `Enabled ${label}`,\r\n });\r\n },\r\n onCancel: true,\r\n });\r\n },\r\n });\r\n window.roamAlphaAPI.ui.commandPalette.removeCommand({\r\n label: `Disable ${label}`,\r\n });\r\n }\r\n };\r\n toggleExperimentalModeFeatures(localStorageGet(key) === \"true\", true);\r\n return label;\r\n};\r\n\r\nexport default registerExperimentalMode;\r\n"]}
1
+ {"version":3,"file":"registerExperimentalMode.js","sourceRoot":"","sources":["../../src/util/registerExperimentalMode.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,2DAAkE;AAClE,sFAAsD;AACtD,gFAAgD;AAChD,gFAAgD;AAEhD,MAAM,wBAAwB,GAAG,CAAC,EAChC,OAAO,EACP,QAAQ,EACR,SAAS,GAKV,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC,sBAAsB,OAAO,EAAE;QACjC,CAAC,CAAC,0BAA0B,CAAC;IAC/B,MAAM,GAAG,GAAG,OAAO;QACjB,CAAC,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QAC5D,CAAC,CAAC,cAAc,CAAC;IACnB,MAAM,8BAA8B,GAAG,CACrC,uBAAgC,EAChC,SAAkB,EAClB,EAAE;QACF,IAAI,uBAAuB,EAAE;YAC3B,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;gBAC/C,KAAK,EAAE,WAAW,KAAK,EAAE;gBACzB,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAA,4BAAkB,EAAC,GAAG,CAAC,CAAC;oBACxB,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7C,IAAA,cAAW,EAAC;wBACV,EAAE,EAAE,cAAc;wBAClB,OAAO,EAAE,YAAY,KAAK,EAAE;qBAC7B,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;gBAClD,KAAK,EAAE,UAAU,KAAK,EAAE;aACzB,CAAC,CAAC;SACJ;aAAM;YACL,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;gBAC/C,KAAK,EAAE,UAAU,KAAK,EAAE;gBACxB,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAA,oBAAW,EAAC;wBACV,OAAO,EAAE;;mDAGP,OAAO;4BACL,CAAC,CAAC,mBAAmB,OAAO,EAAE;4BAC9B,CAAC,CAAC,+BACN,GAAG;wBACH,SAAS,EAAE,GAAG,EAAE;4BACd,IAAA,yBAAe,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;4BAC7B,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;4BAC5C,IAAA,cAAW,EAAC;gCACV,EAAE,EAAE,cAAc;gCAClB,OAAO,EAAE,WAAW,KAAK,EAAE;6BAC5B,CAAC,CAAC;wBACL,CAAC;wBACD,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;gBAClD,KAAK,EAAE,WAAW,KAAK,EAAE;aAC1B,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IACF,8BAA8B,CAAC,IAAA,yBAAe,EAAC,GAAG,CAAC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC","sourcesContent":["import { render as renderToast } from \"../components/Toast\";\nimport { render as renderAlert } from \"../components/SimpleAlert\";\nimport localStorageRemove from \"./localStorageRemove\";\nimport localStorageSet from \"./localStorageSet\";\nimport localStorageGet from \"./localStorageGet\";\n\nconst registerExperimentalMode = ({\n feature,\n onEnable,\n onDisable,\n}: {\n feature?: string;\n onEnable: (isInitial: boolean) => void;\n onDisable: (isInitial: boolean) => void;\n}) => {\n const label = feature\n ? `RoamJS Experiment: ${feature}`\n : \"RoamJS Experimental Mode\";\n const key = feature\n ? `experimental-${feature.toLowerCase().replace(/ /g, \"-\")}`\n : \"experimental\";\n const toggleExperimentalModeFeatures = (\n experimentalOverlayMode: boolean,\n isInitial: boolean\n ) => {\n if (experimentalOverlayMode) {\n onEnable(isInitial);\n window.roamAlphaAPI.ui.commandPalette.addCommand({\n label: `Disable ${label}`,\n callback: () => {\n localStorageRemove(key);\n toggleExperimentalModeFeatures(false, false);\n renderToast({\n id: \"experimental\",\n content: `Disabled ${label}`,\n });\n },\n });\n window.roamAlphaAPI.ui.commandPalette.removeCommand({\n label: `Enable ${label}`,\n });\n } else {\n onDisable(isInitial);\n window.roamAlphaAPI.ui.commandPalette.addCommand({\n label: `Enable ${label}`,\n callback: () => {\n renderAlert({\n content: `WARNING! Experimental features are not meant for public use for most users. Enabling has a higher likelihood of unintended consequences affecting your graph.\n\nAre you sure you want to enable the experimental ${\n feature\n ? `RoamJS feature: ${feature}`\n : \"features of RoamJS extensions\"\n }?`,\n onConfirm: () => {\n localStorageSet(key, \"true\");\n toggleExperimentalModeFeatures(true, false);\n renderToast({\n id: \"experimental\",\n content: `Enabled ${label}`,\n });\n },\n onCancel: true,\n });\n },\n });\n window.roamAlphaAPI.ui.commandPalette.removeCommand({\n label: `Disable ${label}`,\n });\n }\n };\n toggleExperimentalModeFeatures(localStorageGet(key) === \"true\", true);\n return label;\n};\n\nexport default registerExperimentalMode;\n"]}
@@ -1,3 +1,3 @@
1
- import { RegisterCommand } from "../types/smartblocks";
2
- declare const registerSmartBlocksCommand: RegisterCommand;
3
- export default registerSmartBlocksCommand;
1
+ import { RegisterCommand } from "../types/smartblocks";
2
+ declare const registerSmartBlocksCommand: RegisterCommand;
3
+ export default registerSmartBlocksCommand;
@@ -1,24 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- let unload;
4
- const registerSmartBlocksCommand = (args) => {
5
- var _a;
6
- const register = () => {
7
- var _a;
8
- if ((_a = window.roamjs) === null || _a === void 0 ? void 0 : _a.extension.smartblocks) {
9
- window.roamjs.extension.smartblocks.registerCommand(args);
10
- unload = () => { var _a; return (_a = window.roamjs.extension.smartblocks) === null || _a === void 0 ? void 0 : _a.unregisterCommand(args.text); };
11
- }
12
- };
13
- if ((_a = window.roamjs) === null || _a === void 0 ? void 0 : _a.loaded.has("smartblocks")) {
14
- register();
15
- }
16
- else {
17
- document.body.addEventListener(`roamjs:smartblocks:loaded`, register);
18
- }
19
- return () => {
20
- unload === null || unload === void 0 ? void 0 : unload();
21
- };
22
- };
23
- exports.default = registerSmartBlocksCommand;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ let unload;
4
+ const registerSmartBlocksCommand = (args) => {
5
+ var _a;
6
+ const register = () => {
7
+ var _a;
8
+ if ((_a = window.roamjs) === null || _a === void 0 ? void 0 : _a.extension.smartblocks) {
9
+ window.roamjs.extension.smartblocks.registerCommand(args);
10
+ unload = () => { var _a; return (_a = window.roamjs.extension.smartblocks) === null || _a === void 0 ? void 0 : _a.unregisterCommand(args.text); };
11
+ }
12
+ };
13
+ if ((_a = window.roamjs) === null || _a === void 0 ? void 0 : _a.loaded.has("smartblocks")) {
14
+ register();
15
+ }
16
+ else {
17
+ document.body.addEventListener(`roamjs:smartblocks:loaded`, register);
18
+ }
19
+ return () => {
20
+ unload === null || unload === void 0 ? void 0 : unload();
21
+ };
22
+ };
23
+ exports.default = registerSmartBlocksCommand;
24
24
  //# sourceMappingURL=registerSmartBlocksCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerSmartBlocksCommand.js","sourceRoot":"","sources":["../../src/util/registerSmartBlocksCommand.ts"],"names":[],"mappings":";;AAEA,IAAI,MAAkB,CAAC;AAEvB,MAAM,0BAA0B,GAAoB,CAAC,IAAI,EAAE,EAAE;;IAC3D,MAAM,QAAQ,GAAG,GAAG,EAAE;;QACpB,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,SAAS,CAAC,WAAW,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,EAAE,WACZ,OAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,0CAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;SACrE;IACH,CAAC,CAAC;IACF,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QAC5C,QAAQ,EAAE,CAAC;KACZ;SAAM;QACL,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;KACvE;IACD,OAAO,GAAG,EAAE;QACV,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,0BAA0B,CAAC","sourcesContent":["import { RegisterCommand } from \"../types/smartblocks\";\r\n\r\nlet unload: () => void;\r\n\r\nconst registerSmartBlocksCommand: RegisterCommand = (args) => {\r\n const register = () => {\r\n if (window.roamjs?.extension.smartblocks) {\r\n window.roamjs.extension.smartblocks.registerCommand(args);\r\n unload = () =>\r\n window.roamjs.extension.smartblocks?.unregisterCommand(args.text);\r\n }\r\n };\r\n if (window.roamjs?.loaded.has(\"smartblocks\")) {\r\n register();\r\n } else {\r\n document.body.addEventListener(`roamjs:smartblocks:loaded`, register);\r\n }\r\n return () => {\r\n unload?.();\r\n };\r\n};\r\n\r\nexport default registerSmartBlocksCommand;\r\n"]}
1
+ {"version":3,"file":"registerSmartBlocksCommand.js","sourceRoot":"","sources":["../../src/util/registerSmartBlocksCommand.ts"],"names":[],"mappings":";;AAEA,IAAI,MAAkB,CAAC;AAEvB,MAAM,0BAA0B,GAAoB,CAAC,IAAI,EAAE,EAAE;;IAC3D,MAAM,QAAQ,GAAG,GAAG,EAAE;;QACpB,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,SAAS,CAAC,WAAW,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,EAAE,WACZ,OAAA,MAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,0CAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;SACrE;IACH,CAAC,CAAC;IACF,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QAC5C,QAAQ,EAAE,CAAC;KACZ;SAAM;QACL,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;KACvE;IACD,OAAO,GAAG,EAAE;QACV,MAAM,aAAN,MAAM,uBAAN,MAAM,EAAI,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,0BAA0B,CAAC","sourcesContent":["import { RegisterCommand } from \"../types/smartblocks\";\n\nlet unload: () => void;\n\nconst registerSmartBlocksCommand: RegisterCommand = (args) => {\n const register = () => {\n if (window.roamjs?.extension.smartblocks) {\n window.roamjs.extension.smartblocks.registerCommand(args);\n unload = () =>\n window.roamjs.extension.smartblocks?.unregisterCommand(args.text);\n }\n };\n if (window.roamjs?.loaded.has(\"smartblocks\")) {\n register();\n } else {\n document.body.addEventListener(`roamjs:smartblocks:loaded`, register);\n }\n return () => {\n unload?.();\n };\n};\n\nexport default registerSmartBlocksCommand;\n"]}
@@ -1,3 +1,3 @@
1
- import { Registry } from "../types";
2
- declare const removeFromRegistry: (detail: Partial<Registry>) => boolean;
3
- export default removeFromRegistry;
1
+ import { Registry } from "../types";
2
+ declare const removeFromRegistry: (detail: Partial<Registry>) => boolean;
3
+ export default removeFromRegistry;
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const env_1 = require("./env");
4
- const removeFromRegistry = (detail) => document.body.dispatchEvent(new CustomEvent(`roamjs:${(0, env_1.getRoamJSExtensionIdEnv)()}:unregister`, {
5
- detail,
6
- }));
7
- exports.default = removeFromRegistry;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const env_1 = require("./env");
4
+ const removeFromRegistry = (detail) => document.body.dispatchEvent(new CustomEvent(`roamjs:${(0, env_1.getRoamJSExtensionIdEnv)()}:unregister`, {
5
+ detail,
6
+ }));
7
+ exports.default = removeFromRegistry;
8
8
  //# sourceMappingURL=removeFromRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"removeFromRegistry.js","sourceRoot":"","sources":["../../src/util/removeFromRegistry.ts"],"names":[],"mappings":";;AACA,+BAAgD;AAEhD,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAE,EAAE,CACvD,QAAQ,CAAC,IAAI,CAAC,aAAa,CACzB,IAAI,WAAW,CAAC,UAAU,IAAA,6BAAuB,GAAE,aAAa,EAAE;IAChE,MAAM;CACP,CAAC,CACH,CAAC;AAEJ,kBAAe,kBAAkB,CAAC","sourcesContent":["import { Registry } from \"../types\";\r\nimport { getRoamJSExtensionIdEnv } from \"./env\";\r\n\r\nconst removeFromRegistry = (detail: Partial<Registry>) =>\r\n document.body.dispatchEvent(\r\n new CustomEvent(`roamjs:${getRoamJSExtensionIdEnv()}:unregister`, {\r\n detail,\r\n })\r\n );\r\n\r\nexport default removeFromRegistry;\r\n"]}
1
+ {"version":3,"file":"removeFromRegistry.js","sourceRoot":"","sources":["../../src/util/removeFromRegistry.ts"],"names":[],"mappings":";;AACA,+BAAgD;AAEhD,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAE,EAAE,CACvD,QAAQ,CAAC,IAAI,CAAC,aAAa,CACzB,IAAI,WAAW,CAAC,UAAU,IAAA,6BAAuB,GAAE,aAAa,EAAE;IAChE,MAAM;CACP,CAAC,CACH,CAAC;AAEJ,kBAAe,kBAAkB,CAAC","sourcesContent":["import { Registry } from \"../types\";\nimport { getRoamJSExtensionIdEnv } from \"./env\";\n\nconst removeFromRegistry = (detail: Partial<Registry>) =>\n document.body.dispatchEvent(\n new CustomEvent(`roamjs:${getRoamJSExtensionIdEnv()}:unregister`, {\n detail,\n })\n );\n\nexport default removeFromRegistry;\n"]}
@@ -1,12 +1,12 @@
1
- import React from "react";
2
- export declare type RoamOverlayProps<T extends Record<string, unknown> = Record<string, never>> = {
3
- onClose: () => void;
4
- isOpen: boolean;
5
- } & T;
6
- declare const renderOverlay: <T extends Record<string, unknown>>({ id, Overlay, props, path, }?: {
7
- id?: string | undefined;
8
- Overlay?: ((props: RoamOverlayProps<T>) => React.ReactElement) | undefined;
9
- props?: T | undefined;
10
- path?: string | HTMLElement | null | undefined;
11
- }) => (() => void) | undefined;
12
- export default renderOverlay;
1
+ import React from "react";
2
+ export declare type RoamOverlayProps<T extends Record<string, unknown> = Record<string, never>> = {
3
+ onClose: () => void;
4
+ isOpen: boolean;
5
+ } & T;
6
+ declare const renderOverlay: <T extends Record<string, unknown>>({ id, Overlay, props, path, }?: {
7
+ id?: string | undefined;
8
+ Overlay?: ((props: RoamOverlayProps<T>) => React.ReactElement) | undefined;
9
+ props?: T | undefined;
10
+ path?: string | HTMLElement | null | undefined;
11
+ }) => (() => void) | undefined;
12
+ export default renderOverlay;
@@ -1,49 +1,49 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const nanoid_1 = tslib_1.__importDefault(require("nanoid"));
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
- const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
7
- const dispatchToRegistry_1 = tslib_1.__importDefault(require("./dispatchToRegistry"));
8
- const removeFromRegistry_1 = tslib_1.__importDefault(require("./removeFromRegistry"));
9
- const BEFORE_REGEX = /::before\(([\w.-]+)\)$/;
10
- const renderOverlay = ({ id = (0, nanoid_1.default)(), Overlay = (props) => react_1.default.createElement("div", props), props = {}, path = "body", } = {}) => {
11
- var _a;
12
- const parent = document.createElement("div");
13
- parent.id = id.replace(/^\d*/, "");
14
- const pathElement = typeof path === "string"
15
- ? document.querySelector(path.replace(BEFORE_REGEX, ""))
16
- : path;
17
- if (pathElement && !pathElement.querySelector(`#${parent.id}`)) {
18
- const before = typeof path === "string" ? (_a = BEFORE_REGEX.exec(path)) === null || _a === void 0 ? void 0 : _a[1] : undefined;
19
- if (!before) {
20
- pathElement.appendChild(parent);
21
- }
22
- else if (!Number.isNaN(Number(before))) {
23
- pathElement.insertBefore(parent, pathElement.children[Number(before)]);
24
- }
25
- else if (pathElement.querySelector(before)) {
26
- pathElement.insertBefore(parent, pathElement.querySelector(before));
27
- }
28
- else {
29
- return undefined;
30
- }
31
- const onClose = () => {
32
- if (typeof props.onClose === "function")
33
- props.onClose();
34
- react_dom_1.default.unmountComponentAtNode(parent);
35
- parent.remove();
36
- (0, removeFromRegistry_1.default)({
37
- reactRoots: [parent],
38
- });
39
- };
40
- react_dom_1.default.render(react_1.default.createElement(Overlay, Object.assign(Object.assign({}, props), { isOpen: true, onClose })), parent);
41
- (0, dispatchToRegistry_1.default)({
42
- reactRoots: [parent],
43
- });
44
- return onClose;
45
- }
46
- return undefined;
47
- };
48
- exports.default = renderOverlay;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const nanoid_1 = tslib_1.__importDefault(require("nanoid"));
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
7
+ const dispatchToRegistry_1 = tslib_1.__importDefault(require("./dispatchToRegistry"));
8
+ const removeFromRegistry_1 = tslib_1.__importDefault(require("./removeFromRegistry"));
9
+ const BEFORE_REGEX = /::before\(([\w.-]+)\)$/;
10
+ const renderOverlay = ({ id = (0, nanoid_1.default)(), Overlay = (props) => react_1.default.createElement("div", props), props = {}, path = "body", } = {}) => {
11
+ var _a;
12
+ const parent = document.createElement("div");
13
+ parent.id = id.replace(/^\d*/, "");
14
+ const pathElement = typeof path === "string"
15
+ ? document.querySelector(path.replace(BEFORE_REGEX, ""))
16
+ : path;
17
+ if (pathElement && !pathElement.querySelector(`#${parent.id}`)) {
18
+ const before = typeof path === "string" ? (_a = BEFORE_REGEX.exec(path)) === null || _a === void 0 ? void 0 : _a[1] : undefined;
19
+ if (!before) {
20
+ pathElement.appendChild(parent);
21
+ }
22
+ else if (!Number.isNaN(Number(before))) {
23
+ pathElement.insertBefore(parent, pathElement.children[Number(before)]);
24
+ }
25
+ else if (pathElement.querySelector(before)) {
26
+ pathElement.insertBefore(parent, pathElement.querySelector(before));
27
+ }
28
+ else {
29
+ return undefined;
30
+ }
31
+ const onClose = () => {
32
+ if (typeof props.onClose === "function")
33
+ props.onClose();
34
+ react_dom_1.default.unmountComponentAtNode(parent);
35
+ parent.remove();
36
+ (0, removeFromRegistry_1.default)({
37
+ reactRoots: [parent],
38
+ });
39
+ };
40
+ react_dom_1.default.render(react_1.default.createElement(Overlay, Object.assign(Object.assign({}, props), { isOpen: true, onClose })), parent);
41
+ (0, dispatchToRegistry_1.default)({
42
+ reactRoots: [parent],
43
+ });
44
+ return onClose;
45
+ }
46
+ return undefined;
47
+ };
48
+ exports.default = renderOverlay;
49
49
  //# sourceMappingURL=renderOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderOverlay.js","sourceRoot":"","sources":["../../src/util/renderOverlay.ts"],"names":[],"mappings":";;;AAAA,4DAA4B;AAC5B,0DAA0B;AAC1B,kEAAiC;AACjC,sFAAsD;AACtD,sFAAsD;AAStD,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAoC,EACxD,EAAE,GAAG,IAAA,gBAAM,GAAE,EACb,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,eAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EACtD,KAAK,GAAG,EAAO,EACf,IAAI,GAAG,MAAM,MAMX,EAAE,EAA4B,EAAE;;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,WAAW,GACf,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE;QAC9D,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,MAAM,EAAE;YACX,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;aAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YACxC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACxE;aAAM,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC5C,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SACrE;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACzD,mBAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAA,4BAAkB,EAAC;gBACjB,UAAU,EAAE,CAAC,MAAM,CAAC;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,mBAAQ,CAAC,MAAM,CACb,eAAK,CAAC,aAAa,CAAC,OAAO,kCACtB,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,OAAO,IACP,EACF,MAAM,CACP,CAAC;QACF,IAAA,4BAAkB,EAAC;YACjB,UAAU,EAAE,CAAC,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC","sourcesContent":["import nanoid from \"nanoid\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport dispatchToRegistry from \"./dispatchToRegistry\";\r\nimport removeFromRegistry from \"./removeFromRegistry\";\r\n\r\nexport type RoamOverlayProps<\r\n T extends Record<string, unknown> = Record<string, never>\r\n> = {\r\n onClose: () => void;\r\n isOpen: boolean;\r\n} & T;\r\n\r\nconst BEFORE_REGEX = /::before\\(([\\w.-]+)\\)$/;\r\n\r\nconst renderOverlay = <T extends Record<string, unknown>>({\r\n id = nanoid(),\r\n Overlay = (props) => React.createElement(\"div\", props),\r\n props = {} as T,\r\n path = \"body\",\r\n}: {\r\n id?: string;\r\n Overlay?: (props: RoamOverlayProps<T>) => React.ReactElement;\r\n props?: T;\r\n path?: string | HTMLElement | null;\r\n} = {}): (() => void) | undefined => {\r\n const parent = document.createElement(\"div\");\r\n parent.id = id.replace(/^\\d*/, \"\");\r\n const pathElement =\r\n typeof path === \"string\"\r\n ? document.querySelector(path.replace(BEFORE_REGEX, \"\"))\r\n : path;\r\n if (pathElement && !pathElement.querySelector(`#${parent.id}`)) {\r\n const before =\r\n typeof path === \"string\" ? BEFORE_REGEX.exec(path)?.[1] : undefined;\r\n if (!before) {\r\n pathElement.appendChild(parent);\r\n } else if (!Number.isNaN(Number(before))) {\r\n pathElement.insertBefore(parent, pathElement.children[Number(before)]);\r\n } else if (pathElement.querySelector(before)) {\r\n pathElement.insertBefore(parent, pathElement.querySelector(before));\r\n } else {\r\n return undefined;\r\n }\r\n const onClose = () => {\r\n if (typeof props.onClose === \"function\") props.onClose();\r\n ReactDOM.unmountComponentAtNode(parent);\r\n parent.remove();\r\n removeFromRegistry({\r\n reactRoots: [parent],\r\n });\r\n };\r\n ReactDOM.render(\r\n React.createElement(Overlay, {\r\n ...props,\r\n isOpen: true,\r\n onClose,\r\n }),\r\n parent\r\n );\r\n dispatchToRegistry({\r\n reactRoots: [parent],\r\n });\r\n return onClose;\r\n }\r\n return undefined;\r\n};\r\n\r\nexport default renderOverlay;\r\n"]}
1
+ {"version":3,"file":"renderOverlay.js","sourceRoot":"","sources":["../../src/util/renderOverlay.ts"],"names":[],"mappings":";;;AAAA,4DAA4B;AAC5B,0DAA0B;AAC1B,kEAAiC;AACjC,sFAAsD;AACtD,sFAAsD;AAStD,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAoC,EACxD,EAAE,GAAG,IAAA,gBAAM,GAAE,EACb,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,eAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EACtD,KAAK,GAAG,EAAO,EACf,IAAI,GAAG,MAAM,MAMX,EAAE,EAA4B,EAAE;;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,WAAW,GACf,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE;QAC9D,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,MAAM,EAAE;YACX,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjC;aAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YACxC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACxE;aAAM,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC5C,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SACrE;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACzD,mBAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAA,4BAAkB,EAAC;gBACjB,UAAU,EAAE,CAAC,MAAM,CAAC;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,mBAAQ,CAAC,MAAM,CACb,eAAK,CAAC,aAAa,CAAC,OAAO,kCACtB,KAAK,KACR,MAAM,EAAE,IAAI,EACZ,OAAO,IACP,EACF,MAAM,CACP,CAAC;QACF,IAAA,4BAAkB,EAAC;YACjB,UAAU,EAAE,CAAC,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;KAChB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC","sourcesContent":["import nanoid from \"nanoid\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport dispatchToRegistry from \"./dispatchToRegistry\";\nimport removeFromRegistry from \"./removeFromRegistry\";\n\nexport type RoamOverlayProps<\n T extends Record<string, unknown> = Record<string, never>\n> = {\n onClose: () => void;\n isOpen: boolean;\n} & T;\n\nconst BEFORE_REGEX = /::before\\(([\\w.-]+)\\)$/;\n\nconst renderOverlay = <T extends Record<string, unknown>>({\n id = nanoid(),\n Overlay = (props) => React.createElement(\"div\", props),\n props = {} as T,\n path = \"body\",\n}: {\n id?: string;\n Overlay?: (props: RoamOverlayProps<T>) => React.ReactElement;\n props?: T;\n path?: string | HTMLElement | null;\n} = {}): (() => void) | undefined => {\n const parent = document.createElement(\"div\");\n parent.id = id.replace(/^\\d*/, \"\");\n const pathElement =\n typeof path === \"string\"\n ? document.querySelector(path.replace(BEFORE_REGEX, \"\"))\n : path;\n if (pathElement && !pathElement.querySelector(`#${parent.id}`)) {\n const before =\n typeof path === \"string\" ? BEFORE_REGEX.exec(path)?.[1] : undefined;\n if (!before) {\n pathElement.appendChild(parent);\n } else if (!Number.isNaN(Number(before))) {\n pathElement.insertBefore(parent, pathElement.children[Number(before)]);\n } else if (pathElement.querySelector(before)) {\n pathElement.insertBefore(parent, pathElement.querySelector(before));\n } else {\n return undefined;\n }\n const onClose = () => {\n if (typeof props.onClose === \"function\") props.onClose();\n ReactDOM.unmountComponentAtNode(parent);\n parent.remove();\n removeFromRegistry({\n reactRoots: [parent],\n });\n };\n ReactDOM.render(\n React.createElement(Overlay, {\n ...props,\n isOpen: true,\n onClose,\n }),\n parent\n );\n dispatchToRegistry({\n reactRoots: [parent],\n });\n return onClose;\n }\n return undefined;\n};\n\nexport default renderOverlay;\n"]}
@@ -1,4 +1,4 @@
1
- import React from "react";
2
- import { OnloadArgs } from "../types";
3
- declare const renderWithUnmount: (el: React.ReactElement, p: HTMLElement, args?: OnloadArgs) => (() => void);
4
- export default renderWithUnmount;
1
+ import React from "react";
2
+ import { OnloadArgs } from "../types";
3
+ declare const renderWithUnmount: (el: React.ReactElement, p: HTMLElement, args?: OnloadArgs) => (() => void);
4
+ export default renderWithUnmount;
@@ -1,45 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importDefault(require("react"));
5
- const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
6
- const ExtensionApiContext_1 = tslib_1.__importDefault(require("../components/ExtensionApiContext"));
7
- const dispatchToRegistry_1 = tslib_1.__importDefault(require("./dispatchToRegistry"));
8
- const removeFromRegistry_1 = tslib_1.__importDefault(require("./removeFromRegistry"));
9
- const renderWithUnmount = (el, p, args) => {
10
- const oldChildren = p.children;
11
- react_dom_1.default.render(react_1.default.createElement(ExtensionApiContext_1.default, args, el), p);
12
- const unmount = (observer) => {
13
- observer.disconnect();
14
- react_dom_1.default.unmountComponentAtNode(p);
15
- (0, removeFromRegistry_1.default)({
16
- reactRoots: [p],
17
- observers: [observer],
18
- });
19
- if (oldChildren.length && document.body.contains(p)) {
20
- Array.from(oldChildren).forEach((c) => p.appendChild(c));
21
- }
22
- };
23
- const unmountObserver = new MutationObserver((ms, observer) => {
24
- const addedNodes = [];
25
- const parentRemoved = ms
26
- .flatMap((m) => {
27
- addedNodes.push(...Array.from(m.addedNodes));
28
- return Array.from(m.removedNodes);
29
- })
30
- .some((n) => n === p || n.contains(p));
31
- if (parentRemoved) {
32
- const isNodeAdded = addedNodes.some((n) => n.contains(p));
33
- if (!isNodeAdded)
34
- unmount(observer);
35
- }
36
- });
37
- unmountObserver.observe(document.body, { childList: true, subtree: true });
38
- (0, dispatchToRegistry_1.default)({
39
- reactRoots: [p],
40
- observers: [unmountObserver],
41
- });
42
- return () => unmount(unmountObserver);
43
- };
44
- exports.default = renderWithUnmount;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
6
+ const ExtensionApiContext_1 = tslib_1.__importDefault(require("../components/ExtensionApiContext"));
7
+ const dispatchToRegistry_1 = tslib_1.__importDefault(require("./dispatchToRegistry"));
8
+ const removeFromRegistry_1 = tslib_1.__importDefault(require("./removeFromRegistry"));
9
+ const renderWithUnmount = (el, p, args) => {
10
+ const oldChildren = p.children;
11
+ react_dom_1.default.render(react_1.default.createElement(ExtensionApiContext_1.default, args, el), p);
12
+ const unmount = (observer) => {
13
+ observer.disconnect();
14
+ react_dom_1.default.unmountComponentAtNode(p);
15
+ (0, removeFromRegistry_1.default)({
16
+ reactRoots: [p],
17
+ observers: [observer],
18
+ });
19
+ if (oldChildren.length && document.body.contains(p)) {
20
+ Array.from(oldChildren).forEach((c) => p.appendChild(c));
21
+ }
22
+ };
23
+ const unmountObserver = new MutationObserver((ms, observer) => {
24
+ const addedNodes = [];
25
+ const parentRemoved = ms
26
+ .flatMap((m) => {
27
+ addedNodes.push(...Array.from(m.addedNodes));
28
+ return Array.from(m.removedNodes);
29
+ })
30
+ .some((n) => n === p || n.contains(p));
31
+ if (parentRemoved) {
32
+ const isNodeAdded = addedNodes.some((n) => n.contains(p));
33
+ if (!isNodeAdded)
34
+ unmount(observer);
35
+ }
36
+ });
37
+ unmountObserver.observe(document.body, { childList: true, subtree: true });
38
+ (0, dispatchToRegistry_1.default)({
39
+ reactRoots: [p],
40
+ observers: [unmountObserver],
41
+ });
42
+ return () => unmount(unmountObserver);
43
+ };
44
+ exports.default = renderWithUnmount;
45
45
  //# sourceMappingURL=renderWithUnmount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderWithUnmount.js","sourceRoot":"","sources":["../../src/util/renderWithUnmount.ts"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,kEAAiC;AACjC,oGAA4E;AAE5E,sFAAsD;AACtD,sFAAsD;AAEtD,MAAM,iBAAiB,GAAG,CACxB,EAAsB,EACtB,CAAc,EACd,IAAiB,EACH,EAAE;IAChB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,mBAAQ,CAAC,MAAM,CACb,eAAK,CAAC,aAAa,CAAC,6BAA2B,EAAE,IAAI,EAAE,EAAE,CAAC,EAC1D,CAAC,CACF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,QAA0B,EAAE,EAAE;QAC7C,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,mBAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACnC,IAAA,4BAAkB,EAAC;YACjB,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAW,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,EAAE;aACrB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,aAAa,EAAE;YACjB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAA,4BAAkB,EAAC;QACjB,UAAU,EAAE,CAAC,CAAC,CAAC;QACf,SAAS,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC","sourcesContent":["import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport ExtensionApiContextProvider from \"../components/ExtensionApiContext\";\r\nimport { OnloadArgs } from \"../types\";\r\nimport dispatchToRegistry from \"./dispatchToRegistry\";\r\nimport removeFromRegistry from \"./removeFromRegistry\";\r\n\r\nconst renderWithUnmount = (\r\n el: React.ReactElement,\r\n p: HTMLElement,\r\n args?: OnloadArgs\r\n): (() => void) => {\r\n const oldChildren = p.children;\r\n ReactDOM.render(\r\n React.createElement(ExtensionApiContextProvider, args, el),\r\n p\r\n );\r\n const unmount = (observer: MutationObserver) => {\r\n observer.disconnect();\r\n ReactDOM.unmountComponentAtNode(p);\r\n removeFromRegistry({\r\n reactRoots: [p],\r\n observers: [observer],\r\n });\r\n if (oldChildren.length && document.body.contains(p)) {\r\n Array.from(oldChildren).forEach((c) => p.appendChild(c));\r\n }\r\n };\r\n const unmountObserver = new MutationObserver((ms, observer) => {\r\n const addedNodes: Node[] = [];\r\n const parentRemoved = ms\r\n .flatMap((m) => {\r\n addedNodes.push(...Array.from(m.addedNodes));\r\n return Array.from(m.removedNodes);\r\n })\r\n .some((n) => n === p || n.contains(p));\r\n if (parentRemoved) {\r\n const isNodeAdded = addedNodes.some((n) => n.contains(p));\r\n if (!isNodeAdded) unmount(observer);\r\n }\r\n });\r\n unmountObserver.observe(document.body, { childList: true, subtree: true });\r\n dispatchToRegistry({\r\n reactRoots: [p],\r\n observers: [unmountObserver],\r\n });\r\n return () => unmount(unmountObserver);\r\n};\r\n\r\nexport default renderWithUnmount;\r\n"]}
1
+ {"version":3,"file":"renderWithUnmount.js","sourceRoot":"","sources":["../../src/util/renderWithUnmount.ts"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,kEAAiC;AACjC,oGAA4E;AAE5E,sFAAsD;AACtD,sFAAsD;AAEtD,MAAM,iBAAiB,GAAG,CACxB,EAAsB,EACtB,CAAc,EACd,IAAiB,EACH,EAAE;IAChB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/B,mBAAQ,CAAC,MAAM,CACb,eAAK,CAAC,aAAa,CAAC,6BAA2B,EAAE,IAAI,EAAE,EAAE,CAAC,EAC1D,CAAC,CACF,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,QAA0B,EAAE,EAAE;QAC7C,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,mBAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACnC,IAAA,4BAAkB,EAAC;YACjB,UAAU,EAAE,CAAC,CAAC,CAAC;YACf,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAW,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,EAAE;aACrB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,aAAa,EAAE;YACjB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAA,4BAAkB,EAAC;QACjB,UAAU,EAAE,CAAC,CAAC,CAAC;QACf,SAAS,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC","sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport ExtensionApiContextProvider from \"../components/ExtensionApiContext\";\nimport { OnloadArgs } from \"../types\";\nimport dispatchToRegistry from \"./dispatchToRegistry\";\nimport removeFromRegistry from \"./removeFromRegistry\";\n\nconst renderWithUnmount = (\n el: React.ReactElement,\n p: HTMLElement,\n args?: OnloadArgs\n): (() => void) => {\n const oldChildren = p.children;\n ReactDOM.render(\n React.createElement(ExtensionApiContextProvider, args, el),\n p\n );\n const unmount = (observer: MutationObserver) => {\n observer.disconnect();\n ReactDOM.unmountComponentAtNode(p);\n removeFromRegistry({\n reactRoots: [p],\n observers: [observer],\n });\n if (oldChildren.length && document.body.contains(p)) {\n Array.from(oldChildren).forEach((c) => p.appendChild(c));\n }\n };\n const unmountObserver = new MutationObserver((ms, observer) => {\n const addedNodes: Node[] = [];\n const parentRemoved = ms\n .flatMap((m) => {\n addedNodes.push(...Array.from(m.addedNodes));\n return Array.from(m.removedNodes);\n })\n .some((n) => n === p || n.contains(p));\n if (parentRemoved) {\n const isNodeAdded = addedNodes.some((n) => n.contains(p));\n if (!isNodeAdded) unmount(observer);\n }\n });\n unmountObserver.observe(document.body, { childList: true, subtree: true });\n dispatchToRegistry({\n reactRoots: [p],\n observers: [unmountObserver],\n });\n return () => unmount(unmountObserver);\n};\n\nexport default renderWithUnmount;\n"]}
@@ -1,11 +1,11 @@
1
- import { OnloadArgs } from "../types/native";
2
- import type { Registry } from "../types";
3
- declare type RunReturn = void | (Partial<Registry> & {
4
- unload?: () => void;
5
- }) | (() => void);
6
- declare type RunExtension = (args: OnloadArgs) => Promise<RunReturn>;
7
- declare const runExtension: (run: RunExtension) => {
8
- onload: (args: OnloadArgs) => void;
9
- onunload: () => void;
10
- };
11
- export default runExtension;
1
+ import { OnloadArgs } from "../types/native";
2
+ import type { Registry } from "../types";
3
+ declare type RunReturn = void | (Partial<Registry> & {
4
+ unload?: () => void;
5
+ }) | (() => void);
6
+ declare type RunExtension = (args: OnloadArgs) => Promise<RunReturn>;
7
+ declare const runExtension: (run: RunExtension) => {
8
+ onload: (args: OnloadArgs) => void;
9
+ onunload: () => void;
10
+ };
11
+ export default runExtension;