@bendyline/docblocks-react 2.1.0 → 2.1.2
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 +12 -3
- package/dist/ExportDialog-VYATD5UC.js +9 -0
- package/dist/{ExportToolbarControls-GHAOJMH6.js → ExportToolbarControls-C46GMPKC.js} +70 -41
- package/dist/{GitToolbarControl-GNMRVKWQ.js → GitToolbarControl-FW3BZFXV.js} +2 -3
- package/dist/{GitUI-VHOBQY43.js → GitUI-GMH3PAYL.js} +3 -4
- package/dist/LazyEditorShell-LU4QFPDX.js +5 -0
- package/dist/{ShareDialog-63ENBEDZ.js → ShareDialog-PAMOQQFB.js} +0 -1
- package/dist/{chunk-UNYZQXWR.js → chunk-3CZ27FOA.js} +45 -10
- package/dist/{chunk-FEWQUQML.js → chunk-3QSZY74C.js} +1 -2
- package/dist/chunk-BI7NVU6T.js +31 -0
- package/dist/{chunk-VHDP4IPL.js → chunk-BPGEBGAN.js} +0 -1
- package/dist/{chunk-DD4VFJQI.js → chunk-EBWYGTN7.js} +2 -1
- package/dist/{chunk-ZI56BNB7.js → chunk-GHQ4X7KM.js} +27 -7
- package/dist/{chunk-5A4KEWKT.js → chunk-HFYPTTCH.js} +0 -1
- package/dist/{chunk-FMGTHSTX.js → chunk-LG6HAWCK.js} +0 -1
- package/dist/{chunk-57ZJJOC5.js → chunk-TFMO7EVO.js} +0 -1
- package/dist/{chunk-4XXSWN3T.js → chunk-YBEYTVU2.js} +0 -1
- package/dist/editor.js +1 -2
- package/dist/export/index.d.ts +18 -8
- package/dist/export/index.js +10 -7
- package/dist/index.d.ts +16 -7
- package/dist/index.js +359 -103
- package/dist/run-export-Z5BVFLIR.js +9 -0
- package/dist/settings/index.js +2 -3
- package/package.json +8 -8
- package/src/styles/docblocks.css +485 -9
- package/dist/ExportDialog-7LDIXJZ3.js +0 -10
- package/dist/ExportDialog-7LDIXJZ3.js.map +0 -1
- package/dist/ExportToolbarControls-GHAOJMH6.js.map +0 -1
- package/dist/GitToolbarControl-GNMRVKWQ.js.map +0 -1
- package/dist/GitUI-VHOBQY43.js.map +0 -1
- package/dist/LazyEditorShell-EF2BWRXU.js +0 -6
- package/dist/LazyEditorShell-EF2BWRXU.js.map +0 -1
- package/dist/ShareDialog-63ENBEDZ.js.map +0 -1
- package/dist/chunk-4XXSWN3T.js.map +0 -1
- package/dist/chunk-57ZJJOC5.js.map +0 -1
- package/dist/chunk-5A4KEWKT.js.map +0 -1
- package/dist/chunk-DD4VFJQI.js.map +0 -1
- package/dist/chunk-FEWQUQML.js.map +0 -1
- package/dist/chunk-FMGTHSTX.js.map +0 -1
- package/dist/chunk-UNYZQXWR.js.map +0 -1
- package/dist/chunk-VHDP4IPL.js.map +0 -1
- package/dist/chunk-ZI56BNB7.js.map +0 -1
- package/dist/editor.js.map +0 -1
- package/dist/export/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/run-export-ICTZITXC.js +0 -10
- package/dist/run-export-ICTZITXC.js.map +0 -1
- package/dist/settings/index.js.map +0 -1
package/dist/settings/index.js
CHANGED
|
@@ -3,12 +3,11 @@ import {
|
|
|
3
3
|
SettingsDialog,
|
|
4
4
|
ThemeSettings,
|
|
5
5
|
WriteCanvasSettingsControls
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-3QSZY74C.js";
|
|
7
|
+
import "../chunk-LG6HAWCK.js";
|
|
8
8
|
export {
|
|
9
9
|
AccentColorSettings,
|
|
10
10
|
SettingsDialog,
|
|
11
11
|
ThemeSettings,
|
|
12
12
|
WriteCanvasSettingsControls
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/docblocks-react",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"description": "React components for DocBlocks — file explorer, workspace picker, and editor shell",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@bendyline/docblocks": "2.1.
|
|
69
|
-
"@bendyline/squisq": "2.3.
|
|
70
|
-
"@bendyline/squisq-editor-react": "2.3.
|
|
71
|
-
"@bendyline/squisq-formats": "2.3.
|
|
72
|
-
"@bendyline/squisq-react": "2.3.
|
|
73
|
-
"@bendyline/squisq-video": "2.2.
|
|
74
|
-
"@bendyline/squisq-video-react": "2.2.
|
|
68
|
+
"@bendyline/docblocks": "2.1.2",
|
|
69
|
+
"@bendyline/squisq": "2.3.2",
|
|
70
|
+
"@bendyline/squisq-editor-react": "2.3.3",
|
|
71
|
+
"@bendyline/squisq-formats": "2.3.2",
|
|
72
|
+
"@bendyline/squisq-react": "2.3.2",
|
|
73
|
+
"@bendyline/squisq-video": "2.2.2",
|
|
74
|
+
"@bendyline/squisq-video-react": "2.2.2"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@happy-dom/global-registrator": "20.9.0",
|
package/src/styles/docblocks.css
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import '@bendyline/squisq-editor-react/styles';
|
|
2
|
+
|
|
1
3
|
/* ── DocBlocks Styles ─────────────────────────────────────────── */
|
|
2
4
|
|
|
3
5
|
/* ── Theme Tokens ────────────────────────────────────────────── */
|
|
@@ -763,6 +765,83 @@
|
|
|
763
765
|
margin: 4px 0;
|
|
764
766
|
}
|
|
765
767
|
|
|
768
|
+
.db-workspace-create {
|
|
769
|
+
box-sizing: border-box;
|
|
770
|
+
width: min(300px, calc(100vw - 24px));
|
|
771
|
+
padding: 10px;
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
.db-workspace-create-label {
|
|
775
|
+
display: block;
|
|
776
|
+
margin-bottom: 5px;
|
|
777
|
+
color: var(--db-text-secondary);
|
|
778
|
+
font-size: 12px;
|
|
779
|
+
font-weight: 600;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
.db-workspace-create-input {
|
|
783
|
+
box-sizing: border-box;
|
|
784
|
+
width: 100%;
|
|
785
|
+
padding: 6px 8px;
|
|
786
|
+
border: 1px solid var(--db-input-border);
|
|
787
|
+
border-radius: 4px;
|
|
788
|
+
outline: none;
|
|
789
|
+
background: var(--db-bg);
|
|
790
|
+
color: var(--db-text);
|
|
791
|
+
font: inherit;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
.db-workspace-create-input:focus-visible {
|
|
795
|
+
border-color: var(--db-accent);
|
|
796
|
+
outline: 2px solid var(--db-focus);
|
|
797
|
+
outline-offset: 1px;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
.db-workspace-create-input[aria-invalid='true'] {
|
|
801
|
+
border-color: var(--db-danger);
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
.db-workspace-create-error {
|
|
805
|
+
margin: 6px 0 0;
|
|
806
|
+
color: var(--db-danger);
|
|
807
|
+
font-size: 11px;
|
|
808
|
+
line-height: 1.35;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
.db-workspace-create-actions {
|
|
812
|
+
display: flex;
|
|
813
|
+
justify-content: flex-end;
|
|
814
|
+
gap: 6px;
|
|
815
|
+
margin-top: 9px;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
.db-workspace-create-actions button {
|
|
819
|
+
padding: 5px 10px;
|
|
820
|
+
border: 1px solid var(--db-accent);
|
|
821
|
+
border-radius: 4px;
|
|
822
|
+
background: var(--db-accent);
|
|
823
|
+
color: var(--db-text-on-accent);
|
|
824
|
+
font: inherit;
|
|
825
|
+
font-weight: 600;
|
|
826
|
+
cursor: pointer;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
.db-workspace-create-actions button:focus-visible {
|
|
830
|
+
outline: 2px solid var(--db-focus);
|
|
831
|
+
outline-offset: 1px;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
.db-workspace-create-actions button:disabled {
|
|
835
|
+
cursor: default;
|
|
836
|
+
opacity: 0.6;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
.db-workspace-create-actions .db-workspace-create-cancel {
|
|
840
|
+
border-color: var(--db-border-strong);
|
|
841
|
+
background: var(--db-bg);
|
|
842
|
+
color: var(--db-text-secondary);
|
|
843
|
+
}
|
|
844
|
+
|
|
766
845
|
/* ── App Menu ────────────────────────────────────────────────── */
|
|
767
846
|
|
|
768
847
|
.db-app-menu {
|
|
@@ -1126,6 +1205,142 @@ body.db-resizing-sidebar * {
|
|
|
1126
1205
|
border-right: none;
|
|
1127
1206
|
}
|
|
1128
1207
|
|
|
1208
|
+
.db-shell--mobile:has(.db-mobile-first-run) .db-file-explorer {
|
|
1209
|
+
flex: 0 0 170px;
|
|
1210
|
+
height: 170px;
|
|
1211
|
+
min-height: 170px;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
.db-mobile-first-run {
|
|
1215
|
+
flex: 0 0 auto;
|
|
1216
|
+
margin: 12px 12px auto;
|
|
1217
|
+
padding: 20px;
|
|
1218
|
+
border: 1px solid var(--db-border-strong);
|
|
1219
|
+
border-radius: 14px;
|
|
1220
|
+
background:
|
|
1221
|
+
radial-gradient(circle at 92% 4%, var(--db-accent-soft-15), transparent 42%),
|
|
1222
|
+
var(--db-bg-subtle);
|
|
1223
|
+
box-shadow: 0 12px 30px var(--db-shadow);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
.db-mobile-first-run-eyebrow {
|
|
1227
|
+
margin: 0 0 7px;
|
|
1228
|
+
color: var(--db-accent);
|
|
1229
|
+
font-size: 10px;
|
|
1230
|
+
font-weight: 700;
|
|
1231
|
+
letter-spacing: 0.1em;
|
|
1232
|
+
text-transform: uppercase;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
.db-mobile-first-run h1 {
|
|
1236
|
+
margin: 0;
|
|
1237
|
+
color: var(--db-text);
|
|
1238
|
+
font-size: 23px;
|
|
1239
|
+
line-height: 1.2;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
.db-mobile-first-run > p:not(.db-mobile-first-run-eyebrow) {
|
|
1243
|
+
margin: 10px 0 0;
|
|
1244
|
+
color: var(--db-text-secondary);
|
|
1245
|
+
font-size: 13px;
|
|
1246
|
+
line-height: 1.5;
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
.db-mobile-first-run-actions {
|
|
1250
|
+
display: flex;
|
|
1251
|
+
flex-direction: column;
|
|
1252
|
+
gap: 8px;
|
|
1253
|
+
margin-top: 17px;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
.db-mobile-first-run-actions button {
|
|
1257
|
+
min-height: 42px;
|
|
1258
|
+
padding: 8px 12px;
|
|
1259
|
+
border: 1px solid var(--db-accent);
|
|
1260
|
+
border-radius: 7px;
|
|
1261
|
+
background: var(--db-accent);
|
|
1262
|
+
color: var(--db-text-on-accent);
|
|
1263
|
+
font: inherit;
|
|
1264
|
+
font-weight: 600;
|
|
1265
|
+
cursor: pointer;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
.db-mobile-first-run-actions button:hover {
|
|
1269
|
+
border-color: var(--db-accent-hover);
|
|
1270
|
+
background: var(--db-accent-hover);
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
.db-mobile-first-run-actions .db-mobile-first-run-secondary {
|
|
1274
|
+
border-color: var(--db-border-strong);
|
|
1275
|
+
background: var(--db-bg);
|
|
1276
|
+
color: var(--db-text-secondary);
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
.db-mobile-first-run-actions .db-mobile-first-run-secondary:hover {
|
|
1280
|
+
border-color: var(--db-accent);
|
|
1281
|
+
background: var(--db-bg-hover);
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
.db-mobile-first-run-actions button:focus-visible {
|
|
1285
|
+
outline: 2px solid var(--db-focus);
|
|
1286
|
+
outline-offset: 2px;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
/* The compact editor uses two deliberate toolbar rows: navigation/views on
|
|
1290
|
+
top and actions below. Squisq's formatting actions remain available through
|
|
1291
|
+
its measured More menu; hiding their inline copies removes clipped,
|
|
1292
|
+
keyboard-focusable controls while leaving room for versioning, document
|
|
1293
|
+
settings, Files, and DocBlocks' Export and share control. */
|
|
1294
|
+
.db-shell--mobile .squisq-toolbar {
|
|
1295
|
+
min-height: 88px;
|
|
1296
|
+
flex-wrap: wrap;
|
|
1297
|
+
align-content: stretch;
|
|
1298
|
+
padding-right: 0;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
.db-shell--mobile .squisq-toolbar > .db-mobile-back {
|
|
1302
|
+
box-sizing: border-box;
|
|
1303
|
+
flex: 0 0 44px;
|
|
1304
|
+
height: 44px;
|
|
1305
|
+
justify-content: center;
|
|
1306
|
+
padding: 6px 10px;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
.db-shell--mobile .squisq-toolbar-view-tabs {
|
|
1310
|
+
box-sizing: border-box;
|
|
1311
|
+
flex: 1 0 calc(100% - 45px);
|
|
1312
|
+
width: calc(100% - 45px);
|
|
1313
|
+
min-width: 0;
|
|
1314
|
+
height: 44px;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
.db-shell--mobile .squisq-toolbar-actions {
|
|
1318
|
+
flex: 0 1 0;
|
|
1319
|
+
width: 0;
|
|
1320
|
+
height: 44px;
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
.db-shell--mobile .squisq-toolbar-actions > * {
|
|
1324
|
+
visibility: hidden;
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
.db-shell--mobile .squisq-toolbar-overflow,
|
|
1328
|
+
.db-shell--mobile .squisq-toolbar > .squisq-toolbar-button,
|
|
1329
|
+
.db-shell--mobile .squisq-toolbar > .db-toolbar-menu {
|
|
1330
|
+
flex: 0 0 auto;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
/* The compact layout moves Squisq's overflow trigger to the left edge of
|
|
1334
|
+
the second row. Its desktop right-aligned placement can consequently put
|
|
1335
|
+
the menu off-canvas, so anchor the mobile popover to the viewport instead. */
|
|
1336
|
+
.db-shell--mobile .squisq-editor-shell .squisq-toolbar-overflow-menu {
|
|
1337
|
+
right: auto !important;
|
|
1338
|
+
left: max(4px, env(safe-area-inset-left)) !important;
|
|
1339
|
+
max-width: calc(100vw - 8px);
|
|
1340
|
+
max-height: calc(100dvh - 96px);
|
|
1341
|
+
overflow-y: auto;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1129
1344
|
.db-mobile-back {
|
|
1130
1345
|
display: flex;
|
|
1131
1346
|
align-items: center;
|
|
@@ -1156,6 +1371,112 @@ body.db-resizing-sidebar * {
|
|
|
1156
1371
|
height: 24px;
|
|
1157
1372
|
}
|
|
1158
1373
|
|
|
1374
|
+
.db-shell-empty--workspace {
|
|
1375
|
+
position: relative;
|
|
1376
|
+
box-sizing: border-box;
|
|
1377
|
+
flex-direction: column;
|
|
1378
|
+
padding: 32px;
|
|
1379
|
+
background:
|
|
1380
|
+
radial-gradient(circle at 50% 38%, var(--db-accent-soft-08), transparent 44%), var(--db-bg);
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
.db-shell-empty--workspace > .db-mobile-back {
|
|
1384
|
+
position: absolute;
|
|
1385
|
+
top: 0;
|
|
1386
|
+
left: 0;
|
|
1387
|
+
right: 0;
|
|
1388
|
+
justify-content: flex-start;
|
|
1389
|
+
padding: 10px 12px;
|
|
1390
|
+
border-bottom: 1px solid var(--db-border);
|
|
1391
|
+
border-radius: 0;
|
|
1392
|
+
background: var(--db-bg-subtle);
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
.db-workspace-empty-content {
|
|
1396
|
+
display: flex;
|
|
1397
|
+
width: min(460px, 100%);
|
|
1398
|
+
flex-direction: column;
|
|
1399
|
+
align-items: center;
|
|
1400
|
+
text-align: center;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
.db-workspace-empty-icon {
|
|
1404
|
+
display: inline-flex;
|
|
1405
|
+
align-items: center;
|
|
1406
|
+
justify-content: center;
|
|
1407
|
+
width: 52px;
|
|
1408
|
+
height: 52px;
|
|
1409
|
+
margin-bottom: 14px;
|
|
1410
|
+
border: 1px solid var(--db-border-strong);
|
|
1411
|
+
border-radius: 14px;
|
|
1412
|
+
background: var(--db-bg-subtle);
|
|
1413
|
+
color: var(--db-accent-deep);
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
.db-workspace-empty-icon svg {
|
|
1417
|
+
width: 26px;
|
|
1418
|
+
height: 26px;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
.db-workspace-empty-content h1 {
|
|
1422
|
+
margin: 0;
|
|
1423
|
+
color: var(--db-text);
|
|
1424
|
+
font-size: 21px;
|
|
1425
|
+
line-height: 1.25;
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
.db-workspace-empty-content > p {
|
|
1429
|
+
max-width: 390px;
|
|
1430
|
+
margin: 9px 0 0;
|
|
1431
|
+
color: var(--db-text-muted);
|
|
1432
|
+
line-height: 1.5;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
.db-workspace-empty-actions {
|
|
1436
|
+
display: flex;
|
|
1437
|
+
flex-wrap: wrap;
|
|
1438
|
+
justify-content: center;
|
|
1439
|
+
gap: 8px;
|
|
1440
|
+
margin-top: 20px;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
.db-workspace-empty-actions button {
|
|
1444
|
+
padding: 8px 13px;
|
|
1445
|
+
border: 1px solid var(--db-accent);
|
|
1446
|
+
border-radius: 5px;
|
|
1447
|
+
background: var(--db-accent);
|
|
1448
|
+
color: var(--db-text-on-accent);
|
|
1449
|
+
font: inherit;
|
|
1450
|
+
font-weight: 600;
|
|
1451
|
+
cursor: pointer;
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
.db-workspace-empty-actions button:hover {
|
|
1455
|
+
border-color: var(--db-accent-hover);
|
|
1456
|
+
background: var(--db-accent-hover);
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
.db-workspace-empty-actions button:focus-visible {
|
|
1460
|
+
outline: 2px solid var(--db-focus);
|
|
1461
|
+
outline-offset: 2px;
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
.db-workspace-empty-actions .db-workspace-empty-secondary {
|
|
1465
|
+
border-color: var(--db-border-strong);
|
|
1466
|
+
background: var(--db-bg);
|
|
1467
|
+
color: var(--db-text-secondary);
|
|
1468
|
+
}
|
|
1469
|
+
|
|
1470
|
+
.db-workspace-empty-actions .db-workspace-empty-secondary:hover {
|
|
1471
|
+
border-color: var(--db-accent);
|
|
1472
|
+
background: var(--db-bg-hover);
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
.db-workspace-empty-content .db-workspace-empty-hint {
|
|
1476
|
+
margin-top: 18px;
|
|
1477
|
+
font-size: 12px;
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1159
1480
|
/* In folder/empty views, the back button sits as a standalone bar */
|
|
1160
1481
|
.db-folder-view > .db-mobile-back {
|
|
1161
1482
|
padding: 10px 12px;
|
|
@@ -1273,10 +1594,35 @@ body.db-resizing-sidebar * {
|
|
|
1273
1594
|
|
|
1274
1595
|
.db-dialog-links {
|
|
1275
1596
|
display: flex;
|
|
1597
|
+
flex-wrap: wrap;
|
|
1276
1598
|
align-items: center;
|
|
1277
1599
|
gap: 6px;
|
|
1278
1600
|
}
|
|
1279
1601
|
|
|
1602
|
+
.db-about-version {
|
|
1603
|
+
display: flex;
|
|
1604
|
+
align-items: center;
|
|
1605
|
+
gap: 8px;
|
|
1606
|
+
padding: 8px 10px;
|
|
1607
|
+
border: 1px solid var(--db-border);
|
|
1608
|
+
border-radius: 5px;
|
|
1609
|
+
background: var(--db-bg-subtle);
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
.db-about-version span {
|
|
1613
|
+
color: var(--db-text-muted);
|
|
1614
|
+
font-size: 11px;
|
|
1615
|
+
font-weight: 600;
|
|
1616
|
+
letter-spacing: 0.04em;
|
|
1617
|
+
text-transform: uppercase;
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
.db-about-version code {
|
|
1621
|
+
color: var(--db-text);
|
|
1622
|
+
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
1623
|
+
user-select: all;
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1280
1626
|
.db-dialog-sep {
|
|
1281
1627
|
color: var(--db-text-placeholder);
|
|
1282
1628
|
}
|
|
@@ -1611,15 +1957,20 @@ body.db-resizing-sidebar * {
|
|
|
1611
1957
|
|
|
1612
1958
|
.db-toolbar-menu {
|
|
1613
1959
|
position: relative;
|
|
1960
|
+
margin-left: 6px;
|
|
1961
|
+
padding-left: 7px;
|
|
1962
|
+
border-left: 1px solid var(--db-border);
|
|
1614
1963
|
}
|
|
1615
1964
|
|
|
1616
1965
|
.db-toolbar-menu-trigger {
|
|
1617
1966
|
display: flex;
|
|
1618
1967
|
align-items: center;
|
|
1619
1968
|
justify-content: center;
|
|
1620
|
-
|
|
1969
|
+
gap: 5px;
|
|
1970
|
+
width: auto;
|
|
1971
|
+
min-width: 28px;
|
|
1621
1972
|
height: 28px;
|
|
1622
|
-
padding: 0;
|
|
1973
|
+
padding: 0 8px;
|
|
1623
1974
|
line-height: 1;
|
|
1624
1975
|
border: 1px solid transparent;
|
|
1625
1976
|
border-radius: 4px;
|
|
@@ -1629,10 +1980,30 @@ body.db-resizing-sidebar * {
|
|
|
1629
1980
|
}
|
|
1630
1981
|
|
|
1631
1982
|
.db-toolbar-menu-trigger svg {
|
|
1983
|
+
flex: 0 0 auto;
|
|
1632
1984
|
width: 18px;
|
|
1633
1985
|
height: 18px;
|
|
1634
1986
|
}
|
|
1635
1987
|
|
|
1988
|
+
.db-toolbar-menu-trigger-label {
|
|
1989
|
+
font-size: 12px;
|
|
1990
|
+
font-weight: 600;
|
|
1991
|
+
}
|
|
1992
|
+
|
|
1993
|
+
.db-shell--mobile .db-toolbar-menu {
|
|
1994
|
+
margin-left: 2px;
|
|
1995
|
+
padding-left: 3px;
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
.db-shell--mobile .db-toolbar-menu-trigger {
|
|
1999
|
+
width: 28px;
|
|
2000
|
+
padding: 0;
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
.db-shell--mobile .db-toolbar-menu-trigger-label {
|
|
2004
|
+
display: none;
|
|
2005
|
+
}
|
|
2006
|
+
|
|
1636
2007
|
.db-toolbar-menu-trigger:hover {
|
|
1637
2008
|
background: var(--db-bg-hover);
|
|
1638
2009
|
border-color: var(--db-border);
|
|
@@ -1771,6 +2142,10 @@ body.db-resizing-sidebar * {
|
|
|
1771
2142
|
border-color: var(--db-accent);
|
|
1772
2143
|
}
|
|
1773
2144
|
|
|
2145
|
+
.db-export-path-input[aria-invalid='true'] {
|
|
2146
|
+
border-color: var(--db-danger);
|
|
2147
|
+
}
|
|
2148
|
+
|
|
1774
2149
|
.db-export-path-pick {
|
|
1775
2150
|
flex: 0 0 auto;
|
|
1776
2151
|
height: 30px;
|
|
@@ -1802,6 +2177,10 @@ body.db-resizing-sidebar * {
|
|
|
1802
2177
|
color: var(--db-text-placeholder);
|
|
1803
2178
|
}
|
|
1804
2179
|
|
|
2180
|
+
.db-export-hint--error {
|
|
2181
|
+
color: var(--db-danger);
|
|
2182
|
+
}
|
|
2183
|
+
|
|
1805
2184
|
.db-export-checkbox {
|
|
1806
2185
|
display: inline-flex;
|
|
1807
2186
|
align-items: center;
|
|
@@ -1871,6 +2250,20 @@ body.db-resizing-sidebar * {
|
|
|
1871
2250
|
border-top: 1px solid var(--db-border);
|
|
1872
2251
|
}
|
|
1873
2252
|
|
|
2253
|
+
.db-export-more-formats {
|
|
2254
|
+
margin: 4px 0 0;
|
|
2255
|
+
padding-top: 12px;
|
|
2256
|
+
border-top: 1px solid var(--db-border);
|
|
2257
|
+
color: var(--db-text-muted);
|
|
2258
|
+
font-size: 12px;
|
|
2259
|
+
line-height: 1.5;
|
|
2260
|
+
}
|
|
2261
|
+
|
|
2262
|
+
.db-export-more-formats a {
|
|
2263
|
+
color: var(--db-accent);
|
|
2264
|
+
font-weight: 600;
|
|
2265
|
+
}
|
|
2266
|
+
|
|
1874
2267
|
.db-export-btn {
|
|
1875
2268
|
padding: 6px 16px;
|
|
1876
2269
|
font-size: 13px;
|
|
@@ -2415,6 +2808,7 @@ html:has(.db-shell[data-theme='dark']) {
|
|
|
2415
2808
|
--db-shadow: rgba(0, 0, 0, 0.4);
|
|
2416
2809
|
--db-accent: #c8b48f;
|
|
2417
2810
|
--db-accent-hover: #dec79d;
|
|
2811
|
+
--db-text-on-accent: #1a1812;
|
|
2418
2812
|
--db-accent-soft-15: rgba(200, 180, 143, 0.18);
|
|
2419
2813
|
--db-accent-soft-25: rgba(200, 180, 143, 0.28);
|
|
2420
2814
|
--db-accent-tint-strong: #3a382e;
|
|
@@ -2436,6 +2830,7 @@ html:has(.db-shell[data-theme='light']) {
|
|
|
2436
2830
|
--db-shadow: rgba(40, 30, 15, 0.12);
|
|
2437
2831
|
--db-accent: #7d6948;
|
|
2438
2832
|
--db-accent-hover: #5e4f37;
|
|
2833
|
+
--db-text-on-accent: #ffffff;
|
|
2439
2834
|
--db-accent-soft-15: rgba(125, 105, 72, 0.15);
|
|
2440
2835
|
--db-accent-soft-25: rgba(125, 105, 72, 0.25);
|
|
2441
2836
|
--db-accent-tint-strong: #d8d0b5;
|
|
@@ -2770,6 +3165,63 @@ html:has(.db-shell[data-theme='dark'][data-accent='gray']) {
|
|
|
2770
3165
|
--db-badge-text-hover: #ffffff;
|
|
2771
3166
|
}
|
|
2772
3167
|
|
|
3168
|
+
/* Custom layout authoring is portaled to document.body. Bind its host-facing
|
|
3169
|
+
accent tokens at that portal boundary so selected layouts, palette states,
|
|
3170
|
+
primary actions, and focus rings follow the active DocBlocks accent instead
|
|
3171
|
+
of Squisq's standalone indigo defaults. */
|
|
3172
|
+
html:has(.db-shell) :is(.squisq-template-designer-overlay, .squisq-layout-manager-overlay) {
|
|
3173
|
+
--squisq-layout-accent-text: var(--db-accent-hover);
|
|
3174
|
+
--squisq-layout-accent-bg: var(--db-accent);
|
|
3175
|
+
--squisq-layout-accent-bg-hover: var(--db-accent-hover);
|
|
3176
|
+
--squisq-layout-accent-border: var(--db-accent);
|
|
3177
|
+
--squisq-layout-accent-soft: var(--db-accent-tint-strong);
|
|
3178
|
+
--squisq-layout-accent-soft-hover: var(--db-bg-hover);
|
|
3179
|
+
--squisq-layout-accent-soft-border: var(--db-accent);
|
|
3180
|
+
--squisq-layout-accent-hover-border: var(--db-accent-hover);
|
|
3181
|
+
}
|
|
3182
|
+
|
|
3183
|
+
html:has(.db-shell)
|
|
3184
|
+
:is(.squisq-template-designer-overlay, .squisq-layout-manager-overlay)
|
|
3185
|
+
.squisq-template-designer-btn--primary {
|
|
3186
|
+
color: var(--db-text-on-accent);
|
|
3187
|
+
}
|
|
3188
|
+
|
|
3189
|
+
html:has(.db-shell)
|
|
3190
|
+
:is(.squisq-template-designer-overlay, .squisq-layout-manager-overlay)
|
|
3191
|
+
.squisq-template-designer-field
|
|
3192
|
+
input:focus {
|
|
3193
|
+
box-shadow: 0 0 0 3px var(--db-accent-soft-25);
|
|
3194
|
+
}
|
|
3195
|
+
|
|
3196
|
+
/* Convert/Insert is portaled to document.body, so the editor shell's Squisq
|
|
3197
|
+
overrides cannot reach it. The active DocBlocks palette is already hoisted
|
|
3198
|
+
to html above; consume it here so every accent and appearance produces the
|
|
3199
|
+
same menu surfaces as the rest of the shell. The selector also covers the
|
|
3200
|
+
nested Mermaid and code-snippet menus, which share this portal class. */
|
|
3201
|
+
html:has(.db-shell) .squisq-insert-menu {
|
|
3202
|
+
background: var(--db-bg);
|
|
3203
|
+
border-color: var(--db-border);
|
|
3204
|
+
color: var(--db-text-secondary);
|
|
3205
|
+
box-shadow: 0 4px 12px var(--db-shadow);
|
|
3206
|
+
}
|
|
3207
|
+
|
|
3208
|
+
html:has(.db-shell) .squisq-insert-menu .squisq-toolbar-overflow-item {
|
|
3209
|
+
color: var(--db-text-secondary);
|
|
3210
|
+
}
|
|
3211
|
+
|
|
3212
|
+
html:has(.db-shell) .squisq-insert-menu .squisq-toolbar-overflow-item:hover,
|
|
3213
|
+
html:has(.db-shell) .squisq-insert-menu .squisq-toolbar-overflow-item:focus-visible {
|
|
3214
|
+
background: var(--db-bg-hover);
|
|
3215
|
+
}
|
|
3216
|
+
|
|
3217
|
+
html:has(.db-shell) .squisq-insert-menu .squisq-insert-menu-header {
|
|
3218
|
+
color: var(--db-text-muted);
|
|
3219
|
+
}
|
|
3220
|
+
|
|
3221
|
+
html:has(.db-shell) .squisq-insert-menu .squisq-insert-menu-header--separated {
|
|
3222
|
+
border-top-color: var(--db-border);
|
|
3223
|
+
}
|
|
3224
|
+
|
|
2773
3225
|
html:has(.db-shell[data-theme='light']:not([data-accent='brown'])) .squisq-tooltip {
|
|
2774
3226
|
background: var(--db-accent-deep);
|
|
2775
3227
|
color: var(--db-bg-subtle);
|
|
@@ -4487,11 +4939,13 @@ button.db-git-file-row:hover {
|
|
|
4487
4939
|
block turns that row into the titlebar: draggable empty space, insets for
|
|
4488
4940
|
the caption buttons, and every interactive descendant opted back out.
|
|
4489
4941
|
|
|
4490
|
-
|
|
4491
|
-
packages/desktop/renderer/titlebar.css
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4942
|
+
Shares its drag/inset structure with the Electron build in
|
|
4943
|
+
packages/desktop/renderer/titlebar.css. Its compact vertical metrics are
|
|
4944
|
+
intentionally PWA-specific because Electron uses a 42px overlay while this
|
|
4945
|
+
mode follows the OS-provided caption height (32px on Windows). Electron is
|
|
4946
|
+
scoped under `.db-desktop-root` and reports `display-mode: browser`, so this
|
|
4947
|
+
media query can never double-apply there. The media query is live: toggling
|
|
4948
|
+
the overlay chevron flips it with no JS. */
|
|
4495
4949
|
@media (display-mode: window-controls-overlay) {
|
|
4496
4950
|
.db-shell {
|
|
4497
4951
|
--db-wco-titlebar-height: env(titlebar-area-height, 32px);
|
|
@@ -4525,11 +4979,33 @@ button.db-git-file-row:hover {
|
|
|
4525
4979
|
|
|
4526
4980
|
.db-shell .squisq-toolbar-view-tab {
|
|
4527
4981
|
padding-top: 4px;
|
|
4528
|
-
padding-bottom:
|
|
4982
|
+
padding-bottom: 2px;
|
|
4983
|
+
}
|
|
4984
|
+
|
|
4985
|
+
/* The native 32px caption band leaves the labels slightly above its visual
|
|
4986
|
+
center. Move only the text down; the tab hit area and active underline
|
|
4987
|
+
stay anchored to the titlebar edges. */
|
|
4988
|
+
.db-shell .squisq-toolbar-view-tab-label {
|
|
4989
|
+
transform: translateY(4px);
|
|
4529
4990
|
}
|
|
4530
4991
|
|
|
4531
4992
|
.db-shell .squisq-use-mode-trigger {
|
|
4532
|
-
padding-bottom:
|
|
4993
|
+
padding-bottom: 7px;
|
|
4994
|
+
}
|
|
4995
|
+
|
|
4996
|
+
/* The 32px caption row leaves little room around Squisq's 28px action
|
|
4997
|
+
buttons. Keep the selected background clear of the header's 1px bottom
|
|
4998
|
+
divider without moving the glyphs off their shared center line. */
|
|
4999
|
+
.db-shell .squisq-toolbar-actions .squisq-toolbar-button {
|
|
5000
|
+
box-sizing: border-box;
|
|
5001
|
+
height: 26px;
|
|
5002
|
+
}
|
|
5003
|
+
|
|
5004
|
+
/* Squisq's overflow measurement deliberately tolerates a 2px overhang.
|
|
5005
|
+
Reserve one pixel beyond that tolerance so the final Insert control
|
|
5006
|
+
moves into More actions instead of being clipped by the caption inset. */
|
|
5007
|
+
.db-shell .squisq-toolbar-actions {
|
|
5008
|
+
margin-right: 3px;
|
|
4533
5009
|
}
|
|
4534
5010
|
|
|
4535
5011
|
.db-shell .squisq-toolbar-button[aria-label='Insert image'] {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|