roamjs-components 0.53.2 → 0.53.5

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 (333) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +154 -154
  3. package/backend/emailCatch.d.ts +4 -4
  4. package/backend/emailCatch.js +11 -11
  5. package/backend/emailError.d.ts +4 -4
  6. package/backend/emailError.js +56 -56
  7. package/backend/getRoamJSUser.d.ts +11 -11
  8. package/backend/getRoamJSUser.js +30 -30
  9. package/backend/headers.d.ts +5 -5
  10. package/backend/headers.js +7 -7
  11. package/backend/index.d.ts +6 -6
  12. package/backend/index.js +20 -20
  13. package/backend/meterRoamJSUser.d.ts +4 -4
  14. package/backend/meterRoamJSUser.js +14 -14
  15. package/backend/putRoamJSUser.d.ts +10 -10
  16. package/backend/putRoamJSUser.js +25 -25
  17. package/components/BlockErrorBoundary.d.ts +15 -15
  18. package/components/BlockErrorBoundary.js +27 -27
  19. package/components/BlockInput.d.ts +12 -12
  20. package/components/BlockInput.js +53 -53
  21. package/components/ComponentContainer.d.ts +9 -9
  22. package/components/ComponentContainer.js +46 -46
  23. package/components/ConfigPage.d.ts +99 -99
  24. package/components/ConfigPage.js +751 -751
  25. package/components/CursorMenu.d.ts +21 -21
  26. package/components/CursorMenu.js +181 -181
  27. package/components/Description.d.ts +5 -5
  28. package/components/Description.js +16 -16
  29. package/components/ExternalLogin.d.ts +18 -18
  30. package/components/ExternalLogin.js +131 -131
  31. package/components/Filter.d.ts +14 -14
  32. package/components/Filter.js +147 -147
  33. package/components/Loading.d.ts +4 -4
  34. package/components/Loading.js +33 -33
  35. package/components/MenuItemSelect.d.ts +10 -10
  36. package/components/MenuItemSelect.js +13 -13
  37. package/components/OauthSelect.d.ts +5 -5
  38. package/components/OauthSelect.js +25 -25
  39. package/components/PageInput.d.ts +10 -10
  40. package/components/PageInput.js +69 -69
  41. package/components/ServiceComponents.d.ts +49 -49
  42. package/components/ServiceComponents.js +277 -277
  43. package/components/SimpleAlert.d.ts +12 -12
  44. package/components/SimpleAlert.js +38 -38
  45. package/components/Toast.d.ts +10 -10
  46. package/components/Toast.js +41 -41
  47. package/components/TokenDialog.d.ts +11 -11
  48. package/components/TokenDialog.js +100 -100
  49. package/components/index.d.ts +15 -15
  50. package/components/index.js +60 -60
  51. package/date/constants.d.ts +2 -2
  52. package/date/constants.js +5 -5
  53. package/date/index.d.ts +5 -5
  54. package/date/index.js +13 -13
  55. package/date/parseRoamDate.d.ts +2 -2
  56. package/date/parseRoamDate.js +6 -6
  57. package/date/parseRoamDateUid.d.ts +2 -2
  58. package/date/parseRoamDateUid.js +6 -6
  59. package/date/toRoamDate.d.ts +2 -2
  60. package/date/toRoamDate.js +6 -6
  61. package/date/toRoamDateUid.d.ts +2 -2
  62. package/date/toRoamDateUid.js +6 -6
  63. package/dom/addBlockCommand.d.ts +5 -5
  64. package/dom/addBlockCommand.js +53 -53
  65. package/dom/addOldRoamJSDependency.d.ts +2 -2
  66. package/dom/addOldRoamJSDependency.js +10 -10
  67. package/dom/addRoamJSDependency.d.ts +2 -2
  68. package/dom/addRoamJSDependency.js +8 -8
  69. package/dom/addScriptAsDependency.d.ts +6 -6
  70. package/dom/addScriptAsDependency.js +16 -16
  71. package/dom/addStyle.d.ts +2 -2
  72. package/dom/addStyle.js +14 -14
  73. package/dom/constants.d.ts +1 -1
  74. package/dom/constants.js +4 -4
  75. package/dom/createBlockObserver.d.ts +7 -7
  76. package/dom/createBlockObserver.js +43 -43
  77. package/dom/createButtonObserver.d.ts +6 -6
  78. package/dom/createButtonObserver.js +21 -21
  79. package/dom/createDivObserver.d.ts +2 -2
  80. package/dom/createDivObserver.js +8 -8
  81. package/dom/createHTMLObserver.d.ts +8 -8
  82. package/dom/createHTMLObserver.js +24 -24
  83. package/dom/createHashtagObserver.d.ts +5 -5
  84. package/dom/createHashtagObserver.js +16 -16
  85. package/dom/createIconButton.d.ts +2 -2
  86. package/dom/createIconButton.js +12 -12
  87. package/dom/createObserver.d.ts +2 -2
  88. package/dom/createObserver.js +6 -6
  89. package/dom/createOverlayObserver.d.ts +2 -2
  90. package/dom/createOverlayObserver.js +6 -6
  91. package/dom/createPageObserver.d.ts +2 -2
  92. package/dom/createPageObserver.js +34 -34
  93. package/dom/createPageTitleObserver.d.ts +6 -6
  94. package/dom/createPageTitleObserver.js +29 -29
  95. package/dom/genericError.d.ts +4 -4
  96. package/dom/genericError.js +16 -16
  97. package/dom/getActiveUids.d.ts +3 -3
  98. package/dom/getActiveUids.js +6 -6
  99. package/dom/getBlockUidFromTarget.d.ts +2 -2
  100. package/dom/getBlockUidFromTarget.js +33 -33
  101. package/dom/getCurrentPageUid.d.ts +2 -2
  102. package/dom/getCurrentPageUid.js +6 -6
  103. package/dom/getDomRefs.d.ts +2 -2
  104. package/dom/getDomRefs.js +12 -12
  105. package/dom/getDropUidOffset.d.ts +5 -5
  106. package/dom/getDropUidOffset.js +27 -27
  107. package/dom/getMutatedNodes.d.ts +7 -7
  108. package/dom/getMutatedNodes.js +11 -11
  109. package/dom/getPageTitleByHtmlElement.d.ts +2 -2
  110. package/dom/getPageTitleByHtmlElement.js +12 -12
  111. package/dom/getPageTitleValueByHtmlElement.d.ts +2 -2
  112. package/dom/getPageTitleValueByHtmlElement.js +27 -27
  113. package/dom/getReferenceBlockUid.d.ts +2 -2
  114. package/dom/getReferenceBlockUid.js +18 -18
  115. package/dom/getRoamUrl.d.ts +2 -2
  116. package/dom/getRoamUrl.js +4 -4
  117. package/dom/getRoamUrlByPage.d.ts +2 -2
  118. package/dom/getRoamUrlByPage.js +10 -10
  119. package/dom/getUids.d.ts +3 -3
  120. package/dom/getUids.js +8 -8
  121. package/dom/getUidsFromButton.d.ts +3 -3
  122. package/dom/getUidsFromButton.js +9 -9
  123. package/dom/getUidsFromId.d.ts +5 -5
  124. package/dom/getUidsFromId.js +15 -15
  125. package/dom/index.d.ts +31 -31
  126. package/dom/index.js +65 -65
  127. package/dom/openBlock.d.ts +2 -2
  128. package/dom/openBlock.js +6 -6
  129. package/dom/openBlockElement.d.ts +2 -2
  130. package/dom/openBlockElement.js +16 -16
  131. package/dom/parseRoamBlocksToHtml.d.ts +9 -9
  132. package/dom/parseRoamBlocksToHtml.js +75 -75
  133. package/dom/resolveRefs.d.ts +2 -2
  134. package/dom/resolveRefs.js +24 -24
  135. package/events/index.d.ts +1 -1
  136. package/events/index.js +8 -8
  137. package/events/watchOnce.d.ts +3 -3
  138. package/events/watchOnce.js +11 -11
  139. package/hooks/index.d.ts +3 -3
  140. package/hooks/index.js +12 -12
  141. package/hooks/useArrowKeyDown.d.ts +8 -8
  142. package/hooks/useArrowKeyDown.js +31 -31
  143. package/hooks/useRoamJSTokenWarning.d.ts +2 -2
  144. package/hooks/useRoamJSTokenWarning.js +11 -11
  145. package/hooks/useSubTree.d.ts +3 -3
  146. package/hooks/useSubTree.js +11 -11
  147. package/index.d.ts +11 -11
  148. package/index.js +14 -14
  149. package/marked/index.d.ts +14 -14
  150. package/marked/index.js +518 -518
  151. package/package.json +86 -86
  152. package/queries/getAllBlockUids.d.ts +2 -2
  153. package/queries/getAllBlockUids.js +6 -6
  154. package/queries/getAllBlockUidsAndTexts.d.ts +5 -5
  155. package/queries/getAllBlockUidsAndTexts.js +6 -6
  156. package/queries/getAllPageNames.d.ts +2 -2
  157. package/queries/getAllPageNames.js +6 -6
  158. package/queries/getAttributeValueByBlockAndName.d.ts +5 -5
  159. package/queries/getAttributeValueByBlockAndName.js +11 -11
  160. package/queries/getBasicTreeByParentUid.d.ts +3 -3
  161. package/queries/getBasicTreeByParentUid.js +13 -13
  162. package/queries/getBlockUidAndTextIncludingText.d.ts +5 -5
  163. package/queries/getBlockUidAndTextIncludingText.js +6 -6
  164. package/queries/getBlockUidByTextOnPage.d.ts +5 -5
  165. package/queries/getBlockUidByTextOnPage.js +7 -7
  166. package/queries/getBlockUidsAndTextsReferencingPage.d.ts +5 -5
  167. package/queries/getBlockUidsAndTextsReferencingPage.js +11 -11
  168. package/queries/getBlockUidsByPageTitle.d.ts +2 -2
  169. package/queries/getBlockUidsByPageTitle.js +8 -8
  170. package/queries/getBlockUidsReferencingBlock.d.ts +2 -2
  171. package/queries/getBlockUidsReferencingBlock.js +6 -6
  172. package/queries/getBlockUidsReferencingPage.d.ts +2 -2
  173. package/queries/getBlockUidsReferencingPage.js +8 -8
  174. package/queries/getBlockUidsWithParentUid.d.ts +2 -2
  175. package/queries/getBlockUidsWithParentUid.js +6 -6
  176. package/queries/getChildrenLengthByPageUid.d.ts +2 -2
  177. package/queries/getChildrenLengthByPageUid.js +4 -4
  178. package/queries/getCreateTimeByBlockUid.d.ts +2 -2
  179. package/queries/getCreateTimeByBlockUid.js +7 -7
  180. package/queries/getCurrentUser.d.ts +2 -2
  181. package/queries/getCurrentUser.js +11 -11
  182. package/queries/getCurrentUserDisplayName.d.ts +2 -2
  183. package/queries/getCurrentUserDisplayName.js +13 -13
  184. package/queries/getCurrentUserEmail.d.ts +2 -2
  185. package/queries/getCurrentUserEmail.js +13 -13
  186. package/queries/getCurrentUserUid.d.ts +2 -2
  187. package/queries/getCurrentUserUid.js +13 -13
  188. package/queries/getDisplayNameByEmail.d.ts +2 -2
  189. package/queries/getDisplayNameByEmail.js +7 -7
  190. package/queries/getDisplayNameByUid.d.ts +2 -2
  191. package/queries/getDisplayNameByUid.js +7 -7
  192. package/queries/getEditTimeByBlockUid.d.ts +2 -2
  193. package/queries/getEditTimeByBlockUid.js +7 -7
  194. package/queries/getEditedUserEmailByBlockUid.d.ts +2 -2
  195. package/queries/getEditedUserEmailByBlockUid.js +7 -7
  196. package/queries/getFirstChildTextByBlockUid.d.ts +2 -2
  197. package/queries/getFirstChildTextByBlockUid.js +7 -7
  198. package/queries/getFirstChildUidByBlockUid.d.ts +2 -2
  199. package/queries/getFirstChildUidByBlockUid.js +5 -5
  200. package/queries/getFullTreeByParentUid.d.ts +3 -3
  201. package/queries/getFullTreeByParentUid.js +26 -26
  202. package/queries/getLinkedPageTitlesUnderUid.d.ts +2 -2
  203. package/queries/getLinkedPageTitlesUnderUid.js +6 -6
  204. package/queries/getNthChildUidByBlockUid.d.ts +5 -5
  205. package/queries/getNthChildUidByBlockUid.js +7 -7
  206. package/queries/getOrderByBlockUid.d.ts +2 -2
  207. package/queries/getOrderByBlockUid.js +7 -7
  208. package/queries/getPageTitleByBlockUid.d.ts +2 -2
  209. package/queries/getPageTitleByBlockUid.js +7 -7
  210. package/queries/getPageTitleByPageUid.d.ts +2 -2
  211. package/queries/getPageTitleByPageUid.js +9 -9
  212. package/queries/getPageTitleReferencesByPageTitle.d.ts +2 -2
  213. package/queries/getPageTitleReferencesByPageTitle.js +8 -8
  214. package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +5 -5
  215. package/queries/getPageTitlesAndBlockUidsReferencingPage.js +8 -8
  216. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +5 -5
  217. package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +8 -8
  218. package/queries/getPageTitlesReferencingBlockUid.d.ts +2 -2
  219. package/queries/getPageTitlesReferencingBlockUid.js +6 -6
  220. package/queries/getPageTitlesStartingWithPrefix.d.ts +2 -2
  221. package/queries/getPageTitlesStartingWithPrefix.js +6 -6
  222. package/queries/getPageUidByPageTitle.d.ts +2 -2
  223. package/queries/getPageUidByPageTitle.js +9 -9
  224. package/queries/getPageViewType.d.ts +3 -3
  225. package/queries/getPageViewType.js +9 -9
  226. package/queries/getParentTextByBlockUid.d.ts +2 -2
  227. package/queries/getParentTextByBlockUid.js +7 -7
  228. package/queries/getParentTextByBlockUidAndTag.d.ts +5 -5
  229. package/queries/getParentTextByBlockUidAndTag.js +7 -7
  230. package/queries/getParentUidByBlockUid.d.ts +2 -2
  231. package/queries/getParentUidByBlockUid.js +7 -7
  232. package/queries/getParentUidsOfBlockUid.d.ts +2 -2
  233. package/queries/getParentUidsOfBlockUid.js +6 -6
  234. package/queries/getSettingsByEmail.d.ts +3 -3
  235. package/queries/getSettingsByEmail.js +7 -7
  236. package/queries/getShallowTreeByParentUid.d.ts +5 -5
  237. package/queries/getShallowTreeByParentUid.js +10 -10
  238. package/queries/getTextByBlockUid.d.ts +2 -2
  239. package/queries/getTextByBlockUid.js +7 -7
  240. package/queries/index.d.ts +45 -45
  241. package/queries/index.js +96 -96
  242. package/queries/isTagOnPage.d.ts +5 -5
  243. package/queries/isTagOnPage.js +9 -9
  244. package/queries/normalizePageTitle.d.ts +2 -2
  245. package/queries/normalizePageTitle.js +4 -4
  246. package/types/index.d.ts +461 -459
  247. package/types/index.js +2 -2
  248. package/types/query-builder.d.ts +16 -16
  249. package/types/query-builder.js +2 -2
  250. package/util/addInputSetting.d.ts +7 -7
  251. package/util/addInputSetting.js +25 -25
  252. package/util/apiDelete.d.ts +2 -2
  253. package/util/apiDelete.js +9 -9
  254. package/util/apiGet.d.ts +2 -2
  255. package/util/apiGet.js +9 -9
  256. package/util/apiPost.d.ts +2 -2
  257. package/util/apiPost.js +9 -9
  258. package/util/apiPut.d.ts +2 -2
  259. package/util/apiPut.js +9 -9
  260. package/util/createOverlayRender.d.ts +6 -6
  261. package/util/createOverlayRender.js +18 -18
  262. package/util/createTagRegex.d.ts +2 -2
  263. package/util/createTagRegex.js +4 -4
  264. package/util/extractRef.d.ts +2 -2
  265. package/util/extractRef.js +8 -8
  266. package/util/extractTag.d.ts +2 -2
  267. package/util/extractTag.js +12 -12
  268. package/util/getAuthorizationHeader.d.ts +2 -2
  269. package/util/getAuthorizationHeader.js +12 -12
  270. package/util/getGraph.d.ts +2 -2
  271. package/util/getGraph.js +8 -8
  272. package/util/getLocalStorageKey.d.ts +2 -2
  273. package/util/getLocalStorageKey.js +6 -6
  274. package/util/getOauth.d.ts +2 -2
  275. package/util/getOauth.js +50 -50
  276. package/util/getOauthAccounts.d.ts +2 -2
  277. package/util/getOauthAccounts.js +21 -21
  278. package/util/getRenderRoot.d.ts +2 -2
  279. package/util/getRenderRoot.js +11 -11
  280. package/util/getSettingIntFromTree.d.ts +7 -7
  281. package/util/getSettingIntFromTree.js +11 -11
  282. package/util/getSettingValueFromTree.d.ts +7 -7
  283. package/util/getSettingValueFromTree.js +13 -13
  284. package/util/getSettingValuesFromTree.d.ts +7 -7
  285. package/util/getSettingValuesFromTree.js +12 -12
  286. package/util/getSubTree.d.ts +8 -8
  287. package/util/getSubTree.js +19 -19
  288. package/util/getToken.d.ts +2 -2
  289. package/util/getToken.js +9 -9
  290. package/util/getTokenFromTree.d.ts +2 -2
  291. package/util/getTokenFromTree.js +5 -5
  292. package/util/idToTitle.d.ts +2 -2
  293. package/util/idToTitle.js +8 -8
  294. package/util/index.d.ts +23 -23
  295. package/util/index.js +52 -52
  296. package/util/isControl.d.ts +2 -2
  297. package/util/isControl.js +6 -6
  298. package/util/localStorageGet.d.ts +2 -2
  299. package/util/localStorageGet.js +8 -8
  300. package/util/localStorageRemove.d.ts +2 -2
  301. package/util/localStorageRemove.js +6 -6
  302. package/util/localStorageSet.d.ts +2 -2
  303. package/util/localStorageSet.js +8 -8
  304. package/util/registerSmartBlocksCommand.d.ts +8 -8
  305. package/util/registerSmartBlocksCommand.js +24 -24
  306. package/util/runExtension.d.ts +4 -4
  307. package/util/runExtension.js +40 -40
  308. package/util/setInputSetting.d.ts +7 -7
  309. package/util/setInputSetting.js +33 -33
  310. package/util/setInputSettings.d.ts +7 -7
  311. package/util/setInputSettings.js +28 -28
  312. package/util/toConfigPageName.d.ts +2 -2
  313. package/util/toConfigPageName.js +4 -4
  314. package/util/toFlexRegex.d.ts +2 -2
  315. package/util/toFlexRegex.js +4 -4
  316. package/writes/clearBlockById.d.ts +2 -2
  317. package/writes/clearBlockById.js +11 -11
  318. package/writes/clearBlockByUid.d.ts +2 -2
  319. package/writes/clearBlockByUid.js +9 -9
  320. package/writes/createBlock.d.ts +9 -9
  321. package/writes/createBlock.js +61 -61
  322. package/writes/createPage.d.ts +7 -7
  323. package/writes/createPage.js +18 -18
  324. package/writes/deleteBlock.d.ts +2 -2
  325. package/writes/deleteBlock.js +6 -6
  326. package/writes/index.d.ts +8 -8
  327. package/writes/index.js +22 -22
  328. package/writes/openBlockInSidebar.d.ts +2 -2
  329. package/writes/openBlockInSidebar.js +13 -13
  330. package/writes/updateActiveBlock.d.ts +2 -2
  331. package/writes/updateActiveBlock.js +11 -11
  332. package/writes/updateBlock.d.ts +5 -5
  333. package/writes/updateBlock.js +17 -17
@@ -1,268 +1,268 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServiceDashboard = exports.MainStage = exports.TOKEN_STAGE = exports.NextButton = exports.useNextStage = exports.useGetMetadata = exports.useSetMetadata = exports.usePageUid = exports.runService = exports.useAuthenticatedAxiosDelete = exports.useAuthenticatedAxiosPut = exports.useAuthenticatedAxiosPost = exports.useAuthenticatedAxiosGet = exports.useFieldVals = exports.useField = exports.useIsFieldSet = exports.isFieldInTree = exports.SERVICE_GUIDE_HIGHLIGHT = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@blueprintjs/core");
6
- const axios_1 = (0, tslib_1.__importDefault)(require("axios"));
7
- const react_1 = (0, tslib_1.__importStar)(require("react"));
8
- const react_dom_1 = (0, tslib_1.__importDefault)(require("react-dom"));
9
- const getRenderRoot_1 = (0, tslib_1.__importDefault)(require("../util/getRenderRoot"));
10
- const idToTitle_1 = (0, tslib_1.__importDefault)(require("../util/idToTitle"));
11
- const toFlexRegex_1 = (0, tslib_1.__importDefault)(require("../util/toFlexRegex"));
12
- const setInputSetting_1 = (0, tslib_1.__importDefault)(require("../util/setInputSetting"));
13
- const getToken_1 = (0, tslib_1.__importDefault)(require("../util/getToken"));
14
- const dom_1 = require("../dom");
15
- const getBasicTreeByParentUid_1 = (0, tslib_1.__importDefault)(require("../queries/getBasicTreeByParentUid"));
16
- const getPageUidByPageTitle_1 = (0, tslib_1.__importDefault)(require("../queries/getPageUidByPageTitle"));
17
- const localStorageGet_1 = (0, tslib_1.__importDefault)(require("../util/localStorageGet"));
18
- const localStorageRemove_1 = (0, tslib_1.__importDefault)(require("../util/localStorageRemove"));
19
- const localStorageSet_1 = (0, tslib_1.__importDefault)(require("../util/localStorageSet"));
20
- const writes_1 = require("../writes");
21
- const getAuthorizationHeader_1 = (0, tslib_1.__importDefault)(require("../util/getAuthorizationHeader"));
22
- exports.SERVICE_GUIDE_HIGHLIGHT = "3px dashed yellowgreen";
23
- const toCamel = (service) => service
24
- .split("-")
25
- .map((s, i) => i === 0 ? s : `${s.substring(0, 1).toUpperCase()}${s.substring(1)}`)
26
- .join("");
27
- const isFieldInTree = (field = "$^") => (tree) => tree.some((t) => new RegExp(field, "i").test(t.text));
28
- exports.isFieldInTree = isFieldInTree;
29
- const useIsFieldSet = (field) => {
30
- const uid = (0, exports.usePageUid)();
31
- return (0, exports.isFieldInTree)(field)((0, getBasicTreeByParentUid_1.default)(uid));
32
- };
33
- exports.useIsFieldSet = useIsFieldSet;
34
- const useField = (field) => {
35
- var _a, _b, _c;
36
- const pageUid = (0, exports.usePageUid)();
37
- return (((_c = (_b = (_a = (0, getBasicTreeByParentUid_1.default)(pageUid).find((t) => (0, toFlexRegex_1.default)(field).test(t.text))) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.text) || "");
38
- };
39
- exports.useField = useField;
40
- const useFieldVals = (field) => {
41
- var _a;
42
- const pageUid = (0, exports.usePageUid)();
43
- return (((_a = (0, getBasicTreeByParentUid_1.default)(pageUid).find((t) => (0, toFlexRegex_1.default)(field).test(t.text))) === null || _a === void 0 ? void 0 : _a.children) || []).map((t) => t.text);
44
- };
45
- exports.useFieldVals = useFieldVals;
46
- const useAuthenticatedAxiosGet = () => {
47
- const service = useService();
48
- return (0, react_1.useCallback)((path) => axios_1.default.get(`${process.env.API_URL}/${path}`, {
49
- headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
50
- }), [service]);
51
- };
52
- exports.useAuthenticatedAxiosGet = useAuthenticatedAxiosGet;
53
- const useAuthenticatedAxiosPost = () => {
54
- const service = useService();
55
- return (0, react_1.useCallback)((path, data) => axios_1.default.post(`${process.env.API_URL}/${path}`, data || {}, {
56
- headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
57
- }), []);
58
- };
59
- exports.useAuthenticatedAxiosPost = useAuthenticatedAxiosPost;
60
- const useAuthenticatedAxiosPut = () => {
61
- const service = useService();
62
- return (0, react_1.useCallback)((path, data) => axios_1.default.put(`${process.env.API_URL}/${path}`, data || {}, {
63
- headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
64
- }), []);
65
- };
66
- exports.useAuthenticatedAxiosPut = useAuthenticatedAxiosPut;
67
- const useAuthenticatedAxiosDelete = () => {
68
- const service = useService();
69
- return (0, react_1.useCallback)((path) => axios_1.default.delete(`${process.env.API_URL}/${path}`, {
70
- headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
71
- }), []);
72
- };
73
- exports.useAuthenticatedAxiosDelete = useAuthenticatedAxiosDelete;
74
- const runService = ({ id, Dashboard, }) => {
75
- const title = `roam/js/${id}`;
76
- (0, dom_1.createPageTitleObserver)({
77
- title,
78
- callback: (d) => {
79
- var _a;
80
- const parent = document.createElement("div");
81
- parent.id = `roamjs-${id}-dashboard`;
82
- const child = d.firstElementChild;
83
- if (child) {
84
- const ref = (_a = child.firstElementChild) === null || _a === void 0 ? void 0 : _a.nextElementSibling;
85
- if (ref) {
86
- child.insertBefore(parent, ref);
87
- react_dom_1.default.render(react_1.default.createElement(Dashboard, null), parent);
88
- window.addEventListener("hashchange", () => react_dom_1.default.unmountComponentAtNode(parent), { once: true });
89
- }
90
- }
91
- },
92
- });
93
- if (!(0, getPageUidByPageTitle_1.default)(title)) {
94
- const root = (0, getRenderRoot_1.default)(id);
95
- react_dom_1.default.render(react_1.default.createElement(core_1.Alert, { isOpen: true, onConfirm: () => {
96
- const tokenField = `roamjs${toCamel(id)}Token`;
97
- const tokenValue = window[tokenField];
98
- delete window[tokenField];
99
- (0, writes_1.createPage)({
100
- title,
101
- tree: [
102
- tokenValue
103
- ? {
104
- text: "token",
105
- children: [
106
- {
107
- text: tokenValue,
108
- children: [],
109
- },
110
- ],
111
- }
112
- : { text: " " },
113
- ],
114
- }).then((uid) => {
115
- window.roamAlphaAPI.ui.mainWindow.openPage({
116
- page: { uid },
117
- });
118
- react_dom_1.default.unmountComponentAtNode(root);
119
- root.remove();
120
- });
121
- } },
122
- react_1.default.createElement("h4", null,
123
- "Welcome to RoamJS ",
124
- (0, idToTitle_1.default)(id),
125
- "!"),
126
- react_1.default.createElement("p", null,
127
- "Click OK to create a ",
128
- react_1.default.createElement("code", null, title),
129
- " page and start using the service.")), root);
130
- }
131
- };
132
- exports.runService = runService;
133
- const ServiceContext = react_1.default.createContext({
134
- pageUid: "UNSET-UID",
135
- getStage: () => () => react_1.default.createElement("div", null),
136
- service: "service",
137
- settings: [],
138
- metadata: {},
139
- });
140
- const useService = () => (0, react_1.useContext)(ServiceContext).service;
141
- const usePageUid = () => (0, react_1.useContext)(ServiceContext).pageUid;
142
- exports.usePageUid = usePageUid;
143
- const useSetMetadata = (k) => {
144
- const { metadata } = (0, react_1.useContext)(ServiceContext);
145
- return (v) => {
146
- metadata[k] = v;
147
- };
148
- };
149
- exports.useSetMetadata = useSetMetadata;
150
- const useGetMetadata = (k) => (0, react_1.useContext)(ServiceContext).metadata[k];
151
- exports.useGetMetadata = useGetMetadata;
152
- const useNextStage = (
153
- // eslint-disable-next-line @typescript-eslint/ban-types
154
- openPanel) => {
155
- const getStage = (0, react_1.useContext)(ServiceContext).getStage;
156
- return (0, react_1.useCallback)(() => setTimeout(() => openPanel({
157
- renderPanel: getStage(),
158
- }), 1), [getStage, openPanel]);
159
- };
160
- exports.useNextStage = useNextStage;
161
- const NextButton = ({ disabled = false, onClick, }) => (react_1.default.createElement(core_1.Button, { onClick: onClick, intent: core_1.Intent.PRIMARY, disabled: disabled, style: { maxWidth: 240 } }, "NEXT"));
162
- exports.NextButton = NextButton;
163
- const RequestTokenContent = ({ openPanel }) => {
164
- const nextStage = (0, exports.useNextStage)(openPanel);
165
- const pageUid = (0, exports.usePageUid)();
166
- const service = useService();
167
- const [value, setValue] = (0, react_1.useState)((0, getToken_1.default)(service));
168
- const [useLocal, setUseLocal] = (0, react_1.useState)(!!(0, localStorageGet_1.default)(`token-${service}`));
169
- const onChange = (0, react_1.useCallback)((e) => setValue(e.target.value), [setValue]);
170
- const onSubmit = (0, react_1.useCallback)(() => {
171
- if (useLocal) {
172
- (0, localStorageSet_1.default)(`token-${service}`, value);
173
- (0, setInputSetting_1.default)({ blockUid: pageUid, key: "token", value: "" });
174
- }
175
- else {
176
- (0, localStorageRemove_1.default)(`token-${service}`);
177
- (0, setInputSetting_1.default)({ blockUid: pageUid, key: "token", value });
178
- }
179
- nextStage();
180
- }, [value, nextStage, pageUid, useLocal]);
181
- const onKeyDown = (0, react_1.useCallback)((e) => {
182
- if (e.key === "Enter" &&
183
- !e.shiftKey &&
184
- !e.altKey &&
185
- !e.metaKey &&
186
- !e.ctrlKey &&
187
- value) {
188
- onSubmit();
189
- }
190
- }, [onSubmit]);
191
- return (react_1.default.createElement(react_1.default.Fragment, null,
192
- react_1.default.createElement(core_1.Label, null,
193
- "RoamJS ",
194
- (0, idToTitle_1.default)(service),
195
- " Token",
196
- react_1.default.createElement(core_1.InputGroup, { value: value, onChange: onChange, onKeyDown: onKeyDown })),
197
- react_1.default.createElement(core_1.Checkbox, { label: "Store Locally", checked: useLocal, onChange: (e) => setUseLocal(e.target.checked) }),
198
- react_1.default.createElement(exports.NextButton, { onClick: onSubmit, disabled: !value })));
199
- };
200
- const SettingsContent = ({ openPanel }) => {
201
- const { settings, getStage } = (0, react_1.useContext)(ServiceContext);
202
- return (react_1.default.createElement("div", null, settings.map((s) => (react_1.default.createElement("div", { style: { margin: 8 }, key: s },
203
- react_1.default.createElement(core_1.Button, { text: s, rightIcon: "arrow-right", onClick: () => openPanel({
204
- renderPanel: getStage(s),
205
- }), style: {
206
- minWidth: 180,
207
- display: "flex",
208
- justifyContent: "space-between",
209
- } }))))));
210
- };
211
- exports.TOKEN_STAGE = {
212
- check: (_, service) => !!(0, getToken_1.default)(service),
213
- component: RequestTokenContent,
214
- setting: "Token",
215
- };
216
- const MainStage = (Content) => ({
217
- isMain: true,
218
- component: ((props) => (react_1.default.createElement(react_1.default.Fragment, null,
219
- react_1.default.createElement(Content, Object.assign({}, props)),
220
- react_1.default.createElement(core_1.Button, { minimal: true, icon: "wrench", onClick: () => props.openPanel({
221
- renderPanel: SettingsContent,
222
- }), style: { position: "absolute", top: -40, right: 8 } })))),
223
- });
224
- exports.MainStage = MainStage;
225
- const ServiceDashboard = ({ service, stages }) => {
226
- const title = `roam/js/${service}`;
227
- const pageUid = (0, react_1.useMemo)(() => (0, getPageUidByPageTitle_1.default)(title), [title]);
228
- const mainIndex = (0, react_1.useMemo)(() => stages.findIndex((s) => s.isMain), [stages]);
229
- const [progress, setProgress] = (0, react_1.useState)(0);
230
- const [showProgress, setShowProgress] = (0, react_1.useState)(false);
231
- const getStage = (0, react_1.useCallback)((setting) => {
232
- if (setting) {
233
- const stage = stages.find((s) => s.setting === setting);
234
- if (stage) {
235
- return stage.component;
236
- }
237
- }
238
- const tree = (0, getBasicTreeByParentUid_1.default)(pageUid);
239
- const index = stages.findIndex((s) => s.check
240
- ? !s.check(tree, service)
241
- : s.isMain || !(0, exports.isFieldInTree)(s.setting)(tree));
242
- setProgress(index / mainIndex);
243
- if (index < mainIndex) {
244
- setShowProgress(true);
245
- }
246
- return stages.slice(index)[0].component;
247
- }, [pageUid, stages, setProgress, setShowProgress, service]);
248
- const settings = (0, react_1.useMemo)(() => stages
249
- .map((s) => s.setting)
250
- .filter((s) => !!s)
251
- .map((s) => s), [stages]);
252
- const renderPanel = (0, react_1.useMemo)(getStage, [getStage]);
253
- (0, react_1.useEffect)(() => {
254
- if (progress === 1) {
255
- setTimeout(() => setShowProgress(false), 3000);
256
- }
257
- }, [progress, setShowProgress]);
258
- const [hideBlocks, setHideBlocks] = (0, react_1.useState)(true);
259
- const showBlocks = (0, react_1.useCallback)(() => setHideBlocks(false), [setHideBlocks]);
260
- return (react_1.default.createElement(react_1.default.Fragment, null,
261
- react_1.default.createElement(core_1.Card, null,
262
- react_1.default.createElement("h4", { style: { padding: 4 } },
263
- (0, idToTitle_1.default)(service),
264
- " Dashboard"),
265
- react_1.default.createElement(ServiceContext.Provider, { value: { getStage, pageUid, service, settings, metadata: {} } },
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceDashboard = exports.MainStage = exports.TOKEN_STAGE = exports.NextButton = exports.useNextStage = exports.useGetMetadata = exports.useSetMetadata = exports.usePageUid = exports.runService = exports.useAuthenticatedAxiosDelete = exports.useAuthenticatedAxiosPut = exports.useAuthenticatedAxiosPost = exports.useAuthenticatedAxiosGet = exports.useFieldVals = exports.useField = exports.useIsFieldSet = exports.isFieldInTree = exports.SERVICE_GUIDE_HIGHLIGHT = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@blueprintjs/core");
6
+ const axios_1 = (0, tslib_1.__importDefault)(require("axios"));
7
+ const react_1 = (0, tslib_1.__importStar)(require("react"));
8
+ const react_dom_1 = (0, tslib_1.__importDefault)(require("react-dom"));
9
+ const getRenderRoot_1 = (0, tslib_1.__importDefault)(require("../util/getRenderRoot"));
10
+ const idToTitle_1 = (0, tslib_1.__importDefault)(require("../util/idToTitle"));
11
+ const toFlexRegex_1 = (0, tslib_1.__importDefault)(require("../util/toFlexRegex"));
12
+ const setInputSetting_1 = (0, tslib_1.__importDefault)(require("../util/setInputSetting"));
13
+ const getToken_1 = (0, tslib_1.__importDefault)(require("../util/getToken"));
14
+ const dom_1 = require("../dom");
15
+ const getBasicTreeByParentUid_1 = (0, tslib_1.__importDefault)(require("../queries/getBasicTreeByParentUid"));
16
+ const getPageUidByPageTitle_1 = (0, tslib_1.__importDefault)(require("../queries/getPageUidByPageTitle"));
17
+ const localStorageGet_1 = (0, tslib_1.__importDefault)(require("../util/localStorageGet"));
18
+ const localStorageRemove_1 = (0, tslib_1.__importDefault)(require("../util/localStorageRemove"));
19
+ const localStorageSet_1 = (0, tslib_1.__importDefault)(require("../util/localStorageSet"));
20
+ const writes_1 = require("../writes");
21
+ const getAuthorizationHeader_1 = (0, tslib_1.__importDefault)(require("../util/getAuthorizationHeader"));
22
+ exports.SERVICE_GUIDE_HIGHLIGHT = "3px dashed yellowgreen";
23
+ const toCamel = (service) => service
24
+ .split("-")
25
+ .map((s, i) => i === 0 ? s : `${s.substring(0, 1).toUpperCase()}${s.substring(1)}`)
26
+ .join("");
27
+ const isFieldInTree = (field = "$^") => (tree) => tree.some((t) => new RegExp(field, "i").test(t.text));
28
+ exports.isFieldInTree = isFieldInTree;
29
+ const useIsFieldSet = (field) => {
30
+ const uid = (0, exports.usePageUid)();
31
+ return (0, exports.isFieldInTree)(field)((0, getBasicTreeByParentUid_1.default)(uid));
32
+ };
33
+ exports.useIsFieldSet = useIsFieldSet;
34
+ const useField = (field) => {
35
+ var _a, _b, _c;
36
+ const pageUid = (0, exports.usePageUid)();
37
+ return (((_c = (_b = (_a = (0, getBasicTreeByParentUid_1.default)(pageUid).find((t) => (0, toFlexRegex_1.default)(field).test(t.text))) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.text) || "");
38
+ };
39
+ exports.useField = useField;
40
+ const useFieldVals = (field) => {
41
+ var _a;
42
+ const pageUid = (0, exports.usePageUid)();
43
+ return (((_a = (0, getBasicTreeByParentUid_1.default)(pageUid).find((t) => (0, toFlexRegex_1.default)(field).test(t.text))) === null || _a === void 0 ? void 0 : _a.children) || []).map((t) => t.text);
44
+ };
45
+ exports.useFieldVals = useFieldVals;
46
+ const useAuthenticatedAxiosGet = () => {
47
+ const service = useService();
48
+ return (0, react_1.useCallback)((path) => axios_1.default.get(`${process.env.API_URL}/${path}`, {
49
+ headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
50
+ }), [service]);
51
+ };
52
+ exports.useAuthenticatedAxiosGet = useAuthenticatedAxiosGet;
53
+ const useAuthenticatedAxiosPost = () => {
54
+ const service = useService();
55
+ return (0, react_1.useCallback)((path, data) => axios_1.default.post(`${process.env.API_URL}/${path}`, data || {}, {
56
+ headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
57
+ }), []);
58
+ };
59
+ exports.useAuthenticatedAxiosPost = useAuthenticatedAxiosPost;
60
+ const useAuthenticatedAxiosPut = () => {
61
+ const service = useService();
62
+ return (0, react_1.useCallback)((path, data) => axios_1.default.put(`${process.env.API_URL}/${path}`, data || {}, {
63
+ headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
64
+ }), []);
65
+ };
66
+ exports.useAuthenticatedAxiosPut = useAuthenticatedAxiosPut;
67
+ const useAuthenticatedAxiosDelete = () => {
68
+ const service = useService();
69
+ return (0, react_1.useCallback)((path) => axios_1.default.delete(`${process.env.API_URL}/${path}`, {
70
+ headers: { Authorization: (0, getAuthorizationHeader_1.default)(service) },
71
+ }), []);
72
+ };
73
+ exports.useAuthenticatedAxiosDelete = useAuthenticatedAxiosDelete;
74
+ const runService = ({ id, Dashboard, }) => {
75
+ const title = `roam/js/${id}`;
76
+ (0, dom_1.createPageTitleObserver)({
77
+ title,
78
+ callback: (d) => {
79
+ var _a;
80
+ const parent = document.createElement("div");
81
+ parent.id = `roamjs-${id}-dashboard`;
82
+ const child = d.firstElementChild;
83
+ if (child) {
84
+ const ref = (_a = child.firstElementChild) === null || _a === void 0 ? void 0 : _a.nextElementSibling;
85
+ if (ref) {
86
+ child.insertBefore(parent, ref);
87
+ react_dom_1.default.render(react_1.default.createElement(Dashboard, null), parent);
88
+ window.addEventListener("hashchange", () => react_dom_1.default.unmountComponentAtNode(parent), { once: true });
89
+ }
90
+ }
91
+ },
92
+ });
93
+ if (!(0, getPageUidByPageTitle_1.default)(title)) {
94
+ const root = (0, getRenderRoot_1.default)(id);
95
+ react_dom_1.default.render(react_1.default.createElement(core_1.Alert, { isOpen: true, onConfirm: () => {
96
+ const tokenField = `roamjs${toCamel(id)}Token`;
97
+ const tokenValue = window[tokenField];
98
+ delete window[tokenField];
99
+ (0, writes_1.createPage)({
100
+ title,
101
+ tree: [
102
+ tokenValue
103
+ ? {
104
+ text: "token",
105
+ children: [
106
+ {
107
+ text: tokenValue,
108
+ children: [],
109
+ },
110
+ ],
111
+ }
112
+ : { text: " " },
113
+ ],
114
+ }).then((uid) => {
115
+ window.roamAlphaAPI.ui.mainWindow.openPage({
116
+ page: { uid },
117
+ });
118
+ react_dom_1.default.unmountComponentAtNode(root);
119
+ root.remove();
120
+ });
121
+ } },
122
+ react_1.default.createElement("h4", null,
123
+ "Welcome to RoamJS ",
124
+ (0, idToTitle_1.default)(id),
125
+ "!"),
126
+ react_1.default.createElement("p", null,
127
+ "Click OK to create a ",
128
+ react_1.default.createElement("code", null, title),
129
+ " page and start using the service.")), root);
130
+ }
131
+ };
132
+ exports.runService = runService;
133
+ const ServiceContext = react_1.default.createContext({
134
+ pageUid: "UNSET-UID",
135
+ getStage: () => () => react_1.default.createElement("div", null),
136
+ service: "service",
137
+ settings: [],
138
+ metadata: {},
139
+ });
140
+ const useService = () => (0, react_1.useContext)(ServiceContext).service;
141
+ const usePageUid = () => (0, react_1.useContext)(ServiceContext).pageUid;
142
+ exports.usePageUid = usePageUid;
143
+ const useSetMetadata = (k) => {
144
+ const { metadata } = (0, react_1.useContext)(ServiceContext);
145
+ return (v) => {
146
+ metadata[k] = v;
147
+ };
148
+ };
149
+ exports.useSetMetadata = useSetMetadata;
150
+ const useGetMetadata = (k) => (0, react_1.useContext)(ServiceContext).metadata[k];
151
+ exports.useGetMetadata = useGetMetadata;
152
+ const useNextStage = (
153
+ // eslint-disable-next-line @typescript-eslint/ban-types
154
+ openPanel) => {
155
+ const getStage = (0, react_1.useContext)(ServiceContext).getStage;
156
+ return (0, react_1.useCallback)(() => setTimeout(() => openPanel({
157
+ renderPanel: getStage(),
158
+ }), 1), [getStage, openPanel]);
159
+ };
160
+ exports.useNextStage = useNextStage;
161
+ const NextButton = ({ disabled = false, onClick, }) => (react_1.default.createElement(core_1.Button, { onClick: onClick, intent: core_1.Intent.PRIMARY, disabled: disabled, style: { maxWidth: 240 } }, "NEXT"));
162
+ exports.NextButton = NextButton;
163
+ const RequestTokenContent = ({ openPanel }) => {
164
+ const nextStage = (0, exports.useNextStage)(openPanel);
165
+ const pageUid = (0, exports.usePageUid)();
166
+ const service = useService();
167
+ const [value, setValue] = (0, react_1.useState)((0, getToken_1.default)(service));
168
+ const [useLocal, setUseLocal] = (0, react_1.useState)(!!(0, localStorageGet_1.default)(`token-${service}`));
169
+ const onChange = (0, react_1.useCallback)((e) => setValue(e.target.value), [setValue]);
170
+ const onSubmit = (0, react_1.useCallback)(() => {
171
+ if (useLocal) {
172
+ (0, localStorageSet_1.default)(`token-${service}`, value);
173
+ (0, setInputSetting_1.default)({ blockUid: pageUid, key: "token", value: "" });
174
+ }
175
+ else {
176
+ (0, localStorageRemove_1.default)(`token-${service}`);
177
+ (0, setInputSetting_1.default)({ blockUid: pageUid, key: "token", value });
178
+ }
179
+ nextStage();
180
+ }, [value, nextStage, pageUid, useLocal]);
181
+ const onKeyDown = (0, react_1.useCallback)((e) => {
182
+ if (e.key === "Enter" &&
183
+ !e.shiftKey &&
184
+ !e.altKey &&
185
+ !e.metaKey &&
186
+ !e.ctrlKey &&
187
+ value) {
188
+ onSubmit();
189
+ }
190
+ }, [onSubmit]);
191
+ return (react_1.default.createElement(react_1.default.Fragment, null,
192
+ react_1.default.createElement(core_1.Label, null,
193
+ "RoamJS ",
194
+ (0, idToTitle_1.default)(service),
195
+ " Token",
196
+ react_1.default.createElement(core_1.InputGroup, { value: value, onChange: onChange, onKeyDown: onKeyDown })),
197
+ react_1.default.createElement(core_1.Checkbox, { label: "Store Locally", checked: useLocal, onChange: (e) => setUseLocal(e.target.checked) }),
198
+ react_1.default.createElement(exports.NextButton, { onClick: onSubmit, disabled: !value })));
199
+ };
200
+ const SettingsContent = ({ openPanel }) => {
201
+ const { settings, getStage } = (0, react_1.useContext)(ServiceContext);
202
+ return (react_1.default.createElement("div", null, settings.map((s) => (react_1.default.createElement("div", { style: { margin: 8 }, key: s },
203
+ react_1.default.createElement(core_1.Button, { text: s, rightIcon: "arrow-right", onClick: () => openPanel({
204
+ renderPanel: getStage(s),
205
+ }), style: {
206
+ minWidth: 180,
207
+ display: "flex",
208
+ justifyContent: "space-between",
209
+ } }))))));
210
+ };
211
+ exports.TOKEN_STAGE = {
212
+ check: (_, service) => !!(0, getToken_1.default)(service),
213
+ component: RequestTokenContent,
214
+ setting: "Token",
215
+ };
216
+ const MainStage = (Content) => ({
217
+ isMain: true,
218
+ component: ((props) => (react_1.default.createElement(react_1.default.Fragment, null,
219
+ react_1.default.createElement(Content, Object.assign({}, props)),
220
+ react_1.default.createElement(core_1.Button, { minimal: true, icon: "wrench", onClick: () => props.openPanel({
221
+ renderPanel: SettingsContent,
222
+ }), style: { position: "absolute", top: -40, right: 8 } })))),
223
+ });
224
+ exports.MainStage = MainStage;
225
+ const ServiceDashboard = ({ service, stages }) => {
226
+ const title = `roam/js/${service}`;
227
+ const pageUid = (0, react_1.useMemo)(() => (0, getPageUidByPageTitle_1.default)(title), [title]);
228
+ const mainIndex = (0, react_1.useMemo)(() => stages.findIndex((s) => s.isMain), [stages]);
229
+ const [progress, setProgress] = (0, react_1.useState)(0);
230
+ const [showProgress, setShowProgress] = (0, react_1.useState)(false);
231
+ const getStage = (0, react_1.useCallback)((setting) => {
232
+ if (setting) {
233
+ const stage = stages.find((s) => s.setting === setting);
234
+ if (stage) {
235
+ return stage.component;
236
+ }
237
+ }
238
+ const tree = (0, getBasicTreeByParentUid_1.default)(pageUid);
239
+ const index = stages.findIndex((s) => s.check
240
+ ? !s.check(tree, service)
241
+ : s.isMain || !(0, exports.isFieldInTree)(s.setting)(tree));
242
+ setProgress(index / mainIndex);
243
+ if (index < mainIndex) {
244
+ setShowProgress(true);
245
+ }
246
+ return stages.slice(index)[0].component;
247
+ }, [pageUid, stages, setProgress, setShowProgress, service]);
248
+ const settings = (0, react_1.useMemo)(() => stages
249
+ .map((s) => s.setting)
250
+ .filter((s) => !!s)
251
+ .map((s) => s), [stages]);
252
+ const renderPanel = (0, react_1.useMemo)(getStage, [getStage]);
253
+ (0, react_1.useEffect)(() => {
254
+ if (progress === 1) {
255
+ setTimeout(() => setShowProgress(false), 3000);
256
+ }
257
+ }, [progress, setShowProgress]);
258
+ const [hideBlocks, setHideBlocks] = (0, react_1.useState)(true);
259
+ const showBlocks = (0, react_1.useCallback)(() => setHideBlocks(false), [setHideBlocks]);
260
+ return (react_1.default.createElement(react_1.default.Fragment, null,
261
+ react_1.default.createElement(core_1.Card, null,
262
+ react_1.default.createElement("h4", { style: { padding: 4 } },
263
+ (0, idToTitle_1.default)(service),
264
+ " Dashboard"),
265
+ react_1.default.createElement(ServiceContext.Provider, { value: { getStage, pageUid, service, settings, metadata: {} } },
266
266
  react_1.default.createElement("style", null, `.roamjs-service-panel {
267
267
  position: relative;
268
268
  overflow-x: hidden;
@@ -285,18 +285,18 @@ const ServiceDashboard = ({ service, stages }) => {
285
285
 
286
286
  button.bp3-button.bp3-panel-stack-header-back {
287
287
  margin-left: 0;
288
- }`),
289
- react_1.default.createElement(core_1.PanelStack2, { initialPanel: {
290
- renderPanel,
291
- }, className: "roamjs-service-panel" }),
292
- showProgress && (react_1.default.createElement(core_1.ProgressBar, { value: progress, animate: false, intent: core_1.Intent.PRIMARY })))),
293
- hideBlocks && (react_1.default.createElement(core_1.Card, null,
294
- react_1.default.createElement("div", { style: { display: "flex", justifyContent: "space-between" } },
295
- react_1.default.createElement("h6", null, "Roam outline with config data is hidden by default."),
296
- react_1.default.createElement(core_1.Button, { minimal: true, icon: "small-cross", onClick: showBlocks, id: "roamjs-service-hide-blocks" })),
288
+ }`),
289
+ react_1.default.createElement(core_1.PanelStack2, { initialPanel: {
290
+ renderPanel,
291
+ }, className: "roamjs-service-panel" }),
292
+ showProgress && (react_1.default.createElement(core_1.ProgressBar, { value: progress, animate: false, intent: core_1.Intent.PRIMARY })))),
293
+ hideBlocks && (react_1.default.createElement(core_1.Card, null,
294
+ react_1.default.createElement("div", { style: { display: "flex", justifyContent: "space-between" } },
295
+ react_1.default.createElement("h6", null, "Roam outline with config data is hidden by default."),
296
+ react_1.default.createElement(core_1.Button, { minimal: true, icon: "small-cross", onClick: showBlocks, id: "roamjs-service-hide-blocks" })),
297
297
  react_1.default.createElement("style", null, `.roam-article .rm-block-children {
298
298
  visibility: hidden;
299
- }`)))));
300
- };
301
- exports.ServiceDashboard = ServiceDashboard;
299
+ }`)))));
300
+ };
301
+ exports.ServiceDashboard = ServiceDashboard;
302
302
  //# sourceMappingURL=ServiceComponents.js.map
@@ -1,12 +1,12 @@
1
- import React from "react";
2
- declare type Props = {
3
- content: string;
4
- onConfirm?: () => void;
5
- onCancel?: () => void;
6
- externalLink?: boolean;
7
- };
8
- declare const SimpleAlert: ({ onClose, content, onConfirm, onCancel, externalLink, }: Props & {
9
- onClose: () => void;
10
- }) => React.ReactElement;
11
- export declare const render: (props: Props) => () => void;
12
- export default SimpleAlert;
1
+ import React from "react";
2
+ declare type Props = {
3
+ content: string;
4
+ onConfirm?: () => void;
5
+ onCancel?: () => void;
6
+ externalLink?: boolean;
7
+ };
8
+ declare const SimpleAlert: ({ onClose, content, onConfirm, onCancel, externalLink, }: Props & {
9
+ onClose: () => void;
10
+ }) => React.ReactElement;
11
+ export declare const render: (props: Props) => () => void;
12
+ export default SimpleAlert;