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.
- package/LICENSE +21 -21
- package/README.md +29 -29
- package/components/AutocompleteInput.d.ts +28 -28
- package/components/AutocompleteInput.js +120 -120
- package/components/BlockErrorBoundary.d.ts +15 -15
- package/components/BlockErrorBoundary.js +27 -27
- package/components/BlockInput.d.ts +13 -13
- package/components/BlockInput.js +55 -55
- package/components/ComponentContainer.d.ts +10 -10
- package/components/ComponentContainer.js +37 -37
- package/components/ConfigPage.d.ts +35 -35
- package/components/ConfigPage.js +159 -159
- package/components/ConfigPanels/BlockPanel.d.ts +3 -3
- package/components/ConfigPanels/BlockPanel.js +42 -42
- package/components/ConfigPanels/BlocksPanel.d.ts +3 -3
- package/components/ConfigPanels/BlocksPanel.js +58 -58
- package/components/ConfigPanels/CustomPanel.d.ts +3 -3
- package/components/ConfigPanels/CustomPanel.js +24 -24
- package/components/ConfigPanels/FlagPanel.d.ts +3 -3
- package/components/ConfigPanels/FlagPanel.js +31 -31
- package/components/ConfigPanels/MultiChildPanel.d.ts +9 -9
- package/components/ConfigPanels/MultiChildPanel.js +58 -58
- package/components/ConfigPanels/MultiTextPanel.d.ts +3 -3
- package/components/ConfigPanels/MultiTextPanel.js +14 -14
- package/components/ConfigPanels/NumberPanel.d.ts +3 -3
- package/components/ConfigPanels/NumberPanel.js +25 -25
- package/components/ConfigPanels/OauthPanel.d.ts +3 -3
- package/components/ConfigPanels/OauthPanel.js +81 -81
- package/components/ConfigPanels/PagesPanel.d.ts +3 -3
- package/components/ConfigPanels/PagesPanel.js +11 -11
- package/components/ConfigPanels/SelectPanel.d.ts +3 -3
- package/components/ConfigPanels/SelectPanel.js +27 -27
- package/components/ConfigPanels/TextPanel.d.ts +3 -3
- package/components/ConfigPanels/TextPanel.js +28 -28
- package/components/ConfigPanels/TimePanel.d.ts +3 -3
- package/components/ConfigPanels/TimePanel.js +34 -34
- package/components/ConfigPanels/getBrandColors.d.ts +7 -7
- package/components/ConfigPanels/getBrandColors.js +28 -28
- package/components/ConfigPanels/types.d.ts +84 -84
- package/components/ConfigPanels/types.js +2 -2
- package/components/ConfigPanels/types.js.map +1 -1
- package/components/ConfigPanels/useSingleChildValue.d.ts +13 -13
- package/components/ConfigPanels/useSingleChildValue.js +43 -43
- package/components/CursorMenu.d.ts +21 -21
- package/components/CursorMenu.js +181 -181
- package/components/Description.d.ts +5 -5
- package/components/Description.js +16 -16
- package/components/ExtensionApiContext.d.ts +31 -31
- package/components/ExtensionApiContext.js +16 -16
- package/components/ExternalLogin.d.ts +18 -18
- package/components/ExternalLogin.js +141 -141
- package/components/Filter.d.ts +15 -15
- package/components/Filter.js +142 -142
- package/components/FormDialog.d.ts +55 -55
- package/components/FormDialog.js +217 -217
- package/components/FormDialog.js.map +1 -1
- package/components/Loading.d.ts +4 -4
- package/components/Loading.js +35 -35
- package/components/MenuItemSelect.d.ts +17 -17
- package/components/MenuItemSelect.js +23 -23
- package/components/OauthPanel.d.ts +7 -7
- package/components/OauthPanel.js +30 -30
- package/components/OauthSelect.d.ts +5 -5
- package/components/OauthSelect.js +25 -25
- package/components/PageInput.d.ts +6 -6
- package/components/PageInput.js +13 -13
- package/components/PageLink.d.ts +6 -6
- package/components/PageLink.js +31 -31
- package/components/ProgressDialog.d.ts +11 -11
- package/components/ProgressDialog.js +48 -48
- package/components/SimpleAlert.d.ts +15 -15
- package/components/SimpleAlert.js +47 -47
- package/components/Toast.d.ts +15 -15
- package/components/Toast.js +50 -50
- package/components/index.js +4 -4
- package/components/index.js.map +1 -1
- package/components.d.ts +5 -5
- package/components.js +170 -170
- package/date/constants.d.ts +3 -3
- package/date/constants.js +19 -19
- package/date/constants.js.map +1 -1
- package/date/index.d.ts +3 -3
- package/date/index.js +9 -9
- package/date/index.js.map +1 -1
- package/date/parseNlpDate.d.ts +5 -5
- package/date/parseNlpDate.js +226 -226
- package/date/parseNlpDate.js.map +1 -1
- package/date/parseRoamDateUid.d.ts +2 -2
- package/date/parseRoamDateUid.js +7 -7
- package/date/parseRoamDateUid.js.map +1 -1
- package/dom/addBlockCommand.d.ts +5 -5
- package/dom/addBlockCommand.js +53 -53
- package/dom/addBlockCommand.js.map +1 -1
- package/dom/addKeyboardTriggers.d.ts +11 -11
- package/dom/addKeyboardTriggers.js +38 -38
- package/dom/addKeyboardTriggers.js.map +1 -1
- package/dom/addOldRoamJSDependency.d.ts +2 -2
- package/dom/addOldRoamJSDependency.js +10 -10
- package/dom/addOldRoamJSDependency.js.map +1 -1
- package/dom/addRoamJSDependency.d.ts +2 -2
- package/dom/addRoamJSDependency.js +8 -8
- package/dom/addRoamJSDependency.js.map +1 -1
- package/dom/addScriptAsDependency.d.ts +6 -6
- package/dom/addScriptAsDependency.js +16 -16
- package/dom/addScriptAsDependency.js.map +1 -1
- package/dom/addStyle.d.ts +2 -2
- package/dom/addStyle.js +14 -14
- package/dom/addStyle.js.map +1 -1
- package/dom/constants.d.ts +1 -1
- package/dom/constants.js +4 -4
- package/dom/constants.js.map +1 -1
- package/dom/createBlockObserver.d.ts +7 -7
- package/dom/createBlockObserver.js +43 -43
- package/dom/createBlockObserver.js.map +1 -1
- package/dom/createButtonObserver.d.ts +6 -6
- package/dom/createButtonObserver.js +21 -21
- package/dom/createButtonObserver.js.map +1 -1
- package/dom/createDivObserver.d.ts +2 -2
- package/dom/createDivObserver.js +13 -13
- package/dom/createDivObserver.js.map +1 -1
- package/dom/createHTMLObserver.d.ts +8 -8
- package/dom/createHTMLObserver.js +24 -24
- package/dom/createHTMLObserver.js.map +1 -1
- package/dom/createHashtagObserver.d.ts +5 -5
- package/dom/createHashtagObserver.js +16 -16
- package/dom/createHashtagObserver.js.map +1 -1
- package/dom/createIconButton.d.ts +2 -2
- package/dom/createIconButton.js +12 -12
- package/dom/createIconButton.js.map +1 -1
- package/dom/createObserver.d.ts +2 -2
- package/dom/createObserver.js +9 -9
- package/dom/createObserver.js.map +1 -1
- package/dom/createOverlayObserver.d.ts +2 -2
- package/dom/createOverlayObserver.js +6 -6
- package/dom/createOverlayObserver.js.map +1 -1
- package/dom/createPageObserver.d.ts +2 -2
- package/dom/createPageObserver.js +34 -34
- package/dom/createPageObserver.js.map +1 -1
- package/dom/createPageTitleObserver.d.ts +6 -6
- package/dom/createPageTitleObserver.js +31 -31
- package/dom/createPageTitleObserver.js.map +1 -1
- package/dom/elToTitle.d.ts +2 -2
- package/dom/elToTitle.js +22 -22
- package/dom/elToTitle.js.map +1 -1
- package/dom/genericError.d.ts +3 -3
- package/dom/genericError.js +11 -11
- package/dom/genericError.js.map +1 -1
- package/dom/getActiveUids.d.ts +3 -3
- package/dom/getActiveUids.js +6 -6
- package/dom/getActiveUids.js.map +1 -1
- package/dom/getBlockUidFromTarget.d.ts +2 -2
- package/dom/getBlockUidFromTarget.js +33 -33
- package/dom/getBlockUidFromTarget.js.map +1 -1
- package/dom/getCurrentPageUid.d.ts +2 -2
- package/dom/getCurrentPageUid.js +8 -8
- package/dom/getCurrentPageUid.js.map +1 -1
- package/dom/getDomRefs.d.ts +2 -2
- package/dom/getDomRefs.js +12 -12
- package/dom/getDomRefs.js.map +1 -1
- package/dom/getDropUidOffset.d.ts +5 -5
- package/dom/getDropUidOffset.js +27 -27
- package/dom/getDropUidOffset.js.map +1 -1
- package/dom/getMutatedNodes.d.ts +7 -7
- package/dom/getMutatedNodes.js +11 -11
- package/dom/getMutatedNodes.js.map +1 -1
- package/dom/getPageTitleByHtmlElement.d.ts +2 -2
- package/dom/getPageTitleByHtmlElement.js +12 -12
- package/dom/getPageTitleByHtmlElement.js.map +1 -1
- package/dom/getPageTitleValueByHtmlElement.d.ts +2 -2
- package/dom/getPageTitleValueByHtmlElement.js +9 -9
- package/dom/getPageTitleValueByHtmlElement.js.map +1 -1
- package/dom/getReferenceBlockUid.d.ts +2 -2
- package/dom/getReferenceBlockUid.js +18 -18
- package/dom/getReferenceBlockUid.js.map +1 -1
- package/dom/getRoamUrl.d.ts +2 -2
- package/dom/getRoamUrl.js +4 -4
- package/dom/getRoamUrl.js.map +1 -1
- package/dom/getRoamUrlByPage.d.ts +2 -2
- package/dom/getRoamUrlByPage.js +10 -10
- package/dom/getRoamUrlByPage.js.map +1 -1
- package/dom/getUids.d.ts +3 -3
- package/dom/getUids.js +8 -8
- package/dom/getUids.js.map +1 -1
- package/dom/getUidsFromButton.d.ts +3 -3
- package/dom/getUidsFromButton.js +8 -8
- package/dom/getUidsFromButton.js.map +1 -1
- package/dom/getUidsFromId.d.ts +5 -5
- package/dom/getUidsFromId.js +15 -15
- package/dom/getUidsFromId.js.map +1 -1
- package/dom/index.d.ts +30 -30
- package/dom/index.js +63 -63
- package/dom/index.js.map +1 -1
- package/dom/parseRoamBlocksToHtml.d.ts +11 -11
- package/dom/parseRoamBlocksToHtml.js +79 -79
- package/dom/parseRoamBlocksToHtml.js.map +1 -1
- package/dom/resolveRefs.d.ts +2 -2
- package/dom/resolveRefs.js +24 -24
- package/dom/resolveRefs.js.map +1 -1
- package/events/index.d.ts +1 -1
- package/events/index.js +8 -8
- package/events/index.js.map +1 -1
- package/events/watchOnce.d.ts +3 -3
- package/events/watchOnce.js +12 -12
- package/events/watchOnce.js.map +1 -1
- package/hooks/index.d.ts +2 -2
- package/hooks/index.js +10 -10
- package/hooks/index.js.map +1 -1
- package/hooks/useArrowKeyDown.d.ts +10 -10
- package/hooks/useArrowKeyDown.js +54 -54
- package/hooks/useArrowKeyDown.js.map +1 -1
- package/hooks/useSubTree.d.ts +3 -3
- package/hooks/useSubTree.js +11 -11
- package/hooks/useSubTree.js.map +1 -1
- package/marked/index.d.ts +25 -25
- package/marked/index.js +567 -567
- package/marked/index.js.map +1 -1
- package/package.json +116 -116
- package/queries/compileDatalog.d.ts +3 -3
- package/queries/compileDatalog.js +63 -63
- package/queries/compileDatalog.js.map +1 -1
- package/queries/getAllBlockUids.d.ts +2 -2
- package/queries/getAllBlockUids.js +6 -6
- package/queries/getAllBlockUids.js.map +1 -1
- package/queries/getAllBlockUidsAndTexts.d.ts +5 -5
- package/queries/getAllBlockUidsAndTexts.js +6 -6
- package/queries/getAllBlockUidsAndTexts.js.map +1 -1
- package/queries/getAllPageNames.d.ts +2 -2
- package/queries/getAllPageNames.js +6 -6
- package/queries/getAllPageNames.js.map +1 -1
- package/queries/getAttributeValueByBlockAndName.d.ts +5 -5
- package/queries/getAttributeValueByBlockAndName.js +11 -11
- package/queries/getAttributeValueByBlockAndName.js.map +1 -1
- package/queries/getBasicTreeByParentUid.d.ts +3 -3
- package/queries/getBasicTreeByParentUid.js +13 -13
- package/queries/getBasicTreeByParentUid.js.map +1 -1
- package/queries/getBlockUidAndTextIncludingText.d.ts +5 -5
- package/queries/getBlockUidAndTextIncludingText.js +7 -7
- package/queries/getBlockUidAndTextIncludingText.js.map +1 -1
- package/queries/getBlockUidByTextOnPage.d.ts +5 -5
- package/queries/getBlockUidByTextOnPage.js +7 -7
- package/queries/getBlockUidByTextOnPage.js.map +1 -1
- package/queries/getBlockUidsAndTextsReferencingPage.d.ts +5 -5
- package/queries/getBlockUidsAndTextsReferencingPage.js +9 -9
- package/queries/getBlockUidsAndTextsReferencingPage.js.map +1 -1
- package/queries/getBlockUidsByPageTitle.d.ts +2 -2
- package/queries/getBlockUidsByPageTitle.js +8 -8
- package/queries/getBlockUidsByPageTitle.js.map +1 -1
- package/queries/getBlockUidsReferencingBlock.d.ts +2 -2
- package/queries/getBlockUidsReferencingBlock.js +4 -4
- package/queries/getBlockUidsReferencingBlock.js.map +1 -1
- package/queries/getBlockUidsReferencingPage.d.ts +2 -2
- package/queries/getBlockUidsReferencingPage.js +6 -6
- package/queries/getBlockUidsReferencingPage.js.map +1 -1
- package/queries/getBlockUidsWithParentUid.d.ts +2 -2
- package/queries/getBlockUidsWithParentUid.js +6 -6
- package/queries/getBlockUidsWithParentUid.js.map +1 -1
- package/queries/getChildrenLengthByPageUid.d.ts +2 -2
- package/queries/getChildrenLengthByPageUid.js +8 -8
- package/queries/getChildrenLengthByPageUid.js.map +1 -1
- package/queries/getChildrenLengthByParentUid.d.ts +2 -2
- package/queries/getChildrenLengthByParentUid.js +7 -7
- package/queries/getChildrenLengthByParentUid.js.map +1 -1
- package/queries/getCreateTimeByBlockUid.d.ts +2 -2
- package/queries/getCreateTimeByBlockUid.js +7 -7
- package/queries/getCreateTimeByBlockUid.js.map +1 -1
- package/queries/getCurrentUser.d.ts +2 -2
- package/queries/getCurrentUser.js +11 -11
- package/queries/getCurrentUser.js.map +1 -1
- package/queries/getCurrentUserDisplayName.d.ts +2 -2
- package/queries/getCurrentUserDisplayName.js +10 -10
- package/queries/getCurrentUserDisplayName.js.map +1 -1
- package/queries/getCurrentUserEmail.d.ts +2 -2
- package/queries/getCurrentUserEmail.js +13 -13
- package/queries/getCurrentUserEmail.js.map +1 -1
- package/queries/getCurrentUserUid.d.ts +2 -2
- package/queries/getCurrentUserUid.js +13 -13
- package/queries/getCurrentUserUid.js.map +1 -1
- package/queries/getDisplayNameByEmail.d.ts +2 -2
- package/queries/getDisplayNameByEmail.js +7 -7
- package/queries/getDisplayNameByEmail.js.map +1 -1
- package/queries/getDisplayNameByUid.d.ts +2 -2
- package/queries/getDisplayNameByUid.js +7 -7
- package/queries/getDisplayNameByUid.js.map +1 -1
- package/queries/getEditTimeByBlockUid.d.ts +2 -2
- package/queries/getEditTimeByBlockUid.js +7 -7
- package/queries/getEditTimeByBlockUid.js.map +1 -1
- package/queries/getEditedUserEmailByBlockUid.d.ts +2 -2
- package/queries/getEditedUserEmailByBlockUid.js +7 -7
- package/queries/getEditedUserEmailByBlockUid.js.map +1 -1
- package/queries/getFirstChildTextByBlockUid.d.ts +2 -2
- package/queries/getFirstChildTextByBlockUid.js +7 -7
- package/queries/getFirstChildTextByBlockUid.js.map +1 -1
- package/queries/getFirstChildUidByBlockUid.d.ts +2 -2
- package/queries/getFirstChildUidByBlockUid.js +6 -6
- package/queries/getFirstChildUidByBlockUid.js.map +1 -1
- package/queries/getFullTreeByParentUid.d.ts +3 -3
- package/queries/getFullTreeByParentUid.js +51 -51
- package/queries/getFullTreeByParentUid.js.map +1 -1
- package/queries/getLinkedPageTitlesUnderUid.d.ts +2 -2
- package/queries/getLinkedPageTitlesUnderUid.js +6 -6
- package/queries/getLinkedPageTitlesUnderUid.js.map +1 -1
- package/queries/getNthChildUidByBlockUid.d.ts +5 -5
- package/queries/getNthChildUidByBlockUid.js +7 -7
- package/queries/getNthChildUidByBlockUid.js.map +1 -1
- package/queries/getOrderByBlockUid.d.ts +2 -2
- package/queries/getOrderByBlockUid.js +7 -7
- package/queries/getOrderByBlockUid.js.map +1 -1
- package/queries/getPageTitleByBlockUid.d.ts +2 -2
- package/queries/getPageTitleByBlockUid.js +7 -7
- package/queries/getPageTitleByBlockUid.js.map +1 -1
- package/queries/getPageTitleByPageUid.d.ts +2 -2
- package/queries/getPageTitleByPageUid.js +12 -12
- package/queries/getPageTitleByPageUid.js.map +1 -1
- package/queries/getPageTitleReferencesByPageTitle.d.ts +2 -2
- package/queries/getPageTitleReferencesByPageTitle.js +6 -6
- package/queries/getPageTitleReferencesByPageTitle.js.map +1 -1
- package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +5 -5
- package/queries/getPageTitlesAndBlockUidsReferencingPage.js +9 -9
- package/queries/getPageTitlesAndBlockUidsReferencingPage.js.map +1 -1
- package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +5 -5
- package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +9 -9
- package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js.map +1 -1
- package/queries/getPageTitlesReferencingBlockUid.d.ts +2 -2
- package/queries/getPageTitlesReferencingBlockUid.js +4 -4
- package/queries/getPageTitlesReferencingBlockUid.js.map +1 -1
- package/queries/getPageTitlesStartingWithPrefix.d.ts +2 -2
- package/queries/getPageTitlesStartingWithPrefix.js +6 -6
- package/queries/getPageTitlesStartingWithPrefix.js.map +1 -1
- package/queries/getPageUidByBlockUid.d.ts +2 -2
- package/queries/getPageUidByBlockUid.js +7 -7
- package/queries/getPageUidByBlockUid.js.map +1 -1
- package/queries/getPageUidByPageTitle.d.ts +2 -2
- package/queries/getPageUidByPageTitle.js +9 -9
- package/queries/getPageUidByPageTitle.js.map +1 -1
- package/queries/getPageViewType.d.ts +3 -3
- package/queries/getPageViewType.js +9 -9
- package/queries/getPageViewType.js.map +1 -1
- package/queries/getParentTextByBlockUid.d.ts +2 -2
- package/queries/getParentTextByBlockUid.js +7 -7
- package/queries/getParentTextByBlockUid.js.map +1 -1
- package/queries/getParentTextByBlockUidAndTag.d.ts +5 -5
- package/queries/getParentTextByBlockUidAndTag.js +7 -7
- package/queries/getParentTextByBlockUidAndTag.js.map +1 -1
- package/queries/getParentUidByBlockUid.d.ts +2 -2
- package/queries/getParentUidByBlockUid.js +7 -7
- package/queries/getParentUidByBlockUid.js.map +1 -1
- package/queries/getParentUidsOfBlockUid.d.ts +2 -2
- package/queries/getParentUidsOfBlockUid.js +4 -4
- package/queries/getParentUidsOfBlockUid.js.map +1 -1
- package/queries/getSettingsByEmail.d.ts +3 -3
- package/queries/getSettingsByEmail.js +7 -7
- package/queries/getSettingsByEmail.js.map +1 -1
- package/queries/getShallowTreeByParentUid.d.ts +5 -5
- package/queries/getShallowTreeByParentUid.js +9 -9
- package/queries/getShallowTreeByParentUid.js.map +1 -1
- package/queries/getTextByBlockUid.d.ts +2 -2
- package/queries/getTextByBlockUid.js +9 -9
- package/queries/getTextByBlockUid.js.map +1 -1
- package/queries/index.js +4 -4
- package/queries/index.js.map +1 -1
- package/queries/isLiveBlock.d.ts +2 -2
- package/queries/isLiveBlock.js +4 -4
- package/queries/isLiveBlock.js.map +1 -1
- package/queries/isTagOnPage.d.ts +5 -5
- package/queries/isTagOnPage.js +9 -9
- package/queries/isTagOnPage.js.map +1 -1
- package/queries/normalizePageTitle.d.ts +2 -2
- package/queries/normalizePageTitle.js +4 -4
- package/queries/normalizePageTitle.js.map +1 -1
- package/scripts/index.d.ts +1 -1
- package/scripts/index.js +26 -26
- package/scripts/index.js.map +1 -1
- package/scripts/publishToRoamDepot.d.ts +7 -7
- package/scripts/publishToRoamDepot.js +113 -113
- package/scripts/publishToRoamDepot.js.map +1 -1
- package/testing/mockRoamEnvironment.d.ts +2 -2
- package/testing/mockRoamEnvironment.js +1253 -1253
- package/testing/mockRoamEnvironment.js.map +1 -1
- package/types/index.d.ts +389 -250
- package/types/index.js +4 -4
- package/types/index.js.map +1 -1
- package/types/native.d.ts +405 -402
- package/types/native.js +4 -4
- package/types/native.js.map +1 -1
- package/types/query-builder.d.ts +10 -10
- package/types/query-builder.js +2 -2
- package/types/query-builder.js.map +1 -1
- package/types/smartblocks.d.ts +35 -35
- package/types/smartblocks.js +2 -2
- package/types/smartblocks.js.map +1 -1
- package/util/addInputSetting.d.ts +7 -7
- package/util/addInputSetting.js +25 -25
- package/util/addInputSetting.js.map +1 -1
- package/util/apiDelete.d.ts +2 -2
- package/util/apiDelete.js +6 -6
- package/util/apiDelete.js.map +1 -1
- package/util/apiGet.d.ts +2 -2
- package/util/apiGet.js +6 -6
- package/util/apiGet.js.map +1 -1
- package/util/apiPost.d.ts +2 -2
- package/util/apiPost.js +6 -6
- package/util/apiPost.js.map +1 -1
- package/util/apiPut.d.ts +2 -2
- package/util/apiPut.js +6 -6
- package/util/apiPut.js.map +1 -1
- package/util/createOverlayRender.d.ts +4 -4
- package/util/createOverlayRender.js +6 -6
- package/util/createOverlayRender.js.map +1 -1
- package/util/createTagRegex.d.ts +2 -2
- package/util/createTagRegex.js +7 -7
- package/util/createTagRegex.js.map +1 -1
- package/util/dispatchToRegistry.d.ts +3 -3
- package/util/dispatchToRegistry.js +7 -7
- package/util/dispatchToRegistry.js.map +1 -1
- package/util/env.d.ts +4 -4
- package/util/env.js +47 -47
- package/util/env.js.map +1 -1
- package/util/extensionApiContext.d.ts +29 -29
- package/util/extensionApiContext.js +17 -17
- package/util/extensionApiContext.js.map +1 -1
- package/util/extensionDeprecatedWarning.d.ts +5 -5
- package/util/extensionDeprecatedWarning.js +39 -39
- package/util/extensionDeprecatedWarning.js.map +1 -1
- package/util/extractRef.d.ts +2 -2
- package/util/extractRef.js +8 -8
- package/util/extractRef.js.map +1 -1
- package/util/extractTag.d.ts +2 -2
- package/util/extractTag.js +15 -15
- package/util/extractTag.js.map +1 -1
- package/util/focusMainWindowBlock.d.ts +2 -2
- package/util/focusMainWindowBlock.js +12 -12
- package/util/focusMainWindowBlock.js.map +1 -1
- package/util/getAuthorizationHeader.d.ts +2 -2
- package/util/getAuthorizationHeader.js +12 -12
- package/util/getAuthorizationHeader.js.map +1 -1
- package/util/getLocalStorageKey.d.ts +2 -2
- package/util/getLocalStorageKey.js +4 -4
- package/util/getLocalStorageKey.js.map +1 -1
- package/util/getOauth.d.ts +2 -2
- package/util/getOauth.js +52 -52
- package/util/getOauth.js.map +1 -1
- package/util/getOauthAccounts.d.ts +2 -2
- package/util/getOauthAccounts.js +22 -22
- package/util/getOauthAccounts.js.map +1 -1
- package/util/getRenderRoot.d.ts +2 -2
- package/util/getRenderRoot.js +18 -18
- package/util/getRenderRoot.js.map +1 -1
- package/util/getSettingIntFromTree.d.ts +7 -7
- package/util/getSettingIntFromTree.js +11 -11
- package/util/getSettingIntFromTree.js.map +1 -1
- package/util/getSettingValueFromTree.d.ts +8 -8
- package/util/getSettingValueFromTree.js +14 -14
- package/util/getSettingValueFromTree.js.map +1 -1
- package/util/getSettingValuesFromTree.d.ts +7 -7
- package/util/getSettingValuesFromTree.js +12 -12
- package/util/getSettingValuesFromTree.js.map +1 -1
- package/util/getSubTree.d.ts +8 -8
- package/util/getSubTree.js +19 -19
- package/util/getSubTree.js.map +1 -1
- package/util/getToken.d.ts +2 -2
- package/util/getToken.js +10 -10
- package/util/getToken.js.map +1 -1
- package/util/getTokenFromTree.d.ts +3 -3
- package/util/getTokenFromTree.js +4 -4
- package/util/getTokenFromTree.js.map +1 -1
- package/util/getWorkerClient.d.ts +12 -12
- package/util/getWorkerClient.js +41 -41
- package/util/getWorkerClient.js.map +1 -1
- package/util/handleBodyFetch.d.ts +3 -3
- package/util/handleBodyFetch.js +21 -21
- package/util/handleBodyFetch.js.map +1 -1
- package/util/handleFetch.d.ts +13 -13
- package/util/handleFetch.js +40 -40
- package/util/handleFetch.js.map +1 -1
- package/util/handleUrlFetch.d.ts +3 -3
- package/util/handleUrlFetch.js +19 -19
- package/util/handleUrlFetch.js.map +1 -1
- package/util/idToTitle.d.ts +2 -2
- package/util/idToTitle.js +8 -8
- package/util/idToTitle.js.map +1 -1
- package/util/index.d.ts +24 -24
- package/util/index.js +54 -54
- package/util/index.js.map +1 -1
- package/util/isControl.d.ts +2 -2
- package/util/isControl.js +4 -4
- package/util/isControl.js.map +1 -1
- package/util/localStorageGet.d.ts +2 -2
- package/util/localStorageGet.js +8 -8
- package/util/localStorageGet.js.map +1 -1
- package/util/localStorageRemove.d.ts +2 -2
- package/util/localStorageRemove.js +6 -6
- package/util/localStorageRemove.js.map +1 -1
- package/util/localStorageSet.d.ts +2 -2
- package/util/localStorageSet.js +8 -8
- package/util/localStorageSet.js.map +1 -1
- package/util/registerExperimentalMode.d.ts +6 -6
- package/util/registerExperimentalMode.js +65 -65
- package/util/registerExperimentalMode.js.map +1 -1
- package/util/registerSmartBlocksCommand.d.ts +3 -3
- package/util/registerSmartBlocksCommand.js +23 -23
- package/util/registerSmartBlocksCommand.js.map +1 -1
- package/util/removeFromRegistry.d.ts +3 -3
- package/util/removeFromRegistry.js +7 -7
- package/util/removeFromRegistry.js.map +1 -1
- package/util/renderOverlay.d.ts +12 -12
- package/util/renderOverlay.js +48 -48
- package/util/renderOverlay.js.map +1 -1
- package/util/renderWithUnmount.d.ts +4 -4
- package/util/renderWithUnmount.js +44 -44
- package/util/renderWithUnmount.js.map +1 -1
- package/util/runExtension.d.ts +11 -11
- package/util/runExtension.js +174 -174
- package/util/runExtension.js.map +1 -1
- package/util/setInputSetting.d.ts +7 -7
- package/util/setInputSetting.js +37 -37
- package/util/setInputSetting.js.map +1 -1
- package/util/setInputSettings.d.ts +7 -7
- package/util/setInputSettings.js +28 -28
- package/util/setInputSettings.js.map +1 -1
- package/util/stripUid.d.ts +3 -3
- package/util/stripUid.js +10 -10
- package/util/stripUid.js.map +1 -1
- package/util/toConfigPageName.d.ts +2 -2
- package/util/toConfigPageName.js +4 -4
- package/util/toConfigPageName.js.map +1 -1
- package/util/toFlexRegex.d.ts +2 -2
- package/util/toFlexRegex.js +4 -4
- package/util/toFlexRegex.js.map +1 -1
- package/writes/clearBlockById.d.ts +2 -2
- package/writes/clearBlockById.js +17 -17
- package/writes/clearBlockById.js.map +1 -1
- package/writes/clearBlockByUid.d.ts +2 -2
- package/writes/clearBlockByUid.js +16 -16
- package/writes/clearBlockByUid.js.map +1 -1
- package/writes/createBlock.d.ts +8 -8
- package/writes/createBlock.js +28 -28
- package/writes/createBlock.js.map +1 -1
- package/writes/createPage.d.ts +7 -7
- package/writes/createPage.js +20 -20
- package/writes/createPage.js.map +1 -1
- package/writes/deleteBlock.d.ts +2 -2
- package/writes/deleteBlock.js +10 -10
- package/writes/deleteBlock.js.map +1 -1
- package/writes/index.d.ts +8 -8
- package/writes/index.js +22 -22
- package/writes/index.js.map +1 -1
- package/writes/openBlockInSidebar.d.ts +2 -2
- package/writes/openBlockInSidebar.js +13 -13
- package/writes/openBlockInSidebar.js.map +1 -1
- package/writes/submitActions.d.ts +8 -8
- package/writes/submitActions.js +36 -36
- package/writes/submitActions.js.map +1 -1
- package/writes/updateActiveBlock.d.ts +2 -2
- package/writes/updateActiveBlock.js +17 -17
- package/writes/updateActiveBlock.js.map +1 -1
- package/writes/updateBlock.d.ts +5 -5
- package/writes/updateBlock.js +23 -23
- 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;
|
package/components/FormDialog.js
CHANGED
|
@@ -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
|
-
|
|
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
|