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,55 +1,55 @@
1
- import React from "react";
2
- import type { RoamOverlayProps } from "../util/renderOverlay";
3
- import { InputTextNode } from "../types";
4
- declare type Props<T> = {
5
- title?: React.ReactNode;
6
- content?: React.ReactNode;
7
- onSubmit?: (data: T) => Promise<unknown> | unknown;
8
- submitButtonText?: string;
9
- cancelButtonText?: string;
10
- enforceFocus?: boolean;
11
- className?: string;
12
- style?: React.CSSProperties;
13
- fields?: Record<string, ({
14
- defaultValue?: string;
15
- type: "text";
16
- } | {
17
- defaultValue?: string;
18
- type: "info";
19
- } | {
20
- defaultValue?: number;
21
- type: "number";
22
- } | {
23
- defaultValue?: string;
24
- type: "select";
25
- options?: string[];
26
- } | {
27
- defaultValue?: string;
28
- type: "page";
29
- } | {
30
- defaultValue?: string;
31
- type: "block";
32
- } | {
33
- defaultValue?: string;
34
- type: "autocomplete";
35
- options?: string[];
36
- } | {
37
- defaultValue?: boolean;
38
- type: "flag";
39
- } | {
40
- defaultValue?: InputTextNode[];
41
- type: "embed";
42
- }) & {
43
- label?: string;
44
- conditional?: string;
45
- conditionalValues?: string[];
46
- }>;
47
- };
48
- declare const FormDialog: <T extends Record<string, unknown>>({ title, content, isOpen, onClose, onSubmit, fields, submitButtonText, cancelButtonText, enforceFocus, className, style, }: RoamOverlayProps<Props<T>>) => JSX.Element;
49
- export declare const render: (props: Props<Record<string, unknown>>) => (() => void) | undefined;
50
- export declare const prompt: ({ defaultAnswer, question, title, }: {
51
- title: string;
52
- question: string;
53
- defaultAnswer: string;
54
- }) => Promise<string>;
55
- export default FormDialog;
1
+ import React from "react";
2
+ import type { RoamOverlayProps } from "../util/renderOverlay";
3
+ import { InputTextNode } from "../types";
4
+ declare type Props<T> = {
5
+ title?: React.ReactNode;
6
+ content?: React.ReactNode;
7
+ onSubmit?: (data: T) => Promise<unknown> | unknown;
8
+ submitButtonText?: string;
9
+ cancelButtonText?: string;
10
+ enforceFocus?: boolean;
11
+ className?: string;
12
+ style?: React.CSSProperties;
13
+ fields?: Record<string, ({
14
+ defaultValue?: string;
15
+ type: "text";
16
+ } | {
17
+ defaultValue?: string;
18
+ type: "info";
19
+ } | {
20
+ defaultValue?: number;
21
+ type: "number";
22
+ } | {
23
+ defaultValue?: string;
24
+ type: "select";
25
+ options?: string[];
26
+ } | {
27
+ defaultValue?: string;
28
+ type: "page";
29
+ } | {
30
+ defaultValue?: string;
31
+ type: "block";
32
+ } | {
33
+ defaultValue?: string;
34
+ type: "autocomplete";
35
+ options?: string[];
36
+ } | {
37
+ defaultValue?: boolean;
38
+ type: "flag";
39
+ } | {
40
+ defaultValue?: InputTextNode[];
41
+ type: "embed";
42
+ }) & {
43
+ label?: string;
44
+ conditional?: string;
45
+ conditionalValues?: string[];
46
+ }>;
47
+ };
48
+ declare const FormDialog: <T extends Record<string, unknown>>({ title, content, isOpen, onClose, onSubmit, fields, submitButtonText, cancelButtonText, enforceFocus, className, style, }: RoamOverlayProps<Props<T>>) => JSX.Element;
49
+ export declare const render: (props: Props<Record<string, unknown>>) => (() => void) | undefined;
50
+ export declare const prompt: ({ defaultAnswer, question, title, }: {
51
+ title: string;
52
+ question: string;
53
+ defaultAnswer: string;
54
+ }) => Promise<string>;
55
+ export default FormDialog;
@@ -1,224 +1,224 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prompt = 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 getTextByBlockUid_1 = tslib_1.__importDefault(require("../queries/getTextByBlockUid"));
8
- const createOverlayRender_1 = tslib_1.__importDefault(require("../util/createOverlayRender"));
9
- const BlockInput_1 = tslib_1.__importDefault(require("./BlockInput"));
10
- const MenuItemSelect_1 = tslib_1.__importDefault(require("./MenuItemSelect"));
11
- const PageInput_1 = tslib_1.__importDefault(require("./PageInput"));
12
- const nanoid_1 = tslib_1.__importDefault(require("nanoid"));
13
- const dom_1 = require("../dom");
14
- const getFullTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getFullTreeByParentUid"));
15
- const createPage_1 = tslib_1.__importDefault(require("../writes/createPage"));
16
- const writes_1 = require("../writes");
17
- const AutocompleteInput_1 = tslib_1.__importDefault(require("./AutocompleteInput"));
18
- const EmbedInput = ({ defaultValue, onChange, autoFocus, }) => {
19
- const defaultEmbed = (0, react_1.useMemo)(() => defaultValue || [], [defaultValue]);
20
- const elRef = (0, react_1.useRef)(null);
21
- const parentUid = (0, react_1.useMemo)(window.roamAlphaAPI.util.generateUID, []);
22
- const realFocus = (0, react_1.useCallback)(() => {
23
- if (!elRef.current)
24
- return;
25
- if (elRef.current.contains(document.activeElement) &&
26
- elRef.current !== document.activeElement)
27
- return;
28
- const block = elRef.current.querySelector(`div[id*="block-input"],textarea[id*="block-input"]`);
29
- if ((block === null || block === void 0 ? void 0 : block.id) === "block-input-ghost")
30
- (0, writes_1.createBlock)({ parentUid, node: { text: "" } }).then(() => setTimeout(realFocus, 500));
31
- const { windowId, blockUid } = (0, dom_1.getUids)(block);
32
- if (blockUid)
33
- window.roamAlphaAPI.ui.setBlockFocusAndSelection({
34
- location: {
35
- "block-uid": blockUid,
36
- "window-id": windowId,
37
- },
38
- });
39
- }, [elRef]);
40
- (0, react_1.useEffect)(() => {
41
- const el = elRef.current;
42
- if (el) {
43
- (0, createPage_1.default)({
44
- uid: parentUid,
45
- title: (0, nanoid_1.default)(),
46
- tree: defaultEmbed,
47
- }).then(() => {
48
- window.roamAlphaAPI.ui.components.renderPage({
49
- uid: parentUid,
50
- el,
51
- hideMentions: true,
52
- });
53
- if (autoFocus)
54
- realFocus();
55
- });
56
- // In the future, we can return the whole tree of data from `parentUid`
57
- onChange(() => (0, getFullTreeByParentUid_1.default)(parentUid).children);
58
- return () => {
59
- window.roamAlphaAPI.deletePage({ page: { uid: parentUid } });
60
- };
61
- }
62
- // eslint-disable-next-line @typescript-eslint/no-empty-function
63
- return () => { };
64
- }, [
65
- elRef,
66
- defaultEmbed,
67
- autoFocus,
68
- realFocus,
69
- parentUid,
70
- // Triggering infinite rerender
71
- // onChange
72
- ]);
73
- return (react_1.default.createElement(react_1.default.Fragment, null,
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prompt = 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 getTextByBlockUid_1 = tslib_1.__importDefault(require("../queries/getTextByBlockUid"));
8
+ const createOverlayRender_1 = tslib_1.__importDefault(require("../util/createOverlayRender"));
9
+ const BlockInput_1 = tslib_1.__importDefault(require("./BlockInput"));
10
+ const MenuItemSelect_1 = tslib_1.__importDefault(require("./MenuItemSelect"));
11
+ const PageInput_1 = tslib_1.__importDefault(require("./PageInput"));
12
+ const nanoid_1 = tslib_1.__importDefault(require("nanoid"));
13
+ const dom_1 = require("../dom");
14
+ const getFullTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getFullTreeByParentUid"));
15
+ const createPage_1 = tslib_1.__importDefault(require("../writes/createPage"));
16
+ const writes_1 = require("../writes");
17
+ const AutocompleteInput_1 = tslib_1.__importDefault(require("./AutocompleteInput"));
18
+ const EmbedInput = ({ defaultValue, onChange, autoFocus, }) => {
19
+ const defaultEmbed = (0, react_1.useMemo)(() => defaultValue || [], [defaultValue]);
20
+ const elRef = (0, react_1.useRef)(null);
21
+ const parentUid = (0, react_1.useMemo)(window.roamAlphaAPI.util.generateUID, []);
22
+ const realFocus = (0, react_1.useCallback)(() => {
23
+ if (!elRef.current)
24
+ return;
25
+ if (elRef.current.contains(document.activeElement) &&
26
+ elRef.current !== document.activeElement)
27
+ return;
28
+ const block = elRef.current.querySelector(`div[id*="block-input"],textarea[id*="block-input"]`);
29
+ if ((block === null || block === void 0 ? void 0 : block.id) === "block-input-ghost")
30
+ (0, writes_1.createBlock)({ parentUid, node: { text: "" } }).then(() => setTimeout(realFocus, 500));
31
+ const { windowId, blockUid } = (0, dom_1.getUids)(block);
32
+ if (blockUid)
33
+ window.roamAlphaAPI.ui.setBlockFocusAndSelection({
34
+ location: {
35
+ "block-uid": blockUid,
36
+ "window-id": windowId,
37
+ },
38
+ });
39
+ }, [elRef]);
40
+ (0, react_1.useEffect)(() => {
41
+ const el = elRef.current;
42
+ if (el) {
43
+ (0, createPage_1.default)({
44
+ uid: parentUid,
45
+ title: (0, nanoid_1.default)(),
46
+ tree: defaultEmbed,
47
+ }).then(() => {
48
+ window.roamAlphaAPI.ui.components.renderPage({
49
+ uid: parentUid,
50
+ el,
51
+ "hide-mentions?": true,
52
+ });
53
+ if (autoFocus)
54
+ realFocus();
55
+ });
56
+ // In the future, we can return the whole tree of data from `parentUid`
57
+ onChange(() => (0, getFullTreeByParentUid_1.default)(parentUid).children);
58
+ return () => {
59
+ window.roamAlphaAPI.deletePage({ page: { uid: parentUid } });
60
+ };
61
+ }
62
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
63
+ return () => { };
64
+ }, [
65
+ elRef,
66
+ defaultEmbed,
67
+ autoFocus,
68
+ realFocus,
69
+ parentUid,
70
+ // Triggering infinite rerender
71
+ // onChange
72
+ ]);
73
+ return (react_1.default.createElement(react_1.default.Fragment, null,
74
74
  react_1.default.createElement("style", null, `div.rm-autocomplete__results {
75
75
  z-index: 1000;
76
76
  }
77
77
  .roamjs-form-embed div div:has(> h1.rm-title-display),
78
78
  .roamjs-form-embed .rm-api-render--page > div:has(.rm-reference-main) {
79
79
  display: none;
80
- }`),
81
- react_1.default.createElement("div", { ref: elRef, className: "rounded-md bg-white font-normal mt-1 bp3-input h-32 overflow-scroll roamjs-form-embed py-2 px-4", tabIndex: 0, onFocus: realFocus, onKeyDown: (e) => {
82
- var _a, _b, _c, _d;
83
- if (e.key !== "Tab")
84
- return;
85
- const { blockUid } = (0, dom_1.getUids)(e.target);
86
- if (!blockUid)
87
- return;
88
- const { [":block/order"]: order, [":block/parents"]: parents } = window.roamAlphaAPI.pull("[:block/order {:block/parents [:block/uid]}]", [":block/uid", blockUid]);
89
- if (!(order === 0 &&
90
- (parents === null || parents === void 0 ? void 0 : parents.length) === 1 &&
91
- parents[0][":block/uid"] === parentUid))
92
- return;
93
- e.stopPropagation();
94
- e.preventDefault();
95
- const label = (_a = elRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;
96
- if (!label)
97
- return;
98
- const nextElToFocus = e.shiftKey
99
- ? label.previousElementSibling ||
100
- ((_b = label
101
- .closest(".bp3-dialog")) === null || _b === void 0 ? void 0 : _b.querySelector(".bp3-dialog-footer .bp3-button.roamjs-cancel"))
102
- : label.nextElementSibling ||
103
- ((_c = label
104
- .closest(".bp3-dialog")) === null || _c === void 0 ? void 0 : _c.querySelector(".bp3-dialog-footer .bp3-button.bp3-intent-primary"));
105
- if (!nextElToFocus)
106
- return;
107
- const focusQuery = "input,button,div.roamjs-form-embed";
108
- if (nextElToFocus.matches(focusQuery))
109
- nextElToFocus.focus();
110
- else
111
- (_d = nextElToFocus.querySelector(focusQuery)) === null || _d === void 0 ? void 0 : _d.focus();
112
- } })));
113
- };
114
- const FormDialog = ({ title, content, isOpen, onClose, onSubmit = () => Promise.resolve(), fields = {}, submitButtonText = "Submit", cancelButtonText = "Cancel", enforceFocus, className, style, }) => {
115
- const [loading, setLoading] = (0, react_1.useState)(false);
116
- const [error, setError] = (0, react_1.useState)("");
117
- const [data, setData] = (0, react_1.useState)(() => Object.fromEntries(Object.entries(fields)
118
- .filter(([, meta]) => typeof meta.defaultValue !== "undefined")
119
- .map(([key, meta]) => [key, meta.defaultValue])));
120
- const onClick = (0, react_1.useCallback)(() => Promise.resolve(onSubmit(Object.fromEntries(Object.entries(data)
121
- .filter(([key]) => {
122
- const { conditional } = fields[key];
123
- return !conditional || !!data[conditional];
124
- })
125
- .map(([key, value]) => [key, typeof value === "function" ? value() : value]))))
126
- .then(onClose)
127
- .catch((e) => {
128
- setError(e.message);
129
- setLoading(false);
130
- }), [data, onClose, setError, setLoading]);
131
- const getFieldAttributes = (name, meta) => {
132
- const attributes = {
133
- "data-field-name": name,
134
- "data-field-type": meta.type,
135
- };
136
- if (meta.label)
137
- attributes["data-field-label"] = meta.label;
138
- return attributes;
139
- };
140
- return (react_1.default.createElement(core_1.Dialog, { isOpen: isOpen, onClose: onClose, title: title, enforceFocus: !title || enforceFocus, autoFocus: !title, className: className, style: style },
141
- react_1.default.createElement("div", { className: core_1.Classes.DIALOG_BODY },
142
- content,
143
- Object.entries(fields).map(([name, meta], index) => {
144
- const fieldClassName = `roamjs-form-field`;
145
- const setValue = (0, react_1.useCallback)((value) => setData((d) => (Object.assign(Object.assign({}, d), { [name]: value }))), [setData, name]);
146
- if (meta.conditional && !data[meta.conditional]) {
147
- return react_1.default.createElement("div", { key: name });
148
- }
149
- else if (meta.conditional &&
150
- meta.conditionalValues &&
151
- typeof data[meta.conditional] === "string" &&
152
- !meta.conditionalValues.includes(data[meta.conditional])) {
153
- return react_1.default.createElement("div", { key: name });
154
- }
155
- if (meta.type === "text") {
156
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
157
- meta.label,
158
- react_1.default.createElement(core_1.InputGroup, { value: data[name], onChange: (e) => setValue(e.target.value), autoFocus: index === 0 })));
159
- }
160
- else if (meta.type === "number") {
161
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
162
- meta.label,
163
- react_1.default.createElement(core_1.NumericInput, { value: data[name], onValueChange: (v) => setValue(v), autoFocus: index === 0 })));
164
- }
165
- else if (meta.type === "info") {
166
- return (react_1.default.createElement("div", Object.assign({ key: name, className: `${fieldClassName} mb-4` }, getFieldAttributes(name, meta)), meta.label));
167
- }
168
- else if (meta.type === "flag") {
169
- return (react_1.default.createElement(core_1.Checkbox, Object.assign({ label: meta.label, value: data[name], onChange: (e) => setValue(e.target.checked), key: name, autoFocus: index === 0, className: fieldClassName }, getFieldAttributes(name, meta))));
170
- }
171
- else if (meta.type === "select") {
172
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
173
- meta.label,
174
- react_1.default.createElement(MenuItemSelect_1.default, { activeItem: data[name], onItemSelect: setValue, items: meta.options || [], ButtonProps: {
175
- autoFocus: index === 0,
176
- } })));
177
- }
178
- else if (meta.type === "page") {
179
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
180
- meta.label,
181
- react_1.default.createElement(PageInput_1.default, { key: name, value: data[name], setValue: setValue, autoFocus: index === 0 })));
182
- }
183
- else if (meta.type === "block") {
184
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
185
- meta.label,
186
- react_1.default.createElement(BlockInput_1.default, { value: (0, getTextByBlockUid_1.default)(data[name]) ||
187
- data[name], setValue: (text, uid) => setValue(window.roamAlphaAPI.pull("[:db/id]", [
188
- ":block/uid",
189
- uid || "",
190
- ])
191
- ? uid
192
- : text), autoFocus: index === 0 })));
193
- }
194
- else if (meta.type === "autocomplete") {
195
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
196
- meta.label,
197
- react_1.default.createElement(AutocompleteInput_1.default, { value: data[name], options: meta.options, setValue: setValue, autoFocus: index === 0 })));
198
- }
199
- else if (meta.type === "embed") {
200
- return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
201
- meta.label,
202
- react_1.default.createElement(EmbedInput, { defaultValue: meta.defaultValue, onChange: setValue, autoFocus: index === 0 })));
203
- }
204
- else {
205
- return react_1.default.createElement("div", { key: name });
206
- }
207
- })),
208
- react_1.default.createElement("div", { className: core_1.Classes.DIALOG_FOOTER },
209
- react_1.default.createElement("div", { className: `${core_1.Classes.DIALOG_FOOTER_ACTIONS} items-center flex-row-reverse` },
210
- react_1.default.createElement(core_1.Button, { text: submitButtonText, intent: core_1.Intent.PRIMARY, onClick: onClick, disabled: loading, className: "flex-shrink-0" }),
211
- react_1.default.createElement(core_1.Button, { text: cancelButtonText, onClick: onClose, disabled: loading, className: "flex-shrink-0 roamjs-cancel" }),
212
- react_1.default.createElement("span", { className: "text-red-700 flex-grow" }, error),
213
- loading && react_1.default.createElement(core_1.Spinner, { size: core_1.SpinnerSize.SMALL })))));
214
- };
215
- exports.render = (0, createOverlayRender_1.default)("form-dialog", FormDialog);
216
- const prompt = ({ defaultAnswer, question, title, }) => new Promise((resolve) => (0, exports.render)({
217
- onSubmit: (data) => resolve(data.value),
218
- fields: { value: { type: "text", defaultValue: defaultAnswer } },
219
- title,
220
- content: (react_1.default.createElement("div", { className: "whitespace-pre-wrap font-semibold text-lg mb-4" }, question)),
221
- }));
222
- exports.prompt = prompt;
223
- exports.default = FormDialog;
80
+ }`),
81
+ react_1.default.createElement("div", { ref: elRef, className: "rounded-md bg-white font-normal mt-1 bp3-input h-32 overflow-scroll roamjs-form-embed py-2 px-4", tabIndex: 0, onFocus: realFocus, onKeyDown: (e) => {
82
+ var _a, _b, _c, _d;
83
+ if (e.key !== "Tab")
84
+ return;
85
+ const { blockUid } = (0, dom_1.getUids)(e.target);
86
+ if (!blockUid)
87
+ return;
88
+ const { [":block/order"]: order, [":block/parents"]: parents } = window.roamAlphaAPI.pull("[:block/order {:block/parents [:block/uid]}]", [":block/uid", blockUid]);
89
+ if (!(order === 0 &&
90
+ (parents === null || parents === void 0 ? void 0 : parents.length) === 1 &&
91
+ parents[0][":block/uid"] === parentUid))
92
+ return;
93
+ e.stopPropagation();
94
+ e.preventDefault();
95
+ const label = (_a = elRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;
96
+ if (!label)
97
+ return;
98
+ const nextElToFocus = e.shiftKey
99
+ ? label.previousElementSibling ||
100
+ ((_b = label
101
+ .closest(".bp3-dialog")) === null || _b === void 0 ? void 0 : _b.querySelector(".bp3-dialog-footer .bp3-button.roamjs-cancel"))
102
+ : label.nextElementSibling ||
103
+ ((_c = label
104
+ .closest(".bp3-dialog")) === null || _c === void 0 ? void 0 : _c.querySelector(".bp3-dialog-footer .bp3-button.bp3-intent-primary"));
105
+ if (!nextElToFocus)
106
+ return;
107
+ const focusQuery = "input,button,div.roamjs-form-embed";
108
+ if (nextElToFocus.matches(focusQuery))
109
+ nextElToFocus.focus();
110
+ else
111
+ (_d = nextElToFocus.querySelector(focusQuery)) === null || _d === void 0 ? void 0 : _d.focus();
112
+ } })));
113
+ };
114
+ const FormDialog = ({ title, content, isOpen, onClose, onSubmit = () => Promise.resolve(), fields = {}, submitButtonText = "Submit", cancelButtonText = "Cancel", enforceFocus, className, style, }) => {
115
+ const [loading, setLoading] = (0, react_1.useState)(false);
116
+ const [error, setError] = (0, react_1.useState)("");
117
+ const [data, setData] = (0, react_1.useState)(() => Object.fromEntries(Object.entries(fields)
118
+ .filter(([, meta]) => typeof meta.defaultValue !== "undefined")
119
+ .map(([key, meta]) => [key, meta.defaultValue])));
120
+ const onClick = (0, react_1.useCallback)(() => Promise.resolve(onSubmit(Object.fromEntries(Object.entries(data)
121
+ .filter(([key]) => {
122
+ const { conditional } = fields[key];
123
+ return !conditional || !!data[conditional];
124
+ })
125
+ .map(([key, value]) => [key, typeof value === "function" ? value() : value]))))
126
+ .then(onClose)
127
+ .catch((e) => {
128
+ setError(e.message);
129
+ setLoading(false);
130
+ }), [data, onClose, setError, setLoading]);
131
+ const getFieldAttributes = (name, meta) => {
132
+ const attributes = {
133
+ "data-field-name": name,
134
+ "data-field-type": meta.type,
135
+ };
136
+ if (meta.label)
137
+ attributes["data-field-label"] = meta.label;
138
+ return attributes;
139
+ };
140
+ return (react_1.default.createElement(core_1.Dialog, { isOpen: isOpen, onClose: onClose, title: title, enforceFocus: !title || enforceFocus, autoFocus: !title, className: className, style: style },
141
+ react_1.default.createElement("div", { className: core_1.Classes.DIALOG_BODY },
142
+ content,
143
+ Object.entries(fields).map(([name, meta], index) => {
144
+ const fieldClassName = `roamjs-form-field`;
145
+ const setValue = (0, react_1.useCallback)((value) => setData((d) => (Object.assign(Object.assign({}, d), { [name]: value }))), [setData, name]);
146
+ if (meta.conditional && !data[meta.conditional]) {
147
+ return react_1.default.createElement("div", { key: name });
148
+ }
149
+ else if (meta.conditional &&
150
+ meta.conditionalValues &&
151
+ typeof data[meta.conditional] === "string" &&
152
+ !meta.conditionalValues.includes(data[meta.conditional])) {
153
+ return react_1.default.createElement("div", { key: name });
154
+ }
155
+ if (meta.type === "text") {
156
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
157
+ meta.label,
158
+ react_1.default.createElement(core_1.InputGroup, { value: data[name], onChange: (e) => setValue(e.target.value), autoFocus: index === 0 })));
159
+ }
160
+ else if (meta.type === "number") {
161
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
162
+ meta.label,
163
+ react_1.default.createElement(core_1.NumericInput, { value: data[name], onValueChange: (v) => setValue(v), autoFocus: index === 0 })));
164
+ }
165
+ else if (meta.type === "info") {
166
+ return (react_1.default.createElement("div", Object.assign({ key: name, className: `${fieldClassName} mb-4` }, getFieldAttributes(name, meta)), meta.label));
167
+ }
168
+ else if (meta.type === "flag") {
169
+ return (react_1.default.createElement(core_1.Checkbox, Object.assign({ label: meta.label, value: data[name], onChange: (e) => setValue(e.target.checked), key: name, autoFocus: index === 0, className: fieldClassName }, getFieldAttributes(name, meta))));
170
+ }
171
+ else if (meta.type === "select") {
172
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
173
+ meta.label,
174
+ react_1.default.createElement(MenuItemSelect_1.default, { activeItem: data[name], onItemSelect: setValue, items: meta.options || [], ButtonProps: {
175
+ autoFocus: index === 0,
176
+ } })));
177
+ }
178
+ else if (meta.type === "page") {
179
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
180
+ meta.label,
181
+ react_1.default.createElement(PageInput_1.default, { key: name, value: data[name], setValue: setValue, autoFocus: index === 0 })));
182
+ }
183
+ else if (meta.type === "block") {
184
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
185
+ meta.label,
186
+ react_1.default.createElement(BlockInput_1.default, { value: (0, getTextByBlockUid_1.default)(data[name]) ||
187
+ data[name], setValue: (text, uid) => setValue(window.roamAlphaAPI.pull("[:db/id]", [
188
+ ":block/uid",
189
+ uid || "",
190
+ ])
191
+ ? uid
192
+ : text), autoFocus: index === 0 })));
193
+ }
194
+ else if (meta.type === "autocomplete") {
195
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
196
+ meta.label,
197
+ react_1.default.createElement(AutocompleteInput_1.default, { value: data[name], options: meta.options, setValue: setValue, autoFocus: index === 0 })));
198
+ }
199
+ else if (meta.type === "embed") {
200
+ return (react_1.default.createElement(core_1.Label, Object.assign({ key: name, className: fieldClassName }, getFieldAttributes(name, meta)),
201
+ meta.label,
202
+ react_1.default.createElement(EmbedInput, { defaultValue: meta.defaultValue, onChange: setValue, autoFocus: index === 0 })));
203
+ }
204
+ else {
205
+ return react_1.default.createElement("div", { key: name });
206
+ }
207
+ })),
208
+ react_1.default.createElement("div", { className: core_1.Classes.DIALOG_FOOTER },
209
+ react_1.default.createElement("div", { className: `${core_1.Classes.DIALOG_FOOTER_ACTIONS} items-center flex-row-reverse` },
210
+ react_1.default.createElement(core_1.Button, { text: submitButtonText, intent: core_1.Intent.PRIMARY, onClick: onClick, disabled: loading, className: "flex-shrink-0" }),
211
+ react_1.default.createElement(core_1.Button, { text: cancelButtonText, onClick: onClose, disabled: loading, className: "flex-shrink-0 roamjs-cancel" }),
212
+ react_1.default.createElement("span", { className: "text-red-700 flex-grow" }, error),
213
+ loading && react_1.default.createElement(core_1.Spinner, { size: core_1.SpinnerSize.SMALL })))));
214
+ };
215
+ exports.render = (0, createOverlayRender_1.default)("form-dialog", FormDialog);
216
+ const prompt = ({ defaultAnswer, question, title, }) => new Promise((resolve) => (0, exports.render)({
217
+ onSubmit: (data) => resolve(data.value),
218
+ fields: { value: { type: "text", defaultValue: defaultAnswer } },
219
+ title,
220
+ content: (react_1.default.createElement("div", { className: "whitespace-pre-wrap font-semibold text-lg mb-4" }, question)),
221
+ }));
222
+ exports.prompt = prompt;
223
+ exports.default = FormDialog;
224
224
  //# sourceMappingURL=FormDialog.js.map