roamjs-components 0.85.2 → 0.85.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +29 -29
- package/components/AutocompleteInput.d.ts +28 -0
- package/components/AutocompleteInput.js +121 -0
- package/components/AutocompleteInput.js.map +1 -0
- package/components/BlockErrorBoundary.d.ts +15 -0
- package/components/BlockErrorBoundary.js +28 -0
- package/components/BlockErrorBoundary.js.map +1 -0
- package/components/BlockInput.d.ts +13 -0
- package/components/BlockInput.js +56 -0
- package/components/BlockInput.js.map +1 -0
- package/components/ComponentContainer.d.ts +10 -0
- package/components/ComponentContainer.js +38 -0
- package/components/ComponentContainer.js.map +1 -0
- package/components/ConfigPage.d.ts +35 -0
- package/components/ConfigPage.js +160 -0
- package/components/ConfigPage.js.map +1 -0
- package/components/ConfigPanels/BlockPanel.d.ts +3 -0
- package/components/ConfigPanels/BlockPanel.js +43 -0
- package/components/ConfigPanels/BlockPanel.js.map +1 -0
- package/components/ConfigPanels/BlocksPanel.d.ts +3 -0
- package/components/ConfigPanels/BlocksPanel.js +69 -0
- package/components/ConfigPanels/BlocksPanel.js.map +1 -0
- package/components/ConfigPanels/CustomPanel.d.ts +3 -0
- package/components/ConfigPanels/CustomPanel.js +25 -0
- package/components/ConfigPanels/CustomPanel.js.map +1 -0
- package/components/ConfigPanels/FlagPanel.d.ts +3 -0
- package/components/ConfigPanels/FlagPanel.js +32 -0
- package/components/ConfigPanels/FlagPanel.js.map +1 -0
- package/components/ConfigPanels/MultiChildPanel.d.ts +9 -0
- package/components/ConfigPanels/MultiChildPanel.js +59 -0
- package/components/ConfigPanels/MultiChildPanel.js.map +1 -0
- package/components/ConfigPanels/MultiTextPanel.d.ts +3 -0
- package/components/ConfigPanels/MultiTextPanel.js +15 -0
- package/components/ConfigPanels/MultiTextPanel.js.map +1 -0
- package/components/ConfigPanels/NumberPanel.d.ts +3 -0
- package/components/ConfigPanels/NumberPanel.js +26 -0
- package/components/ConfigPanels/NumberPanel.js.map +1 -0
- package/components/ConfigPanels/OauthPanel.d.ts +3 -0
- package/components/ConfigPanels/OauthPanel.js +82 -0
- package/components/ConfigPanels/OauthPanel.js.map +1 -0
- package/components/ConfigPanels/PagesPanel.d.ts +3 -0
- package/components/ConfigPanels/PagesPanel.js +12 -0
- package/components/ConfigPanels/PagesPanel.js.map +1 -0
- package/components/ConfigPanels/SelectPanel.d.ts +3 -0
- package/components/ConfigPanels/SelectPanel.js +28 -0
- package/components/ConfigPanels/SelectPanel.js.map +1 -0
- package/components/ConfigPanels/TextPanel.d.ts +3 -0
- package/components/ConfigPanels/TextPanel.js +29 -0
- package/components/ConfigPanels/TextPanel.js.map +1 -0
- package/components/ConfigPanels/TimePanel.d.ts +3 -0
- package/components/ConfigPanels/TimePanel.js +35 -0
- package/components/ConfigPanels/TimePanel.js.map +1 -0
- package/components/ConfigPanels/getBrandColors.d.ts +7 -0
- package/components/ConfigPanels/getBrandColors.js +29 -0
- package/components/ConfigPanels/getBrandColors.js.map +1 -0
- package/components/ConfigPanels/types.d.ts +84 -0
- package/components/ConfigPanels/types.js +3 -0
- package/components/ConfigPanels/types.js.map +1 -0
- package/components/ConfigPanels/useSingleChildValue.d.ts +13 -0
- package/components/ConfigPanels/useSingleChildValue.js +44 -0
- package/components/ConfigPanels/useSingleChildValue.js.map +1 -0
- package/components/CursorMenu.d.ts +21 -0
- package/components/CursorMenu.js +182 -0
- package/components/CursorMenu.js.map +1 -0
- package/components/Description.d.ts +5 -0
- package/components/Description.js +17 -0
- package/components/Description.js.map +1 -0
- package/components/ExtensionApiContext.d.ts +31 -0
- package/components/ExtensionApiContext.js +17 -0
- package/components/ExtensionApiContext.js.map +1 -0
- package/components/ExternalLogin.d.ts +18 -0
- package/components/ExternalLogin.js +142 -0
- package/components/ExternalLogin.js.map +1 -0
- package/components/Filter.d.ts +15 -0
- package/components/Filter.js +143 -0
- package/components/Filter.js.map +1 -0
- package/components/FormDialog.d.ts +55 -0
- package/components/FormDialog.js +224 -0
- package/components/FormDialog.js.map +1 -0
- package/components/Loading.d.ts +4 -0
- package/components/Loading.js +36 -0
- package/components/Loading.js.map +1 -0
- package/components/MenuItemSelect.d.ts +17 -0
- package/components/MenuItemSelect.js +24 -0
- package/components/MenuItemSelect.js.map +1 -0
- package/components/OauthPanel.d.ts +7 -0
- package/components/OauthPanel.js +31 -0
- package/components/OauthPanel.js.map +1 -0
- package/components/OauthSelect.d.ts +5 -0
- package/components/OauthSelect.js +26 -0
- package/components/OauthSelect.js.map +1 -0
- package/components/PageInput.d.ts +6 -0
- package/components/PageInput.js +14 -0
- package/components/PageInput.js.map +1 -0
- package/components/PageLink.d.ts +6 -0
- package/components/PageLink.js +32 -0
- package/components/PageLink.js.map +1 -0
- package/components/ProgressDialog.d.ts +11 -0
- package/components/ProgressDialog.js +61 -0
- package/components/ProgressDialog.js.map +1 -0
- package/components/SimpleAlert.d.ts +15 -0
- package/components/SimpleAlert.js +48 -0
- package/components/SimpleAlert.js.map +1 -0
- package/components/Toast.d.ts +15 -0
- package/components/Toast.js +51 -0
- package/components/Toast.js.map +1 -0
- package/components/index.d.ts +0 -0
- package/components/index.js +5 -0
- package/components/index.js.map +1 -0
- package/components.d.ts +5 -0
- package/components.js +171 -0
- package/components.js.map +1 -0
- package/date/constants.d.ts +3 -0
- package/date/constants.js +20 -0
- package/date/constants.js.map +1 -0
- package/{src/date/index.ts → date/index.d.ts} +3 -3
- package/date/index.js +10 -0
- package/date/index.js.map +1 -0
- package/date/parseNlpDate.d.ts +5 -0
- package/date/parseNlpDate.js +227 -0
- package/date/parseNlpDate.js.map +1 -0
- package/date/parseRoamDateUid.d.ts +2 -0
- package/date/parseRoamDateUid.js +8 -0
- package/date/parseRoamDateUid.js.map +1 -0
- package/dom/addBlockCommand.d.ts +5 -0
- package/dom/addBlockCommand.js +54 -0
- package/dom/addBlockCommand.js.map +1 -0
- package/dom/addKeyboardTriggers.d.ts +11 -0
- package/dom/addKeyboardTriggers.js +39 -0
- package/dom/addKeyboardTriggers.js.map +1 -0
- package/dom/addOldRoamJSDependency.d.ts +2 -0
- package/dom/addOldRoamJSDependency.js +11 -0
- package/dom/addOldRoamJSDependency.js.map +1 -0
- package/dom/addRoamJSDependency.d.ts +2 -0
- package/dom/addRoamJSDependency.js +9 -0
- package/dom/addRoamJSDependency.js.map +1 -0
- package/dom/addScriptAsDependency.d.ts +6 -0
- package/dom/addScriptAsDependency.js +17 -0
- package/dom/addScriptAsDependency.js.map +1 -0
- package/dom/addStyle.d.ts +2 -0
- package/dom/addStyle.js +15 -0
- package/dom/addStyle.js.map +1 -0
- package/dom/constants.d.ts +1 -0
- package/dom/constants.js +5 -0
- package/dom/constants.js.map +1 -0
- package/dom/createBlockObserver.d.ts +7 -0
- package/dom/createBlockObserver.js +44 -0
- package/dom/createBlockObserver.js.map +1 -0
- package/dom/createButtonObserver.d.ts +6 -0
- package/dom/createButtonObserver.js +22 -0
- package/dom/createButtonObserver.js.map +1 -0
- package/dom/createDivObserver.d.ts +2 -0
- package/dom/createDivObserver.js +14 -0
- package/dom/createDivObserver.js.map +1 -0
- package/dom/createHTMLObserver.d.ts +8 -0
- package/dom/createHTMLObserver.js +25 -0
- package/dom/createHTMLObserver.js.map +1 -0
- package/dom/createHashtagObserver.d.ts +5 -0
- package/dom/createHashtagObserver.js +17 -0
- package/dom/createHashtagObserver.js.map +1 -0
- package/dom/createIconButton.d.ts +2 -0
- package/dom/createIconButton.js +13 -0
- package/dom/createIconButton.js.map +1 -0
- package/dom/createObserver.d.ts +2 -0
- package/dom/createObserver.js +10 -0
- package/dom/createObserver.js.map +1 -0
- package/dom/createOverlayObserver.d.ts +2 -0
- package/dom/createOverlayObserver.js +7 -0
- package/dom/createOverlayObserver.js.map +1 -0
- package/dom/createPageObserver.d.ts +2 -0
- package/dom/createPageObserver.js +35 -0
- package/dom/createPageObserver.js.map +1 -0
- package/dom/createPageTitleObserver.d.ts +6 -0
- package/dom/createPageTitleObserver.js +32 -0
- package/dom/createPageTitleObserver.js.map +1 -0
- package/dom/elToTitle.d.ts +2 -0
- package/dom/elToTitle.js +23 -0
- package/dom/elToTitle.js.map +1 -0
- package/dom/genericError.d.ts +3 -0
- package/dom/genericError.js +12 -0
- package/dom/genericError.js.map +1 -0
- package/dom/getActiveUids.d.ts +3 -0
- package/dom/getActiveUids.js +7 -0
- package/dom/getActiveUids.js.map +1 -0
- package/dom/getBlockUidFromTarget.d.ts +2 -0
- package/dom/getBlockUidFromTarget.js +34 -0
- package/dom/getBlockUidFromTarget.js.map +1 -0
- package/dom/getCurrentPageUid.d.ts +2 -0
- package/dom/getCurrentPageUid.js +9 -0
- package/dom/getCurrentPageUid.js.map +1 -0
- package/dom/getDomRefs.d.ts +2 -0
- package/dom/getDomRefs.js +13 -0
- package/dom/getDomRefs.js.map +1 -0
- package/dom/getDropUidOffset.d.ts +5 -0
- package/dom/getDropUidOffset.js +28 -0
- package/dom/getDropUidOffset.js.map +1 -0
- package/dom/getMutatedNodes.d.ts +7 -0
- package/dom/getMutatedNodes.js +12 -0
- package/dom/getMutatedNodes.js.map +1 -0
- package/dom/getPageTitleByHtmlElement.d.ts +2 -0
- package/dom/getPageTitleByHtmlElement.js +13 -0
- package/dom/getPageTitleByHtmlElement.js.map +1 -0
- package/dom/getPageTitleValueByHtmlElement.d.ts +2 -0
- package/dom/getPageTitleValueByHtmlElement.js +10 -0
- package/dom/getPageTitleValueByHtmlElement.js.map +1 -0
- package/dom/getReferenceBlockUid.d.ts +2 -0
- package/dom/getReferenceBlockUid.js +19 -0
- package/dom/getReferenceBlockUid.js.map +1 -0
- package/dom/getRoamUrl.d.ts +2 -0
- package/dom/getRoamUrl.js +5 -0
- package/dom/getRoamUrl.js.map +1 -0
- package/dom/getRoamUrlByPage.d.ts +2 -0
- package/dom/getRoamUrlByPage.js +11 -0
- package/dom/getRoamUrlByPage.js.map +1 -0
- package/dom/getUids.d.ts +3 -0
- package/dom/getUids.js +9 -0
- package/dom/getUids.js.map +1 -0
- package/dom/getUidsFromButton.d.ts +3 -0
- package/dom/getUidsFromButton.js +9 -0
- package/dom/getUidsFromButton.js.map +1 -0
- package/dom/getUidsFromId.d.ts +5 -0
- package/dom/getUidsFromId.js +16 -0
- package/dom/getUidsFromId.js.map +1 -0
- package/{src/dom/index.ts → dom/index.d.ts} +30 -30
- package/dom/index.js +64 -0
- package/dom/index.js.map +1 -0
- package/dom/parseRoamBlocksToHtml.d.ts +11 -0
- package/dom/parseRoamBlocksToHtml.js +80 -0
- package/dom/parseRoamBlocksToHtml.js.map +1 -0
- package/dom/resolveRefs.d.ts +2 -0
- package/dom/resolveRefs.js +25 -0
- package/dom/resolveRefs.js.map +1 -0
- package/{src/events/index.ts → events/index.d.ts} +1 -1
- package/events/index.js +9 -0
- package/events/index.js.map +1 -0
- package/events/watchOnce.d.ts +3 -0
- package/events/watchOnce.js +13 -0
- package/events/watchOnce.js.map +1 -0
- package/{src/hooks/index.ts → hooks/index.d.ts} +2 -2
- package/hooks/index.js +11 -0
- package/hooks/index.js.map +1 -0
- package/hooks/useArrowKeyDown.d.ts +10 -0
- package/hooks/useArrowKeyDown.js +55 -0
- package/hooks/useArrowKeyDown.js.map +1 -0
- package/hooks/useSubTree.d.ts +3 -0
- package/hooks/useSubTree.js +12 -0
- package/hooks/useSubTree.js.map +1 -0
- package/marked/index.d.ts +25 -0
- package/marked/index.js +568 -0
- package/marked/index.js.map +1 -0
- package/package.json +116 -116
- package/queries/compileDatalog.d.ts +3 -0
- package/queries/compileDatalog.js +64 -0
- package/queries/compileDatalog.js.map +1 -0
- package/queries/getAllBlockUids.d.ts +2 -0
- package/queries/getAllBlockUids.js +7 -0
- package/queries/getAllBlockUids.js.map +1 -0
- package/queries/getAllBlockUidsAndTexts.d.ts +5 -0
- package/queries/getAllBlockUidsAndTexts.js +7 -0
- package/queries/getAllBlockUidsAndTexts.js.map +1 -0
- package/queries/getAllPageNames.d.ts +2 -0
- package/queries/getAllPageNames.js +7 -0
- package/queries/getAllPageNames.js.map +1 -0
- package/queries/getAttributeValueByBlockAndName.d.ts +5 -0
- package/queries/getAttributeValueByBlockAndName.js +12 -0
- package/queries/getAttributeValueByBlockAndName.js.map +1 -0
- package/queries/getBasicTreeByParentUid.d.ts +3 -0
- package/queries/getBasicTreeByParentUid.js +14 -0
- package/queries/getBasicTreeByParentUid.js.map +1 -0
- package/queries/getBlockUidAndTextIncludingText.d.ts +5 -0
- package/queries/getBlockUidAndTextIncludingText.js +8 -0
- package/queries/getBlockUidAndTextIncludingText.js.map +1 -0
- package/queries/getBlockUidByTextOnPage.d.ts +5 -0
- package/queries/getBlockUidByTextOnPage.js +8 -0
- package/queries/getBlockUidByTextOnPage.js.map +1 -0
- package/queries/getBlockUidsAndTextsReferencingPage.d.ts +5 -0
- package/queries/getBlockUidsAndTextsReferencingPage.js +10 -0
- package/queries/getBlockUidsAndTextsReferencingPage.js.map +1 -0
- package/queries/getBlockUidsByPageTitle.d.ts +2 -0
- package/queries/getBlockUidsByPageTitle.js +9 -0
- package/queries/getBlockUidsByPageTitle.js.map +1 -0
- package/queries/getBlockUidsReferencingBlock.d.ts +2 -0
- package/queries/getBlockUidsReferencingBlock.js +5 -0
- package/queries/getBlockUidsReferencingBlock.js.map +1 -0
- package/queries/getBlockUidsReferencingPage.d.ts +2 -0
- package/queries/getBlockUidsReferencingPage.js +7 -0
- package/queries/getBlockUidsReferencingPage.js.map +1 -0
- package/queries/getBlockUidsWithParentUid.d.ts +2 -0
- package/queries/getBlockUidsWithParentUid.js +7 -0
- package/queries/getBlockUidsWithParentUid.js.map +1 -0
- package/queries/getChildrenLengthByPageUid.d.ts +2 -0
- package/queries/getChildrenLengthByPageUid.js +9 -0
- package/queries/getChildrenLengthByPageUid.js.map +1 -0
- package/queries/getChildrenLengthByParentUid.d.ts +2 -0
- package/queries/getChildrenLengthByParentUid.js +8 -0
- package/queries/getChildrenLengthByParentUid.js.map +1 -0
- package/queries/getCreateTimeByBlockUid.d.ts +2 -0
- package/queries/getCreateTimeByBlockUid.js +8 -0
- package/queries/getCreateTimeByBlockUid.js.map +1 -0
- package/queries/getCurrentUser.d.ts +2 -0
- package/queries/getCurrentUser.js +12 -0
- package/queries/getCurrentUser.js.map +1 -0
- package/queries/getCurrentUserDisplayName.d.ts +2 -0
- package/queries/getCurrentUserDisplayName.js +11 -0
- package/queries/getCurrentUserDisplayName.js.map +1 -0
- package/queries/getCurrentUserEmail.d.ts +2 -0
- package/queries/getCurrentUserEmail.js +14 -0
- package/queries/getCurrentUserEmail.js.map +1 -0
- package/queries/getCurrentUserUid.d.ts +2 -0
- package/queries/getCurrentUserUid.js +14 -0
- package/queries/getCurrentUserUid.js.map +1 -0
- package/queries/getDisplayNameByEmail.d.ts +2 -0
- package/queries/getDisplayNameByEmail.js +8 -0
- package/queries/getDisplayNameByEmail.js.map +1 -0
- package/queries/getDisplayNameByUid.d.ts +2 -0
- package/queries/getDisplayNameByUid.js +8 -0
- package/queries/getDisplayNameByUid.js.map +1 -0
- package/queries/getEditTimeByBlockUid.d.ts +2 -0
- package/queries/getEditTimeByBlockUid.js +8 -0
- package/queries/getEditTimeByBlockUid.js.map +1 -0
- package/queries/getEditedUserEmailByBlockUid.d.ts +2 -0
- package/queries/getEditedUserEmailByBlockUid.js +8 -0
- package/queries/getEditedUserEmailByBlockUid.js.map +1 -0
- package/queries/getFirstChildTextByBlockUid.d.ts +2 -0
- package/queries/getFirstChildTextByBlockUid.js +8 -0
- package/queries/getFirstChildTextByBlockUid.js.map +1 -0
- package/queries/getFirstChildUidByBlockUid.d.ts +2 -0
- package/queries/getFirstChildUidByBlockUid.js +7 -0
- package/queries/getFirstChildUidByBlockUid.js.map +1 -0
- package/queries/getFullTreeByParentUid.d.ts +3 -0
- package/queries/getFullTreeByParentUid.js +52 -0
- package/queries/getFullTreeByParentUid.js.map +1 -0
- package/queries/getLinkedPageTitlesUnderUid.d.ts +2 -0
- package/queries/getLinkedPageTitlesUnderUid.js +7 -0
- package/queries/getLinkedPageTitlesUnderUid.js.map +1 -0
- package/queries/getNthChildUidByBlockUid.d.ts +5 -0
- package/queries/getNthChildUidByBlockUid.js +8 -0
- package/queries/getNthChildUidByBlockUid.js.map +1 -0
- package/queries/getOrderByBlockUid.d.ts +2 -0
- package/queries/getOrderByBlockUid.js +8 -0
- package/queries/getOrderByBlockUid.js.map +1 -0
- package/queries/getPageTitleByBlockUid.d.ts +2 -0
- package/queries/getPageTitleByBlockUid.js +8 -0
- package/queries/getPageTitleByBlockUid.js.map +1 -0
- package/queries/getPageTitleByPageUid.d.ts +2 -0
- package/queries/getPageTitleByPageUid.js +13 -0
- package/queries/getPageTitleByPageUid.js.map +1 -0
- package/queries/getPageTitleReferencesByPageTitle.d.ts +2 -0
- package/queries/getPageTitleReferencesByPageTitle.js +7 -0
- package/queries/getPageTitleReferencesByPageTitle.js.map +1 -0
- package/queries/getPageTitlesAndBlockUidsReferencingPage.d.ts +5 -0
- package/queries/getPageTitlesAndBlockUidsReferencingPage.js +10 -0
- package/queries/getPageTitlesAndBlockUidsReferencingPage.js.map +1 -0
- package/queries/getPageTitlesAndUidsDirectlyReferencingPage.d.ts +5 -0
- package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js +10 -0
- package/queries/getPageTitlesAndUidsDirectlyReferencingPage.js.map +1 -0
- package/queries/getPageTitlesReferencingBlockUid.d.ts +2 -0
- package/queries/getPageTitlesReferencingBlockUid.js +5 -0
- package/queries/getPageTitlesReferencingBlockUid.js.map +1 -0
- package/queries/getPageTitlesStartingWithPrefix.d.ts +2 -0
- package/queries/getPageTitlesStartingWithPrefix.js +7 -0
- package/queries/getPageTitlesStartingWithPrefix.js.map +1 -0
- package/queries/getPageUidByBlockUid.d.ts +2 -0
- package/queries/getPageUidByBlockUid.js +8 -0
- package/queries/getPageUidByBlockUid.js.map +1 -0
- package/queries/getPageUidByPageTitle.d.ts +2 -0
- package/queries/getPageUidByPageTitle.js +10 -0
- package/queries/getPageUidByPageTitle.js.map +1 -0
- package/queries/getPageViewType.d.ts +3 -0
- package/queries/getPageViewType.js +10 -0
- package/queries/getPageViewType.js.map +1 -0
- package/queries/getParentTextByBlockUid.d.ts +2 -0
- package/queries/getParentTextByBlockUid.js +8 -0
- package/queries/getParentTextByBlockUid.js.map +1 -0
- package/queries/getParentTextByBlockUidAndTag.d.ts +5 -0
- package/queries/getParentTextByBlockUidAndTag.js +8 -0
- package/queries/getParentTextByBlockUidAndTag.js.map +1 -0
- package/queries/getParentUidByBlockUid.d.ts +2 -0
- package/queries/getParentUidByBlockUid.js +8 -0
- package/queries/getParentUidByBlockUid.js.map +1 -0
- package/queries/getParentUidsOfBlockUid.d.ts +2 -0
- package/queries/getParentUidsOfBlockUid.js +5 -0
- package/queries/getParentUidsOfBlockUid.js.map +1 -0
- package/queries/getSettingsByEmail.d.ts +3 -0
- package/queries/getSettingsByEmail.js +8 -0
- package/queries/getSettingsByEmail.js.map +1 -0
- package/queries/getShallowTreeByParentUid.d.ts +5 -0
- package/queries/getShallowTreeByParentUid.js +10 -0
- package/queries/getShallowTreeByParentUid.js.map +1 -0
- package/queries/getTextByBlockUid.d.ts +2 -0
- package/queries/getTextByBlockUid.js +10 -0
- package/queries/getTextByBlockUid.js.map +1 -0
- package/queries/index.d.ts +0 -0
- package/queries/index.js +5 -0
- package/queries/index.js.map +1 -0
- package/queries/isLiveBlock.d.ts +2 -0
- package/queries/isLiveBlock.js +5 -0
- package/queries/isLiveBlock.js.map +1 -0
- package/queries/isTagOnPage.d.ts +5 -0
- package/queries/isTagOnPage.js +10 -0
- package/queries/isTagOnPage.js.map +1 -0
- package/queries/normalizePageTitle.d.ts +2 -0
- package/queries/normalizePageTitle.js +5 -0
- package/queries/normalizePageTitle.js.map +1 -0
- package/scripts/index.d.ts +1 -0
- package/scripts/index.js +27 -0
- package/scripts/index.js.map +1 -0
- package/scripts/publishToRoamDepot.d.ts +7 -0
- package/scripts/publishToRoamDepot.js +114 -0
- package/scripts/publishToRoamDepot.js.map +1 -0
- package/testing/mockRoamEnvironment.d.ts +2 -0
- package/testing/mockRoamEnvironment.js +1254 -0
- package/testing/mockRoamEnvironment.js.map +1 -0
- package/types/index.d.ts +389 -0
- package/types/index.js +5 -0
- package/types/index.js.map +1 -0
- package/types/native.d.ts +405 -0
- package/types/native.js +5 -0
- package/types/native.js.map +1 -0
- package/types/query-builder.d.ts +10 -0
- package/types/query-builder.js +3 -0
- package/types/query-builder.js.map +1 -0
- package/types/smartblocks.d.ts +35 -0
- package/types/smartblocks.js +3 -0
- package/types/smartblocks.js.map +1 -0
- package/util/addInputSetting.d.ts +7 -0
- package/util/addInputSetting.js +26 -0
- package/util/addInputSetting.js.map +1 -0
- package/util/apiDelete.d.ts +2 -0
- package/util/apiDelete.js +7 -0
- package/util/apiDelete.js.map +1 -0
- package/util/apiGet.d.ts +2 -0
- package/util/apiGet.js +7 -0
- package/util/apiGet.js.map +1 -0
- package/util/apiPost.d.ts +2 -0
- package/util/apiPost.js +7 -0
- package/util/apiPost.js.map +1 -0
- package/util/apiPut.d.ts +2 -0
- package/util/apiPut.js +7 -0
- package/util/apiPut.js.map +1 -0
- package/util/createOverlayRender.d.ts +4 -0
- package/util/createOverlayRender.js +7 -0
- package/util/createOverlayRender.js.map +1 -0
- package/util/createTagRegex.d.ts +2 -0
- package/util/createTagRegex.js +8 -0
- package/util/createTagRegex.js.map +1 -0
- package/util/dispatchToRegistry.d.ts +3 -0
- package/util/dispatchToRegistry.js +8 -0
- package/util/dispatchToRegistry.js.map +1 -0
- package/util/env.d.ts +4 -0
- package/util/env.js +48 -0
- package/util/env.js.map +1 -0
- package/util/extensionApiContext.d.ts +29 -0
- package/util/extensionApiContext.js +18 -0
- package/util/extensionApiContext.js.map +1 -0
- package/util/extensionDeprecatedWarning.d.ts +5 -0
- package/util/extensionDeprecatedWarning.js +40 -0
- package/util/extensionDeprecatedWarning.js.map +1 -0
- package/util/extractRef.d.ts +2 -0
- package/util/extractRef.js +9 -0
- package/util/extractRef.js.map +1 -0
- package/util/extractTag.d.ts +2 -0
- package/util/extractTag.js +16 -0
- package/util/extractTag.js.map +1 -0
- package/util/focusMainWindowBlock.d.ts +2 -0
- package/util/focusMainWindowBlock.js +13 -0
- package/util/focusMainWindowBlock.js.map +1 -0
- package/util/getAuthorizationHeader.d.ts +2 -0
- package/util/getAuthorizationHeader.js +13 -0
- package/util/getAuthorizationHeader.js.map +1 -0
- package/util/getLocalStorageKey.d.ts +2 -0
- package/util/getLocalStorageKey.js +5 -0
- package/util/getLocalStorageKey.js.map +1 -0
- package/util/getOauth.d.ts +2 -0
- package/util/getOauth.js +53 -0
- package/util/getOauth.js.map +1 -0
- package/util/getOauthAccounts.d.ts +2 -0
- package/util/getOauthAccounts.js +23 -0
- package/util/getOauthAccounts.js.map +1 -0
- package/util/getRenderRoot.d.ts +2 -0
- package/util/getRenderRoot.js +19 -0
- package/util/getRenderRoot.js.map +1 -0
- package/util/getSettingIntFromTree.d.ts +7 -0
- package/util/getSettingIntFromTree.js +12 -0
- package/util/getSettingIntFromTree.js.map +1 -0
- package/util/getSettingValueFromTree.d.ts +8 -0
- package/util/getSettingValueFromTree.js +15 -0
- package/util/getSettingValueFromTree.js.map +1 -0
- package/util/getSettingValuesFromTree.d.ts +7 -0
- package/util/getSettingValuesFromTree.js +13 -0
- package/util/getSettingValuesFromTree.js.map +1 -0
- package/util/getSubTree.d.ts +8 -0
- package/util/getSubTree.js +20 -0
- package/util/getSubTree.js.map +1 -0
- package/util/getToken.d.ts +2 -0
- package/util/getToken.js +11 -0
- package/util/getToken.js.map +1 -0
- package/util/getTokenFromTree.d.ts +3 -0
- package/util/getTokenFromTree.js +5 -0
- package/util/getTokenFromTree.js.map +1 -0
- package/util/getWorkerClient.d.ts +12 -0
- package/util/getWorkerClient.js +42 -0
- package/util/getWorkerClient.js.map +1 -0
- package/util/handleBodyFetch.d.ts +3 -0
- package/util/handleBodyFetch.js +22 -0
- package/util/handleBodyFetch.js.map +1 -0
- package/util/handleFetch.d.ts +13 -0
- package/util/handleFetch.js +41 -0
- package/util/handleFetch.js.map +1 -0
- package/util/handleUrlFetch.d.ts +3 -0
- package/util/handleUrlFetch.js +20 -0
- package/util/handleUrlFetch.js.map +1 -0
- package/util/idToTitle.d.ts +2 -0
- package/util/idToTitle.js +9 -0
- package/util/idToTitle.js.map +1 -0
- package/{src/util/index.ts → util/index.d.ts} +24 -24
- package/util/index.js +55 -0
- package/util/index.js.map +1 -0
- package/util/isControl.d.ts +2 -0
- package/util/isControl.js +5 -0
- package/util/isControl.js.map +1 -0
- package/util/localStorageGet.d.ts +2 -0
- package/util/localStorageGet.js +9 -0
- package/util/localStorageGet.js.map +1 -0
- package/util/localStorageRemove.d.ts +2 -0
- package/util/localStorageRemove.js +7 -0
- package/util/localStorageRemove.js.map +1 -0
- package/util/localStorageSet.d.ts +2 -0
- package/util/localStorageSet.js +9 -0
- package/util/localStorageSet.js.map +1 -0
- package/util/registerExperimentalMode.d.ts +6 -0
- package/util/registerExperimentalMode.js +66 -0
- package/util/registerExperimentalMode.js.map +1 -0
- package/util/registerSmartBlocksCommand.d.ts +3 -0
- package/util/registerSmartBlocksCommand.js +24 -0
- package/util/registerSmartBlocksCommand.js.map +1 -0
- package/util/removeFromRegistry.d.ts +3 -0
- package/util/removeFromRegistry.js +8 -0
- package/util/removeFromRegistry.js.map +1 -0
- package/util/renderOverlay.d.ts +12 -0
- package/util/renderOverlay.js +49 -0
- package/util/renderOverlay.js.map +1 -0
- package/util/renderWithUnmount.d.ts +4 -0
- package/util/renderWithUnmount.js +45 -0
- package/util/renderWithUnmount.js.map +1 -0
- package/util/runExtension.d.ts +11 -0
- package/util/runExtension.js +175 -0
- package/util/runExtension.js.map +1 -0
- package/util/setInputSetting.d.ts +7 -0
- package/util/setInputSetting.js +38 -0
- package/util/setInputSetting.js.map +1 -0
- package/util/setInputSettings.d.ts +7 -0
- package/util/setInputSettings.js +29 -0
- package/util/setInputSettings.js.map +1 -0
- package/util/stripUid.d.ts +3 -0
- package/util/stripUid.js +11 -0
- package/util/stripUid.js.map +1 -0
- package/util/toConfigPageName.d.ts +2 -0
- package/util/toConfigPageName.js +5 -0
- package/util/toConfigPageName.js.map +1 -0
- package/util/toFlexRegex.d.ts +2 -0
- package/util/toFlexRegex.js +5 -0
- package/util/toFlexRegex.js.map +1 -0
- package/writes/clearBlockById.d.ts +2 -0
- package/writes/clearBlockById.js +18 -0
- package/writes/clearBlockById.js.map +1 -0
- package/writes/clearBlockByUid.d.ts +2 -0
- package/writes/clearBlockByUid.js +17 -0
- package/writes/clearBlockByUid.js.map +1 -0
- package/writes/createBlock.d.ts +8 -0
- package/writes/createBlock.js +29 -0
- package/writes/createBlock.js.map +1 -0
- package/writes/createPage.d.ts +7 -0
- package/writes/createPage.js +21 -0
- package/writes/createPage.js.map +1 -0
- package/writes/deleteBlock.d.ts +2 -0
- package/writes/deleteBlock.js +11 -0
- package/writes/deleteBlock.js.map +1 -0
- package/{src/writes/index.ts → writes/index.d.ts} +8 -8
- package/writes/index.js +23 -0
- package/writes/index.js.map +1 -0
- package/writes/openBlockInSidebar.d.ts +2 -0
- package/writes/openBlockInSidebar.js +14 -0
- package/writes/openBlockInSidebar.js.map +1 -0
- package/writes/submitActions.d.ts +8 -0
- package/writes/submitActions.js +37 -0
- package/writes/submitActions.js.map +1 -0
- package/writes/updateActiveBlock.d.ts +2 -0
- package/writes/updateActiveBlock.js +18 -0
- package/writes/updateActiveBlock.js.map +1 -0
- package/writes/updateBlock.d.ts +5 -0
- package/writes/updateBlock.js +24 -0
- package/writes/updateBlock.js.map +1 -0
- package/.eslintrc.json +0 -19
- package/.github/workflows/main.yaml +0 -34
- package/docs/components.md +0 -32
- package/docs/date.md +0 -13
- package/docs/dom.md +0 -58
- package/docs/events.md +0 -16
- package/docs/hooks.md +0 -15
- package/docs/marked.md +0 -56
- package/docs/queries.md +0 -24
- package/docs/scripts.md +0 -20
- package/docs/types.md +0 -32
- package/docs/util.md +0 -38
- package/docs/writes.md +0 -23
- package/patches/dotenv+16.3.1.patch +0 -12
- package/src/components/AutocompleteInput.tsx +0 -248
- package/src/components/BlockErrorBoundary.tsx +0 -35
- package/src/components/BlockInput.tsx +0 -117
- package/src/components/ComponentContainer.tsx +0 -69
- package/src/components/ConfigPage.tsx +0 -320
- package/src/components/ConfigPanels/BlockPanel.tsx +0 -60
- package/src/components/ConfigPanels/BlocksPanel.tsx +0 -100
- package/src/components/ConfigPanels/CustomPanel.tsx +0 -41
- package/src/components/ConfigPanels/FlagPanel.tsx +0 -48
- package/src/components/ConfigPanels/MultiChildPanel.tsx +0 -99
- package/src/components/ConfigPanels/MultiTextPanel.tsx +0 -23
- package/src/components/ConfigPanels/NumberPanel.tsx +0 -36
- package/src/components/ConfigPanels/OauthPanel.tsx +0 -127
- package/src/components/ConfigPanels/PagesPanel.tsx +0 -19
- package/src/components/ConfigPanels/SelectPanel.tsx +0 -46
- package/src/components/ConfigPanels/TextPanel.tsx +0 -44
- package/src/components/ConfigPanels/TimePanel.tsx +0 -45
- package/src/components/ConfigPanels/getBrandColors.tsx +0 -31
- package/src/components/ConfigPanels/types.ts +0 -111
- package/src/components/ConfigPanels/useSingleChildValue.tsx +0 -63
- package/src/components/CursorMenu.tsx +0 -286
- package/src/components/Description.tsx +0 -31
- package/src/components/ExtensionApiContext.tsx +0 -24
- package/src/components/ExternalLogin.tsx +0 -190
- package/src/components/Filter.tsx +0 -313
- package/src/components/FormDialog.tsx +0 -503
- package/src/components/Loading.tsx +0 -33
- package/src/components/MenuItemSelect.tsx +0 -88
- package/src/components/OauthPanel.tsx +0 -62
- package/src/components/OauthSelect.tsx +0 -40
- package/src/components/PageInput.tsx +0 -17
- package/src/components/PageLink.tsx +0 -50
- package/src/components/ProgressDialog.tsx +0 -85
- package/src/components/SimpleAlert.tsx +0 -103
- package/src/components/Toast.tsx +0 -85
- package/src/components/index.ts +0 -5
- package/src/components.tsx +0 -242
- package/src/date/constants.ts +0 -19
- package/src/date/parseNlpDate.ts +0 -255
- package/src/date/parseRoamDateUid.ts +0 -6
- package/src/dom/addBlockCommand.ts +0 -59
- package/src/dom/addKeyboardTriggers.ts +0 -52
- package/src/dom/addOldRoamJSDependency.ts +0 -10
- package/src/dom/addRoamJSDependency.ts +0 -7
- package/src/dom/addScriptAsDependency.ts +0 -24
- package/src/dom/addStyle.ts +0 -11
- package/src/dom/constants.ts +0 -1
- package/src/dom/createBlockObserver.ts +0 -44
- package/src/dom/createButtonObserver.ts +0 -31
- package/src/dom/createDivObserver.ts +0 -15
- package/src/dom/createHTMLObserver.ts +0 -44
- package/src/dom/createHashtagObserver.ts +0 -22
- package/src/dom/createIconButton.ts +0 -13
- package/src/dom/createObserver.ts +0 -15
- package/src/dom/createOverlayObserver.ts +0 -7
- package/src/dom/createPageObserver.ts +0 -37
- package/src/dom/createPageTitleObserver.ts +0 -43
- package/src/dom/elToTitle.ts +0 -21
- package/src/dom/genericError.ts +0 -13
- package/src/dom/getActiveUids.ts +0 -6
- package/src/dom/getBlockUidFromTarget.ts +0 -39
- package/src/dom/getCurrentPageUid.ts +0 -5
- package/src/dom/getDomRefs.ts +0 -15
- package/src/dom/getDropUidOffset.ts +0 -36
- package/src/dom/getMutatedNodes.ts +0 -31
- package/src/dom/getPageTitleByHtmlElement.ts +0 -19
- package/src/dom/getPageTitleValueByHtmlElement.ts +0 -8
- package/src/dom/getReferenceBlockUid.ts +0 -22
- package/src/dom/getRoamUrl.ts +0 -6
- package/src/dom/getRoamUrlByPage.ts +0 -9
- package/src/dom/getUids.ts +0 -9
- package/src/dom/getUidsFromButton.ts +0 -9
- package/src/dom/getUidsFromId.ts +0 -13
- package/src/dom/parseRoamBlocksToHtml.ts +0 -118
- package/src/dom/resolveRefs.ts +0 -31
- package/src/events/watchOnce.ts +0 -17
- package/src/hooks/useArrowKeyDown.ts +0 -72
- package/src/hooks/useSubTree.ts +0 -16
- package/src/marked/index.ts +0 -619
- package/src/queries/compileDatalog.ts +0 -81
- package/src/queries/getAllBlockUids.ts +0 -6
- package/src/queries/getAllBlockUidsAndTexts.ts +0 -6
- package/src/queries/getAllPageNames.ts +0 -6
- package/src/queries/getAttributeValueByBlockAndName.ts +0 -23
- package/src/queries/getBasicTreeByParentUid.ts +0 -21
- package/src/queries/getBlockUidAndTextIncludingText.ts +0 -15
- package/src/queries/getBlockUidByTextOnPage.ts +0 -12
- package/src/queries/getBlockUidsAndTextsReferencingPage.ts +0 -18
- package/src/queries/getBlockUidsByPageTitle.ts +0 -12
- package/src/queries/getBlockUidsReferencingBlock.ts +0 -10
- package/src/queries/getBlockUidsReferencingPage.ts +0 -13
- package/src/queries/getBlockUidsWithParentUid.ts +0 -10
- package/src/queries/getChildrenLengthByPageUid.ts +0 -7
- package/src/queries/getChildrenLengthByParentUid.ts +0 -6
- package/src/queries/getCreateTimeByBlockUid.ts +0 -6
- package/src/queries/getCurrentUser.ts +0 -12
- package/src/queries/getCurrentUserDisplayName.ts +0 -9
- package/src/queries/getCurrentUserEmail.ts +0 -12
- package/src/queries/getCurrentUserUid.ts +0 -12
- package/src/queries/getDisplayNameByEmail.ts +0 -6
- package/src/queries/getDisplayNameByUid.ts +0 -6
- package/src/queries/getEditTimeByBlockUid.ts +0 -6
- package/src/queries/getEditedUserEmailByBlockUid.ts +0 -6
- package/src/queries/getFirstChildTextByBlockUid.ts +0 -8
- package/src/queries/getFirstChildUidByBlockUid.ts +0 -6
- package/src/queries/getFullTreeByParentUid.ts +0 -60
- package/src/queries/getLinkedPageTitlesUnderUid.ts +0 -8
- package/src/queries/getNthChildUidByBlockUid.ts +0 -16
- package/src/queries/getOrderByBlockUid.ts +0 -6
- package/src/queries/getPageTitleByBlockUid.ts +0 -8
- package/src/queries/getPageTitleByPageUid.ts +0 -11
- package/src/queries/getPageTitleReferencesByPageTitle.ts +0 -13
- package/src/queries/getPageTitlesAndBlockUidsReferencingPage.ts +0 -18
- package/src/queries/getPageTitlesAndUidsDirectlyReferencingPage.ts +0 -18
- package/src/queries/getPageTitlesReferencingBlockUid.ts +0 -10
- package/src/queries/getPageTitlesStartingWithPrefix.ts +0 -8
- package/src/queries/getPageUidByBlockUid.ts +0 -8
- package/src/queries/getPageUidByPageTitle.ts +0 -10
- package/src/queries/getPageViewType.ts +0 -11
- package/src/queries/getParentTextByBlockUid.ts +0 -6
- package/src/queries/getParentTextByBlockUidAndTag.ts +0 -12
- package/src/queries/getParentUidByBlockUid.ts +0 -10
- package/src/queries/getParentUidsOfBlockUid.ts +0 -10
- package/src/queries/getSettingsByEmail.ts +0 -8
- package/src/queries/getShallowTreeByParentUid.ts +0 -17
- package/src/queries/getTextByBlockUid.ts +0 -8
- package/src/queries/index.ts +0 -5
- package/src/queries/isLiveBlock.ts +0 -4
- package/src/queries/isTagOnPage.ts +0 -12
- package/src/queries/normalizePageTitle.ts +0 -4
- package/src/scripts/index.ts +0 -2
- package/src/scripts/publishToRoamDepot.ts +0 -163
- package/src/testing/mockRoamEnvironment.ts +0 -1489
- package/src/types/index.ts +0 -260
- package/src/types/native.ts +0 -495
- package/src/types/query-builder.ts +0 -10
- package/src/types/smartblocks.ts +0 -39
- package/src/util/addInputSetting.ts +0 -33
- package/src/util/apiDelete.ts +0 -5
- package/src/util/apiGet.ts +0 -5
- package/src/util/apiPost.ts +0 -5
- package/src/util/apiPut.ts +0 -5
- package/src/util/createOverlayRender.ts +0 -12
- package/src/util/createTagRegex.ts +0 -7
- package/src/util/dispatchToRegistry.ts +0 -11
- package/src/util/env.ts +0 -44
- package/src/util/extensionApiContext.ts +0 -17
- package/src/util/extensionDeprecatedWarning.ts +0 -57
- package/src/util/extractRef.ts +0 -8
- package/src/util/extractTag.ts +0 -15
- package/src/util/focusMainWindowBlock.ts +0 -13
- package/src/util/getAuthorizationHeader.ts +0 -11
- package/src/util/getLocalStorageKey.ts +0 -4
- package/src/util/getOauth.ts +0 -57
- package/src/util/getOauthAccounts.ts +0 -26
- package/src/util/getRenderRoot.ts +0 -17
- package/src/util/getSettingIntFromTree.ts +0 -18
- package/src/util/getSettingValueFromTree.ts +0 -23
- package/src/util/getSettingValuesFromTree.ts +0 -20
- package/src/util/getSubTree.ts +0 -31
- package/src/util/getToken.ts +0 -12
- package/src/util/getTokenFromTree.ts +0 -6
- package/src/util/getWorkerClient.ts +0 -55
- package/src/util/handleBodyFetch.ts +0 -38
- package/src/util/handleFetch.ts +0 -70
- package/src/util/handleUrlFetch.ts +0 -30
- package/src/util/idToTitle.ts +0 -8
- package/src/util/isControl.ts +0 -4
- package/src/util/localStorageGet.ts +0 -6
- package/src/util/localStorageRemove.ts +0 -6
- package/src/util/localStorageSet.ts +0 -6
- package/src/util/registerExperimentalMode.ts +0 -76
- package/src/util/registerSmartBlocksCommand.ts +0 -23
- package/src/util/removeFromRegistry.ts +0 -11
- package/src/util/renderOverlay.ts +0 -69
- package/src/util/renderWithUnmount.ts +0 -50
- package/src/util/runExtension.ts +0 -206
- package/src/util/setInputSetting.ts +0 -46
- package/src/util/setInputSettings.ts +0 -37
- package/src/util/stripUid.ts +0 -10
- package/src/util/toConfigPageName.ts +0 -3
- package/src/util/toFlexRegex.ts +0 -7
- package/src/writes/clearBlockById.ts +0 -17
- package/src/writes/clearBlockByUid.ts +0 -16
- package/src/writes/createBlock.ts +0 -50
- package/src/writes/createPage.ts +0 -30
- package/src/writes/deleteBlock.ts +0 -9
- package/src/writes/openBlockInSidebar.ts +0 -13
- package/src/writes/submitActions.ts +0 -54
- package/src/writes/updateActiveBlock.ts +0 -17
- package/src/writes/updateBlock.ts +0 -33
- package/tests/backend.test.tsx +0 -28
- package/tests/date.test.ts +0 -26
- package/tests/dom.test.tsx +0 -10
- package/tests/index.test.tsx +0 -25
- package/tests/marked.test.ts +0 -474
- package/tests/util/createTagRegex.test.ts +0 -63
- package/tests/util/extractTag.test.ts +0 -17
- package/tests/util/toFlexRegex.test.ts +0 -7
- package/tsconfig.json +0 -26
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createConfigObserver = exports.render = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@blueprintjs/core");
|
|
6
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
7
|
+
const react_dom_1 = tslib_1.__importDefault(require("react-dom"));
|
|
8
|
+
const createHTMLObserver_1 = tslib_1.__importDefault(require("../dom/createHTMLObserver"));
|
|
9
|
+
const createBlock_1 = tslib_1.__importDefault(require("../writes/createBlock"));
|
|
10
|
+
const createPage_1 = tslib_1.__importDefault(require("../writes/createPage"));
|
|
11
|
+
const getBasicTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getBasicTreeByParentUid"));
|
|
12
|
+
const getPageUidByPageTitle_1 = tslib_1.__importDefault(require("../queries/getPageUidByPageTitle"));
|
|
13
|
+
const getShallowTreeByParentUid_1 = tslib_1.__importDefault(require("../queries/getShallowTreeByParentUid"));
|
|
14
|
+
const localStorageGet_1 = tslib_1.__importDefault(require("../util/localStorageGet"));
|
|
15
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../util/idToTitle"));
|
|
16
|
+
const FieldTabs = ({ id, fields, uid, pageUid, order, toggleable, }) => {
|
|
17
|
+
const parentUid = (0, react_1.useMemo)(() => {
|
|
18
|
+
if (/home/i.test(id)) {
|
|
19
|
+
return pageUid;
|
|
20
|
+
}
|
|
21
|
+
if (uid) {
|
|
22
|
+
return uid;
|
|
23
|
+
}
|
|
24
|
+
if (toggleable) {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
const newUid = window.roamAlphaAPI.util.generateUID();
|
|
28
|
+
(0, createBlock_1.default)({
|
|
29
|
+
parentUid: pageUid,
|
|
30
|
+
order,
|
|
31
|
+
node: { text: id, uid: newUid },
|
|
32
|
+
});
|
|
33
|
+
return newUid;
|
|
34
|
+
}, [pageUid, uid, id, toggleable]);
|
|
35
|
+
const childUids = Object.fromEntries((0, getShallowTreeByParentUid_1.default)(parentUid).map(({ text, uid }) => [
|
|
36
|
+
text.toLowerCase().trim(),
|
|
37
|
+
uid,
|
|
38
|
+
]));
|
|
39
|
+
const [selectedTabId, setSelectedTabId] = (0, react_1.useState)(fields.length && typeof toggleable !== "string"
|
|
40
|
+
? fields[0].title
|
|
41
|
+
: "enabled");
|
|
42
|
+
const onTabsChange = (0, react_1.useCallback)((tabId) => setSelectedTabId(tabId), [setSelectedTabId]);
|
|
43
|
+
return (react_1.default.createElement(core_1.Tabs, { vertical: true, id: `${id}-field-tabs`, onChange: onTabsChange, selectedTabId: selectedTabId, renderActiveTabPanelOnly: true }, fields.map((field, i) => {
|
|
44
|
+
const { Panel, title, defaultValue } = field;
|
|
45
|
+
return (react_1.default.createElement(core_1.Tab, { id: title, key: title, title: (0, idToTitle_1.default)(title), panel: react_1.default.createElement(Panel, Object.assign({}, field, { defaultValue: defaultValue, order: i, parentUid: parentUid, uid: childUids[title.toLowerCase()] })) }));
|
|
46
|
+
})));
|
|
47
|
+
};
|
|
48
|
+
const ConfigPage = ({ id, config, pageUid, }) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const isLegacy = "tabs" in config;
|
|
51
|
+
const userTabs = isLegacy
|
|
52
|
+
? config.tabs.filter((t) => t.fields.length || t.toggleable)
|
|
53
|
+
: [{ fields: config, id: "home" }];
|
|
54
|
+
const [selectedTabId, setSelectedTabId] = (0, react_1.useState)((_a = userTabs[0]) === null || _a === void 0 ? void 0 : _a.id);
|
|
55
|
+
const onTabsChange = (0, react_1.useCallback)((tabId) => setSelectedTabId(tabId), [setSelectedTabId]);
|
|
56
|
+
const tree = (0, getBasicTreeByParentUid_1.default)(pageUid);
|
|
57
|
+
// first character trimmed intentionally for the `v` below
|
|
58
|
+
const titleRef = (0, react_1.useRef)(null);
|
|
59
|
+
const experimentalMode = (0, react_1.useMemo)(() => (0, localStorageGet_1.default)("experimental"), []);
|
|
60
|
+
return (react_1.default.createElement(core_1.Card, { style: { color: "#202B33" }, className: "roamjs-config-panel" },
|
|
61
|
+
react_1.default.createElement("div", { style: { display: "flex", justifyContent: "space-between" }, ref: titleRef, tabIndex: -1 },
|
|
62
|
+
react_1.default.createElement("h4", { style: { padding: 4 } },
|
|
63
|
+
(0, idToTitle_1.default)(id),
|
|
64
|
+
" Configuration")),
|
|
65
|
+
react_1.default.createElement("style", null, `.roamjs-config-tabs {\npadding: 4px;\n}`),
|
|
66
|
+
isLegacy ? (react_1.default.createElement(core_1.Tabs, { id: `${id}-config-tabs`, onChange: onTabsChange, selectedTabId: selectedTabId, renderActiveTabPanelOnly: true, className: "roamjs-config-tabs" }, userTabs.map(({ id: tabId, fields, toggleable, development = false, onEnable, onDisable, }, i) => {
|
|
67
|
+
var _a;
|
|
68
|
+
return (react_1.default.createElement(core_1.Tab, { id: tabId, key: tabId, title: (0, idToTitle_1.default)(tabId), disabled: development && !experimentalMode, panel: react_1.default.createElement(FieldTabs, { id: tabId, extensionId: id, fields: fields, uid: ((_a = tree.find((t) => new RegExp(tabId, "i").test(t.text))) === null || _a === void 0 ? void 0 : _a.uid) || "", pageUid: pageUid, order: i, toggleable: toggleable, onEnable: onEnable, onDisable: onDisable }) }));
|
|
69
|
+
}))) : (react_1.default.createElement(FieldTabs, { id: "home", extensionId: id, fields: config, uid: pageUid, pageUid: pageUid, order: 0, toggleable: false }))));
|
|
70
|
+
};
|
|
71
|
+
// TODO: better nested type discrimination here
|
|
72
|
+
const fieldsToChildren = (fields) => fields
|
|
73
|
+
.filter((f) => !!f.defaultValue)
|
|
74
|
+
.map((f) => {
|
|
75
|
+
var _a;
|
|
76
|
+
return ({
|
|
77
|
+
text: f.title,
|
|
78
|
+
children: f.Panel.type === "flag"
|
|
79
|
+
? []
|
|
80
|
+
: f.Panel.type === "custom"
|
|
81
|
+
? f.defaultValue || []
|
|
82
|
+
: f.Panel.type === "pages" || f.Panel.type === "multitext"
|
|
83
|
+
? (_a = f.defaultValue) === null || _a === void 0 ? void 0 : _a.map((v) => ({ text: v }))
|
|
84
|
+
: f.Panel.type === "block"
|
|
85
|
+
? f.defaultValue
|
|
86
|
+
? [f.defaultValue]
|
|
87
|
+
: []
|
|
88
|
+
: [{ text: `${f.defaultValue}` }],
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
const createConfigPage = ({ title, config, }) => {
|
|
92
|
+
var _a;
|
|
93
|
+
const homeTab = "tabs" in config
|
|
94
|
+
? (_a = config.tabs.find((t) => /home/i.test(t.id))) === null || _a === void 0 ? void 0 : _a.fields
|
|
95
|
+
: config;
|
|
96
|
+
const rawTree = [
|
|
97
|
+
...(homeTab ? fieldsToChildren(homeTab) : []),
|
|
98
|
+
...("tabs" in config
|
|
99
|
+
? config.tabs
|
|
100
|
+
.filter((t) => !/home/i.test(t.id) && !t.toggleable && !t.development)
|
|
101
|
+
.map((t) => ({
|
|
102
|
+
text: t.id,
|
|
103
|
+
children: fieldsToChildren(t.fields),
|
|
104
|
+
}))
|
|
105
|
+
: []),
|
|
106
|
+
];
|
|
107
|
+
return (0, createPage_1.default)({
|
|
108
|
+
title,
|
|
109
|
+
tree: rawTree.length ? rawTree : [{ text: " " }],
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
const render = ({ h, title, pageUid = (0, getPageUidByPageTitle_1.default)(title), config, }) => {
|
|
113
|
+
var _a, _b;
|
|
114
|
+
const uid = (0, getPageUidByPageTitle_1.default)(title);
|
|
115
|
+
const attribute = `data-roamjs-${uid}`;
|
|
116
|
+
const containerParent = (_a = h.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
117
|
+
if (containerParent && !containerParent.hasAttribute(attribute)) {
|
|
118
|
+
containerParent.setAttribute(attribute, "true");
|
|
119
|
+
const parent = document.createElement("div");
|
|
120
|
+
const configPageId = title.split("/").slice(-1)[0];
|
|
121
|
+
parent.id = `${configPageId}-config`;
|
|
122
|
+
containerParent.insertBefore(parent, ((_b = h.parentElement) === null || _b === void 0 ? void 0 : _b.nextElementSibling) || null);
|
|
123
|
+
react_dom_1.default.render(react_1.default.createElement(ConfigPage, { id: configPageId, config: config, pageUid: pageUid }), parent);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
exports.render = render;
|
|
127
|
+
const createConfigObserver = ({ title, config, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
128
|
+
const pageUid = (0, getPageUidByPageTitle_1.default)(title) ||
|
|
129
|
+
(yield createConfigPage({
|
|
130
|
+
title,
|
|
131
|
+
config,
|
|
132
|
+
}));
|
|
133
|
+
if ("tabs" in config ? !!config.tabs.length : !!config.length) {
|
|
134
|
+
const observer = (0, createHTMLObserver_1.default)({
|
|
135
|
+
className: "rm-title-display",
|
|
136
|
+
tag: "H1",
|
|
137
|
+
callback: (d) => {
|
|
138
|
+
const h = d;
|
|
139
|
+
if (h.innerText === title) {
|
|
140
|
+
(0, exports.render)({
|
|
141
|
+
pageUid,
|
|
142
|
+
config,
|
|
143
|
+
title,
|
|
144
|
+
h,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
pageUid,
|
|
151
|
+
observer,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
pageUid,
|
|
156
|
+
};
|
|
157
|
+
});
|
|
158
|
+
exports.createConfigObserver = createConfigObserver;
|
|
159
|
+
exports.default = ConfigPage;
|
|
160
|
+
//# sourceMappingURL=ConfigPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigPage.js","sourceRoot":"","sources":["../../src/components/ConfigPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Card, Tab, Tabs } from \"@blueprintjs/core\";\nimport React, { useCallback, useMemo, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport createHTMLObserver from \"../dom/createHTMLObserver\";\nimport createBlock from \"../writes/createBlock\";\nimport createPage from \"../writes/createPage\";\nimport getBasicTreeByParentUid from \"../queries/getBasicTreeByParentUid\";\nimport getPageUidByPageTitle from \"../queries/getPageUidByPageTitle\";\nimport getShallowTreeByParentUid from \"../queries/getShallowTreeByParentUid\";\nimport localStorageGet from \"../util/localStorageGet\";\nimport idToTitle from \"../util/idToTitle\";\nimport type { Field, UnionField } from \"./ConfigPanels/types\";\nimport { Brand } from \"./ConfigPanels/getBrandColors\";\nimport { InputTextNode } from \"../types\";\n\nexport type ConfigTab = {\n id: string;\n toggleable?: boolean | \"premium\";\n onEnable?: () => void;\n onDisable?: () => void;\n development?: boolean;\n fields: Field<UnionField>[];\n};\n\ntype Config =\n | {\n tabs: ConfigTab[];\n versioning?: boolean;\n brand?: Brand;\n }\n | Field<UnionField>[];\n\nconst FieldTabs = ({\n id,\n fields,\n uid,\n pageUid,\n order,\n toggleable,\n}: {\n uid: string;\n pageUid: string;\n order: number;\n extensionId: string;\n} & ConfigTab) => {\n const parentUid = useMemo(() => {\n if (/home/i.test(id)) {\n return pageUid;\n }\n if (uid) {\n return uid;\n }\n if (toggleable) {\n return \"\";\n }\n const newUid = window.roamAlphaAPI.util.generateUID();\n createBlock({\n parentUid: pageUid,\n order,\n node: { text: id, uid: newUid },\n });\n return newUid;\n }, [pageUid, uid, id, toggleable]);\n const childUids = Object.fromEntries(\n getShallowTreeByParentUid(parentUid).map(({ text, uid }) => [\n text.toLowerCase().trim(),\n uid,\n ])\n );\n const [selectedTabId, setSelectedTabId] = useState(\n fields.length && typeof toggleable !== \"string\"\n ? fields[0].title\n : \"enabled\"\n );\n const onTabsChange = useCallback(\n (tabId: string) => setSelectedTabId(tabId),\n [setSelectedTabId]\n );\n return (\n <Tabs\n vertical\n id={`${id}-field-tabs`}\n onChange={onTabsChange}\n selectedTabId={selectedTabId}\n renderActiveTabPanelOnly\n >\n {fields.map((field, i) => {\n const { Panel, title, defaultValue } = field;\n return (\n <Tab\n id={title}\n key={title}\n title={idToTitle(title)}\n panel={\n <Panel\n {...field}\n defaultValue={defaultValue}\n order={i}\n parentUid={parentUid}\n uid={childUids[title.toLowerCase()]}\n />\n }\n />\n );\n })}\n </Tabs>\n );\n};\n\nconst ConfigPage = ({\n id,\n config,\n pageUid,\n}: {\n id: string;\n config: Config;\n pageUid: string;\n}): React.ReactElement => {\n const isLegacy = \"tabs\" in config;\n const userTabs = isLegacy\n ? config.tabs.filter((t) => t.fields.length || t.toggleable)\n : [{ fields: config, id: \"home\" }];\n const [selectedTabId, setSelectedTabId] = useState(userTabs[0]?.id);\n const onTabsChange = useCallback(\n (tabId: string) => setSelectedTabId(tabId),\n [setSelectedTabId]\n );\n const tree = getBasicTreeByParentUid(pageUid);\n\n // first character trimmed intentionally for the `v` below\n const titleRef = useRef<HTMLDivElement>(null);\n const experimentalMode = useMemo(() => localStorageGet(\"experimental\"), []);\n return (\n <Card style={{ color: \"#202B33\" }} className={\"roamjs-config-panel\"}>\n <div\n style={{ display: \"flex\", justifyContent: \"space-between\" }}\n ref={titleRef}\n tabIndex={-1}\n >\n <h4 style={{ padding: 4 }}>{idToTitle(id)} Configuration</h4>\n </div>\n <style>{`.roamjs-config-tabs {\\npadding: 4px;\\n}`}</style>\n {isLegacy ? (\n <Tabs\n id={`${id}-config-tabs`}\n onChange={onTabsChange}\n selectedTabId={selectedTabId}\n renderActiveTabPanelOnly\n className={\"roamjs-config-tabs\"}\n >\n {userTabs.map(\n (\n {\n id: tabId,\n fields,\n toggleable,\n development = false,\n onEnable,\n onDisable,\n },\n i\n ) => (\n <Tab\n id={tabId}\n key={tabId}\n title={idToTitle(tabId)}\n disabled={development && !experimentalMode}\n panel={\n <FieldTabs\n id={tabId}\n extensionId={id}\n fields={fields}\n uid={\n tree.find((t) => new RegExp(tabId, \"i\").test(t.text))\n ?.uid || \"\"\n }\n pageUid={pageUid}\n order={i}\n toggleable={toggleable}\n onEnable={onEnable}\n onDisable={onDisable}\n />\n }\n />\n )\n )}\n </Tabs>\n ) : (\n <FieldTabs\n id={\"home\"}\n extensionId={id}\n fields={config}\n uid={pageUid}\n pageUid={pageUid}\n order={0}\n toggleable={false}\n />\n )}\n </Card>\n );\n};\n\n// TODO: better nested type discrimination here\nconst fieldsToChildren = (fields: Field<UnionField>[]) =>\n fields\n .filter((f) => !!f.defaultValue)\n .map((f) => ({\n text: f.title,\n children:\n f.Panel.type === \"flag\"\n ? []\n : f.Panel.type === \"custom\"\n ? (f.defaultValue as InputTextNode[]) || []\n : f.Panel.type === \"pages\" || f.Panel.type === \"multitext\"\n ? (f.defaultValue as string[])?.map((v) => ({ text: v }))\n : f.Panel.type === \"block\"\n ? f.defaultValue\n ? [f.defaultValue as InputTextNode]\n : []\n : [{ text: `${f.defaultValue}` }],\n }));\n\nconst createConfigPage = ({\n title,\n config,\n}: {\n title: string;\n config: Config;\n}) => {\n const homeTab =\n \"tabs\" in config\n ? config.tabs.find((t) => /home/i.test(t.id))?.fields\n : config;\n const rawTree = [\n ...(homeTab ? fieldsToChildren(homeTab) : []),\n ...(\"tabs\" in config\n ? config.tabs\n .filter((t) => !/home/i.test(t.id) && !t.toggleable && !t.development)\n .map((t) => ({\n text: t.id,\n children: fieldsToChildren(t.fields),\n }))\n : []),\n ];\n return createPage({\n title,\n tree: rawTree.length ? rawTree : [{ text: \" \" }],\n });\n};\n\nexport const render = ({\n h,\n title,\n pageUid = getPageUidByPageTitle(title),\n config,\n}: {\n h: HTMLHeadingElement;\n title: string;\n pageUid?: string;\n config: Config;\n}) => {\n const uid = getPageUidByPageTitle(title);\n const attribute = `data-roamjs-${uid}`;\n const containerParent = h.parentElement?.parentElement;\n if (containerParent && !containerParent.hasAttribute(attribute)) {\n containerParent.setAttribute(attribute, \"true\");\n const parent = document.createElement(\"div\");\n const configPageId = title.split(\"/\").slice(-1)[0];\n parent.id = `${configPageId}-config`;\n containerParent.insertBefore(\n parent,\n h.parentElement?.nextElementSibling || null\n );\n ReactDOM.render(\n <ConfigPage id={configPageId} config={config} pageUid={pageUid} />,\n parent\n );\n }\n};\n\nexport const createConfigObserver = async ({\n title,\n config,\n}: {\n title: string;\n config: Config;\n}): Promise<{ pageUid: string; observer?: MutationObserver }> => {\n const pageUid =\n getPageUidByPageTitle(title) ||\n (await createConfigPage({\n title,\n config,\n }));\n if (\"tabs\" in config ? !!config.tabs.length : !!config.length) {\n const observer = createHTMLObserver({\n className: \"rm-title-display\",\n tag: \"H1\",\n callback: (d: HTMLElement) => {\n const h = d as HTMLHeadingElement;\n if (h.innerText === title) {\n render({\n pageUid,\n config,\n title,\n h,\n });\n }\n },\n });\n return {\n pageUid,\n observer,\n };\n }\n return {\n pageUid,\n };\n};\n\nexport default ConfigPage;\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const getFirstChildUidByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getFirstChildUidByBlockUid"));
|
|
7
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
|
|
8
|
+
const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
|
|
9
|
+
const Description_1 = tslib_1.__importDefault(require("../Description"));
|
|
10
|
+
const BlockPanel = ({ uid: initialUid, parentUid, title, defaultValue, description, }) => {
|
|
11
|
+
const containerRef = (0, react_1.useRef)(null);
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
if (containerRef.current) {
|
|
14
|
+
const el = containerRef.current;
|
|
15
|
+
(initialUid
|
|
16
|
+
? Promise.resolve(initialUid)
|
|
17
|
+
: (0, createBlock_1.default)({ node: { text: title, children: [] }, parentUid }))
|
|
18
|
+
.then((formatUid) => (0, getFirstChildUidByBlockUid_1.default)(formatUid) ||
|
|
19
|
+
(0, createBlock_1.default)({
|
|
20
|
+
node: defaultValue || { text: " " },
|
|
21
|
+
parentUid: formatUid,
|
|
22
|
+
}))
|
|
23
|
+
.then((uid) => {
|
|
24
|
+
window.roamAlphaAPI.ui.components.renderBlock({
|
|
25
|
+
uid,
|
|
26
|
+
el,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}, [containerRef, defaultValue]);
|
|
31
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
32
|
+
react_1.default.createElement(core_1.Label, null,
|
|
33
|
+
(0, idToTitle_1.default)(title),
|
|
34
|
+
react_1.default.createElement(Description_1.default, { description: description })),
|
|
35
|
+
react_1.default.createElement("div", { ref: containerRef, style: {
|
|
36
|
+
border: "1px solid #33333333",
|
|
37
|
+
padding: "8px 0",
|
|
38
|
+
borderRadius: 4,
|
|
39
|
+
} })));
|
|
40
|
+
};
|
|
41
|
+
BlockPanel.type = "block";
|
|
42
|
+
exports.default = BlockPanel;
|
|
43
|
+
//# sourceMappingURL=BlockPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/BlockPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAiD;AACjD,kHAAkF;AAClF,6EAA6C;AAC7C,mFAAmD;AACnD,yEAAyC;AAGzC,MAAM,UAAU,GAA2B,CAAC,EAC1C,GAAG,EAAE,UAAU,EACf,SAAS,EACT,KAAK,EACL,YAAY,EACZ,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAClC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,EAAE;YACxB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;YAChC,CAAC,UAAU;gBACT,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,CAAC,CAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClE;iBACE,IAAI,CACH,CAAC,SAAS,EAAE,EAAE,CACZ,IAAA,oCAA0B,EAAC,SAAS,CAAC;gBACrC,IAAA,qBAAW,EAAC;oBACV,IAAI,EAAE,YAAY,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;oBACnC,SAAS,EAAE,SAAS;iBACrB,CAAC,CACL;iBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC5C,GAAG;oBACH,EAAE;iBACH,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACN;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IACjC,OAAO,CACL;QACE,8BAAC,YAAK;YACH,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACnC;QACR,uCACE,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;gBACL,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,CAAC;aAChB,GACI,CACN,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;AAE1B,kBAAe,UAAU,CAAC","sourcesContent":["import { Label } from \"@blueprintjs/core\";\nimport React, { useRef, useEffect } from \"react\";\nimport getFirstChildUidByBlockUid from \"../../queries/getFirstChildUidByBlockUid\";\nimport idToTitle from \"../../util/idToTitle\";\nimport createBlock from \"../../writes/createBlock\";\nimport Description from \"../Description\";\nimport type { FieldPanel, BlockField } from \"./types\";\n\nconst BlockPanel: FieldPanel<BlockField> = ({\n uid: initialUid,\n parentUid,\n title,\n defaultValue,\n description,\n}) => {\n const containerRef = useRef(null);\n useEffect(() => {\n if (containerRef.current) {\n const el = containerRef.current;\n (initialUid\n ? Promise.resolve(initialUid)\n : createBlock({ node: { text: title, children: [] }, parentUid })\n )\n .then(\n (formatUid) =>\n getFirstChildUidByBlockUid(formatUid) ||\n createBlock({\n node: defaultValue || { text: \" \" },\n parentUid: formatUid,\n })\n )\n .then((uid) => {\n window.roamAlphaAPI.ui.components.renderBlock({\n uid,\n el,\n });\n });\n }\n }, [containerRef, defaultValue]);\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n </Label>\n <div\n ref={containerRef}\n style={{\n border: \"1px solid #33333333\",\n padding: \"8px 0\",\n borderRadius: 4,\n }}\n ></div>\n </>\n );\n};\n\nBlockPanel.type = \"block\";\n\nexport default BlockPanel;\n"]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const getFirstChildUidByBlockUid_1 = tslib_1.__importDefault(require("../../queries/getFirstChildUidByBlockUid"));
|
|
7
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
|
|
8
|
+
const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
|
|
9
|
+
const Description_1 = tslib_1.__importDefault(require("../Description"));
|
|
10
|
+
const BlocksPanel = ({ uid: initialUid, parentUid, title, defaultValue, description, }) => {
|
|
11
|
+
const containerRef = (0, react_1.useRef)(null);
|
|
12
|
+
const [navUid, setNavUid] = (0, react_1.useState)(initialUid || parentUid);
|
|
13
|
+
(0, react_1.useEffect)(() => {
|
|
14
|
+
if (containerRef.current) {
|
|
15
|
+
const el = containerRef.current;
|
|
16
|
+
(initialUid
|
|
17
|
+
? Promise.resolve(initialUid)
|
|
18
|
+
: (0, createBlock_1.default)({ node: { text: title, children: [] }, parentUid }).then((uid) => {
|
|
19
|
+
setNavUid(uid);
|
|
20
|
+
return uid;
|
|
21
|
+
}))
|
|
22
|
+
.then((formatUid) => (0, getFirstChildUidByBlockUid_1.default)(formatUid)
|
|
23
|
+
? formatUid
|
|
24
|
+
: ((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.length)
|
|
25
|
+
? Promise.all(defaultValue.map((node, order) => (0, createBlock_1.default)({
|
|
26
|
+
node,
|
|
27
|
+
parentUid: formatUid,
|
|
28
|
+
order,
|
|
29
|
+
})))
|
|
30
|
+
: (0, createBlock_1.default)({
|
|
31
|
+
node: { text: " " },
|
|
32
|
+
parentUid: formatUid,
|
|
33
|
+
})).then(() => formatUid))
|
|
34
|
+
.then((uid) => {
|
|
35
|
+
window.roamAlphaAPI.ui.components.renderBlock({
|
|
36
|
+
uid,
|
|
37
|
+
el,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, [containerRef, defaultValue, setNavUid]);
|
|
42
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
43
|
+
react_1.default.createElement(core_1.Label, null,
|
|
44
|
+
(0, idToTitle_1.default)(title),
|
|
45
|
+
react_1.default.createElement(Description_1.default, { description: description }),
|
|
46
|
+
react_1.default.createElement(core_1.Tooltip, { content: "Click here to edit these blocks directly" },
|
|
47
|
+
react_1.default.createElement(core_1.Button, { icon: "link", minimal: true, onClick: () => window.roamAlphaAPI.ui.mainWindow.openBlock({
|
|
48
|
+
block: { uid: navUid },
|
|
49
|
+
}) }))),
|
|
50
|
+
react_1.default.createElement("style", null, `.roamjs-config-blocks > div > .rm-block-main {
|
|
51
|
+
display: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.roamjs-config-blocks > div > .rm-block-children > .rm-multibar {
|
|
55
|
+
display: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.roamjs-config-blocks > div > .rm-block-children {
|
|
59
|
+
margin-left: -4px;
|
|
60
|
+
}`),
|
|
61
|
+
react_1.default.createElement("div", { ref: containerRef, style: {
|
|
62
|
+
border: "1px solid #33333333",
|
|
63
|
+
padding: "8px 0",
|
|
64
|
+
borderRadius: 4,
|
|
65
|
+
}, className: "roamjs-config-blocks" })));
|
|
66
|
+
};
|
|
67
|
+
BlocksPanel.type = "blocks";
|
|
68
|
+
exports.default = BlocksPanel;
|
|
69
|
+
//# sourceMappingURL=BlocksPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlocksPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/BlocksPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Button, Label, Tooltip } from \"@blueprintjs/core\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport getFirstChildUidByBlockUid from \"../../queries/getFirstChildUidByBlockUid\";\nimport idToTitle from \"../../util/idToTitle\";\nimport createBlock from \"../../writes/createBlock\";\nimport Description from \"../Description\";\nimport type { FieldPanel, BlocksField } from \"./types\";\n\nconst BlocksPanel: FieldPanel<BlocksField> = ({\n uid: initialUid,\n parentUid,\n title,\n defaultValue,\n description,\n}) => {\n const containerRef = useRef(null);\n const [navUid, setNavUid] = useState(initialUid || parentUid);\n useEffect(() => {\n if (containerRef.current) {\n const el = containerRef.current;\n (initialUid\n ? Promise.resolve(initialUid)\n : createBlock({ node: { text: title, children: [] }, parentUid }).then(\n (uid) => {\n setNavUid(uid);\n return uid;\n }\n )\n )\n .then((formatUid) =>\n getFirstChildUidByBlockUid(formatUid)\n ? formatUid\n : (defaultValue?.length\n ? Promise.all(\n defaultValue.map((node, order) =>\n createBlock({\n node,\n parentUid: formatUid,\n order,\n })\n )\n )\n : createBlock({\n node: { text: \" \" },\n parentUid: formatUid,\n })\n ).then(() => formatUid)\n )\n .then((uid) => {\n window.roamAlphaAPI.ui.components.renderBlock({\n uid,\n el,\n });\n });\n }\n }, [containerRef, defaultValue, setNavUid]);\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n <Tooltip content={\"Click here to edit these blocks directly\"}>\n <Button\n icon={\"link\"}\n minimal\n onClick={() =>\n window.roamAlphaAPI.ui.mainWindow.openBlock({\n block: { uid: navUid },\n })\n }\n />\n </Tooltip>\n </Label>\n <style>{`.roamjs-config-blocks > div > .rm-block-main {\n display: none;\n }\n \n .roamjs-config-blocks > div > .rm-block-children > .rm-multibar {\n display: none;\n }\n \n .roamjs-config-blocks > div > .rm-block-children {\n margin-left: -4px;\n }`}</style>\n <div\n ref={containerRef}\n style={{\n border: \"1px solid #33333333\",\n padding: \"8px 0\",\n borderRadius: 4,\n }}\n className={\"roamjs-config-blocks\"}\n ></div>\n </>\n );\n};\n\nBlocksPanel.type = \"blocks\";\n\nexport default BlocksPanel;\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
|
|
7
|
+
const createBlock_1 = tslib_1.__importDefault(require("../../writes/createBlock"));
|
|
8
|
+
const Description_1 = tslib_1.__importDefault(require("../Description"));
|
|
9
|
+
const CustomPanel = ({ description, title, uid: inputUid, options: { component: Component }, parentUid, defaultValue = [], order, }) => {
|
|
10
|
+
const uid = (0, react_1.useMemo)(() => {
|
|
11
|
+
if (inputUid)
|
|
12
|
+
return inputUid;
|
|
13
|
+
const newUid = window.roamAlphaAPI.util.generateUID();
|
|
14
|
+
(0, createBlock_1.default)({ node: { text: title, uid: newUid }, parentUid, order });
|
|
15
|
+
return newUid;
|
|
16
|
+
}, [inputUid]);
|
|
17
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
18
|
+
react_1.default.createElement(core_1.Label, null,
|
|
19
|
+
(0, idToTitle_1.default)(title),
|
|
20
|
+
react_1.default.createElement(Description_1.default, { description: description })),
|
|
21
|
+
react_1.default.createElement(Component, { uid: uid, parentUid: parentUid, title: title, defaultValue: defaultValue })));
|
|
22
|
+
};
|
|
23
|
+
CustomPanel.type = "custom";
|
|
24
|
+
exports.default = CustomPanel;
|
|
25
|
+
//# sourceMappingURL=CustomPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/CustomPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,uDAAuC;AACvC,6EAA6C;AAC7C,mFAAmD;AACnD,yEAAyC;AAGzC,MAAM,WAAW,GAA4B,CAAC,EAC5C,WAAW,EACX,KAAK,EACL,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EACjC,SAAS,EACT,YAAY,GAAG,EAAE,EACjB,KAAK,GACN,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvB,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtD,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,OAAO,CACL;QACE,8BAAC,YAAK;YACH,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACnC;QACR,8BAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,GAC1B,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC","sourcesContent":["import { Label } from \"@blueprintjs/core\";\nimport React, { useMemo } from \"react\";\nimport idToTitle from \"../../util/idToTitle\";\nimport createBlock from \"../../writes/createBlock\";\nimport Description from \"../Description\";\nimport type { FieldPanel, CustomField } from \"./types\";\n\nconst CustomPanel: FieldPanel<CustomField> = ({\n description,\n title,\n uid: inputUid,\n options: { component: Component },\n parentUid,\n defaultValue = [],\n order,\n}) => {\n const uid = useMemo(() => {\n if (inputUid) return inputUid;\n const newUid = window.roamAlphaAPI.util.generateUID();\n createBlock({ node: { text: title, uid: newUid }, parentUid, order });\n return newUid;\n }, [inputUid]);\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n </Label>\n <Component\n uid={uid}\n parentUid={parentUid}\n title={title}\n defaultValue={defaultValue}\n />\n </>\n );\n};\n\nCustomPanel.type = \"custom\";\n\nexport default CustomPanel;\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
|
|
7
|
+
const Description_1 = tslib_1.__importDefault(require("../Description"));
|
|
8
|
+
const FlagPanel = ({ title, uid: initialUid, parentUid, order, description, options = {}, disabled = false, }) => {
|
|
9
|
+
const [uid, setUid] = (0, react_1.useState)(initialUid);
|
|
10
|
+
return (react_1.default.createElement(core_1.Checkbox, { checked: !!uid, disabled: disabled, onChange: (e) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const { checked } = e.target;
|
|
13
|
+
if (checked) {
|
|
14
|
+
const newUid = window.roamAlphaAPI.util.generateUID();
|
|
15
|
+
window.roamAlphaAPI.createBlock({
|
|
16
|
+
block: { string: title, uid: newUid },
|
|
17
|
+
location: { order, "parent-uid": parentUid },
|
|
18
|
+
});
|
|
19
|
+
setTimeout(() => setUid(newUid), 1);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
window.roamAlphaAPI.deleteBlock({ block: { uid } });
|
|
23
|
+
setUid("");
|
|
24
|
+
}
|
|
25
|
+
(_a = options.onChange) === null || _a === void 0 ? void 0 : _a.call(options, checked, e);
|
|
26
|
+
}, labelElement: react_1.default.createElement(react_1.default.Fragment, null,
|
|
27
|
+
(0, idToTitle_1.default)(title),
|
|
28
|
+
react_1.default.createElement(Description_1.default, { description: description })) }));
|
|
29
|
+
};
|
|
30
|
+
FlagPanel.type = "flag";
|
|
31
|
+
exports.default = FlagPanel;
|
|
32
|
+
//# sourceMappingURL=FlagPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlagPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/FlagPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA6C;AAC7C,uDAAwC;AACxC,6EAA6C;AAC7C,yEAAyC;AAGzC,MAAM,SAAS,GAA0B,CAAC,EACxC,KAAK,EACL,GAAG,EAAE,UAAU,EACf,SAAS,EACT,KAAK,EACL,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,KAAK,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,CACL,8BAAC,eAAQ,IACP,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;;YACd,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAA0B,CAAC;YACjD,IAAI,OAAO,EAAE;gBACX,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE;oBACrC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE;iBAC7C,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,CAAC,EAAE,CAAC,CAAC;aACZ;YACD,MAAA,OAAO,CAAC,QAAQ,wDAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,EACD,YAAY,EACV;YACG,IAAA,mBAAS,EAAC,KAAK,CAAC;YACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CACxC,GAEL,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;AAExB,kBAAe,SAAS,CAAC","sourcesContent":["import { Checkbox } from \"@blueprintjs/core\";\nimport React, { useState } from \"react\";\nimport idToTitle from \"../../util/idToTitle\";\nimport Description from \"../Description\";\nimport type { FieldPanel, FlagField } from \"./types\";\n\nconst FlagPanel: FieldPanel<FlagField> = ({\n title,\n uid: initialUid,\n parentUid,\n order,\n description,\n options = {},\n disabled = false,\n}) => {\n const [uid, setUid] = useState(initialUid);\n return (\n <Checkbox\n checked={!!uid}\n disabled={disabled}\n onChange={(e) => {\n const { checked } = e.target as HTMLInputElement;\n if (checked) {\n const newUid = window.roamAlphaAPI.util.generateUID();\n window.roamAlphaAPI.createBlock({\n block: { string: title, uid: newUid },\n location: { order, \"parent-uid\": parentUid },\n });\n setTimeout(() => setUid(newUid), 1);\n } else {\n window.roamAlphaAPI.deleteBlock({ block: { uid } });\n setUid(\"\");\n }\n options.onChange?.(checked, e);\n }}\n labelElement={\n <>\n {idToTitle(title)}\n <Description description={description} />\n </>\n }\n />\n );\n};\n\nFlagPanel.type = \"flag\";\n\nexport default FlagPanel;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { FieldPanel, ArrayField } from "./types";
|
|
3
|
+
declare const MultiChildPanel: FieldPanel<ArrayField, {
|
|
4
|
+
InputComponent: (props: {
|
|
5
|
+
value: string;
|
|
6
|
+
setValue: (s: string) => void;
|
|
7
|
+
}) => React.ReactElement;
|
|
8
|
+
}>;
|
|
9
|
+
export default MultiChildPanel;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const getShallowTreeByParentUid_1 = tslib_1.__importDefault(require("../../queries/getShallowTreeByParentUid"));
|
|
7
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
|
|
8
|
+
const Description_1 = tslib_1.__importDefault(require("../Description"));
|
|
9
|
+
const MultiChildPanel = ({ uid: initialUid, title, description, order, parentUid, InputComponent, }) => {
|
|
10
|
+
const [uid, setUid] = (0, react_1.useState)(initialUid);
|
|
11
|
+
const [texts, setTexts] = (0, react_1.useState)(() => uid ? (0, getShallowTreeByParentUid_1.default)(uid) : []);
|
|
12
|
+
const [value, setValue] = (0, react_1.useState)("");
|
|
13
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
14
|
+
react_1.default.createElement(core_1.Label, null,
|
|
15
|
+
(0, idToTitle_1.default)(title),
|
|
16
|
+
react_1.default.createElement(Description_1.default, { description: description }),
|
|
17
|
+
react_1.default.createElement("div", { style: { display: "flex" } },
|
|
18
|
+
react_1.default.createElement(InputComponent, { value: value, setValue: setValue }),
|
|
19
|
+
react_1.default.createElement(core_1.Button, { icon: "plus", minimal: true, disabled: !value, onClick: () => {
|
|
20
|
+
const valueUid = window.roamAlphaAPI.util.generateUID();
|
|
21
|
+
if (uid) {
|
|
22
|
+
window.roamAlphaAPI.createBlock({
|
|
23
|
+
location: { "parent-uid": uid, order: texts.length },
|
|
24
|
+
block: { string: value, uid: valueUid },
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const newUid = window.roamAlphaAPI.util.generateUID();
|
|
29
|
+
window.roamAlphaAPI.createBlock({
|
|
30
|
+
block: { string: title, uid: newUid },
|
|
31
|
+
location: { order, "parent-uid": parentUid },
|
|
32
|
+
});
|
|
33
|
+
setTimeout(() => setUid(newUid));
|
|
34
|
+
window.roamAlphaAPI.createBlock({
|
|
35
|
+
block: { string: value, uid: valueUid },
|
|
36
|
+
location: { order: 0, "parent-uid": newUid },
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
setTexts([...texts, { text: value, uid: valueUid }]);
|
|
40
|
+
setValue("");
|
|
41
|
+
} }))),
|
|
42
|
+
texts.map((p) => (react_1.default.createElement("div", { key: p.uid, style: {
|
|
43
|
+
display: "flex",
|
|
44
|
+
alignItems: "center",
|
|
45
|
+
justifyContent: "space-between",
|
|
46
|
+
} },
|
|
47
|
+
react_1.default.createElement("span", { style: {
|
|
48
|
+
textOverflow: "ellipsis",
|
|
49
|
+
whiteSpace: "nowrap",
|
|
50
|
+
overflow: "hidden",
|
|
51
|
+
} }, p.text),
|
|
52
|
+
react_1.default.createElement(core_1.Button, { icon: "trash", minimal: true, onClick: () => {
|
|
53
|
+
window.roamAlphaAPI.deleteBlock({ block: { uid: p.uid } });
|
|
54
|
+
setTexts(texts.filter((f) => f.uid !== p.uid));
|
|
55
|
+
} }))))));
|
|
56
|
+
};
|
|
57
|
+
MultiChildPanel.type = "custom";
|
|
58
|
+
exports.default = MultiChildPanel;
|
|
59
|
+
//# sourceMappingURL=MultiChildPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiChildPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/MultiChildPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Button, Label } from \"@blueprintjs/core\";\nimport React, { useState } from \"react\";\nimport getShallowTreeByParentUid from \"../../queries/getShallowTreeByParentUid\";\nimport idToTitle from \"../../util/idToTitle\";\nimport Description from \"../Description\";\nimport type { FieldPanel, ArrayField } from \"./types\";\n\nconst MultiChildPanel: FieldPanel<\n ArrayField,\n {\n InputComponent: (props: {\n value: string;\n setValue: (s: string) => void;\n }) => React.ReactElement;\n }\n> = ({\n uid: initialUid,\n title,\n description,\n order,\n parentUid,\n InputComponent,\n}) => {\n const [uid, setUid] = useState(initialUid);\n const [texts, setTexts] = useState(() =>\n uid ? getShallowTreeByParentUid(uid) : []\n );\n const [value, setValue] = useState(\"\");\n return (\n <>\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n <div style={{ display: \"flex\" }}>\n <InputComponent value={value} setValue={setValue} />\n <Button\n icon={\"plus\"}\n minimal\n disabled={!value}\n onClick={() => {\n const valueUid = window.roamAlphaAPI.util.generateUID();\n if (uid) {\n window.roamAlphaAPI.createBlock({\n location: { \"parent-uid\": uid, order: texts.length },\n block: { string: value, uid: valueUid },\n });\n } else {\n const newUid = window.roamAlphaAPI.util.generateUID();\n window.roamAlphaAPI.createBlock({\n block: { string: title, uid: newUid },\n location: { order, \"parent-uid\": parentUid },\n });\n setTimeout(() => setUid(newUid));\n window.roamAlphaAPI.createBlock({\n block: { string: value, uid: valueUid },\n location: { order: 0, \"parent-uid\": newUid },\n });\n }\n setTexts([...texts, { text: value, uid: valueUid }]);\n setValue(\"\");\n }}\n />\n </div>\n </Label>\n {texts.map((p) => (\n <div\n key={p.uid}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <span\n style={{\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n }}\n >\n {p.text}\n </span>\n <Button\n icon={\"trash\"}\n minimal\n onClick={() => {\n window.roamAlphaAPI.deleteBlock({ block: { uid: p.uid } });\n setTexts(texts.filter((f) => f.uid !== p.uid));\n }}\n />\n </div>\n ))}\n </>\n );\n};\n\nMultiChildPanel.type = \"custom\";\n\nexport default MultiChildPanel;\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const MultiChildPanel_1 = tslib_1.__importDefault(require("./MultiChildPanel"));
|
|
7
|
+
const MultiTextPanel = (props) => {
|
|
8
|
+
return (react_1.default.createElement(MultiChildPanel_1.default, Object.assign({}, props, { InputComponent: ({ value, setValue }) => {
|
|
9
|
+
var _a;
|
|
10
|
+
return (react_1.default.createElement(core_1.InputGroup, { value: value, onChange: (e) => setValue(e.target.value), placeholder: (_a = props.options) === null || _a === void 0 ? void 0 : _a.placeholder }));
|
|
11
|
+
} })));
|
|
12
|
+
};
|
|
13
|
+
MultiTextPanel.type = "multitext";
|
|
14
|
+
exports.default = MultiTextPanel;
|
|
15
|
+
//# sourceMappingURL=MultiTextPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiTextPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/MultiTextPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAA+C;AAC/C,0DAA0B;AAC1B,gFAAgD;AAGhD,MAAM,cAAc,GAA+B,CAAC,KAAK,EAAE,EAAE;IAC3D,OAAO,CACL,8BAAC,yBAAe,oBACV,KAAK,IACT,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;;YAAC,OAAA,CACvC,8BAAC,iBAAU,IACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,WAAW,GACvC,CACH,CAAA;SAAA,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC;AAElC,kBAAe,cAAc,CAAC","sourcesContent":["import { InputGroup } from \"@blueprintjs/core\";\nimport React from \"react\";\nimport MultiChildPanel from \"./MultiChildPanel\";\nimport type { FieldPanel, MultiTextField } from \"./types\";\n\nconst MultiTextPanel: FieldPanel<MultiTextField> = (props) => {\n return (\n <MultiChildPanel\n {...props}\n InputComponent={({ value, setValue }) => (\n <InputGroup\n value={value}\n onChange={(e) => setValue(e.target.value)}\n placeholder={props.options?.placeholder}\n />\n )}\n />\n );\n};\n\nMultiTextPanel.type = \"multitext\";\n\nexport default MultiTextPanel;\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const core_1 = require("@blueprintjs/core");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const idToTitle_1 = tslib_1.__importDefault(require("../../util/idToTitle"));
|
|
7
|
+
const Description_1 = tslib_1.__importDefault(require("../Description"));
|
|
8
|
+
const useSingleChildValue_1 = tslib_1.__importDefault(require("./useSingleChildValue"));
|
|
9
|
+
const NumberPanel = ({ title, uid, parentUid, order, description, defaultValue = 0, }) => {
|
|
10
|
+
const { value, onChange } = (0, useSingleChildValue_1.default)({
|
|
11
|
+
defaultValue,
|
|
12
|
+
title,
|
|
13
|
+
uid,
|
|
14
|
+
parentUid,
|
|
15
|
+
order,
|
|
16
|
+
transform: parseInt,
|
|
17
|
+
toStr: (v) => `${v}`,
|
|
18
|
+
});
|
|
19
|
+
return (react_1.default.createElement(core_1.Label, null,
|
|
20
|
+
(0, idToTitle_1.default)(title),
|
|
21
|
+
react_1.default.createElement(Description_1.default, { description: description }),
|
|
22
|
+
react_1.default.createElement(core_1.NumericInput, { value: value, onValueChange: onChange })));
|
|
23
|
+
};
|
|
24
|
+
NumberPanel.type = "number";
|
|
25
|
+
exports.default = NumberPanel;
|
|
26
|
+
//# sourceMappingURL=NumberPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberPanel.js","sourceRoot":"","sources":["../../../src/components/ConfigPanels/NumberPanel.tsx"],"names":[],"mappings":";;;AAAA,4CAAwD;AACxD,0DAA0B;AAC1B,6EAA6C;AAC7C,yEAAyC;AAEzC,wFAAwD;AAExD,MAAM,WAAW,GAA4B,CAAC,EAC5C,KAAK,EACL,GAAG,EACH,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,GAAG,CAAC,GACjB,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EAAC;QAC9C,YAAY;QACZ,KAAK;QACL,GAAG;QACH,SAAS;QACT,KAAK;QACL,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;KACrB,CAAC,CAAC;IACH,OAAO,CACL,8BAAC,YAAK;QACH,IAAA,mBAAS,EAAC,KAAK,CAAC;QACjB,8BAAC,qBAAW,IAAC,WAAW,EAAE,WAAW,GAAI;QACzC,8BAAC,mBAAY,IAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,GAAI,CACjD,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAE5B,kBAAe,WAAW,CAAC","sourcesContent":["import { Label, NumericInput } from \"@blueprintjs/core\";\nimport React from \"react\";\nimport idToTitle from \"../../util/idToTitle\";\nimport Description from \"../Description\";\nimport { FieldPanel, NumberField } from \"./types\";\nimport useSingleChildValue from \"./useSingleChildValue\";\n\nconst NumberPanel: FieldPanel<NumberField> = ({\n title,\n uid,\n parentUid,\n order,\n description,\n defaultValue = 0,\n}) => {\n const { value, onChange } = useSingleChildValue({\n defaultValue,\n title,\n uid,\n parentUid,\n order,\n transform: parseInt,\n toStr: (v) => `${v}`,\n });\n return (\n <Label>\n {idToTitle(title)}\n <Description description={description} />\n <NumericInput value={value} onValueChange={onChange} />\n </Label>\n );\n};\n\nNumberPanel.type = \"number\";\n\nexport default NumberPanel;\n"]}
|