@bendyline/docblocks-react 1.1.2 → 2.0.0
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/README.md +31 -5
- package/dist/AppMenu/AppMenu.d.ts +29 -2
- package/dist/AppMenu/AppMenu.d.ts.map +1 -1
- package/dist/AppMenu/AppMenu.js +41 -2
- package/dist/AppMenu/AppMenu.js.map +1 -1
- package/dist/AppMenu/index.d.ts +1 -1
- package/dist/AppMenu/index.d.ts.map +1 -1
- package/dist/DocBlocksShell/DocBlocksShell.d.ts +15 -2
- package/dist/DocBlocksShell/DocBlocksShell.d.ts.map +1 -1
- package/dist/DocBlocksShell/DocBlocksShell.js +1677 -298
- package/dist/DocBlocksShell/DocBlocksShell.js.map +1 -1
- package/dist/DocBlocksShell/LazyEditorShell.d.ts +3 -0
- package/dist/DocBlocksShell/LazyEditorShell.d.ts.map +1 -0
- package/dist/DocBlocksShell/LazyEditorShell.js +3 -0
- package/dist/DocBlocksShell/LazyEditorShell.js.map +1 -0
- package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts +13 -0
- package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts.map +1 -0
- package/dist/DocBlocksShell/UpdateAvailableNotice.js +16 -0
- package/dist/DocBlocksShell/UpdateAvailableNotice.js.map +1 -0
- package/dist/DocBlocksShell/document-title.d.ts +3 -0
- package/dist/DocBlocksShell/document-title.d.ts.map +1 -0
- package/dist/DocBlocksShell/document-title.js +17 -0
- package/dist/DocBlocksShell/document-title.js.map +1 -0
- package/dist/DocBlocksShell/workspace-authority-barrier.d.ts +14 -0
- package/dist/DocBlocksShell/workspace-authority-barrier.d.ts.map +1 -0
- package/dist/DocBlocksShell/workspace-authority-barrier.js +23 -0
- package/dist/DocBlocksShell/workspace-authority-barrier.js.map +1 -0
- package/dist/Export/DeferredExportToolbarControls.d.ts +5 -0
- package/dist/Export/DeferredExportToolbarControls.d.ts.map +1 -0
- package/dist/Export/DeferredExportToolbarControls.js +10 -0
- package/dist/Export/DeferredExportToolbarControls.js.map +1 -0
- package/dist/Export/ExportDialog.d.ts +10 -1
- package/dist/Export/ExportDialog.d.ts.map +1 -1
- package/dist/Export/ExportDialog.js +20 -18
- package/dist/Export/ExportDialog.js.map +1 -1
- package/dist/Export/ExportToolbarControls.d.ts +21 -1
- package/dist/Export/ExportToolbarControls.d.ts.map +1 -1
- package/dist/Export/ExportToolbarControls.js +96 -11
- package/dist/Export/ExportToolbarControls.js.map +1 -1
- package/dist/Export/export-destination.d.ts +3 -0
- package/dist/Export/export-destination.d.ts.map +1 -0
- package/dist/Export/export-destination.js +32 -0
- package/dist/Export/export-destination.js.map +1 -0
- package/dist/Export/index.d.ts +8 -4
- package/dist/Export/index.d.ts.map +1 -1
- package/dist/Export/index.js +4 -1
- package/dist/Export/index.js.map +1 -1
- package/dist/Export/public-api.d.ts +12 -0
- package/dist/Export/public-api.d.ts.map +1 -0
- package/dist/Export/public-api.js +9 -0
- package/dist/Export/public-api.js.map +1 -0
- package/dist/Export/run-export.d.ts +3 -1
- package/dist/Export/run-export.d.ts.map +1 -1
- package/dist/Export/run-export.js +30 -13
- package/dist/Export/run-export.js.map +1 -1
- package/dist/ExportDialog-MEUISWZX.js +9 -0
- package/dist/ExportDialog-MEUISWZX.js.map +1 -0
- package/dist/ExportToolbarControls-D2YDWOXW.js +373 -0
- package/dist/ExportToolbarControls-D2YDWOXW.js.map +1 -0
- package/dist/FileExplorer/FileExplorer.d.ts +26 -4
- package/dist/FileExplorer/FileExplorer.d.ts.map +1 -1
- package/dist/FileExplorer/FileExplorer.js +204 -29
- package/dist/FileExplorer/FileExplorer.js.map +1 -1
- package/dist/FileExplorer/FileTreeNode.d.ts +24 -3
- package/dist/FileExplorer/FileTreeNode.d.ts.map +1 -1
- package/dist/FileExplorer/FileTreeNode.js +27 -8
- package/dist/FileExplorer/FileTreeNode.js.map +1 -1
- package/dist/FileExplorer/index.d.ts +1 -1
- package/dist/FileExplorer/index.d.ts.map +1 -1
- package/dist/FileExplorer/useFileTree.d.ts +5 -3
- package/dist/FileExplorer/useFileTree.d.ts.map +1 -1
- package/dist/FileExplorer/useFileTree.js +173 -13
- package/dist/FileExplorer/useFileTree.js.map +1 -1
- package/dist/Git/GitAuthGuidanceDialog.d.ts +18 -0
- package/dist/Git/GitAuthGuidanceDialog.d.ts.map +1 -0
- package/dist/Git/GitAuthGuidanceDialog.js +27 -0
- package/dist/Git/GitAuthGuidanceDialog.js.map +1 -0
- package/dist/Git/GitBranchesDialog.d.ts +13 -0
- package/dist/Git/GitBranchesDialog.d.ts.map +1 -0
- package/dist/Git/GitBranchesDialog.js +59 -0
- package/dist/Git/GitBranchesDialog.js.map +1 -0
- package/dist/Git/GitCloneDialog.d.ts +14 -0
- package/dist/Git/GitCloneDialog.d.ts.map +1 -0
- package/dist/Git/GitCloneDialog.js +79 -0
- package/dist/Git/GitCloneDialog.js.map +1 -0
- package/dist/Git/GitCommitDialog.d.ts +12 -0
- package/dist/Git/GitCommitDialog.d.ts.map +1 -0
- package/dist/Git/GitCommitDialog.js +38 -0
- package/dist/Git/GitCommitDialog.js.map +1 -0
- package/dist/Git/GitConflictsDialog.d.ts +12 -0
- package/dist/Git/GitConflictsDialog.d.ts.map +1 -0
- package/dist/Git/GitConflictsDialog.js +17 -0
- package/dist/Git/GitConflictsDialog.js.map +1 -0
- package/dist/Git/GitContext.d.ts +89 -0
- package/dist/Git/GitContext.d.ts.map +1 -0
- package/dist/Git/GitContext.js +15 -0
- package/dist/Git/GitContext.js.map +1 -0
- package/dist/Git/GitDiffDialog.d.ts +20 -0
- package/dist/Git/GitDiffDialog.d.ts.map +1 -0
- package/dist/Git/GitDiffDialog.js +100 -0
- package/dist/Git/GitDiffDialog.js.map +1 -0
- package/dist/Git/GitDiffView.d.ts +23 -0
- package/dist/Git/GitDiffView.d.ts.map +1 -0
- package/dist/Git/GitDiffView.js +77 -0
- package/dist/Git/GitDiffView.js.map +1 -0
- package/dist/Git/GitHistoryDialog.d.ts +15 -0
- package/dist/Git/GitHistoryDialog.d.ts.map +1 -0
- package/dist/Git/GitHistoryDialog.js +107 -0
- package/dist/Git/GitHistoryDialog.js.map +1 -0
- package/dist/Git/GitStatusBar.d.ts +8 -0
- package/dist/Git/GitStatusBar.d.ts.map +1 -0
- package/dist/Git/GitStatusBar.js +49 -0
- package/dist/Git/GitStatusBar.js.map +1 -0
- package/dist/Git/GitToolbarControl.d.ts +15 -0
- package/dist/Git/GitToolbarControl.d.ts.map +1 -0
- package/dist/Git/GitToolbarControl.js +51 -0
- package/dist/Git/GitToolbarControl.js.map +1 -0
- package/dist/Git/GitUI.d.ts +14 -0
- package/dist/Git/GitUI.d.ts.map +1 -0
- package/dist/Git/GitUI.js +21 -0
- package/dist/Git/GitUI.js.map +1 -0
- package/dist/Git/commit-selection.d.ts +22 -0
- package/dist/Git/commit-selection.d.ts.map +1 -0
- package/dist/Git/commit-selection.js +47 -0
- package/dist/Git/commit-selection.js.map +1 -0
- package/dist/Git/git-clone-utils.d.ts +8 -0
- package/dist/Git/git-clone-utils.d.ts.map +1 -0
- package/dist/Git/git-clone-utils.js +26 -0
- package/dist/Git/git-clone-utils.js.map +1 -0
- package/dist/Git/git-status.d.ts +24 -0
- package/dist/Git/git-status.d.ts.map +1 -0
- package/dist/Git/git-status.js +105 -0
- package/dist/Git/git-status.js.map +1 -0
- package/dist/Git/useGit.d.ts +15 -0
- package/dist/Git/useGit.d.ts.map +1 -0
- package/dist/Git/useGit.js +206 -0
- package/dist/Git/useGit.js.map +1 -0
- package/dist/Git/useGitStatus.d.ts +17 -0
- package/dist/Git/useGitStatus.d.ts.map +1 -0
- package/dist/Git/useGitStatus.js +63 -0
- package/dist/Git/useGitStatus.js.map +1 -0
- package/dist/GitToolbarControl-LMIR4R7I.js +117 -0
- package/dist/GitToolbarControl-LMIR4R7I.js.map +1 -0
- package/dist/GitUI-KGF5MSNV.js +1048 -0
- package/dist/GitUI-KGF5MSNV.js.map +1 -0
- package/dist/LazyEditorShell-EF2BWRXU.js +6 -0
- package/dist/LazyEditorShell-EF2BWRXU.js.map +1 -0
- package/dist/Settings/Settings.d.ts +23 -0
- package/dist/Settings/Settings.d.ts.map +1 -0
- package/dist/Settings/Settings.js +22 -0
- package/dist/Settings/Settings.js.map +1 -0
- package/dist/Settings/public-api.d.ts +3 -0
- package/dist/Settings/public-api.d.ts.map +1 -0
- package/dist/Settings/public-api.js +2 -0
- package/dist/Settings/public-api.js.map +1 -0
- package/dist/WorkspacePicker/WorkspacePicker.d.ts +6 -1
- package/dist/WorkspacePicker/WorkspacePicker.d.ts.map +1 -1
- package/dist/WorkspacePicker/WorkspacePicker.js +16 -5
- package/dist/WorkspacePicker/WorkspacePicker.js.map +1 -1
- package/dist/chunk-3SAXDU2U.js +157 -0
- package/dist/chunk-3SAXDU2U.js.map +1 -0
- package/dist/chunk-4XXSWN3T.js +13 -0
- package/dist/chunk-4XXSWN3T.js.map +1 -0
- package/dist/chunk-5A4KEWKT.js +97 -0
- package/dist/chunk-5A4KEWKT.js.map +1 -0
- package/dist/chunk-AOVTHZU7.js +321 -0
- package/dist/chunk-AOVTHZU7.js.map +1 -0
- package/dist/chunk-DD4VFJQI.js +51 -0
- package/dist/chunk-DD4VFJQI.js.map +1 -0
- package/dist/chunk-GSNZSCIK.js +55 -0
- package/dist/chunk-GSNZSCIK.js.map +1 -0
- package/dist/chunk-VHDP4IPL.js +70 -0
- package/dist/chunk-VHDP4IPL.js.map +1 -0
- package/dist/chunk-ZI56BNB7.js +270 -0
- package/dist/chunk-ZI56BNB7.js.map +1 -0
- package/dist/components/Dialog.d.ts +22 -0
- package/dist/components/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog.js +33 -0
- package/dist/components/Dialog.js.map +1 -0
- package/dist/editor.d.ts +10 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +70 -0
- package/dist/editor.js.map +1 -0
- package/dist/export/index.d.ts +87 -0
- package/dist/export/index.js +26 -0
- package/dist/export/index.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useDocumentSession.d.ts +16 -0
- package/dist/hooks/useDocumentSession.d.ts.map +1 -0
- package/dist/hooks/useDocumentSession.js +18 -0
- package/dist/hooks/useDocumentSession.js.map +1 -0
- package/dist/icons.d.ts +11 -6
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +21 -20
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/preferences/theme.d.ts +18 -0
- package/dist/preferences/theme.d.ts.map +1 -0
- package/dist/preferences/theme.js +63 -0
- package/dist/preferences/theme.js.map +1 -0
- package/dist/provider-lease.d.ts +10 -0
- package/dist/provider-lease.d.ts.map +1 -0
- package/dist/provider-lease.js +42 -0
- package/dist/provider-lease.js.map +1 -0
- package/dist/run-export-ICTZITXC.js +10 -0
- package/dist/run-export-ICTZITXC.js.map +1 -0
- package/dist/settings/index.d.ts +28 -0
- package/dist/settings/index.js +12 -0
- package/dist/settings/index.js.map +1 -0
- package/package.json +24 -9
- package/src/AppMenu/AppMenu.tsx +169 -99
- package/src/AppMenu/index.ts +1 -1
- package/src/DocBlocksShell/DocBlocksShell.tsx +2157 -537
- package/src/DocBlocksShell/LazyEditorShell.ts +2 -0
- package/src/DocBlocksShell/UpdateAvailableNotice.tsx +60 -0
- package/src/DocBlocksShell/document-title.ts +19 -0
- package/src/DocBlocksShell/workspace-authority-barrier.ts +26 -0
- package/src/Export/DeferredExportToolbarControls.tsx +23 -0
- package/src/Export/ExportDialog.tsx +74 -20
- package/src/Export/ExportToolbarControls.tsx +238 -40
- package/src/Export/export-destination.ts +30 -0
- package/src/Export/index.ts +18 -4
- package/src/Export/public-api.ts +17 -0
- package/src/Export/run-export.ts +36 -11
- package/src/FileExplorer/FileExplorer.tsx +284 -38
- package/src/FileExplorer/FileTreeNode.tsx +100 -8
- package/src/FileExplorer/index.ts +1 -1
- package/src/FileExplorer/useFileTree.ts +190 -16
- package/src/Git/GitAuthGuidanceDialog.tsx +84 -0
- package/src/Git/GitBranchesDialog.tsx +144 -0
- package/src/Git/GitCloneDialog.tsx +200 -0
- package/src/Git/GitCommitDialog.tsx +119 -0
- package/src/Git/GitConflictsDialog.tsx +62 -0
- package/src/Git/GitContext.tsx +88 -0
- package/src/Git/GitDiffDialog.tsx +147 -0
- package/src/Git/GitDiffView.tsx +105 -0
- package/src/Git/GitHistoryDialog.tsx +195 -0
- package/src/Git/GitStatusBar.tsx +157 -0
- package/src/Git/GitToolbarControl.tsx +123 -0
- package/src/Git/GitUI.tsx +68 -0
- package/src/Git/commit-selection.ts +63 -0
- package/src/Git/git-clone-utils.ts +23 -0
- package/src/Git/git-status.ts +113 -0
- package/src/Git/useGit.ts +279 -0
- package/src/Git/useGitStatus.ts +78 -0
- package/src/Settings/Settings.tsx +118 -0
- package/src/Settings/public-api.ts +8 -0
- package/src/WorkspacePicker/WorkspacePicker.tsx +62 -8
- package/src/components/Dialog.tsx +81 -0
- package/src/editor.ts +72 -0
- package/src/hooks/index.ts +2 -1
- package/src/hooks/useDocumentSession.ts +37 -0
- package/src/icons.tsx +33 -55
- package/src/index.ts +35 -5
- package/src/preferences/theme.ts +67 -0
- package/src/provider-lease.ts +52 -0
- package/src/styles/docblocks.css +2174 -79
- package/src/types/pwa-dom.d.ts +31 -0
- package/dist/hooks/useAutoSave.d.ts +0 -15
- package/dist/hooks/useAutoSave.d.ts.map +0 -1
- package/dist/hooks/useAutoSave.js +0 -83
- package/dist/hooks/useAutoSave.js.map +0 -1
- package/dist/monaco-slim.d.ts +0 -19
- package/dist/monaco-slim.d.ts.map +0 -1
- package/dist/monaco-slim.js +0 -19
- package/dist/monaco-slim.js.map +0 -1
- package/src/fonts/fonts.css +0 -362
- package/src/fonts/licenses/LICENSE-cormorant-garamond.txt +0 -93
- package/src/fonts/licenses/LICENSE-crimson-text.txt +0 -93
- package/src/fonts/licenses/LICENSE-dm-sans.txt +0 -93
- package/src/fonts/licenses/LICENSE-dm-serif-display.txt +0 -93
- package/src/fonts/licenses/LICENSE-hanken-grotesk.txt +0 -94
- package/src/fonts/licenses/LICENSE-ibm-plex-sans.txt +0 -93
- package/src/fonts/licenses/LICENSE-inter.txt +0 -93
- package/src/fonts/licenses/LICENSE-jetbrains-mono.txt +0 -93
- package/src/fonts/licenses/LICENSE-lora.txt +0 -93
- package/src/fonts/licenses/LICENSE-merriweather.txt +0 -93
- package/src/fonts/licenses/LICENSE-oswald.txt +0 -93
- package/src/fonts/licenses/LICENSE-playfair-display.txt +0 -93
- package/src/fonts/licenses/LICENSE-pt-serif.txt +0 -93
- package/src/fonts/licenses/LICENSE-roboto.txt +0 -93
- package/src/fonts/licenses/LICENSE-source-serif-4.txt +0 -93
- package/src/fonts/woff2/cormorant-garamond-400.woff2 +0 -0
- package/src/fonts/woff2/cormorant-garamond-700.woff2 +0 -0
- package/src/fonts/woff2/crimson-text-400.woff2 +0 -0
- package/src/fonts/woff2/crimson-text-400i.woff2 +0 -0
- package/src/fonts/woff2/crimson-text-700.woff2 +0 -0
- package/src/fonts/woff2/dm-sans-400.woff2 +0 -0
- package/src/fonts/woff2/dm-sans-400i.woff2 +0 -0
- package/src/fonts/woff2/dm-sans-500.woff2 +0 -0
- package/src/fonts/woff2/dm-sans-700.woff2 +0 -0
- package/src/fonts/woff2/dm-serif-display-400.woff2 +0 -0
- package/src/fonts/woff2/hanken-grotesk-400.woff2 +0 -0
- package/src/fonts/woff2/hanken-grotesk-400i.woff2 +0 -0
- package/src/fonts/woff2/hanken-grotesk-500.woff2 +0 -0
- package/src/fonts/woff2/hanken-grotesk-600.woff2 +0 -0
- package/src/fonts/woff2/hanken-grotesk-700.woff2 +0 -0
- package/src/fonts/woff2/ibm-plex-sans-400.woff2 +0 -0
- package/src/fonts/woff2/ibm-plex-sans-400i.woff2 +0 -0
- package/src/fonts/woff2/ibm-plex-sans-500.woff2 +0 -0
- package/src/fonts/woff2/ibm-plex-sans-600.woff2 +0 -0
- package/src/fonts/woff2/ibm-plex-sans-700.woff2 +0 -0
- package/src/fonts/woff2/inter-400.woff2 +0 -0
- package/src/fonts/woff2/inter-400i.woff2 +0 -0
- package/src/fonts/woff2/inter-500.woff2 +0 -0
- package/src/fonts/woff2/inter-600.woff2 +0 -0
- package/src/fonts/woff2/inter-700.woff2 +0 -0
- package/src/fonts/woff2/jetbrains-mono-400.woff2 +0 -0
- package/src/fonts/woff2/jetbrains-mono-400i.woff2 +0 -0
- package/src/fonts/woff2/jetbrains-mono-700.woff2 +0 -0
- package/src/fonts/woff2/lora-400.woff2 +0 -0
- package/src/fonts/woff2/lora-400i.woff2 +0 -0
- package/src/fonts/woff2/lora-700.woff2 +0 -0
- package/src/fonts/woff2/merriweather-400.woff2 +0 -0
- package/src/fonts/woff2/merriweather-700.woff2 +0 -0
- package/src/fonts/woff2/oswald-400.woff2 +0 -0
- package/src/fonts/woff2/oswald-700.woff2 +0 -0
- package/src/fonts/woff2/playfair-display-400.woff2 +0 -0
- package/src/fonts/woff2/playfair-display-700.woff2 +0 -0
- package/src/fonts/woff2/pt-serif-400.woff2 +0 -0
- package/src/fonts/woff2/pt-serif-700.woff2 +0 -0
- package/src/fonts/woff2/roboto-400.woff2 +0 -0
- package/src/fonts/woff2/roboto-400i.woff2 +0 -0
- package/src/fonts/woff2/roboto-700.woff2 +0 -0
- package/src/fonts/woff2/source-serif-4-400.woff2 +0 -0
- package/src/fonts/woff2/source-serif-4-400i.woff2 +0 -0
- package/src/fonts/woff2/source-serif-4-700.woff2 +0 -0
- package/src/hooks/useAutoSave.ts +0 -116
- package/src/monaco-slim.ts +0 -20
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExportDialog
|
|
3
|
+
} from "../chunk-AOVTHZU7.js";
|
|
4
|
+
import {
|
|
5
|
+
buildExportFilename,
|
|
6
|
+
runExport
|
|
7
|
+
} from "../chunk-ZI56BNB7.js";
|
|
8
|
+
import "../chunk-4XXSWN3T.js";
|
|
9
|
+
import {
|
|
10
|
+
DEFAULT_OPTIONS,
|
|
11
|
+
FORMAT_EXTENSIONS,
|
|
12
|
+
FORMAT_LABELS,
|
|
13
|
+
loadLastExportOptions,
|
|
14
|
+
saveExportOptions
|
|
15
|
+
} from "../chunk-DD4VFJQI.js";
|
|
16
|
+
export {
|
|
17
|
+
DEFAULT_OPTIONS,
|
|
18
|
+
ExportDialog,
|
|
19
|
+
FORMAT_EXTENSIONS,
|
|
20
|
+
FORMAT_LABELS,
|
|
21
|
+
buildExportFilename,
|
|
22
|
+
loadLastExportOptions,
|
|
23
|
+
runExport,
|
|
24
|
+
saveExportOptions
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { useDocumentSession } from './useDocumentSession.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DocumentSession, type DocumentSessionSnapshot } from '@bendyline/docblocks/document';
|
|
2
|
+
export interface UseDocumentSessionResult {
|
|
3
|
+
/** Stable controller for the lifetime of the mounted shell/panel. */
|
|
4
|
+
session: DocumentSession;
|
|
5
|
+
/** React snapshot of dirty/saving/saved/error/conflict state. */
|
|
6
|
+
snapshot: DocumentSessionSnapshot;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* React binding for the framework-neutral DocumentSession engine.
|
|
10
|
+
*
|
|
11
|
+
* The hook deliberately does not infer target transitions from props.
|
|
12
|
+
* Callers must use transitionTo(), retarget(), or delete() before changing
|
|
13
|
+
* their view state so persistence ordering remains explicit.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useDocumentSession(autoSaveDelayMs?: number): UseDocumentSessionResult;
|
|
16
|
+
//# sourceMappingURL=useDocumentSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentSession.d.ts","sourceRoot":"","sources":["../../src/hooks/useDocumentSession.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EAEf,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,OAAO,EAAE,eAAe,CAAC;IACzB,iEAAiE;IACjE,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,SAAM,GAAG,wBAAwB,CAclF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useState, useSyncExternalStore } from 'react';
|
|
2
|
+
import { DocumentRecoveryJournal, DocumentSession, getDefaultDocumentRecoveryStorage, } from '@bendyline/docblocks/document';
|
|
3
|
+
/**
|
|
4
|
+
* React binding for the framework-neutral DocumentSession engine.
|
|
5
|
+
*
|
|
6
|
+
* The hook deliberately does not infer target transitions from props.
|
|
7
|
+
* Callers must use transitionTo(), retarget(), or delete() before changing
|
|
8
|
+
* their view state so persistence ordering remains explicit.
|
|
9
|
+
*/
|
|
10
|
+
export function useDocumentSession(autoSaveDelayMs = 500) {
|
|
11
|
+
const [session] = useState(() => new DocumentSession({
|
|
12
|
+
autoSaveDelayMs,
|
|
13
|
+
recoveryJournal: new DocumentRecoveryJournal(getDefaultDocumentRecoveryStorage()),
|
|
14
|
+
}));
|
|
15
|
+
const snapshot = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);
|
|
16
|
+
return { session, snapshot };
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=useDocumentSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocumentSession.js","sourceRoot":"","sources":["../../src/hooks/useDocumentSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,iCAAiC,GAElC,MAAM,+BAA+B,CAAC;AASvC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,eAAe,GAAG,GAAG;IACtD,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CACxB,GAAG,EAAE,CACH,IAAI,eAAe,CAAC;QAClB,eAAe;QACf,eAAe,EAAE,IAAI,uBAAuB,CAAC,iCAAiC,EAAE,CAAC;KAClF,CAAC,CACL,CAAC;IACF,MAAM,QAAQ,GAAG,oBAAoB,CACnC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/icons.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
1
|
+
/**
|
|
2
|
+
* DocBlocks shell icons use the Font Awesome Free webfont bundled by
|
|
3
|
+
* `@bendyline/squisq-editor-react/styles`. Controls provide the accessible
|
|
4
|
+
* name, so the glyphs themselves stay decorative.
|
|
5
|
+
*/
|
|
6
|
+
export declare function NewFileIcon(): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function NewFolderIcon(): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function FolderIcon(): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function MoreIcon(): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function WorkspaceIcon(): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function SplitViewIcon(): import("react/jsx-runtime").JSX.Element;
|
|
7
12
|
//# sourceMappingURL=icons.d.ts.map
|
package/dist/icons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,WAAW,4CAE1B;AAED,wBAAgB,aAAa,4CAE5B;AAED,wBAAgB,UAAU,4CAEzB;AAED,wBAAgB,QAAQ,4CAEvB;AAED,wBAAgB,aAAa,4CAE5B;AAED,wBAAgB,aAAa,4CAiB5B"}
|
package/dist/icons.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
strokeLinecap: 'round',
|
|
10
|
-
strokeLinejoin: 'round',
|
|
11
|
-
};
|
|
12
|
-
export function NewFileIcon(props) {
|
|
13
|
-
return (_jsxs("svg", { ...defaults, ...props, children: [_jsx("path", { d: "M9.5 1.5H4a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5l-3.5-3.5Z" }), _jsx("path", { d: "M9.5 1.5V5H13" }), _jsx("line", { x1: "6.5", y1: "10", x2: "9.5", y2: "10" }), _jsx("line", { x1: "8", y1: "8.5", x2: "8", y2: "11.5" })] }));
|
|
2
|
+
/**
|
|
3
|
+
* DocBlocks shell icons use the Font Awesome Free webfont bundled by
|
|
4
|
+
* `@bendyline/squisq-editor-react/styles`. Controls provide the accessible
|
|
5
|
+
* name, so the glyphs themselves stay decorative.
|
|
6
|
+
*/
|
|
7
|
+
function FontAwesomeIcon({ icon }) {
|
|
8
|
+
return _jsx("i", { className: icon, "aria-hidden": "true" });
|
|
14
9
|
}
|
|
15
|
-
export function
|
|
16
|
-
return
|
|
10
|
+
export function NewFileIcon() {
|
|
11
|
+
return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-file-circle-plus" });
|
|
17
12
|
}
|
|
18
|
-
export function
|
|
19
|
-
return
|
|
13
|
+
export function NewFolderIcon() {
|
|
14
|
+
return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-folder-plus" });
|
|
20
15
|
}
|
|
21
|
-
export function
|
|
22
|
-
return
|
|
16
|
+
export function FolderIcon() {
|
|
17
|
+
return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-folder" });
|
|
23
18
|
}
|
|
24
|
-
export function
|
|
25
|
-
return
|
|
19
|
+
export function MoreIcon() {
|
|
20
|
+
return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-ellipsis" });
|
|
21
|
+
}
|
|
22
|
+
export function WorkspaceIcon() {
|
|
23
|
+
return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-gear" });
|
|
24
|
+
}
|
|
25
|
+
export function SplitViewIcon() {
|
|
26
|
+
return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "1.5", y: "2.5", width: "13", height: "11", rx: "1" }), _jsx("line", { x1: "6", y1: "2.5", x2: "6", y2: "13.5" })] }));
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=icons.js.map
|
package/dist/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,SAAS,eAAe,CAAC,EAAE,IAAI,EAAoB;IACjD,OAAO,YAAG,SAAS,EAAE,IAAI,iBAAc,MAAM,GAAG,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,8BAA8B,GAAG,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,yBAAyB,GAAG,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,oBAAoB,GAAG,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,sBAAsB,GAAG,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,kBAAkB,GAAG,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtD,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,GAAG,IACrC,CACP,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @bendyline/docblocks-react — React components for DocBlocks
|
|
3
3
|
*/
|
|
4
4
|
export { FileExplorer } from './FileExplorer/index.js';
|
|
5
|
-
export type { FileExplorerProps } from './FileExplorer/index.js';
|
|
5
|
+
export type { FileExplorerProps, FileTreeChange, FileTreeMutationHandler, } from './FileExplorer/index.js';
|
|
6
6
|
export { FileTreeNode } from './FileExplorer/index.js';
|
|
7
7
|
export type { FileTreeNodeProps } from './FileExplorer/index.js';
|
|
8
8
|
export { useFileTree } from './FileExplorer/index.js';
|
|
@@ -11,10 +11,13 @@ export type { WorkspacePickerProps } from './WorkspacePicker/index.js';
|
|
|
11
11
|
export { DocBlocksShell } from './DocBlocksShell/index.js';
|
|
12
12
|
export type { DocBlocksShellProps } from './DocBlocksShell/index.js';
|
|
13
13
|
export { AppMenu } from './AppMenu/index.js';
|
|
14
|
-
export type { AppMenuProps, ThemePreference } from './AppMenu/index.js';
|
|
15
|
-
export {
|
|
16
|
-
export type {
|
|
14
|
+
export type { AccentColor, AppMenuProps, ThemePreference } from './AppMenu/index.js';
|
|
15
|
+
export { AccentColorSettings, SettingsDialog, ThemeSettings } from './Settings/public-api.js';
|
|
16
|
+
export type { AccentColorSettingsProps, SettingsDialogProps, ThemeSettingsProps, } from './Settings/public-api.js';
|
|
17
|
+
export { buildExportFilename, DEFAULT_OPTIONS, loadLastExportOptions, runExport, updateExportTargetExtension, ExportToolbarControls, } from './Export/index.js';
|
|
18
|
+
export type { ExportDestinationControl, ExportDestinationAdapter, ExportDestinationTarget, ExportToolbarControlsProps, ExportFormat, HtmlBundle, HtmlStyle, ExportOptions, ExportBlobSaver, } from './Export/index.js';
|
|
17
19
|
export { ExportDialog } from './Export/index.js';
|
|
18
20
|
export type { ExportDialogProps } from './Export/index.js';
|
|
19
|
-
export {
|
|
21
|
+
export { useDocumentSession } from './hooks/index.js';
|
|
22
|
+
export type { UseDocumentSessionResult } from './hooks/index.js';
|
|
20
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,9 +11,11 @@ export { WorkspacePicker } from './WorkspacePicker/index.js';
|
|
|
11
11
|
export { DocBlocksShell } from './DocBlocksShell/index.js';
|
|
12
12
|
// AppMenu
|
|
13
13
|
export { AppMenu } from './AppMenu/index.js';
|
|
14
|
+
// Settings
|
|
15
|
+
export { AccentColorSettings, SettingsDialog, ThemeSettings } from './Settings/public-api.js';
|
|
14
16
|
// Export
|
|
15
|
-
export { ExportToolbarControls } from './Export/index.js';
|
|
17
|
+
export { buildExportFilename, DEFAULT_OPTIONS, loadLastExportOptions, runExport, updateExportTargetExtension, ExportToolbarControls, } from './Export/index.js';
|
|
16
18
|
export { ExportDialog } from './Export/index.js';
|
|
17
19
|
// Hooks
|
|
18
|
-
export {
|
|
20
|
+
export { useDocumentSession } from './hooks/index.js';
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAO9F,SAAS;AACT,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAY3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Appearance preferences shared by the shell and settings UI. */
|
|
2
|
+
export type ThemePreference = 'auto' | 'light' | 'dark';
|
|
3
|
+
export declare const ACCENT_COLORS: readonly ["brown", "green", "blue", "purple", "maroon", "orange", "gray"];
|
|
4
|
+
export type AccentColor = (typeof ACCENT_COLORS)[number];
|
|
5
|
+
/**
|
|
6
|
+
* Chrome (titlebar) background per resolved theme. Keep in sync with
|
|
7
|
+
* `--db-bg-subtle` for the default accent in styles/docblocks.css and with
|
|
8
|
+
* the static `<meta name="theme-color">` values in the site's index.html.
|
|
9
|
+
* The shell writes these into the theme-color metas so the installed web
|
|
10
|
+
* app's titlebar (Window Controls Overlay caption area, Android status bar)
|
|
11
|
+
* follows the resolved theme.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DB_CHROME_COLORS: Record<'light' | 'dark', string>;
|
|
14
|
+
export declare function loadThemePreference(): ThemePreference;
|
|
15
|
+
export declare function saveThemePreference(value: ThemePreference): void;
|
|
16
|
+
export declare function loadAccentColor(): AccentColor;
|
|
17
|
+
export declare function saveAccentColor(value: AccentColor): void;
|
|
18
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/preferences/theme.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,eAAO,MAAM,aAAa,2EAQhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAG7D,CAAC;AAKF,wBAAgB,mBAAmB,IAAI,eAAe,CAQrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAMhE;AAED,wBAAgB,eAAe,IAAI,WAAW,CAQ7C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAMxD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** Appearance preferences shared by the shell and settings UI. */
|
|
2
|
+
export const ACCENT_COLORS = [
|
|
3
|
+
'brown',
|
|
4
|
+
'green',
|
|
5
|
+
'blue',
|
|
6
|
+
'purple',
|
|
7
|
+
'maroon',
|
|
8
|
+
'orange',
|
|
9
|
+
'gray',
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Chrome (titlebar) background per resolved theme. Keep in sync with
|
|
13
|
+
* `--db-bg-subtle` for the default accent in styles/docblocks.css and with
|
|
14
|
+
* the static `<meta name="theme-color">` values in the site's index.html.
|
|
15
|
+
* The shell writes these into the theme-color metas so the installed web
|
|
16
|
+
* app's titlebar (Window Controls Overlay caption area, Android status bar)
|
|
17
|
+
* follows the resolved theme.
|
|
18
|
+
*/
|
|
19
|
+
export const DB_CHROME_COLORS = {
|
|
20
|
+
light: '#f3eede',
|
|
21
|
+
dark: '#262219',
|
|
22
|
+
};
|
|
23
|
+
const THEME_STORAGE_KEY = 'docblocks:themePreference';
|
|
24
|
+
const ACCENT_STORAGE_KEY = 'docblocks:accentColor';
|
|
25
|
+
export function loadThemePreference() {
|
|
26
|
+
try {
|
|
27
|
+
const raw = localStorage.getItem(THEME_STORAGE_KEY);
|
|
28
|
+
if (raw === 'light' || raw === 'dark' || raw === 'auto')
|
|
29
|
+
return raw;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// ignore unavailable storage
|
|
33
|
+
}
|
|
34
|
+
return 'auto';
|
|
35
|
+
}
|
|
36
|
+
export function saveThemePreference(value) {
|
|
37
|
+
try {
|
|
38
|
+
localStorage.setItem(THEME_STORAGE_KEY, value);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// ignore quota errors
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export function loadAccentColor() {
|
|
45
|
+
try {
|
|
46
|
+
const raw = localStorage.getItem(ACCENT_STORAGE_KEY);
|
|
47
|
+
if (ACCENT_COLORS.some((color) => color === raw))
|
|
48
|
+
return raw;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// ignore unavailable storage
|
|
52
|
+
}
|
|
53
|
+
return 'brown';
|
|
54
|
+
}
|
|
55
|
+
export function saveAccentColor(value) {
|
|
56
|
+
try {
|
|
57
|
+
localStorage.setItem(ACCENT_STORAGE_KEY, value);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// ignore quota errors
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/preferences/theme.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAIlE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;CACE,CAAC;AAIX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC;YAAE,OAAO,GAAkB,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FileSystemProviderV2 } from '@bendyline/docblocks/filesystem';
|
|
2
|
+
/**
|
|
3
|
+
* Retain one UI ownership lease for a provider.
|
|
4
|
+
*
|
|
5
|
+
* Final release is deferred by one microtask. React Strict Mode intentionally
|
|
6
|
+
* performs setup → cleanup → setup, so an immediate cleanup disposer would
|
|
7
|
+
* permanently close the provider that the second setup still owns.
|
|
8
|
+
*/
|
|
9
|
+
export declare function retainFileSystemProvider(provider: FileSystemProviderV2): () => void;
|
|
10
|
+
//# sourceMappingURL=provider-lease.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-lease.d.ts","sourceRoot":"","sources":["../src/provider-lease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAU5E;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAkCnF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const leases = new WeakMap();
|
|
2
|
+
/**
|
|
3
|
+
* Retain one UI ownership lease for a provider.
|
|
4
|
+
*
|
|
5
|
+
* Final release is deferred by one microtask. React Strict Mode intentionally
|
|
6
|
+
* performs setup → cleanup → setup, so an immediate cleanup disposer would
|
|
7
|
+
* permanently close the provider that the second setup still owns.
|
|
8
|
+
*/
|
|
9
|
+
export function retainFileSystemProvider(provider) {
|
|
10
|
+
let record = leases.get(provider);
|
|
11
|
+
if (!record) {
|
|
12
|
+
record = { holders: 0, generation: 0, disposePromise: null };
|
|
13
|
+
leases.set(provider, record);
|
|
14
|
+
}
|
|
15
|
+
if (record.disposePromise) {
|
|
16
|
+
throw new Error('Cannot retain a filesystem provider after disposal has started.');
|
|
17
|
+
}
|
|
18
|
+
record.holders += 1;
|
|
19
|
+
record.generation += 1;
|
|
20
|
+
let released = false;
|
|
21
|
+
return () => {
|
|
22
|
+
if (released)
|
|
23
|
+
return;
|
|
24
|
+
released = true;
|
|
25
|
+
record.holders -= 1;
|
|
26
|
+
record.generation += 1;
|
|
27
|
+
const releaseGeneration = record.generation;
|
|
28
|
+
queueMicrotask(() => {
|
|
29
|
+
if (record.holders !== 0 ||
|
|
30
|
+
record.generation !== releaseGeneration ||
|
|
31
|
+
record.disposePromise) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
record.disposePromise = provider.dispose();
|
|
35
|
+
// React cleanup cannot await or render a disposal failure. Joiners still
|
|
36
|
+
// receive the original promise from the provider; this observer prevents
|
|
37
|
+
// an unhandled rejection during unmount.
|
|
38
|
+
void record.disposePromise.catch(() => undefined);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=provider-lease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-lease.js","sourceRoot":"","sources":["../src/provider-lease.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,GAAG,IAAI,OAAO,EAA6C,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA8B;IACrE,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QACrB,MAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QACxB,MAAM,iBAAiB,GAAG,MAAO,CAAC,UAAU,CAAC;QAC7C,cAAc,CAAC,GAAG,EAAE;YAClB,IACE,MAAO,CAAC,OAAO,KAAK,CAAC;gBACrB,MAAO,CAAC,UAAU,KAAK,iBAAiB;gBACxC,MAAO,CAAC,cAAc,EACtB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC5C,yEAAyE;YACzE,yEAAyE;YACzE,yCAAyC;YACzC,KAAK,MAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
/** Appearance preferences shared by the shell and settings UI. */
|
|
5
|
+
type ThemePreference = 'auto' | 'light' | 'dark';
|
|
6
|
+
declare const ACCENT_COLORS: readonly ["brown", "green", "blue", "purple", "maroon", "orange", "gray"];
|
|
7
|
+
type AccentColor = (typeof ACCENT_COLORS)[number];
|
|
8
|
+
|
|
9
|
+
interface SettingsDialogProps {
|
|
10
|
+
title?: string;
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare function SettingsDialog({ title, onClose, children }: SettingsDialogProps): react_jsx_runtime.JSX.Element;
|
|
15
|
+
interface ThemeSettingsProps {
|
|
16
|
+
value: ThemePreference;
|
|
17
|
+
onChange: (theme: ThemePreference) => void;
|
|
18
|
+
name?: string;
|
|
19
|
+
}
|
|
20
|
+
declare function ThemeSettings({ value, onChange, name }: ThemeSettingsProps): react_jsx_runtime.JSX.Element;
|
|
21
|
+
interface AccentColorSettingsProps {
|
|
22
|
+
value: AccentColor;
|
|
23
|
+
onChange: (color: AccentColor) => void;
|
|
24
|
+
name?: string;
|
|
25
|
+
}
|
|
26
|
+
declare function AccentColorSettings({ value, onChange, name, }: AccentColorSettingsProps): react_jsx_runtime.JSX.Element;
|
|
27
|
+
|
|
28
|
+
export { type AccentColor, AccentColorSettings, type AccentColorSettingsProps, SettingsDialog, type SettingsDialogProps, type ThemePreference, ThemeSettings, type ThemeSettingsProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/docblocks-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "React components for DocBlocks — file explorer, workspace picker, and editor shell",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -34,6 +34,21 @@
|
|
|
34
34
|
"import": "./dist/index.js",
|
|
35
35
|
"default": "./dist/index.js"
|
|
36
36
|
},
|
|
37
|
+
"./export": {
|
|
38
|
+
"types": "./dist/export/index.d.ts",
|
|
39
|
+
"import": "./dist/export/index.js",
|
|
40
|
+
"default": "./dist/export/index.js"
|
|
41
|
+
},
|
|
42
|
+
"./settings": {
|
|
43
|
+
"types": "./dist/settings/index.d.ts",
|
|
44
|
+
"import": "./dist/settings/index.js",
|
|
45
|
+
"default": "./dist/settings/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./editor": {
|
|
48
|
+
"types": "./dist/editor.d.ts",
|
|
49
|
+
"import": "./dist/editor.js",
|
|
50
|
+
"default": "./dist/editor.js"
|
|
51
|
+
},
|
|
37
52
|
"./styles": "./src/styles/docblocks.css"
|
|
38
53
|
},
|
|
39
54
|
"scripts": {
|
|
@@ -45,14 +60,14 @@
|
|
|
45
60
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
46
61
|
},
|
|
47
62
|
"dependencies": {
|
|
48
|
-
"@bendyline/docblocks": "
|
|
49
|
-
"@bendyline/squisq": "
|
|
50
|
-
"@bendyline/squisq-editor-react": "
|
|
51
|
-
"@bendyline/squisq-formats": "
|
|
52
|
-
"@bendyline/squisq-react": "
|
|
53
|
-
"@bendyline/squisq-video": "
|
|
54
|
-
"@bendyline/squisq-video-react": "
|
|
55
|
-
"monaco-editor": "0.
|
|
63
|
+
"@bendyline/docblocks": "2.0.0",
|
|
64
|
+
"@bendyline/squisq": "2.0.1",
|
|
65
|
+
"@bendyline/squisq-editor-react": "2.0.1",
|
|
66
|
+
"@bendyline/squisq-formats": "2.0.1",
|
|
67
|
+
"@bendyline/squisq-react": "2.0.1",
|
|
68
|
+
"@bendyline/squisq-video": "2.0.1",
|
|
69
|
+
"@bendyline/squisq-video-react": "2.0.1",
|
|
70
|
+
"monaco-editor": "0.50.0"
|
|
56
71
|
},
|
|
57
72
|
"devDependencies": {
|
|
58
73
|
"@happy-dom/global-registrator": "20.9.0",
|