@docmentis/udoc-viewer 0.6.22 → 0.6.24

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 (130) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/UDocClient.d.ts +1 -1
  3. package/dist/src/UDocClient.js +1 -1
  4. package/dist/src/UDocViewer.d.ts +4 -3
  5. package/dist/src/UDocViewer.d.ts.map +1 -1
  6. package/dist/src/UDocViewer.js +38 -4
  7. package/dist/src/UDocViewer.js.map +1 -1
  8. package/dist/src/ui/viewer/actions.d.ts +23 -3
  9. package/dist/src/ui/viewer/actions.d.ts.map +1 -1
  10. package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts.map +1 -1
  11. package/dist/src/ui/viewer/annotation/ShapeRenderer.js +23 -16
  12. package/dist/src/ui/viewer/annotation/ShapeRenderer.js.map +1 -1
  13. package/dist/src/ui/viewer/annotation/index.d.ts +1 -1
  14. package/dist/src/ui/viewer/annotation/index.d.ts.map +1 -1
  15. package/dist/src/ui/viewer/annotation/index.js +1 -1
  16. package/dist/src/ui/viewer/annotation/index.js.map +1 -1
  17. package/dist/src/ui/viewer/annotation/render.d.ts.map +1 -1
  18. package/dist/src/ui/viewer/annotation/render.js +11 -4
  19. package/dist/src/ui/viewer/annotation/render.js.map +1 -1
  20. package/dist/src/ui/viewer/annotation/types.d.ts +9 -1
  21. package/dist/src/ui/viewer/annotation/types.d.ts.map +1 -1
  22. package/dist/src/ui/viewer/annotation/utils.d.ts +10 -1
  23. package/dist/src/ui/viewer/annotation/utils.d.ts.map +1 -1
  24. package/dist/src/ui/viewer/annotation/utils.js +114 -0
  25. package/dist/src/ui/viewer/annotation/utils.js.map +1 -1
  26. package/dist/src/ui/viewer/components/ColorSelect.d.ts +26 -0
  27. package/dist/src/ui/viewer/components/ColorSelect.d.ts.map +1 -0
  28. package/dist/src/ui/viewer/components/ColorSelect.js +120 -0
  29. package/dist/src/ui/viewer/components/ColorSelect.js.map +1 -0
  30. package/dist/src/ui/viewer/components/NumberInput.d.ts +32 -0
  31. package/dist/src/ui/viewer/components/NumberInput.d.ts.map +1 -0
  32. package/dist/src/ui/viewer/components/NumberInput.js +101 -0
  33. package/dist/src/ui/viewer/components/NumberInput.js.map +1 -0
  34. package/dist/src/ui/viewer/components/Spread.d.ts +2 -2
  35. package/dist/src/ui/viewer/components/Spread.d.ts.map +1 -1
  36. package/dist/src/ui/viewer/components/Spread.js.map +1 -1
  37. package/dist/src/ui/viewer/components/SubToolbar.d.ts.map +1 -1
  38. package/dist/src/ui/viewer/components/SubToolbar.js +385 -107
  39. package/dist/src/ui/viewer/components/SubToolbar.js.map +1 -1
  40. package/dist/src/ui/viewer/components/Toolbar.d.ts.map +1 -1
  41. package/dist/src/ui/viewer/components/Toolbar.js +6 -3
  42. package/dist/src/ui/viewer/components/Toolbar.js.map +1 -1
  43. package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -1
  44. package/dist/src/ui/viewer/components/Viewport.js +20 -0
  45. package/dist/src/ui/viewer/components/Viewport.js.map +1 -1
  46. package/dist/src/ui/viewer/i18n/ar.d.ts.map +1 -1
  47. package/dist/src/ui/viewer/i18n/ar.js +36 -21
  48. package/dist/src/ui/viewer/i18n/ar.js.map +1 -1
  49. package/dist/src/ui/viewer/i18n/de.d.ts.map +1 -1
  50. package/dist/src/ui/viewer/i18n/de.js +32 -17
  51. package/dist/src/ui/viewer/i18n/de.js.map +1 -1
  52. package/dist/src/ui/viewer/i18n/en.d.ts.map +1 -1
  53. package/dist/src/ui/viewer/i18n/en.js +15 -0
  54. package/dist/src/ui/viewer/i18n/en.js.map +1 -1
  55. package/dist/src/ui/viewer/i18n/es.d.ts.map +1 -1
  56. package/dist/src/ui/viewer/i18n/es.js +35 -20
  57. package/dist/src/ui/viewer/i18n/es.js.map +1 -1
  58. package/dist/src/ui/viewer/i18n/fr.d.ts.map +1 -1
  59. package/dist/src/ui/viewer/i18n/fr.js +33 -18
  60. package/dist/src/ui/viewer/i18n/fr.js.map +1 -1
  61. package/dist/src/ui/viewer/i18n/ja.d.ts.map +1 -1
  62. package/dist/src/ui/viewer/i18n/ja.js +36 -21
  63. package/dist/src/ui/viewer/i18n/ja.js.map +1 -1
  64. package/dist/src/ui/viewer/i18n/ko.d.ts.map +1 -1
  65. package/dist/src/ui/viewer/i18n/ko.js +36 -21
  66. package/dist/src/ui/viewer/i18n/ko.js.map +1 -1
  67. package/dist/src/ui/viewer/i18n/pt-BR.d.ts.map +1 -1
  68. package/dist/src/ui/viewer/i18n/pt-BR.js +35 -20
  69. package/dist/src/ui/viewer/i18n/pt-BR.js.map +1 -1
  70. package/dist/src/ui/viewer/i18n/ru.d.ts.map +1 -1
  71. package/dist/src/ui/viewer/i18n/ru.js +36 -21
  72. package/dist/src/ui/viewer/i18n/ru.js.map +1 -1
  73. package/dist/src/ui/viewer/i18n/types.d.ts +14 -0
  74. package/dist/src/ui/viewer/i18n/types.d.ts.map +1 -1
  75. package/dist/src/ui/viewer/i18n/zh-CN.d.ts.map +1 -1
  76. package/dist/src/ui/viewer/i18n/zh-CN.js +36 -21
  77. package/dist/src/ui/viewer/i18n/zh-CN.js.map +1 -1
  78. package/dist/src/ui/viewer/i18n/zh-TW.d.ts.map +1 -1
  79. package/dist/src/ui/viewer/i18n/zh-TW.js +36 -21
  80. package/dist/src/ui/viewer/i18n/zh-TW.js.map +1 -1
  81. package/dist/src/ui/viewer/icons.d.ts +13 -0
  82. package/dist/src/ui/viewer/icons.d.ts.map +1 -1
  83. package/dist/src/ui/viewer/icons.js +22 -0
  84. package/dist/src/ui/viewer/icons.js.map +1 -1
  85. package/dist/src/ui/viewer/reducer.d.ts.map +1 -1
  86. package/dist/src/ui/viewer/reducer.js +70 -3
  87. package/dist/src/ui/viewer/reducer.js.map +1 -1
  88. package/dist/src/ui/viewer/search/search.d.ts +4 -4
  89. package/dist/src/ui/viewer/search/search.d.ts.map +1 -1
  90. package/dist/src/ui/viewer/search/search.js +1 -1
  91. package/dist/src/ui/viewer/search/search.js.map +1 -1
  92. package/dist/src/ui/viewer/shell.d.ts +2 -2
  93. package/dist/src/ui/viewer/shell.d.ts.map +1 -1
  94. package/dist/src/ui/viewer/shell.js.map +1 -1
  95. package/dist/src/ui/viewer/state.d.ts +23 -6
  96. package/dist/src/ui/viewer/state.d.ts.map +1 -1
  97. package/dist/src/ui/viewer/state.js +9 -0
  98. package/dist/src/ui/viewer/state.js.map +1 -1
  99. package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
  100. package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
  101. package/dist/src/ui/viewer/styles-inline.js +467 -34
  102. package/dist/src/ui/viewer/styles-inline.js.map +1 -1
  103. package/dist/src/ui/viewer/text/render.d.ts +3 -3
  104. package/dist/src/ui/viewer/text/render.d.ts.map +1 -1
  105. package/dist/src/ui/viewer/text/render.js +2 -2
  106. package/dist/src/ui/viewer/text/render.js.map +1 -1
  107. package/dist/src/ui/viewer/tools/AnnotationDrawController.d.ts +21 -0
  108. package/dist/src/ui/viewer/tools/AnnotationDrawController.d.ts.map +1 -0
  109. package/dist/src/ui/viewer/tools/AnnotationDrawController.js +392 -0
  110. package/dist/src/ui/viewer/tools/AnnotationDrawController.js.map +1 -0
  111. package/dist/src/ui/viewer/tools/AnnotationSelectController.d.ts +22 -0
  112. package/dist/src/ui/viewer/tools/AnnotationSelectController.d.ts.map +1 -0
  113. package/dist/src/ui/viewer/tools/AnnotationSelectController.js +367 -0
  114. package/dist/src/ui/viewer/tools/AnnotationSelectController.js.map +1 -0
  115. package/dist/src/wasm/udoc.d.ts +399 -114
  116. package/dist/src/wasm/udoc.js +157 -81
  117. package/dist/src/wasm/udoc_bg.wasm +0 -0
  118. package/dist/src/wasm/udoc_bg.wasm.d.ts +8 -7
  119. package/dist/src/worker/WorkerClient.d.ts +17 -11
  120. package/dist/src/worker/WorkerClient.d.ts.map +1 -1
  121. package/dist/src/worker/WorkerClient.js +10 -2
  122. package/dist/src/worker/WorkerClient.js.map +1 -1
  123. package/dist/src/worker/index.d.ts +1 -1
  124. package/dist/src/worker/index.d.ts.map +1 -1
  125. package/dist/src/worker/worker-inline.js +1 -1
  126. package/dist/src/worker/worker.d.ts +26 -58
  127. package/dist/src/worker/worker.d.ts.map +1 -1
  128. package/dist/src/worker/worker.js +161 -80
  129. package/dist/src/worker/worker.js.map +1 -1
  130. package/package.json +1 -1
@@ -59,6 +59,7 @@ export const inlineStyles = `.udoc-viewer-root {
59
59
  --udoc-search-result-active-bg: rgba(0, 0, 0, 0.06);
60
60
 
61
61
  --udoc-text-selection: rgba(0, 120, 215, 0.5);
62
+ --udoc-selection-color: rgb(0, 120, 215);
62
63
 
63
64
  --udoc-annotation-bg: #ffffc0;
64
65
  --udoc-annotation-header-bg: #f0f0c0;
@@ -153,6 +154,7 @@ export const inlineStyles = `.udoc-viewer-root {
153
154
  --udoc-search-result-active-bg: rgba(255, 255, 255, 0.08);
154
155
 
155
156
  --udoc-text-selection: rgba(77, 166, 255, 0.5);
157
+ --udoc-selection-color: rgb(77, 166, 255);
156
158
 
157
159
  --udoc-annotation-bg: #4a4a20;
158
160
  --udoc-annotation-header-bg: #3a3a18;
@@ -1255,82 +1257,383 @@ export const inlineStyles = `.udoc-viewer-root {
1255
1257
  height: 20px;
1256
1258
  }
1257
1259
 
1258
- /* Tool option groups */
1259
- .udoc-viewer-root .udoc-subtoolbar__option-group {
1260
+ /* ---- Dropdown trigger (shared) ---- */
1261
+ .udoc-viewer-root .udoc-subtoolbar__dropdown-trigger {
1260
1262
  display: flex;
1261
1263
  align-items: center;
1262
1264
  gap: 4px;
1265
+ height: 28px;
1266
+ padding: 0 6px;
1267
+ border: 1px solid var(--udoc-border);
1268
+ border-radius: 4px;
1269
+ background: var(--udoc-bg-panel);
1270
+ cursor: pointer;
1271
+ color: var(--udoc-text-body);
1272
+ box-sizing: border-box;
1263
1273
  }
1264
1274
 
1265
- .udoc-viewer-root .udoc-subtoolbar__option-label {
1275
+ .udoc-viewer-root .udoc-subtoolbar__dropdown-trigger:hover {
1276
+ background: var(--udoc-hover-overlay);
1277
+ }
1278
+
1279
+ .udoc-viewer-root .udoc-subtoolbar__dropdown-trigger--icon svg {
1280
+ width: 20px;
1281
+ height: 20px;
1282
+ }
1283
+
1284
+ .udoc-viewer-root .udoc-subtoolbar__dropdown-arrow {
1266
1285
  font-size: 10px;
1267
- font-weight: 600;
1268
- text-transform: uppercase;
1286
+ line-height: 1;
1269
1287
  color: var(--udoc-text-muted);
1270
- letter-spacing: 0.05em;
1271
- white-space: nowrap;
1272
- margin-right: 2px;
1273
1288
  }
1274
1289
 
1275
- /* Color swatches */
1290
+ /* ---- Color swatch in trigger ---- */
1276
1291
  .udoc-viewer-root .udoc-subtoolbar__color-swatch {
1277
- width: 20px;
1278
- height: 20px;
1292
+ display: block;
1293
+ width: 18px;
1294
+ height: 18px;
1279
1295
  border-radius: 50%;
1280
- border: 2px solid transparent;
1281
- background: var(--swatch-color);
1282
- cursor: pointer;
1283
1296
  padding: 0;
1284
1297
  box-sizing: border-box;
1298
+ pointer-events: none;
1285
1299
  }
1286
1300
 
1287
- .udoc-viewer-root .udoc-subtoolbar__color-swatch:hover {
1301
+ /* Stroke swatch: outlined ring */
1302
+ .udoc-viewer-root .udoc-subtoolbar__color-swatch--stroke {
1303
+ background: transparent;
1304
+ border: 3px solid var(--swatch-color);
1305
+ }
1306
+
1307
+ /* Stroke none: dashed ring */
1308
+ .udoc-viewer-root .udoc-subtoolbar__color-swatch--stroke-none {
1288
1309
  border-color: var(--udoc-text-muted);
1310
+ border-style: dashed;
1311
+ border-width: 2px;
1289
1312
  }
1290
1313
 
1291
- .udoc-viewer-root .udoc-subtoolbar__color-swatch--active {
1292
- border-color: var(--udoc-primary);
1314
+ /* Fill swatch: solid disc */
1315
+ .udoc-viewer-root .udoc-subtoolbar__color-swatch--fill {
1316
+ background: var(--swatch-color);
1317
+ border: 2px solid var(--udoc-border);
1318
+ }
1319
+
1320
+ /* Fill none: diagonal strike */
1321
+ .udoc-viewer-root .udoc-subtoolbar__color-swatch--fill-none {
1322
+ background: transparent;
1323
+ position: relative;
1324
+ overflow: hidden;
1293
1325
  }
1294
1326
 
1295
- /* Stroke width buttons */
1296
- .udoc-viewer-root .udoc-subtoolbar__width-btn {
1327
+ .udoc-viewer-root .udoc-subtoolbar__color-swatch--fill-none::after {
1328
+ content: "";
1329
+ position: absolute;
1330
+ width: 140%;
1331
+ height: 2px;
1332
+ background: var(--udoc-text-muted);
1333
+ top: 50%;
1334
+ left: -20%;
1335
+ transform: rotate(-45deg);
1336
+ }
1337
+
1338
+ /* ---- NumberInput trigger ---- */
1339
+ .udoc-viewer-root .udoc-number-input__trigger {
1297
1340
  display: flex;
1298
1341
  align-items: center;
1299
1342
  justify-content: center;
1300
- width: 28px;
1343
+ gap: 3px;
1344
+ width: 68px;
1301
1345
  height: 28px;
1346
+ padding: 0 4px;
1347
+ border: 1px solid var(--udoc-border);
1348
+ border-radius: 4px;
1349
+ background: var(--udoc-bg-panel);
1350
+ cursor: pointer;
1351
+ color: var(--udoc-text-body);
1352
+ box-sizing: border-box;
1353
+ }
1354
+
1355
+ .udoc-viewer-root .udoc-number-input__trigger:hover {
1356
+ background: var(--udoc-hover-overlay);
1357
+ }
1358
+
1359
+ .udoc-viewer-root .udoc-number-input__icon {
1360
+ display: flex;
1361
+ align-items: center;
1362
+ width: 14px;
1363
+ height: 14px;
1364
+ color: var(--udoc-text-muted);
1365
+ }
1366
+
1367
+ .udoc-viewer-root .udoc-number-input__icon svg {
1368
+ width: 14px;
1369
+ height: 14px;
1370
+ }
1371
+
1372
+ .udoc-viewer-root .udoc-number-input__value {
1373
+ font-size: 11px;
1374
+ font-weight: 500;
1375
+ white-space: nowrap;
1376
+ }
1377
+
1378
+ /* ---- NumberInput floating panel ---- */
1379
+ .udoc-viewer-root .udoc-number-input-panel {
1380
+ display: none;
1381
+ position: absolute;
1382
+ top: 100%;
1383
+ margin-top: 2px;
1384
+ padding: 8px 10px;
1385
+ background: var(--udoc-bg-panel);
1386
+ border: 1px solid var(--udoc-border);
1387
+ border-radius: 8px;
1388
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1389
+ z-index: 100;
1390
+ }
1391
+
1392
+ .udoc-viewer-root .udoc-number-input-panel--open {
1393
+ display: flex;
1394
+ align-items: center;
1395
+ gap: 8px;
1396
+ }
1397
+
1398
+ .udoc-viewer-root .udoc-number-input-panel__slider {
1399
+ width: 100px;
1400
+ height: 4px;
1401
+ cursor: pointer;
1402
+ accent-color: var(--udoc-primary);
1403
+ }
1404
+
1405
+ .udoc-viewer-root .udoc-number-input-panel__text {
1406
+ width: 48px;
1407
+ text-align: center;
1408
+ border: 1px solid var(--udoc-border);
1409
+ border-radius: 4px;
1410
+ padding: 3px 4px;
1411
+ font-size: 11px;
1412
+ font-family: inherit;
1413
+ color: var(--udoc-text-body);
1414
+ background: var(--udoc-bg-panel);
1415
+ box-sizing: border-box;
1416
+ }
1417
+
1418
+ .udoc-viewer-root .udoc-number-input-panel__text:focus {
1419
+ outline: 2px solid var(--udoc-primary);
1420
+ outline-offset: -1px;
1421
+ }
1422
+
1423
+ /* ---- Color panel (floating) ---- */
1424
+ .udoc-viewer-root .udoc-color-panel {
1425
+ display: none;
1426
+ position: absolute;
1427
+ top: 100%;
1428
+ margin-top: 2px;
1429
+ padding: 8px;
1430
+ background: var(--udoc-bg-panel);
1431
+ border: 1px solid var(--udoc-border);
1432
+ border-radius: 8px;
1433
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1434
+ z-index: 100;
1435
+ }
1436
+
1437
+ .udoc-viewer-root .udoc-color-panel--open {
1438
+ display: block;
1439
+ }
1440
+
1441
+ .udoc-viewer-root .udoc-color-panel__grid {
1442
+ display: grid;
1443
+ grid-template-columns: repeat(4, 1fr);
1444
+ gap: 10px;
1445
+ justify-items: center;
1446
+ }
1447
+
1448
+ /* Base swatch (shared) */
1449
+ .udoc-viewer-root .udoc-color-panel__swatch {
1450
+ width: 24px;
1451
+ height: 24px;
1452
+ border-radius: 50%;
1453
+ cursor: pointer;
1302
1454
  padding: 0;
1455
+ box-sizing: border-box;
1456
+ }
1457
+
1458
+ /* Fill panel: solid discs with subtle border */
1459
+ .udoc-viewer-root .udoc-color-panel__grid--fill .udoc-color-panel__swatch:not(.udoc-color-panel__swatch--none) {
1460
+ background: var(--swatch-color);
1461
+ border: 2px solid rgba(0, 0, 0, 0.1);
1462
+ }
1463
+
1464
+ /* Stroke panel: outlined rings */
1465
+ .udoc-viewer-root .udoc-color-panel__grid--stroke .udoc-color-panel__swatch:not(.udoc-color-panel__swatch--none) {
1466
+ background: transparent;
1467
+ border: 3px solid var(--swatch-color);
1468
+ }
1469
+
1470
+ /* Hover: both use outline */
1471
+ .udoc-viewer-root .udoc-color-panel__swatch:hover:not(.udoc-color-panel__swatch--active) {
1472
+ outline: 2px solid var(--udoc-text-muted);
1473
+ outline-offset: 1px;
1474
+ }
1475
+
1476
+ /* Active: both use outline */
1477
+ .udoc-viewer-root .udoc-color-panel__swatch--active:not(.udoc-color-panel__swatch--none) {
1478
+ outline: 2px solid var(--udoc-primary);
1479
+ outline-offset: 2px;
1480
+ }
1481
+
1482
+ /* None swatch — shared base */
1483
+ .udoc-viewer-root .udoc-color-panel__swatch--none {
1484
+ background: transparent;
1485
+ cursor: pointer;
1486
+ }
1487
+
1488
+ .udoc-viewer-root .udoc-color-panel__swatch--none.udoc-color-panel__swatch--active {
1489
+ outline: 2px solid var(--udoc-primary);
1490
+ outline-offset: 2px;
1491
+ }
1492
+
1493
+ /* None stroke: dashed ring (matches toolbar trigger) */
1494
+ .udoc-viewer-root .udoc-color-panel__swatch--none-stroke {
1495
+ border: 2px dashed var(--udoc-text-muted);
1496
+ }
1497
+
1498
+ /* None fill: diagonal strike (matches toolbar trigger) */
1499
+ .udoc-viewer-root .udoc-color-panel__swatch--none-fill {
1500
+ border: 2px solid var(--udoc-border);
1501
+ position: relative;
1502
+ overflow: hidden;
1503
+ }
1504
+
1505
+ .udoc-viewer-root .udoc-color-panel__swatch--none-fill::after {
1506
+ content: "";
1507
+ position: absolute;
1508
+ width: 140%;
1509
+ height: 2px;
1510
+ background: var(--udoc-text-muted);
1511
+ top: 50%;
1512
+ left: -20%;
1513
+ transform: rotate(-45deg);
1514
+ }
1515
+
1516
+ .udoc-viewer-root .udoc-color-panel__swatch--none:hover {
1517
+ border-color: var(--udoc-text-muted);
1518
+ }
1519
+
1520
+ /* ---- Line style panel (floating) ---- */
1521
+ .udoc-viewer-root .udoc-linestyle-panel {
1522
+ display: none;
1523
+ position: absolute;
1524
+ top: 100%;
1525
+ margin-top: 2px;
1526
+ padding: 4px;
1527
+ background: var(--udoc-bg-panel);
1528
+ border: 1px solid var(--udoc-border);
1529
+ border-radius: 8px;
1530
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1531
+ z-index: 100;
1532
+ }
1533
+
1534
+ .udoc-viewer-root .udoc-linestyle-panel--open {
1535
+ display: flex;
1536
+ flex-direction: column;
1537
+ gap: 2px;
1538
+ }
1539
+
1540
+ .udoc-viewer-root .udoc-linestyle-panel__item {
1541
+ display: flex;
1542
+ align-items: center;
1543
+ gap: 8px;
1544
+ padding: 6px 10px;
1303
1545
  border: none;
1304
1546
  border-radius: 4px;
1305
1547
  background: transparent;
1306
1548
  cursor: pointer;
1549
+ white-space: nowrap;
1550
+ color: var(--udoc-text-body);
1307
1551
  }
1308
1552
 
1309
- .udoc-viewer-root .udoc-subtoolbar__width-btn:hover {
1553
+ .udoc-viewer-root .udoc-linestyle-panel__item:hover {
1310
1554
  background: var(--udoc-hover-overlay);
1311
1555
  }
1312
1556
 
1313
- .udoc-viewer-root .udoc-subtoolbar__width-btn--active {
1557
+ .udoc-viewer-root .udoc-linestyle-panel__item--active {
1314
1558
  background: var(--udoc-primary-active-bg);
1315
1559
  }
1316
1560
 
1317
- .udoc-viewer-root .udoc-subtoolbar__width-btn--active:hover {
1318
- background: var(--udoc-primary-active-bg-hover);
1561
+ .udoc-viewer-root .udoc-linestyle-panel__icon {
1562
+ display: flex;
1563
+ width: 24px;
1564
+ height: 24px;
1319
1565
  }
1320
1566
 
1321
- .udoc-viewer-root .udoc-subtoolbar__width-line {
1322
- display: block;
1323
- width: 16px;
1324
- border-radius: 1px;
1325
- background: var(--udoc-text-body);
1567
+ .udoc-viewer-root .udoc-linestyle-panel__icon svg {
1568
+ width: 24px;
1569
+ height: 24px;
1326
1570
  }
1327
1571
 
1328
- /* Opacity slider */
1329
- .udoc-viewer-root .udoc-subtoolbar__opacity-slider {
1330
- width: 80px;
1331
- height: 4px;
1572
+ .udoc-viewer-root .udoc-linestyle-panel__label {
1573
+ font-size: 11px;
1574
+ }
1575
+
1576
+ /* ---- Arrow head panel (floating) ---- */
1577
+ .udoc-viewer-root .udoc-arrowhead-panel {
1578
+ display: none;
1579
+ position: absolute;
1580
+ top: 100%;
1581
+ margin-top: 2px;
1582
+ padding: 8px;
1583
+ background: var(--udoc-bg-panel);
1584
+ border: 1px solid var(--udoc-border);
1585
+ border-radius: 8px;
1586
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1587
+ z-index: 100;
1588
+ }
1589
+
1590
+ .udoc-viewer-root .udoc-arrowhead-panel--open {
1591
+ display: flex;
1592
+ flex-direction: column;
1593
+ gap: 6px;
1594
+ }
1595
+
1596
+ .udoc-viewer-root .udoc-arrowhead-panel__row {
1597
+ display: flex;
1598
+ align-items: center;
1599
+ gap: 4px;
1600
+ }
1601
+
1602
+ .udoc-viewer-root .udoc-arrowhead-panel__row-label {
1603
+ font-size: 10px;
1604
+ font-weight: 600;
1605
+ text-transform: uppercase;
1606
+ color: var(--udoc-text-muted);
1607
+ letter-spacing: 0.05em;
1608
+ width: 36px;
1609
+ flex-shrink: 0;
1610
+ }
1611
+
1612
+ .udoc-viewer-root .udoc-arrowhead-panel__btn {
1613
+ display: flex;
1614
+ align-items: center;
1615
+ justify-content: center;
1616
+ width: 32px;
1617
+ height: 28px;
1618
+ padding: 0;
1619
+ border: none;
1620
+ border-radius: 4px;
1621
+ background: transparent;
1332
1622
  cursor: pointer;
1333
- accent-color: var(--udoc-primary);
1623
+ color: var(--udoc-text-body);
1624
+ }
1625
+
1626
+ .udoc-viewer-root .udoc-arrowhead-panel__btn svg {
1627
+ width: 20px;
1628
+ height: 20px;
1629
+ }
1630
+
1631
+ .udoc-viewer-root .udoc-arrowhead-panel__btn:hover {
1632
+ background: var(--udoc-hover-overlay);
1633
+ }
1634
+
1635
+ .udoc-viewer-root .udoc-arrowhead-panel__btn--active {
1636
+ background: var(--udoc-primary-active-bg);
1334
1637
  }
1335
1638
 
1336
1639
  /* Right Panel */
@@ -1461,6 +1764,19 @@ export const inlineStyles = `.udoc-viewer-root {
1461
1764
  user-select: none;
1462
1765
  }
1463
1766
 
1767
+ /* Annotation draw tool cursor */
1768
+ .udoc-viewer--tool-draw .udoc-viewport__scroll {
1769
+ cursor: crosshair;
1770
+ }
1771
+
1772
+ .udoc-viewer--tool-draw .udoc-spread__text-layer {
1773
+ pointer-events: none;
1774
+ }
1775
+
1776
+ .udoc-viewer--tool-draw .udoc-text-run {
1777
+ user-select: none;
1778
+ }
1779
+
1464
1780
  /* Annotation Layer */
1465
1781
  .udoc-viewer-root .udoc-spread__annotation-layer {
1466
1782
  position: absolute;
@@ -1911,6 +2227,123 @@ export const inlineStyles = `.udoc-viewer-root {
1911
2227
  z-index: 20;
1912
2228
  }
1913
2229
 
2230
+ /* Annotation select tool */
2231
+ .udoc-viewer--tool-select .udoc-spread__text-layer {
2232
+ pointer-events: none;
2233
+ }
2234
+
2235
+ .udoc-viewer--tool-select .udoc-text-run {
2236
+ user-select: none;
2237
+ }
2238
+
2239
+ /* SVG shape annotations: make drawn strokes/fills clickable (not empty SVG space) */
2240
+ .udoc-viewer--tool-select .udoc-spread__annotation-layer svg[data-annotation-index] * {
2241
+ pointer-events: painted;
2242
+ cursor: pointer;
2243
+ }
2244
+
2245
+ /* HTML-based annotations (markup quads, text icons, etc.): make children clickable */
2246
+ .udoc-viewer--tool-select .udoc-spread__annotation-layer div[data-annotation-index] > * {
2247
+ pointer-events: auto !important;
2248
+ cursor: pointer;
2249
+ }
2250
+
2251
+ /* Selected annotation bounding box */
2252
+ .udoc-viewer-root .udoc-annotation-select-bbox {
2253
+ pointer-events: none;
2254
+ z-index: 10;
2255
+ overflow: visible;
2256
+ }
2257
+
2258
+ .udoc-viewer-root .udoc-annotation-select-bbox__inner {
2259
+ box-sizing: border-box;
2260
+ border: 2px solid var(--udoc-selection-color);
2261
+ cursor: grab;
2262
+ pointer-events: auto;
2263
+ }
2264
+
2265
+ /* Resize handles */
2266
+ .udoc-viewer-root .udoc-annotation-select-bbox__handle {
2267
+ position: absolute;
2268
+ width: 10px;
2269
+ height: 10px;
2270
+ background: #fff;
2271
+ border: 2px solid var(--udoc-selection-color);
2272
+ border-radius: 2px;
2273
+ pointer-events: auto;
2274
+ box-sizing: border-box;
2275
+ }
2276
+
2277
+ /* Corner handles */
2278
+ .udoc-annotation-select-bbox__handle--nw {
2279
+ top: -5px;
2280
+ left: -5px;
2281
+ }
2282
+ .udoc-annotation-select-bbox__handle--ne {
2283
+ top: -5px;
2284
+ right: -5px;
2285
+ }
2286
+ .udoc-annotation-select-bbox__handle--se {
2287
+ bottom: -5px;
2288
+ right: -5px;
2289
+ }
2290
+ .udoc-annotation-select-bbox__handle--sw {
2291
+ bottom: -5px;
2292
+ left: -5px;
2293
+ }
2294
+
2295
+ /* Edge midpoint handles */
2296
+ .udoc-annotation-select-bbox__handle--n {
2297
+ top: -5px;
2298
+ left: 50%;
2299
+ margin-left: -5px;
2300
+ }
2301
+ .udoc-annotation-select-bbox__handle--e {
2302
+ top: 50%;
2303
+ right: -5px;
2304
+ margin-top: -5px;
2305
+ }
2306
+ .udoc-annotation-select-bbox__handle--s {
2307
+ bottom: -5px;
2308
+ left: 50%;
2309
+ margin-left: -5px;
2310
+ }
2311
+ .udoc-annotation-select-bbox__handle--w {
2312
+ top: 50%;
2313
+ left: -5px;
2314
+ margin-top: -5px;
2315
+ }
2316
+
2317
+ /* Moving annotation cursor */
2318
+ .udoc-viewer--annotation-moving .udoc-viewport__scroll {
2319
+ cursor: grabbing !important;
2320
+ }
2321
+
2322
+ .udoc-viewer--annotation-moving .udoc-annotation-select-bbox__inner {
2323
+ cursor: grabbing;
2324
+ }
2325
+
2326
+ /* Resizing annotation — lock cursor globally */
2327
+ .udoc-viewer--annotation-resizing .udoc-viewport__scroll {
2328
+ cursor: inherit !important;
2329
+ }
2330
+
2331
+ /* Delete button in sub-toolbar */
2332
+ .udoc-viewer-root .udoc-subtoolbar__btn--delete {
2333
+ transition:
2334
+ color 0.15s ease,
2335
+ opacity 0.15s ease;
2336
+ }
2337
+
2338
+ .udoc-viewer-root .udoc-subtoolbar__btn--delete:disabled {
2339
+ opacity: 0.35;
2340
+ cursor: default;
2341
+ }
2342
+
2343
+ .udoc-viewer-root .udoc-subtoolbar__btn--delete:not(:disabled):hover {
2344
+ color: var(--udoc-error-text);
2345
+ }
2346
+
1914
2347
  /* Mobile Panel Overlay */
1915
2348
  .udoc-viewer-root .udoc-panel-overlay {
1916
2349
  display: none;
@@ -1 +1 @@
1
- {"version":3,"file":"styles-inline.js","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0yF3B,CAAC"}
1
+ {"version":3,"file":"styles-inline.js","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2tG3B,CAAC"}
@@ -10,9 +10,9 @@
10
10
  * Decomposes transforms into final pixel coordinates, no CSS transforms.
11
11
  * Same approach as the search highlight code.
12
12
  */
13
- import type { JsLayoutPage } from "../../../wasm/udoc.js";
13
+ import type { LayoutPage } from "../../../worker/index.js";
14
14
  /**
15
- * Render a JsLayoutPage to a text layer element.
15
+ * Render a LayoutPage to a text layer element.
16
16
  */
17
- export declare function renderTextToLayer(layer: HTMLDivElement, layout: JsLayoutPage | null | undefined, scale: number, _pageHeight: number): void;
17
+ export declare function renderTextToLayer(layer: HTMLDivElement, layout: LayoutPage | null | undefined, scale: number, _pageHeight: number): void;
18
18
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACR,YAAY,EAYf,MAAM,uBAAuB,CAAC;AAsE/B;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GACpB,IAAI,CAWN"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACR,UAAU,EAYb,MAAM,0BAA0B,CAAC;AAsElC;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GACpB,IAAI,CAWN"}
@@ -1,7 +1,7 @@
1
1
  function px(v) {
2
2
  return `${v}px`;
3
3
  }
4
- /** Format a JsTransform as a CSS matrix() with translation scaled to pixels. */
4
+ /** Format a Transform as a CSS matrix() with translation scaled to pixels. */
5
5
  function cssMatrix(t, scale) {
6
6
  return `matrix(${t.scaleX},${t.skewY},${t.skewX},${t.scaleY},${t.translateX * scale},${t.translateY * scale})`;
7
7
  }
@@ -57,7 +57,7 @@ function isFlat(layout) {
57
57
  return false;
58
58
  }
59
59
  /**
60
- * Render a JsLayoutPage to a text layer element.
60
+ * Render a LayoutPage to a text layer element.
61
61
  */
62
62
  export function renderTextToLayer(layer, layout, scale, _pageHeight) {
63
63
  if (!layout) {