@bendyline/docblocks-react 2.1.0 → 2.1.1

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.
Files changed (48) hide show
  1. package/README.md +12 -3
  2. package/dist/ExportDialog-VYATD5UC.js +9 -0
  3. package/dist/{ExportToolbarControls-GHAOJMH6.js → ExportToolbarControls-5HUE3LSX.js} +69 -40
  4. package/dist/{GitToolbarControl-GNMRVKWQ.js → GitToolbarControl-FW3BZFXV.js} +2 -3
  5. package/dist/{GitUI-VHOBQY43.js → GitUI-GMH3PAYL.js} +3 -4
  6. package/dist/{LazyEditorShell-EF2BWRXU.js → LazyEditorShell-RF54B5UD.js} +0 -1
  7. package/dist/{ShareDialog-63ENBEDZ.js → ShareDialog-PAMOQQFB.js} +0 -1
  8. package/dist/{chunk-UNYZQXWR.js → chunk-3CZ27FOA.js} +45 -10
  9. package/dist/{chunk-FEWQUQML.js → chunk-3QSZY74C.js} +1 -2
  10. package/dist/chunk-BI7NVU6T.js +31 -0
  11. package/dist/{chunk-VHDP4IPL.js → chunk-BPGEBGAN.js} +0 -1
  12. package/dist/{chunk-DD4VFJQI.js → chunk-EBWYGTN7.js} +2 -1
  13. package/dist/{chunk-ZI56BNB7.js → chunk-GHQ4X7KM.js} +27 -7
  14. package/dist/{chunk-5A4KEWKT.js → chunk-HFYPTTCH.js} +0 -1
  15. package/dist/{chunk-FMGTHSTX.js → chunk-LG6HAWCK.js} +0 -1
  16. package/dist/{chunk-57ZJJOC5.js → chunk-TFMO7EVO.js} +0 -1
  17. package/dist/{chunk-4XXSWN3T.js → chunk-YBEYTVU2.js} +0 -1
  18. package/dist/editor.js +1 -2
  19. package/dist/export/index.d.ts +18 -8
  20. package/dist/export/index.js +10 -7
  21. package/dist/index.d.ts +16 -7
  22. package/dist/index.js +346 -97
  23. package/dist/run-export-Z5BVFLIR.js +9 -0
  24. package/dist/settings/index.js +2 -3
  25. package/package.json +8 -8
  26. package/src/styles/docblocks.css +448 -9
  27. package/dist/ExportDialog-7LDIXJZ3.js +0 -10
  28. package/dist/ExportDialog-7LDIXJZ3.js.map +0 -1
  29. package/dist/ExportToolbarControls-GHAOJMH6.js.map +0 -1
  30. package/dist/GitToolbarControl-GNMRVKWQ.js.map +0 -1
  31. package/dist/GitUI-VHOBQY43.js.map +0 -1
  32. package/dist/LazyEditorShell-EF2BWRXU.js.map +0 -1
  33. package/dist/ShareDialog-63ENBEDZ.js.map +0 -1
  34. package/dist/chunk-4XXSWN3T.js.map +0 -1
  35. package/dist/chunk-57ZJJOC5.js.map +0 -1
  36. package/dist/chunk-5A4KEWKT.js.map +0 -1
  37. package/dist/chunk-DD4VFJQI.js.map +0 -1
  38. package/dist/chunk-FEWQUQML.js.map +0 -1
  39. package/dist/chunk-FMGTHSTX.js.map +0 -1
  40. package/dist/chunk-UNYZQXWR.js.map +0 -1
  41. package/dist/chunk-VHDP4IPL.js.map +0 -1
  42. package/dist/chunk-ZI56BNB7.js.map +0 -1
  43. package/dist/editor.js.map +0 -1
  44. package/dist/export/index.js.map +0 -1
  45. package/dist/index.js.map +0 -1
  46. package/dist/run-export-ICTZITXC.js +0 -10
  47. package/dist/run-export-ICTZITXC.js.map +0 -1
  48. package/dist/settings/index.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import {
2
+ buildExportFilename,
3
+ runExport
4
+ } from "./chunk-GHQ4X7KM.js";
5
+ import "./chunk-EBWYGTN7.js";
6
+ export {
7
+ buildExportFilename,
8
+ runExport
9
+ };
@@ -3,12 +3,11 @@ import {
3
3
  SettingsDialog,
4
4
  ThemeSettings,
5
5
  WriteCanvasSettingsControls
6
- } from "../chunk-FEWQUQML.js";
7
- import "../chunk-FMGTHSTX.js";
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.0",
3
+ "version": "2.1.1",
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.0",
69
- "@bendyline/squisq": "2.3.0",
70
- "@bendyline/squisq-editor-react": "2.3.1",
71
- "@bendyline/squisq-formats": "2.3.0",
72
- "@bendyline/squisq-react": "2.3.0",
73
- "@bendyline/squisq-video": "2.2.0",
74
- "@bendyline/squisq-video-react": "2.2.0"
68
+ "@bendyline/docblocks": "2.1.1",
69
+ "@bendyline/squisq": "2.3.1",
70
+ "@bendyline/squisq-editor-react": "2.3.2",
71
+ "@bendyline/squisq-formats": "2.3.1",
72
+ "@bendyline/squisq-react": "2.3.1",
73
+ "@bendyline/squisq-video": "2.2.1",
74
+ "@bendyline/squisq-video-react": "2.2.1"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@happy-dom/global-registrator": "20.9.0",
@@ -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
- width: 28px;
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;
@@ -2770,6 +3163,35 @@ html:has(.db-shell[data-theme='dark'][data-accent='gray']) {
2770
3163
  --db-badge-text-hover: #ffffff;
2771
3164
  }
2772
3165
 
3166
+ /* Convert/Insert is portaled to document.body, so the editor shell's Squisq
3167
+ overrides cannot reach it. The active DocBlocks palette is already hoisted
3168
+ to html above; consume it here so every accent and appearance produces the
3169
+ same menu surfaces as the rest of the shell. The selector also covers the
3170
+ nested Mermaid and code-snippet menus, which share this portal class. */
3171
+ html:has(.db-shell) .squisq-insert-menu {
3172
+ background: var(--db-bg);
3173
+ border-color: var(--db-border);
3174
+ color: var(--db-text-secondary);
3175
+ box-shadow: 0 4px 12px var(--db-shadow);
3176
+ }
3177
+
3178
+ html:has(.db-shell) .squisq-insert-menu .squisq-toolbar-overflow-item {
3179
+ color: var(--db-text-secondary);
3180
+ }
3181
+
3182
+ html:has(.db-shell) .squisq-insert-menu .squisq-toolbar-overflow-item:hover,
3183
+ html:has(.db-shell) .squisq-insert-menu .squisq-toolbar-overflow-item:focus-visible {
3184
+ background: var(--db-bg-hover);
3185
+ }
3186
+
3187
+ html:has(.db-shell) .squisq-insert-menu .squisq-insert-menu-header {
3188
+ color: var(--db-text-muted);
3189
+ }
3190
+
3191
+ html:has(.db-shell) .squisq-insert-menu .squisq-insert-menu-header--separated {
3192
+ border-top-color: var(--db-border);
3193
+ }
3194
+
2773
3195
  html:has(.db-shell[data-theme='light']:not([data-accent='brown'])) .squisq-tooltip {
2774
3196
  background: var(--db-accent-deep);
2775
3197
  color: var(--db-bg-subtle);
@@ -4487,11 +4909,13 @@ button.db-git-file-row:hover {
4487
4909
  block turns that row into the titlebar: draggable empty space, insets for
4488
4910
  the caption buttons, and every interactive descendant opted back out.
4489
4911
 
4490
- Ported 1:1 from the Electron build — keep in sync with
4491
- packages/desktop/renderer/titlebar.css (which is scoped under
4492
- `.db-desktop-root`; Electron windows report `display-mode: browser`, so
4493
- this media query can never double-apply there). The media query is live:
4494
- toggling the overlay chevron flips it with no JS. */
4912
+ Shares its drag/inset structure with the Electron build in
4913
+ packages/desktop/renderer/titlebar.css. Its compact vertical metrics are
4914
+ intentionally PWA-specific because Electron uses a 42px overlay while this
4915
+ mode follows the OS-provided caption height (32px on Windows). Electron is
4916
+ scoped under `.db-desktop-root` and reports `display-mode: browser`, so this
4917
+ media query can never double-apply there. The media query is live: toggling
4918
+ the overlay chevron flips it with no JS. */
4495
4919
  @media (display-mode: window-controls-overlay) {
4496
4920
  .db-shell {
4497
4921
  --db-wco-titlebar-height: env(titlebar-area-height, 32px);
@@ -4525,11 +4949,26 @@ button.db-git-file-row:hover {
4525
4949
 
4526
4950
  .db-shell .squisq-toolbar-view-tab {
4527
4951
  padding-top: 4px;
4528
- padding-bottom: 4px;
4952
+ padding-bottom: 2px;
4529
4953
  }
4530
4954
 
4531
4955
  .db-shell .squisq-use-mode-trigger {
4532
- padding-bottom: 9px;
4956
+ padding-bottom: 7px;
4957
+ }
4958
+
4959
+ /* The 32px caption row leaves little room around Squisq's 28px action
4960
+ buttons. Keep the selected background clear of the header's 1px bottom
4961
+ divider without moving the glyphs off their shared center line. */
4962
+ .db-shell .squisq-toolbar-actions .squisq-toolbar-button {
4963
+ box-sizing: border-box;
4964
+ height: 26px;
4965
+ }
4966
+
4967
+ /* Squisq's overflow measurement deliberately tolerates a 2px overhang.
4968
+ Reserve one pixel beyond that tolerance so the final Insert control
4969
+ moves into More actions instead of being clipped by the caption inset. */
4970
+ .db-shell .squisq-toolbar-actions {
4971
+ margin-right: 3px;
4533
4972
  }
4534
4973
 
4535
4974
  .db-shell .squisq-toolbar-button[aria-label='Insert image'] {
@@ -1,10 +0,0 @@
1
- import {
2
- ExportDialog
3
- } from "./chunk-UNYZQXWR.js";
4
- import "./chunk-4XXSWN3T.js";
5
- import "./chunk-FMGTHSTX.js";
6
- import "./chunk-DD4VFJQI.js";
7
- export {
8
- ExportDialog
9
- };
10
- //# sourceMappingURL=ExportDialog-7LDIXJZ3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}