@bendyline/docblocks-react 2.0.0 → 2.1.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 +6 -0
- package/dist/{ExportDialog-MEUISWZX.js → ExportDialog-7LDIXJZ3.js} +3 -2
- package/dist/{ExportToolbarControls-D2YDWOXW.js → ExportToolbarControls-GHAOJMH6.js} +147 -12
- package/dist/ExportToolbarControls-GHAOJMH6.js.map +1 -0
- package/dist/{GitToolbarControl-LMIR4R7I.js → GitToolbarControl-GNMRVKWQ.js} +62 -43
- package/dist/GitToolbarControl-GNMRVKWQ.js.map +1 -0
- package/dist/{GitUI-KGF5MSNV.js → GitUI-VHOBQY43.js} +225 -140
- package/dist/GitUI-VHOBQY43.js.map +1 -0
- package/dist/ShareDialog-63ENBEDZ.js +213 -0
- package/dist/ShareDialog-63ENBEDZ.js.map +1 -0
- package/dist/chunk-57ZJJOC5.js +89 -0
- package/dist/chunk-57ZJJOC5.js.map +1 -0
- package/dist/chunk-FEWQUQML.js +256 -0
- package/dist/chunk-FEWQUQML.js.map +1 -0
- package/dist/chunk-FMGTHSTX.js +110 -0
- package/dist/chunk-FMGTHSTX.js.map +1 -0
- package/dist/chunk-UNYZQXWR.js +324 -0
- package/dist/chunk-UNYZQXWR.js.map +1 -0
- package/dist/editor.d.ts +5 -4
- package/dist/editor.js +8 -69
- package/dist/editor.js.map +1 -1
- package/dist/export/index.d.ts +7 -1
- package/dist/export/index.js +2 -1
- package/dist/index.d.ts +346 -21
- package/dist/index.js +6169 -20
- package/dist/index.js.map +1 -1
- package/dist/settings/index.d.ts +9 -1
- package/dist/settings/index.js +6 -4
- package/package.json +18 -13
- package/src/styles/docblocks.css +537 -26
- package/dist/AppMenu/AppMenu.d.ts +0 -53
- package/dist/AppMenu/AppMenu.d.ts.map +0 -1
- package/dist/AppMenu/AppMenu.js +0 -67
- package/dist/AppMenu/AppMenu.js.map +0 -1
- package/dist/AppMenu/index.d.ts +0 -3
- package/dist/AppMenu/index.d.ts.map +0 -1
- package/dist/AppMenu/index.js +0 -2
- package/dist/AppMenu/index.js.map +0 -1
- package/dist/DocBlocksShell/DocBlocksShell.d.ts +0 -49
- package/dist/DocBlocksShell/DocBlocksShell.d.ts.map +0 -1
- package/dist/DocBlocksShell/DocBlocksShell.js +0 -2730
- package/dist/DocBlocksShell/DocBlocksShell.js.map +0 -1
- package/dist/DocBlocksShell/LazyEditorShell.d.ts +0 -3
- package/dist/DocBlocksShell/LazyEditorShell.d.ts.map +0 -1
- package/dist/DocBlocksShell/LazyEditorShell.js +0 -3
- package/dist/DocBlocksShell/LazyEditorShell.js.map +0 -1
- package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts +0 -13
- package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts.map +0 -1
- package/dist/DocBlocksShell/UpdateAvailableNotice.js +0 -16
- package/dist/DocBlocksShell/UpdateAvailableNotice.js.map +0 -1
- package/dist/DocBlocksShell/document-title.d.ts +0 -3
- package/dist/DocBlocksShell/document-title.d.ts.map +0 -1
- package/dist/DocBlocksShell/document-title.js +0 -17
- package/dist/DocBlocksShell/document-title.js.map +0 -1
- package/dist/DocBlocksShell/index.d.ts +0 -3
- package/dist/DocBlocksShell/index.d.ts.map +0 -1
- package/dist/DocBlocksShell/index.js +0 -2
- package/dist/DocBlocksShell/index.js.map +0 -1
- package/dist/DocBlocksShell/workspace-authority-barrier.d.ts +0 -14
- package/dist/DocBlocksShell/workspace-authority-barrier.d.ts.map +0 -1
- package/dist/DocBlocksShell/workspace-authority-barrier.js +0 -23
- package/dist/DocBlocksShell/workspace-authority-barrier.js.map +0 -1
- package/dist/Export/DeferredExportToolbarControls.d.ts +0 -5
- package/dist/Export/DeferredExportToolbarControls.d.ts.map +0 -1
- package/dist/Export/DeferredExportToolbarControls.js +0 -10
- package/dist/Export/DeferredExportToolbarControls.js.map +0 -1
- package/dist/Export/ExportDialog.d.ts +0 -25
- package/dist/Export/ExportDialog.d.ts.map +0 -1
- package/dist/Export/ExportDialog.js +0 -160
- package/dist/Export/ExportDialog.js.map +0 -1
- package/dist/Export/ExportToolbarControls.d.ts +0 -37
- package/dist/Export/ExportToolbarControls.d.ts.map +0 -1
- package/dist/Export/ExportToolbarControls.js +0 -285
- package/dist/Export/ExportToolbarControls.js.map +0 -1
- package/dist/Export/export-destination.d.ts +0 -3
- package/dist/Export/export-destination.d.ts.map +0 -1
- package/dist/Export/export-destination.js +0 -32
- package/dist/Export/export-destination.js.map +0 -1
- package/dist/Export/export-options.d.ts +0 -53
- package/dist/Export/export-options.d.ts.map +0 -1
- package/dist/Export/export-options.js +0 -49
- package/dist/Export/export-options.js.map +0 -1
- package/dist/Export/index.d.ts +0 -10
- package/dist/Export/index.d.ts.map +0 -1
- package/dist/Export/index.js +0 -6
- package/dist/Export/index.js.map +0 -1
- package/dist/Export/public-api.d.ts +0 -12
- package/dist/Export/public-api.d.ts.map +0 -1
- package/dist/Export/public-api.js +0 -9
- package/dist/Export/public-api.js.map +0 -1
- package/dist/Export/run-export.d.ts +0 -10
- package/dist/Export/run-export.d.ts.map +0 -1
- package/dist/Export/run-export.js +0 -313
- package/dist/Export/run-export.js.map +0 -1
- package/dist/Export/transform-summaries.d.ts +0 -7
- package/dist/Export/transform-summaries.d.ts.map +0 -1
- package/dist/Export/transform-summaries.js +0 -6
- package/dist/Export/transform-summaries.js.map +0 -1
- package/dist/ExportToolbarControls-D2YDWOXW.js.map +0 -1
- package/dist/FileExplorer/FileExplorer.d.ts +0 -43
- package/dist/FileExplorer/FileExplorer.d.ts.map +0 -1
- package/dist/FileExplorer/FileExplorer.js +0 -315
- package/dist/FileExplorer/FileExplorer.js.map +0 -1
- package/dist/FileExplorer/FileTreeNode.d.ts +0 -39
- package/dist/FileExplorer/FileTreeNode.d.ts.map +0 -1
- package/dist/FileExplorer/FileTreeNode.js +0 -131
- package/dist/FileExplorer/FileTreeNode.js.map +0 -1
- package/dist/FileExplorer/index.d.ts +0 -6
- package/dist/FileExplorer/index.d.ts.map +0 -1
- package/dist/FileExplorer/index.js +0 -4
- package/dist/FileExplorer/index.js.map +0 -1
- package/dist/FileExplorer/useFileTree.d.ts +0 -37
- package/dist/FileExplorer/useFileTree.d.ts.map +0 -1
- package/dist/FileExplorer/useFileTree.js +0 -284
- package/dist/FileExplorer/useFileTree.js.map +0 -1
- package/dist/Git/GitAuthGuidanceDialog.d.ts +0 -18
- package/dist/Git/GitAuthGuidanceDialog.d.ts.map +0 -1
- package/dist/Git/GitAuthGuidanceDialog.js +0 -27
- package/dist/Git/GitAuthGuidanceDialog.js.map +0 -1
- package/dist/Git/GitBranchesDialog.d.ts +0 -13
- package/dist/Git/GitBranchesDialog.d.ts.map +0 -1
- package/dist/Git/GitBranchesDialog.js +0 -59
- package/dist/Git/GitBranchesDialog.js.map +0 -1
- package/dist/Git/GitCloneDialog.d.ts +0 -14
- package/dist/Git/GitCloneDialog.d.ts.map +0 -1
- package/dist/Git/GitCloneDialog.js +0 -79
- package/dist/Git/GitCloneDialog.js.map +0 -1
- package/dist/Git/GitCommitDialog.d.ts +0 -12
- package/dist/Git/GitCommitDialog.d.ts.map +0 -1
- package/dist/Git/GitCommitDialog.js +0 -38
- package/dist/Git/GitCommitDialog.js.map +0 -1
- package/dist/Git/GitConflictsDialog.d.ts +0 -12
- package/dist/Git/GitConflictsDialog.d.ts.map +0 -1
- package/dist/Git/GitConflictsDialog.js +0 -17
- package/dist/Git/GitConflictsDialog.js.map +0 -1
- package/dist/Git/GitContext.d.ts +0 -89
- package/dist/Git/GitContext.d.ts.map +0 -1
- package/dist/Git/GitContext.js +0 -15
- package/dist/Git/GitContext.js.map +0 -1
- package/dist/Git/GitDiffDialog.d.ts +0 -20
- package/dist/Git/GitDiffDialog.d.ts.map +0 -1
- package/dist/Git/GitDiffDialog.js +0 -100
- package/dist/Git/GitDiffDialog.js.map +0 -1
- package/dist/Git/GitDiffView.d.ts +0 -23
- package/dist/Git/GitDiffView.d.ts.map +0 -1
- package/dist/Git/GitDiffView.js +0 -77
- package/dist/Git/GitDiffView.js.map +0 -1
- package/dist/Git/GitHistoryDialog.d.ts +0 -15
- package/dist/Git/GitHistoryDialog.d.ts.map +0 -1
- package/dist/Git/GitHistoryDialog.js +0 -107
- package/dist/Git/GitHistoryDialog.js.map +0 -1
- package/dist/Git/GitStatusBar.d.ts +0 -8
- package/dist/Git/GitStatusBar.d.ts.map +0 -1
- package/dist/Git/GitStatusBar.js +0 -49
- package/dist/Git/GitStatusBar.js.map +0 -1
- package/dist/Git/GitToolbarControl.d.ts +0 -15
- package/dist/Git/GitToolbarControl.d.ts.map +0 -1
- package/dist/Git/GitToolbarControl.js +0 -51
- package/dist/Git/GitToolbarControl.js.map +0 -1
- package/dist/Git/GitUI.d.ts +0 -14
- package/dist/Git/GitUI.d.ts.map +0 -1
- package/dist/Git/GitUI.js +0 -21
- package/dist/Git/GitUI.js.map +0 -1
- package/dist/Git/commit-selection.d.ts +0 -22
- package/dist/Git/commit-selection.d.ts.map +0 -1
- package/dist/Git/commit-selection.js +0 -47
- package/dist/Git/commit-selection.js.map +0 -1
- package/dist/Git/git-clone-utils.d.ts +0 -8
- package/dist/Git/git-clone-utils.d.ts.map +0 -1
- package/dist/Git/git-clone-utils.js +0 -26
- package/dist/Git/git-clone-utils.js.map +0 -1
- package/dist/Git/git-status.d.ts +0 -24
- package/dist/Git/git-status.d.ts.map +0 -1
- package/dist/Git/git-status.js +0 -105
- package/dist/Git/git-status.js.map +0 -1
- package/dist/Git/useGit.d.ts +0 -15
- package/dist/Git/useGit.d.ts.map +0 -1
- package/dist/Git/useGit.js +0 -206
- package/dist/Git/useGit.js.map +0 -1
- package/dist/Git/useGitStatus.d.ts +0 -17
- package/dist/Git/useGitStatus.d.ts.map +0 -1
- package/dist/Git/useGitStatus.js +0 -63
- package/dist/Git/useGitStatus.js.map +0 -1
- package/dist/GitToolbarControl-LMIR4R7I.js.map +0 -1
- package/dist/GitUI-KGF5MSNV.js.map +0 -1
- package/dist/Settings/Settings.d.ts +0 -23
- package/dist/Settings/Settings.d.ts.map +0 -1
- package/dist/Settings/Settings.js +0 -22
- package/dist/Settings/Settings.js.map +0 -1
- package/dist/Settings/public-api.d.ts +0 -3
- package/dist/Settings/public-api.d.ts.map +0 -1
- package/dist/Settings/public-api.js +0 -2
- package/dist/Settings/public-api.js.map +0 -1
- package/dist/WorkspacePicker/WorkspacePicker.d.ts +0 -22
- package/dist/WorkspacePicker/WorkspacePicker.d.ts.map +0 -1
- package/dist/WorkspacePicker/WorkspacePicker.js +0 -74
- package/dist/WorkspacePicker/WorkspacePicker.js.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts +0 -11
- package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsButton.js +0 -27
- package/dist/WorkspacePicker/WorkspaceSettingsButton.js.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts +0 -20
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.js +0 -36
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.js.map +0 -1
- package/dist/WorkspacePicker/index.d.ts +0 -3
- package/dist/WorkspacePicker/index.d.ts.map +0 -1
- package/dist/WorkspacePicker/index.js +0 -2
- package/dist/WorkspacePicker/index.js.map +0 -1
- package/dist/chunk-3SAXDU2U.js +0 -157
- package/dist/chunk-3SAXDU2U.js.map +0 -1
- package/dist/chunk-AOVTHZU7.js +0 -321
- package/dist/chunk-AOVTHZU7.js.map +0 -1
- package/dist/chunk-GSNZSCIK.js +0 -55
- package/dist/chunk-GSNZSCIK.js.map +0 -1
- package/dist/components/Dialog.d.ts +0 -22
- package/dist/components/Dialog.d.ts.map +0 -1
- package/dist/components/Dialog.js +0 -33
- package/dist/components/Dialog.js.map +0 -1
- package/dist/editor.d.ts.map +0 -1
- package/dist/hooks/index.d.ts +0 -3
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -2
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useDocumentSession.d.ts +0 -16
- package/dist/hooks/useDocumentSession.d.ts.map +0 -1
- package/dist/hooks/useDocumentSession.js +0 -18
- package/dist/hooks/useDocumentSession.js.map +0 -1
- package/dist/icons.d.ts +0 -12
- package/dist/icons.d.ts.map +0 -1
- package/dist/icons.js +0 -28
- package/dist/icons.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/preferences/theme.d.ts +0 -18
- package/dist/preferences/theme.d.ts.map +0 -1
- package/dist/preferences/theme.js +0 -63
- package/dist/preferences/theme.js.map +0 -1
- package/dist/preferences/versioning.d.ts +0 -27
- package/dist/preferences/versioning.d.ts.map +0 -1
- package/dist/preferences/versioning.js +0 -62
- package/dist/preferences/versioning.js.map +0 -1
- package/dist/provider-lease.d.ts +0 -10
- package/dist/provider-lease.d.ts.map +0 -1
- package/dist/provider-lease.js +0 -42
- package/dist/provider-lease.js.map +0 -1
- package/src/AppMenu/AppMenu.tsx +0 -334
- package/src/AppMenu/index.ts +0 -2
- package/src/DocBlocksShell/DocBlocksShell.tsx +0 -3398
- package/src/DocBlocksShell/LazyEditorShell.ts +0 -2
- package/src/DocBlocksShell/UpdateAvailableNotice.tsx +0 -60
- package/src/DocBlocksShell/document-title.ts +0 -19
- package/src/DocBlocksShell/index.ts +0 -2
- package/src/DocBlocksShell/workspace-authority-barrier.ts +0 -26
- package/src/Export/DeferredExportToolbarControls.tsx +0 -23
- package/src/Export/ExportDialog.tsx +0 -437
- package/src/Export/ExportToolbarControls.tsx +0 -511
- package/src/Export/export-destination.ts +0 -30
- package/src/Export/export-options.ts +0 -99
- package/src/Export/index.ts +0 -19
- package/src/Export/public-api.ts +0 -17
- package/src/Export/run-export.ts +0 -374
- package/src/Export/transform-summaries.ts +0 -14
- package/src/FileExplorer/FileExplorer.tsx +0 -528
- package/src/FileExplorer/FileTreeNode.tsx +0 -306
- package/src/FileExplorer/index.ts +0 -5
- package/src/FileExplorer/useFileTree.ts +0 -352
- package/src/Git/GitAuthGuidanceDialog.tsx +0 -84
- package/src/Git/GitBranchesDialog.tsx +0 -144
- package/src/Git/GitCloneDialog.tsx +0 -200
- package/src/Git/GitCommitDialog.tsx +0 -119
- package/src/Git/GitConflictsDialog.tsx +0 -62
- package/src/Git/GitContext.tsx +0 -88
- package/src/Git/GitDiffDialog.tsx +0 -147
- package/src/Git/GitDiffView.tsx +0 -105
- package/src/Git/GitHistoryDialog.tsx +0 -195
- package/src/Git/GitStatusBar.tsx +0 -157
- package/src/Git/GitToolbarControl.tsx +0 -123
- package/src/Git/GitUI.tsx +0 -68
- package/src/Git/commit-selection.ts +0 -63
- package/src/Git/git-clone-utils.ts +0 -23
- package/src/Git/git-status.ts +0 -113
- package/src/Git/useGit.ts +0 -279
- package/src/Git/useGitStatus.ts +0 -78
- package/src/Settings/Settings.tsx +0 -118
- package/src/Settings/public-api.ts +0 -8
- package/src/WorkspacePicker/WorkspacePicker.tsx +0 -191
- package/src/WorkspacePicker/WorkspaceSettingsButton.tsx +0 -88
- package/src/WorkspacePicker/WorkspaceSettingsDialog.tsx +0 -121
- package/src/WorkspacePicker/index.ts +0 -2
- package/src/components/Dialog.tsx +0 -81
- package/src/editor.ts +0 -72
- package/src/hooks/index.ts +0 -2
- package/src/hooks/useDocumentSession.ts +0 -37
- package/src/icons.tsx +0 -48
- package/src/index.ts +0 -61
- package/src/preferences/theme.ts +0 -67
- package/src/preferences/versioning.ts +0 -69
- package/src/provider-lease.ts +0 -52
- package/src/types/pwa-dom.d.ts +0 -31
- /package/dist/{ExportDialog-MEUISWZX.js.map → ExportDialog-7LDIXJZ3.js.map} +0 -0
package/src/styles/docblocks.css
CHANGED
|
@@ -27,6 +27,11 @@
|
|
|
27
27
|
--db-accent-hover: #5e4f37;
|
|
28
28
|
--db-text-on-accent: #ffffff;
|
|
29
29
|
--db-text-on-selected: #ffffff;
|
|
30
|
+
/* Keyboard focus ring. Deliberately darker than --db-accent: the accent
|
|
31
|
+
is also the *selected row* fill, so an accent ring vanished against
|
|
32
|
+
it. Any surface that paints itself --db-bg-selected re-points this
|
|
33
|
+
token at a contrasting value (see .db-tree-row--selected). */
|
|
34
|
+
--db-focus: #3d3220;
|
|
30
35
|
--db-accent-soft-08: rgba(125, 105, 72, 0.08);
|
|
31
36
|
--db-accent-soft-10: rgba(125, 105, 72, 0.1);
|
|
32
37
|
--db-accent-soft-12: rgba(125, 105, 72, 0.12);
|
|
@@ -45,6 +50,7 @@
|
|
|
45
50
|
--db-input-border: #c4b693;
|
|
46
51
|
--db-danger: #b22b1b;
|
|
47
52
|
--db-danger-bg: #fdf0ee;
|
|
53
|
+
--db-text-on-danger: #ffffff;
|
|
48
54
|
--db-shadow: rgba(40, 30, 15, 0.12);
|
|
49
55
|
/* Git status colors — file badges, sync chips. Deleted/conflicted reuse
|
|
50
56
|
the danger hue on purpose; renamed gets the one cool accent. */
|
|
@@ -72,6 +78,7 @@
|
|
|
72
78
|
--db-accent-hover: #dec79d;
|
|
73
79
|
--db-text-on-accent: #1a1812;
|
|
74
80
|
--db-text-on-selected: #e8e2d0;
|
|
81
|
+
--db-focus: #e8e2d0;
|
|
75
82
|
--db-accent-soft-08: rgba(200, 180, 143, 0.08);
|
|
76
83
|
--db-accent-soft-10: rgba(200, 180, 143, 0.1);
|
|
77
84
|
--db-accent-soft-12: rgba(200, 180, 143, 0.12);
|
|
@@ -86,6 +93,7 @@
|
|
|
86
93
|
--db-input-border: #c8b48f;
|
|
87
94
|
--db-danger: #f87171;
|
|
88
95
|
--db-danger-bg: #1c1917;
|
|
96
|
+
--db-text-on-danger: #1c1917;
|
|
89
97
|
--db-shadow: rgba(0, 0, 0, 0.4);
|
|
90
98
|
/* In dark mode, "lighter than the toolbar" means brighter — so this
|
|
91
99
|
sits a step above `--db-accent-tint-strong` instead of between it
|
|
@@ -116,6 +124,7 @@
|
|
|
116
124
|
--db-accent-hover: #dec79d;
|
|
117
125
|
--db-text-on-accent: #1a1812;
|
|
118
126
|
--db-text-on-selected: #e8e2d0;
|
|
127
|
+
--db-focus: #e8e2d0;
|
|
119
128
|
--db-accent-soft-08: rgba(200, 180, 143, 0.08);
|
|
120
129
|
--db-accent-soft-12: rgba(200, 180, 143, 0.12);
|
|
121
130
|
--db-accent-soft-15: rgba(200, 180, 143, 0.18);
|
|
@@ -125,6 +134,7 @@
|
|
|
125
134
|
--db-input-border: #c8b48f;
|
|
126
135
|
--db-danger: #f87171;
|
|
127
136
|
--db-danger-bg: #1c1917;
|
|
137
|
+
--db-text-on-danger: #1c1917;
|
|
128
138
|
--db-shadow: rgba(0, 0, 0, 0.4);
|
|
129
139
|
--db-gutter-bg: #4a4538;
|
|
130
140
|
--db-git-modified: #e5b567;
|
|
@@ -202,12 +212,125 @@
|
|
|
202
212
|
justify-content: center;
|
|
203
213
|
}
|
|
204
214
|
|
|
205
|
-
.db-explorer-btn:hover {
|
|
215
|
+
.db-explorer-btn:hover:not(:disabled) {
|
|
206
216
|
background: var(--db-bg-hover);
|
|
207
217
|
border-color: var(--db-border);
|
|
208
218
|
color: var(--db-text-secondary);
|
|
209
219
|
}
|
|
210
220
|
|
|
221
|
+
.db-explorer-btn:disabled {
|
|
222
|
+
cursor: default;
|
|
223
|
+
opacity: 0.55;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/* ── Transient workspace move ────────────────────────────────── */
|
|
227
|
+
|
|
228
|
+
.db-transient-move {
|
|
229
|
+
flex-shrink: 0;
|
|
230
|
+
padding: 8px;
|
|
231
|
+
border-bottom: 1px solid var(--db-border);
|
|
232
|
+
background: var(--db-accent-soft-08);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.db-transient-move-trigger {
|
|
236
|
+
width: 100%;
|
|
237
|
+
padding: 7px 9px;
|
|
238
|
+
border: 1px solid var(--db-accent);
|
|
239
|
+
border-radius: 5px;
|
|
240
|
+
background: var(--db-bg);
|
|
241
|
+
color: var(--db-accent-deep);
|
|
242
|
+
font: inherit;
|
|
243
|
+
font-weight: 600;
|
|
244
|
+
text-align: left;
|
|
245
|
+
cursor: pointer;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.db-transient-move-trigger:hover {
|
|
249
|
+
background: var(--db-bg-hover);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.db-transient-move-trigger:focus-visible,
|
|
253
|
+
.db-transient-move-select:focus-visible,
|
|
254
|
+
.db-transient-move-actions button:focus-visible {
|
|
255
|
+
outline: 2px solid var(--db-focus, var(--db-accent));
|
|
256
|
+
outline-offset: 2px;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.db-transient-move-form {
|
|
260
|
+
display: flex;
|
|
261
|
+
flex-direction: column;
|
|
262
|
+
gap: 7px;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.db-transient-move-label {
|
|
266
|
+
color: var(--db-text);
|
|
267
|
+
font-size: 12px;
|
|
268
|
+
font-weight: 600;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.db-transient-move-select {
|
|
272
|
+
box-sizing: border-box;
|
|
273
|
+
width: 100%;
|
|
274
|
+
min-width: 0;
|
|
275
|
+
padding: 6px 28px 6px 8px;
|
|
276
|
+
border: 1px solid var(--db-input-border);
|
|
277
|
+
border-radius: 4px;
|
|
278
|
+
background: var(--db-bg);
|
|
279
|
+
color: var(--db-text);
|
|
280
|
+
font: inherit;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.db-transient-move-hint,
|
|
284
|
+
.db-transient-move-error {
|
|
285
|
+
margin: 0;
|
|
286
|
+
font-size: 11px;
|
|
287
|
+
line-height: 1.4;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.db-transient-move-hint {
|
|
291
|
+
color: var(--db-text-muted);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.db-transient-move-error {
|
|
295
|
+
color: var(--db-danger);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.db-transient-move-actions {
|
|
299
|
+
display: flex;
|
|
300
|
+
justify-content: flex-end;
|
|
301
|
+
gap: 6px;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.db-transient-move-actions button {
|
|
305
|
+
padding: 5px 10px;
|
|
306
|
+
border-radius: 4px;
|
|
307
|
+
font: inherit;
|
|
308
|
+
font-weight: 600;
|
|
309
|
+
cursor: pointer;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.db-transient-move-actions button:disabled {
|
|
313
|
+
opacity: 0.55;
|
|
314
|
+
cursor: default;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.db-transient-move-cancel {
|
|
318
|
+
border: 1px solid var(--db-border-strong);
|
|
319
|
+
background: var(--db-bg);
|
|
320
|
+
color: var(--db-text-secondary);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.db-transient-move-submit {
|
|
324
|
+
border: 1px solid var(--db-accent);
|
|
325
|
+
background: var(--db-accent);
|
|
326
|
+
color: var(--db-text-on-accent);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.db-transient-move-submit:hover:not(:disabled) {
|
|
330
|
+
border-color: var(--db-accent-hover);
|
|
331
|
+
background: var(--db-accent-hover);
|
|
332
|
+
}
|
|
333
|
+
|
|
211
334
|
/* ── New Item Input ──────────────────────────────────────────── */
|
|
212
335
|
|
|
213
336
|
.db-new-item {
|
|
@@ -234,6 +357,25 @@
|
|
|
234
357
|
outline: none;
|
|
235
358
|
}
|
|
236
359
|
|
|
360
|
+
/* The UA outline is suppressed above, so this is the *only* focus
|
|
361
|
+
indicator on an input a keyboard user has to type into (WCAG 2.4.7).
|
|
362
|
+
:focus-visible rather than :focus so a pointer user placing a caret
|
|
363
|
+
doesn't get a ring. */
|
|
364
|
+
.db-new-item-input:focus-visible {
|
|
365
|
+
outline: 2px solid var(--db-focus);
|
|
366
|
+
outline-offset: 1px;
|
|
367
|
+
border-color: var(--db-accent);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.db-new-item-input[aria-invalid='true'] {
|
|
371
|
+
border-color: var(--db-danger);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.db-new-item-add:focus-visible {
|
|
375
|
+
outline: 2px solid var(--db-focus);
|
|
376
|
+
outline-offset: 1px;
|
|
377
|
+
}
|
|
378
|
+
|
|
237
379
|
.db-new-item-suffix {
|
|
238
380
|
font-size: 12px;
|
|
239
381
|
color: var(--db-text-muted);
|
|
@@ -251,10 +393,16 @@
|
|
|
251
393
|
cursor: pointer;
|
|
252
394
|
}
|
|
253
395
|
|
|
254
|
-
.db-new-item-add:hover {
|
|
396
|
+
.db-new-item-add:hover:not(:disabled) {
|
|
255
397
|
background: var(--db-accent-hover);
|
|
256
398
|
}
|
|
257
399
|
|
|
400
|
+
.db-new-item-input:disabled,
|
|
401
|
+
.db-new-item-add:disabled {
|
|
402
|
+
cursor: default;
|
|
403
|
+
opacity: 0.65;
|
|
404
|
+
}
|
|
405
|
+
|
|
258
406
|
/* ── Tree ────────────────────────────────────────────────────── */
|
|
259
407
|
|
|
260
408
|
.db-tree {
|
|
@@ -279,6 +427,17 @@
|
|
|
279
427
|
font-size: 12px;
|
|
280
428
|
}
|
|
281
429
|
|
|
430
|
+
.db-tree-error-retry {
|
|
431
|
+
border: 0;
|
|
432
|
+
padding: 0;
|
|
433
|
+
color: inherit;
|
|
434
|
+
background: transparent;
|
|
435
|
+
font: inherit;
|
|
436
|
+
font-weight: 600;
|
|
437
|
+
text-decoration: underline;
|
|
438
|
+
cursor: pointer;
|
|
439
|
+
}
|
|
440
|
+
|
|
282
441
|
.db-tree--drop-target {
|
|
283
442
|
box-shadow: inset 0 0 0 2px var(--db-accent);
|
|
284
443
|
background: var(--db-accent-soft-08);
|
|
@@ -298,6 +457,22 @@
|
|
|
298
457
|
background: var(--db-bg-hover);
|
|
299
458
|
}
|
|
300
459
|
|
|
460
|
+
/* The roving-tabindex row is the tree's single tab stop, so its focus ring
|
|
461
|
+
is the only thing telling a keyboard user where they are. Inset offset
|
|
462
|
+
keeps the ring inside the scroll container instead of being clipped. */
|
|
463
|
+
.db-tree-row:focus-visible {
|
|
464
|
+
outline: 2px solid var(--db-focus);
|
|
465
|
+
outline-offset: -2px;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
/* A selected/drop-target row is filled with --db-bg-selected, which in
|
|
469
|
+
light mode *is* the accent brown — the default ring would disappear
|
|
470
|
+
into it. Re-point the token rather than duplicating the rule. */
|
|
471
|
+
.db-tree-row--selected,
|
|
472
|
+
.db-tree-row--drop-target {
|
|
473
|
+
--db-focus: #ffffff;
|
|
474
|
+
}
|
|
475
|
+
|
|
301
476
|
.db-tree-row--dragging {
|
|
302
477
|
opacity: 0.45;
|
|
303
478
|
}
|
|
@@ -348,6 +523,15 @@
|
|
|
348
523
|
outline: none;
|
|
349
524
|
}
|
|
350
525
|
|
|
526
|
+
/* Same WCAG 2.4.7 gap as .db-new-item-input: the rename input is focused
|
|
527
|
+
programmatically the moment it appears, so with `outline: none` and no
|
|
528
|
+
replacement a keyboard user had no idea where they were typing. */
|
|
529
|
+
.db-tree-rename-input:focus-visible {
|
|
530
|
+
outline: 2px solid var(--db-focus);
|
|
531
|
+
outline-offset: 1px;
|
|
532
|
+
border-color: var(--db-accent);
|
|
533
|
+
}
|
|
534
|
+
|
|
351
535
|
.db-tree-more {
|
|
352
536
|
flex-shrink: 0;
|
|
353
537
|
display: inline-flex;
|
|
@@ -379,6 +563,11 @@
|
|
|
379
563
|
color: var(--db-text);
|
|
380
564
|
}
|
|
381
565
|
|
|
566
|
+
.db-tree-more:focus-visible {
|
|
567
|
+
outline: 2px solid var(--db-focus);
|
|
568
|
+
outline-offset: -2px;
|
|
569
|
+
}
|
|
570
|
+
|
|
382
571
|
.db-tree-more--active {
|
|
383
572
|
background: var(--db-bg-selected);
|
|
384
573
|
color: var(--db-text-on-selected);
|
|
@@ -413,10 +602,18 @@
|
|
|
413
602
|
color: var(--db-text-secondary);
|
|
414
603
|
}
|
|
415
604
|
|
|
416
|
-
.db-tree-context-item:hover
|
|
605
|
+
.db-tree-context-item:hover,
|
|
606
|
+
.db-tree-context-item:focus-visible {
|
|
417
607
|
background: var(--db-bg-hover);
|
|
418
608
|
}
|
|
419
609
|
|
|
610
|
+
/* Menu items are reached with Arrow keys (they are not tab stops), so the
|
|
611
|
+
ring is the only cue to which item Enter will fire. */
|
|
612
|
+
.db-tree-context-item:focus-visible {
|
|
613
|
+
outline: 2px solid var(--db-focus);
|
|
614
|
+
outline-offset: -2px;
|
|
615
|
+
}
|
|
616
|
+
|
|
420
617
|
.db-tree-context-item--danger {
|
|
421
618
|
color: var(--db-danger);
|
|
422
619
|
}
|
|
@@ -947,9 +1144,16 @@ body.db-resizing-sidebar * {
|
|
|
947
1144
|
background: var(--db-bg-hover);
|
|
948
1145
|
}
|
|
949
1146
|
|
|
950
|
-
.db-mobile-
|
|
951
|
-
|
|
952
|
-
|
|
1147
|
+
.db-mobile-files-icon {
|
|
1148
|
+
display: inline-flex;
|
|
1149
|
+
align-items: center;
|
|
1150
|
+
justify-content: center;
|
|
1151
|
+
flex-shrink: 0;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
.db-mobile-files-icon svg {
|
|
1155
|
+
width: 24px;
|
|
1156
|
+
height: 24px;
|
|
953
1157
|
}
|
|
954
1158
|
|
|
955
1159
|
/* In folder/empty views, the back button sits as a standalone bar */
|
|
@@ -991,16 +1195,23 @@ body.db-resizing-sidebar * {
|
|
|
991
1195
|
display: flex;
|
|
992
1196
|
align-items: center;
|
|
993
1197
|
justify-content: center;
|
|
1198
|
+
box-sizing: border-box;
|
|
1199
|
+
padding: 16px;
|
|
994
1200
|
background: rgba(0, 0, 0, 0.4);
|
|
995
1201
|
}
|
|
996
1202
|
|
|
997
1203
|
.db-dialog {
|
|
1204
|
+
box-sizing: border-box;
|
|
998
1205
|
background: var(--db-bg);
|
|
999
1206
|
border: 1px solid var(--db-border);
|
|
1000
1207
|
border-radius: 8px;
|
|
1001
1208
|
box-shadow: 0 8px 32px var(--db-shadow);
|
|
1002
1209
|
width: 380px;
|
|
1003
|
-
max-width:
|
|
1210
|
+
max-width: 100%;
|
|
1211
|
+
max-height: calc(100vh - 32px);
|
|
1212
|
+
max-height: calc(100dvh - 32px);
|
|
1213
|
+
display: flex;
|
|
1214
|
+
flex-direction: column;
|
|
1004
1215
|
}
|
|
1005
1216
|
|
|
1006
1217
|
.db-dialog-header {
|
|
@@ -1035,6 +1246,8 @@ body.db-resizing-sidebar * {
|
|
|
1035
1246
|
}
|
|
1036
1247
|
|
|
1037
1248
|
.db-dialog-body {
|
|
1249
|
+
min-height: 0;
|
|
1250
|
+
overflow-y: auto;
|
|
1038
1251
|
padding: 16px 20px 20px;
|
|
1039
1252
|
font-size: 13px;
|
|
1040
1253
|
line-height: 1.6;
|
|
@@ -1135,12 +1348,70 @@ body.db-resizing-sidebar * {
|
|
|
1135
1348
|
accent-color: var(--db-accent);
|
|
1136
1349
|
}
|
|
1137
1350
|
|
|
1351
|
+
.db-settings-slider {
|
|
1352
|
+
display: flex;
|
|
1353
|
+
flex-direction: column;
|
|
1354
|
+
gap: 6px;
|
|
1355
|
+
color: var(--db-text);
|
|
1356
|
+
font-size: 13px;
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
.db-settings-slider + .db-settings-slider {
|
|
1360
|
+
margin-top: 14px;
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
.db-settings-slider-header {
|
|
1364
|
+
display: flex;
|
|
1365
|
+
align-items: baseline;
|
|
1366
|
+
justify-content: space-between;
|
|
1367
|
+
gap: 16px;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
.db-settings-slider-value {
|
|
1371
|
+
color: var(--db-text-muted);
|
|
1372
|
+
font-variant-numeric: tabular-nums;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
.db-settings-slider input[type='range'] {
|
|
1376
|
+
width: 100%;
|
|
1377
|
+
margin: 0;
|
|
1378
|
+
accent-color: var(--db-accent);
|
|
1379
|
+
cursor: pointer;
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1138
1382
|
.db-settings-accent-grid {
|
|
1139
1383
|
display: grid;
|
|
1140
|
-
grid-template-columns: repeat(
|
|
1384
|
+
grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
|
|
1141
1385
|
gap: 6px;
|
|
1142
1386
|
}
|
|
1143
1387
|
|
|
1388
|
+
.db-settings-action {
|
|
1389
|
+
margin-top: 4px;
|
|
1390
|
+
padding: 7px 12px;
|
|
1391
|
+
border: 1px solid var(--db-accent);
|
|
1392
|
+
border-radius: 5px;
|
|
1393
|
+
background: var(--db-accent);
|
|
1394
|
+
color: var(--db-text-on-accent);
|
|
1395
|
+
font: inherit;
|
|
1396
|
+
font-weight: 600;
|
|
1397
|
+
cursor: pointer;
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
.db-settings-action:hover:not(:disabled) {
|
|
1401
|
+
border-color: var(--db-accent-hover);
|
|
1402
|
+
background: var(--db-accent-hover);
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
.db-settings-action:focus-visible {
|
|
1406
|
+
outline: 2px solid var(--db-focus, var(--db-accent));
|
|
1407
|
+
outline-offset: 2px;
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
.db-settings-action:disabled {
|
|
1411
|
+
opacity: 0.6;
|
|
1412
|
+
cursor: default;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1144
1415
|
.db-settings-accent {
|
|
1145
1416
|
position: relative;
|
|
1146
1417
|
display: flex;
|
|
@@ -1349,9 +1620,6 @@ body.db-resizing-sidebar * {
|
|
|
1349
1620
|
width: 28px;
|
|
1350
1621
|
height: 28px;
|
|
1351
1622
|
padding: 0;
|
|
1352
|
-
font-size: 16px;
|
|
1353
|
-
font-weight: 700;
|
|
1354
|
-
letter-spacing: 1px;
|
|
1355
1623
|
line-height: 1;
|
|
1356
1624
|
border: 1px solid transparent;
|
|
1357
1625
|
border-radius: 4px;
|
|
@@ -1360,6 +1628,11 @@ body.db-resizing-sidebar * {
|
|
|
1360
1628
|
color: var(--db-text-muted);
|
|
1361
1629
|
}
|
|
1362
1630
|
|
|
1631
|
+
.db-toolbar-menu-trigger svg {
|
|
1632
|
+
width: 18px;
|
|
1633
|
+
height: 18px;
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1363
1636
|
.db-toolbar-menu-trigger:hover {
|
|
1364
1637
|
background: var(--db-bg-hover);
|
|
1365
1638
|
border-color: var(--db-border);
|
|
@@ -1411,10 +1684,17 @@ body.db-resizing-sidebar * {
|
|
|
1411
1684
|
white-space: nowrap;
|
|
1412
1685
|
}
|
|
1413
1686
|
|
|
1414
|
-
.db-toolbar-menu-item:hover
|
|
1687
|
+
.db-toolbar-menu-item:hover,
|
|
1688
|
+
.db-toolbar-menu-item:focus-visible {
|
|
1415
1689
|
background: var(--db-bg-hover);
|
|
1416
1690
|
}
|
|
1417
1691
|
|
|
1692
|
+
/* Arrow-reachable, not a tab stop — see .db-git-menu-item:focus-visible. */
|
|
1693
|
+
.db-toolbar-menu-item:focus-visible {
|
|
1694
|
+
outline: 2px solid var(--db-focus);
|
|
1695
|
+
outline-offset: -2px;
|
|
1696
|
+
}
|
|
1697
|
+
|
|
1418
1698
|
.db-toolbar-menu-item:disabled {
|
|
1419
1699
|
opacity: 0.5;
|
|
1420
1700
|
cursor: default;
|
|
@@ -1627,6 +1907,53 @@ body.db-resizing-sidebar * {
|
|
|
1627
1907
|
color: var(--db-text-on-accent);
|
|
1628
1908
|
}
|
|
1629
1909
|
|
|
1910
|
+
/* Shared-document links intentionally resemble export because they package a
|
|
1911
|
+
bounded Markdown-only DBK; the warning is the critical distinction. */
|
|
1912
|
+
.db-share-dialog {
|
|
1913
|
+
width: 480px;
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1916
|
+
.db-share-warning {
|
|
1917
|
+
margin-bottom: 16px;
|
|
1918
|
+
padding: 10px 12px;
|
|
1919
|
+
color: var(--db-text);
|
|
1920
|
+
background: color-mix(in srgb, var(--db-accent) 12%, var(--db-bg-subtle));
|
|
1921
|
+
border: 1px solid var(--db-accent);
|
|
1922
|
+
border-radius: 5px;
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1925
|
+
.db-share-link {
|
|
1926
|
+
display: block;
|
|
1927
|
+
width: 100%;
|
|
1928
|
+
min-height: 72px;
|
|
1929
|
+
box-sizing: border-box;
|
|
1930
|
+
resize: vertical;
|
|
1931
|
+
padding: 8px;
|
|
1932
|
+
font:
|
|
1933
|
+
11px/1.45 ui-monospace,
|
|
1934
|
+
SFMono-Regular,
|
|
1935
|
+
Consolas,
|
|
1936
|
+
monospace;
|
|
1937
|
+
color: var(--db-text);
|
|
1938
|
+
background: var(--db-bg-subtle);
|
|
1939
|
+
border: 1px solid var(--db-border);
|
|
1940
|
+
border-radius: 4px;
|
|
1941
|
+
outline: none;
|
|
1942
|
+
overflow-wrap: anywhere;
|
|
1943
|
+
}
|
|
1944
|
+
|
|
1945
|
+
.db-share-link:focus {
|
|
1946
|
+
border-color: var(--db-accent);
|
|
1947
|
+
}
|
|
1948
|
+
|
|
1949
|
+
.db-share-length-warning {
|
|
1950
|
+
color: var(--db-danger, #a33a35);
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1953
|
+
.db-share-temporary-note {
|
|
1954
|
+
color: var(--db-text-muted);
|
|
1955
|
+
}
|
|
1956
|
+
|
|
1630
1957
|
/* ── Squisq editor chrome separators ─────────────────────────── */
|
|
1631
1958
|
/* Strengthen the dividers so the toolbar, tabs, and editor body
|
|
1632
1959
|
read as three distinct zones instead of near-identical whites. */
|
|
@@ -1656,6 +1983,25 @@ body.db-resizing-sidebar * {
|
|
|
1656
1983
|
background: var(--db-editor-canvas);
|
|
1657
1984
|
}
|
|
1658
1985
|
|
|
1986
|
+
/* Bind Squisq's host-facing accent to the active DocBlocks appearance. */
|
|
1987
|
+
.db-shell .squisq-editor-shell {
|
|
1988
|
+
--squisq-accent: var(--db-accent);
|
|
1989
|
+
--squisq-accent-hover: var(--db-accent-hover);
|
|
1990
|
+
--squisq-text-on-accent: var(--db-text-on-accent);
|
|
1991
|
+
}
|
|
1992
|
+
|
|
1993
|
+
/* Simple diagrams, drawings, and layout canvases share Squisq's Scene
|
|
1994
|
+
engine. Keep canvas and raised-control surfaces on the same DocBlocks
|
|
1995
|
+
palette instead of falling back to slate. */
|
|
1996
|
+
.db-shell .squisq-editor-shell .squisq-scene-shell {
|
|
1997
|
+
--squisq-surface: var(--db-editor-canvas);
|
|
1998
|
+
--squisq-surface-raised: var(--db-bg-subtle);
|
|
1999
|
+
--squisq-surface-hover: var(--db-bg-hover);
|
|
2000
|
+
--squisq-border: var(--db-border-strong);
|
|
2001
|
+
--squisq-text: var(--db-text);
|
|
2002
|
+
--squisq-text-muted: var(--db-text-muted);
|
|
2003
|
+
}
|
|
2004
|
+
|
|
1659
2005
|
/* ── Inline preview gutter: thematic green ──────────────────── */
|
|
1660
2006
|
/* Rebind squisq's `--squisq-preview-*` custom properties so the
|
|
1661
2007
|
gutter chrome (vertical bracket, diagonal connector + dots,
|
|
@@ -1792,6 +2138,102 @@ body.db-resizing-sidebar * {
|
|
|
1792
2138
|
background: var(--db-bg);
|
|
1793
2139
|
}
|
|
1794
2140
|
|
|
2141
|
+
/* Squisq's media bin ships with a fixed blue-slate palette. Bind the full
|
|
2142
|
+
pane to DocBlocks' appearance tokens so its surface and controls follow
|
|
2143
|
+
the selected accent in both light and dark themes. */
|
|
2144
|
+
.db-shell .squisq-editor-shell .squisq-media-bin {
|
|
2145
|
+
background: var(--db-bg-subtle);
|
|
2146
|
+
border-left-color: var(--db-border);
|
|
2147
|
+
color: var(--db-text);
|
|
2148
|
+
scrollbar-color: var(--db-border-strong) var(--db-bg-subtle);
|
|
2149
|
+
}
|
|
2150
|
+
|
|
2151
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-header {
|
|
2152
|
+
border-bottom-color: var(--db-border);
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-title {
|
|
2156
|
+
color: var(--db-text-secondary);
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-upload {
|
|
2160
|
+
background: var(--db-accent-tint-strong);
|
|
2161
|
+
border-color: var(--db-border);
|
|
2162
|
+
color: var(--db-text-secondary);
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2165
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-upload:hover {
|
|
2166
|
+
background: var(--db-bg-hover);
|
|
2167
|
+
border-color: var(--db-border-strong);
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-empty,
|
|
2171
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-size {
|
|
2172
|
+
color: var(--db-text-muted);
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2175
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-item {
|
|
2176
|
+
border-bottom-color: var(--db-border);
|
|
2177
|
+
color: var(--db-text-secondary);
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-item:hover,
|
|
2181
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-item:focus-visible {
|
|
2182
|
+
background: var(--db-bg-hover);
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-item:focus-visible {
|
|
2186
|
+
outline-color: var(--db-accent);
|
|
2187
|
+
}
|
|
2188
|
+
|
|
2189
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-thumb,
|
|
2190
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-icon {
|
|
2191
|
+
background: var(--db-accent-tint-strong);
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-drop-target {
|
|
2195
|
+
background: color-mix(in srgb, var(--db-bg-subtle) 92%, var(--db-accent));
|
|
2196
|
+
border-color: var(--db-accent);
|
|
2197
|
+
color: var(--db-accent-deep);
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-drop-target-icon {
|
|
2201
|
+
background: var(--db-accent);
|
|
2202
|
+
color: var(--db-text-on-accent);
|
|
2203
|
+
}
|
|
2204
|
+
|
|
2205
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-drop-target span:last-child {
|
|
2206
|
+
color: var(--db-text-muted);
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-context-menu {
|
|
2210
|
+
background: var(--db-bg);
|
|
2211
|
+
border-color: var(--db-border);
|
|
2212
|
+
box-shadow: 0 12px 28px var(--db-shadow);
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-context-menu-item {
|
|
2216
|
+
color: var(--db-text-secondary);
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-context-menu-item:hover,
|
|
2220
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-context-menu-item:focus-visible {
|
|
2221
|
+
background: var(--db-bg-hover);
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-context-menu-item--danger {
|
|
2225
|
+
color: var(--db-danger);
|
|
2226
|
+
}
|
|
2227
|
+
|
|
2228
|
+
.db-shell .squisq-editor-shell .squisq-media-bin .squisq-media-bin-context-menu-item--danger:hover,
|
|
2229
|
+
.db-shell
|
|
2230
|
+
.squisq-editor-shell
|
|
2231
|
+
.squisq-media-bin
|
|
2232
|
+
.squisq-media-bin-context-menu-item--danger:focus-visible {
|
|
2233
|
+
background: var(--db-danger-bg);
|
|
2234
|
+
color: var(--db-danger);
|
|
2235
|
+
}
|
|
2236
|
+
|
|
1795
2237
|
/* ── Squisq accent override (blue → thematic green) ──────────── */
|
|
1796
2238
|
|
|
1797
2239
|
.db-shell[data-theme='dark'] .squisq-editor-shell[data-theme='dark'] .squisq-view-tab--active {
|
|
@@ -1943,8 +2385,9 @@ html:has(.db-shell[data-theme='dark']) .squisq-tooltip {
|
|
|
1943
2385
|
/* The gallery popover renders into document.body via createPortal, so
|
|
1944
2386
|
neither .db-shell nor .squisq-editor-shell are ancestors. We use
|
|
1945
2387
|
`html:has(.db-shell[data-theme='dark'])` to detect docblocks' dark
|
|
1946
|
-
theme from outside the shell, then
|
|
1947
|
-
|
|
2388
|
+
theme from outside the shell, then bind the portaled dialog through
|
|
2389
|
+
Squisq's stable `data-squisq-template-gallery-portal` marker. Dialog
|
|
2390
|
+
and gallery ids are intentionally instance-specific. */
|
|
1948
2391
|
|
|
1949
2392
|
.db-shell[data-theme='dark']
|
|
1950
2393
|
.squisq-editor-shell[data-theme='dark']
|
|
@@ -1968,6 +2411,7 @@ html:has(.db-shell[data-theme='dark']) {
|
|
|
1968
2411
|
--db-text-muted: #a89a7c;
|
|
1969
2412
|
--db-danger: #f87171;
|
|
1970
2413
|
--db-danger-bg: #1c1917;
|
|
2414
|
+
--db-text-on-danger: #1c1917;
|
|
1971
2415
|
--db-shadow: rgba(0, 0, 0, 0.4);
|
|
1972
2416
|
--db-accent: #c8b48f;
|
|
1973
2417
|
--db-accent-hover: #dec79d;
|
|
@@ -1988,6 +2432,7 @@ html:has(.db-shell[data-theme='light']) {
|
|
|
1988
2432
|
--db-text-muted: #6b614a;
|
|
1989
2433
|
--db-danger: #b22b1b;
|
|
1990
2434
|
--db-danger-bg: #fdf0ee;
|
|
2435
|
+
--db-text-on-danger: #ffffff;
|
|
1991
2436
|
--db-shadow: rgba(40, 30, 15, 0.12);
|
|
1992
2437
|
--db-accent: #7d6948;
|
|
1993
2438
|
--db-accent-hover: #5e4f37;
|
|
@@ -2336,7 +2781,7 @@ html:has(.db-shell[data-theme='dark']:not([data-accent='brown'])) .squisq-toolti
|
|
|
2336
2781
|
}
|
|
2337
2782
|
|
|
2338
2783
|
html:has(.db-shell[data-theme='dark'])
|
|
2339
|
-
|
|
2784
|
+
.squisq-template-gallery-dialog[data-theme='dark']:has([data-squisq-template-gallery-portal]) {
|
|
2340
2785
|
--squisq-template-gallery-backdrop: var(--db-gallery-backdrop, rgba(18, 14, 9, 0.58));
|
|
2341
2786
|
--squisq-template-gallery-panel-bg: var(--db-gallery-panel-bg, var(--db-bg));
|
|
2342
2787
|
--squisq-template-gallery-panel-border: var(--db-border);
|
|
@@ -2390,7 +2835,7 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
2390
2835
|
}
|
|
2391
2836
|
|
|
2392
2837
|
html:has(.db-shell[data-theme='light'])
|
|
2393
|
-
|
|
2838
|
+
.squisq-template-gallery-dialog[data-theme='light']:has([data-squisq-template-gallery-portal]) {
|
|
2394
2839
|
--squisq-template-gallery-backdrop: var(--db-gallery-backdrop, rgba(42, 36, 25, 0.24));
|
|
2395
2840
|
--squisq-template-gallery-panel-bg: var(--db-gallery-panel-bg, #fffdf7);
|
|
2396
2841
|
--squisq-template-gallery-panel-border: var(--db-border);
|
|
@@ -2769,7 +3214,7 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
2769
3214
|
}
|
|
2770
3215
|
|
|
2771
3216
|
.db-shell .squisq-props-badge {
|
|
2772
|
-
transform:
|
|
3217
|
+
transform: none;
|
|
2773
3218
|
}
|
|
2774
3219
|
|
|
2775
3220
|
.db-shell .squisq-template-badge-core::after {
|
|
@@ -2965,7 +3410,7 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
2965
3410
|
|
|
2966
3411
|
/* Status bar "✓ OK" indicator — squisq paints this in saturated emerald
|
|
2967
3412
|
(#059669 light, #34d399 dark). Re-tone to the sage accent so the
|
|
2968
|
-
|
|
3413
|
+
status indicator harmonizes with the rest of the chrome. */
|
|
2969
3414
|
.db-shell .squisq-status-ok {
|
|
2970
3415
|
color: var(--db-accent);
|
|
2971
3416
|
}
|
|
@@ -2974,6 +3419,10 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
2974
3419
|
color: var(--db-accent-hover);
|
|
2975
3420
|
}
|
|
2976
3421
|
|
|
3422
|
+
.db-autosave-pending {
|
|
3423
|
+
opacity: 0.62;
|
|
3424
|
+
}
|
|
3425
|
+
|
|
2977
3426
|
/* Outline pane (left of the editor) — squisq paints a warm beige
|
|
2978
3427
|
(#dcd8d0 light / dark slate in dark mode). Re-tone to `--db-gutter-bg`
|
|
2979
3428
|
so it matches the inline-preview gutter on the right and reads as
|
|
@@ -3232,7 +3681,7 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
3232
3681
|
font-size: 13px;
|
|
3233
3682
|
font-weight: 600;
|
|
3234
3683
|
background: var(--db-accent);
|
|
3235
|
-
color: var(--db-
|
|
3684
|
+
color: var(--db-text-on-accent);
|
|
3236
3685
|
border: none;
|
|
3237
3686
|
border-radius: 6px;
|
|
3238
3687
|
cursor: pointer;
|
|
@@ -3266,11 +3715,9 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
3266
3715
|
|
|
3267
3716
|
@keyframes db-welcome-gateway-in {
|
|
3268
3717
|
from {
|
|
3269
|
-
opacity: 0;
|
|
3270
3718
|
transform: translate(-50%, 8px);
|
|
3271
3719
|
}
|
|
3272
3720
|
to {
|
|
3273
|
-
opacity: 1;
|
|
3274
3721
|
transform: translate(-50%, 0);
|
|
3275
3722
|
}
|
|
3276
3723
|
}
|
|
@@ -3336,7 +3783,7 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
3336
3783
|
}
|
|
3337
3784
|
|
|
3338
3785
|
/* Browser PWA update notice. It is docked over the right side of Squisq's
|
|
3339
|
-
status bar, while extra status-bar padding keeps
|
|
3786
|
+
status bar, while extra status-bar padding keeps its contents visible.
|
|
3340
3787
|
If the status bar is hidden, it becomes a compact floating badge so the
|
|
3341
3788
|
waiting update remains reachable. */
|
|
3342
3789
|
.db-shell-editor-area--has-update .squisq-status-bar {
|
|
@@ -3489,7 +3936,7 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
3489
3936
|
/* Dialog size modifiers (shared Dialog component) */
|
|
3490
3937
|
.db-dialog--wide {
|
|
3491
3938
|
width: 560px;
|
|
3492
|
-
max-width:
|
|
3939
|
+
max-width: 100%;
|
|
3493
3940
|
}
|
|
3494
3941
|
|
|
3495
3942
|
.db-dialog--full {
|
|
@@ -3536,6 +3983,19 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
3536
3983
|
cursor: default;
|
|
3537
3984
|
}
|
|
3538
3985
|
|
|
3986
|
+
/* Destructive confirmation (delete, remove workspace). The foreground comes
|
|
3987
|
+
from a token rather than a literal because the two themes need opposite ink:
|
|
3988
|
+
light's danger is deep red and carries white at ~6.5:1, while dark's is a
|
|
3989
|
+
light red where white would fall to ~2.8:1 and fail WCAG AA. */
|
|
3990
|
+
.db-git-primary-btn--danger {
|
|
3991
|
+
background: var(--db-danger);
|
|
3992
|
+
color: var(--db-text-on-danger);
|
|
3993
|
+
}
|
|
3994
|
+
|
|
3995
|
+
.db-git-primary-btn--danger:hover:not(:disabled) {
|
|
3996
|
+
background: color-mix(in srgb, var(--db-danger) 85%, black);
|
|
3997
|
+
}
|
|
3998
|
+
|
|
3539
3999
|
.db-git-secondary-btn {
|
|
3540
4000
|
padding: 6px 14px;
|
|
3541
4001
|
border: 1px solid var(--db-border-strong);
|
|
@@ -3642,10 +4102,18 @@ html:has(.db-shell[data-theme='dark'])
|
|
|
3642
4102
|
cursor: pointer;
|
|
3643
4103
|
}
|
|
3644
4104
|
|
|
3645
|
-
.db-git-menu-item:hover:not(:disabled)
|
|
4105
|
+
.db-git-menu-item:hover:not(:disabled),
|
|
4106
|
+
.db-git-menu-item:focus-visible {
|
|
3646
4107
|
background: var(--db-bg-hover);
|
|
3647
4108
|
}
|
|
3648
4109
|
|
|
4110
|
+
/* Items are arrow-reachable rather than tab stops, so the ring is the only
|
|
4111
|
+
cue to which one Enter will fire. */
|
|
4112
|
+
.db-git-menu-item:focus-visible {
|
|
4113
|
+
outline: 2px solid var(--db-focus);
|
|
4114
|
+
outline-offset: -2px;
|
|
4115
|
+
}
|
|
4116
|
+
|
|
3649
4117
|
.db-git-menu-item:disabled {
|
|
3650
4118
|
color: var(--db-text-placeholder);
|
|
3651
4119
|
cursor: default;
|
|
@@ -3814,7 +4282,8 @@ button.db-git-file-row:hover {
|
|
|
3814
4282
|
box-sizing: border-box;
|
|
3815
4283
|
}
|
|
3816
4284
|
|
|
3817
|
-
.db-git-form-error
|
|
4285
|
+
.db-git-form-error,
|
|
4286
|
+
.db-export-error {
|
|
3818
4287
|
margin: 8px 0 0;
|
|
3819
4288
|
color: var(--db-danger);
|
|
3820
4289
|
font-size: 12.5px;
|
|
@@ -3964,6 +4433,22 @@ button.db-git-file-row:hover {
|
|
|
3964
4433
|
color: var(--db-text-muted);
|
|
3965
4434
|
}
|
|
3966
4435
|
|
|
4436
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4437
|
+
.db-workspace-picker-caret,
|
|
4438
|
+
.db-app-menu-caret,
|
|
4439
|
+
.db-ws-settings-btn,
|
|
4440
|
+
.db-shell-sidebar-resizer,
|
|
4441
|
+
.db-export-chip,
|
|
4442
|
+
.db-git-progress-bar > span {
|
|
4443
|
+
transition: none;
|
|
4444
|
+
}
|
|
4445
|
+
|
|
4446
|
+
.db-welcome-gateway,
|
|
4447
|
+
.db-save-toast {
|
|
4448
|
+
animation: none;
|
|
4449
|
+
}
|
|
4450
|
+
}
|
|
4451
|
+
|
|
3967
4452
|
/* History dialog internals added by the expanded-row layout */
|
|
3968
4453
|
.db-git-history-toggle {
|
|
3969
4454
|
display: block;
|
|
@@ -4009,7 +4494,7 @@ button.db-git-file-row:hover {
|
|
|
4009
4494
|
toggling the overlay chevron flips it with no JS. */
|
|
4010
4495
|
@media (display-mode: window-controls-overlay) {
|
|
4011
4496
|
.db-shell {
|
|
4012
|
-
--db-wco-titlebar-height:
|
|
4497
|
+
--db-wco-titlebar-height: env(titlebar-area-height, 32px);
|
|
4013
4498
|
}
|
|
4014
4499
|
|
|
4015
4500
|
/* The first shell row replaces the native titlebar. Empty space can drag
|
|
@@ -4025,10 +4510,36 @@ button.db-git-file-row:hover {
|
|
|
4025
4510
|
}
|
|
4026
4511
|
|
|
4027
4512
|
.db-shell .db-shell-sidebar-header {
|
|
4513
|
+
padding-block: 0;
|
|
4028
4514
|
padding-left: max(4px, calc(env(titlebar-area-x, 0px) + 4px));
|
|
4029
4515
|
cursor: grab;
|
|
4030
4516
|
}
|
|
4031
4517
|
|
|
4518
|
+
/* Keep the shell controls inside the compact native caption band. These
|
|
4519
|
+
overrides apply only to an installed app using Window Controls Overlay;
|
|
4520
|
+
the regular browser toolbar keeps its roomier metrics. */
|
|
4521
|
+
.db-shell .db-app-menu-btn,
|
|
4522
|
+
.db-shell .db-workspace-picker-btn {
|
|
4523
|
+
padding-block: 3px;
|
|
4524
|
+
}
|
|
4525
|
+
|
|
4526
|
+
.db-shell .squisq-toolbar-view-tab {
|
|
4527
|
+
padding-top: 4px;
|
|
4528
|
+
padding-bottom: 4px;
|
|
4529
|
+
}
|
|
4530
|
+
|
|
4531
|
+
.db-shell .squisq-use-mode-trigger {
|
|
4532
|
+
padding-bottom: 9px;
|
|
4533
|
+
}
|
|
4534
|
+
|
|
4535
|
+
.db-shell .squisq-toolbar-button[aria-label='Insert image'] {
|
|
4536
|
+
height: 28px;
|
|
4537
|
+
}
|
|
4538
|
+
|
|
4539
|
+
.db-shell .squisq-editor-header--image {
|
|
4540
|
+
padding-block: 0;
|
|
4541
|
+
}
|
|
4542
|
+
|
|
4032
4543
|
/* Make the draggable header space beside the workspace gear discoverable,
|
|
4033
4544
|
matching the Electron titlebar without introducing another control. */
|
|
4034
4545
|
.db-shell .db-shell-sidebar-header::after {
|