superdoc 2.20.1-next.8 → 2.21.0-next.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.
- package/dist/chunks/{create-super-doc-ui-Cfwszc3b.es.js → create-super-doc-ui-0CZTlOvl.es.js} +571 -4
- package/dist/chunks/{create-super-doc-ui-j8Qm5SYa.cjs → create-super-doc-ui-yKesgn9b.cjs} +582 -3
- package/dist/collaboration-upgrade-engine.cjs +1 -1
- package/dist/collaboration-upgrade-engine.es.js +1 -1
- package/dist/document-api/src/content-controls/content-controls.types.d.ts +2 -0
- package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
- package/dist/document-api/src/contract/operation-definitions.d.ts +5 -5
- package/dist/document-api/src/types/create.types.d.ts +91 -2
- package/dist/layout-engine/contracts/src/index.d.ts +37 -0
- package/dist/layout-engine/contracts/src/segment-geometry.d.ts +22 -6
- package/dist/layout-engine/layout-bridge/src/line-justify-adjustment.d.ts +106 -0
- package/dist/public/ui-react.cjs +1 -1
- package/dist/public/ui-react.es.js +1 -1
- package/dist/public/ui-vue.cjs +1 -1
- package/dist/public/ui-vue.es.js +1 -1
- package/dist/public/ui.cjs +1 -1
- package/dist/public/ui.es.js +1 -1
- package/dist/style.css +27 -27
- package/dist/style.layered.css +27 -27
- package/dist/superdoc/src/internal/diagnostics/interaction-history.d.ts +7 -1
- package/dist/superdoc/src/internal/diagnostics/workflow-recording.d.ts +73 -0
- package/dist/superdoc.cjs +11 -7
- package/dist/superdoc.es.js +11 -7
- package/dist-cdn/style.layered.css +1 -1
- package/dist-cdn/superdoc.min.css +1 -1
- package/dist-cdn/superdoc.min.js +39 -39
- package/package.json +2 -2
package/dist/style.css
CHANGED
|
@@ -1891,28 +1891,28 @@ img[data-v-c95b2073] {
|
|
|
1891
1891
|
background-color: #1355ff7f;
|
|
1892
1892
|
}
|
|
1893
1893
|
|
|
1894
|
-
.comment-placeholder[data-v-
|
|
1894
|
+
.comment-placeholder[data-v-8262096d] {
|
|
1895
1895
|
position: absolute;
|
|
1896
1896
|
width: 300px;
|
|
1897
1897
|
transition: top 0.3s ease;
|
|
1898
1898
|
}
|
|
1899
|
-
.comment-placeholder.is-direct-decision-continuity-target[data-v-
|
|
1899
|
+
.comment-placeholder.is-direct-decision-continuity-target[data-v-8262096d] .overflow-menu {
|
|
1900
1900
|
opacity: 1;
|
|
1901
1901
|
pointer-events: auto;
|
|
1902
1902
|
}
|
|
1903
|
-
.floating-comment[data-v-
|
|
1903
|
+
.floating-comment[data-v-8262096d] {
|
|
1904
1904
|
position: relative;
|
|
1905
1905
|
display: block;
|
|
1906
1906
|
min-width: 300px;
|
|
1907
1907
|
}
|
|
1908
|
-
.sidebar-container[data-v-
|
|
1908
|
+
.sidebar-container[data-v-8262096d] {
|
|
1909
1909
|
position: absolute;
|
|
1910
1910
|
width: 300px;
|
|
1911
1911
|
min-height: 300px;
|
|
1912
1912
|
transition: transform 0.3s ease;
|
|
1913
1913
|
will-change: transform;
|
|
1914
1914
|
}
|
|
1915
|
-
.section-wrapper[data-v-
|
|
1915
|
+
.section-wrapper[data-v-8262096d] {
|
|
1916
1916
|
position: relative;
|
|
1917
1917
|
min-height: 100%;
|
|
1918
1918
|
width: 300px;
|
|
@@ -2340,34 +2340,34 @@ img[data-v-c95b2073] {
|
|
|
2340
2340
|
pointer-events: auto;
|
|
2341
2341
|
}
|
|
2342
2342
|
|
|
2343
|
-
.superdoc[data-v-
|
|
2343
|
+
.superdoc[data-v-0d8ce95e] {
|
|
2344
2344
|
display: flex;
|
|
2345
2345
|
position: relative;
|
|
2346
2346
|
}
|
|
2347
|
-
.right-sidebar[data-v-
|
|
2347
|
+
.right-sidebar[data-v-0d8ce95e] {
|
|
2348
2348
|
min-width: 320px;
|
|
2349
2349
|
height: 100%;
|
|
2350
2350
|
}
|
|
2351
|
-
.floating-comments[data-v-
|
|
2351
|
+
.floating-comments[data-v-0d8ce95e] {
|
|
2352
2352
|
min-width: 300px;
|
|
2353
2353
|
width: 300px;
|
|
2354
2354
|
height: 100%;
|
|
2355
2355
|
overflow: visible;
|
|
2356
2356
|
}
|
|
2357
|
-
.superdoc__layers[data-v-
|
|
2357
|
+
.superdoc__layers[data-v-0d8ce95e] {
|
|
2358
2358
|
height: 100%;
|
|
2359
2359
|
position: relative;
|
|
2360
2360
|
box-sizing: border-box;
|
|
2361
2361
|
}
|
|
2362
|
-
.superdoc__document[data-v-
|
|
2362
|
+
.superdoc__document[data-v-0d8ce95e] {
|
|
2363
2363
|
width: 100%;
|
|
2364
2364
|
position: relative;
|
|
2365
2365
|
}
|
|
2366
|
-
.superdoc__sub-document[data-v-
|
|
2366
|
+
.superdoc__sub-document[data-v-0d8ce95e] {
|
|
2367
2367
|
width: 100%;
|
|
2368
2368
|
position: relative;
|
|
2369
2369
|
}
|
|
2370
|
-
.superdoc__selection-layer[data-v-
|
|
2370
|
+
.superdoc__selection-layer[data-v-0d8ce95e] {
|
|
2371
2371
|
position: absolute;
|
|
2372
2372
|
min-width: 100%;
|
|
2373
2373
|
min-height: 100%;
|
|
@@ -2378,13 +2378,13 @@ img[data-v-c95b2073] {
|
|
|
2378
2378
|
/* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
|
|
2379
2379
|
the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
|
|
2380
2380
|
clickable, and below the selection layer (z-index 10). */
|
|
2381
|
-
.superdoc__whiteboard-layer[data-v-
|
|
2381
|
+
.superdoc__whiteboard-layer[data-v-0d8ce95e] {
|
|
2382
2382
|
z-index: 4;
|
|
2383
2383
|
}
|
|
2384
|
-
.superdoc__temp-selection[data-v-
|
|
2384
|
+
.superdoc__temp-selection[data-v-0d8ce95e] {
|
|
2385
2385
|
position: absolute;
|
|
2386
2386
|
}
|
|
2387
|
-
.superdoc__right-sidebar[data-v-
|
|
2387
|
+
.superdoc__right-sidebar[data-v-0d8ce95e] {
|
|
2388
2388
|
width: 320px;
|
|
2389
2389
|
min-width: 320px;
|
|
2390
2390
|
padding: 0 10px;
|
|
@@ -2392,7 +2392,7 @@ img[data-v-c95b2073] {
|
|
|
2392
2392
|
position: relative;
|
|
2393
2393
|
z-index: 2;
|
|
2394
2394
|
}
|
|
2395
|
-
.superdoc__compact-comment-popover[data-v-
|
|
2395
|
+
.superdoc__compact-comment-popover[data-v-0d8ce95e] {
|
|
2396
2396
|
position: absolute;
|
|
2397
2397
|
top: 12px;
|
|
2398
2398
|
right: 12px;
|
|
@@ -2401,14 +2401,14 @@ img[data-v-c95b2073] {
|
|
|
2401
2401
|
}
|
|
2402
2402
|
|
|
2403
2403
|
/* Tools styles */
|
|
2404
|
-
.tools[data-v-
|
|
2404
|
+
.tools[data-v-0d8ce95e] {
|
|
2405
2405
|
position: absolute;
|
|
2406
2406
|
z-index: 3;
|
|
2407
2407
|
display: flex;
|
|
2408
2408
|
flex-direction: column;
|
|
2409
2409
|
gap: var(--sd-ui-tools-gap, 6px);
|
|
2410
2410
|
}
|
|
2411
|
-
.tools-item[data-v-
|
|
2411
|
+
.tools-item[data-v-0d8ce95e] {
|
|
2412
2412
|
display: flex;
|
|
2413
2413
|
align-items: center;
|
|
2414
2414
|
justify-content: center;
|
|
@@ -2419,10 +2419,10 @@ img[data-v-c95b2073] {
|
|
|
2419
2419
|
cursor: pointer;
|
|
2420
2420
|
position: relative;
|
|
2421
2421
|
}
|
|
2422
|
-
.tools-item i[data-v-
|
|
2422
|
+
.tools-item i[data-v-0d8ce95e] {
|
|
2423
2423
|
cursor: pointer;
|
|
2424
2424
|
}
|
|
2425
|
-
.superdoc__tools-icon[data-v-
|
|
2425
|
+
.superdoc__tools-icon[data-v-0d8ce95e] {
|
|
2426
2426
|
width: var(--sd-ui-tools-icon-size, 20px);
|
|
2427
2427
|
height: var(--sd-ui-tools-icon-size, 20px);
|
|
2428
2428
|
flex-shrink: 0;
|
|
@@ -2437,22 +2437,22 @@ img[data-v-c95b2073] {
|
|
|
2437
2437
|
|
|
2438
2438
|
/* 834px is iPad screen size in portrait orientation */
|
|
2439
2439
|
@media (max-width: 834px) {
|
|
2440
|
-
.superdoc .superdoc__layers[data-v-
|
|
2440
|
+
.superdoc .superdoc__layers[data-v-0d8ce95e] {
|
|
2441
2441
|
margin: 0;
|
|
2442
2442
|
border: 0 !important;
|
|
2443
2443
|
box-shadow: none;
|
|
2444
2444
|
}
|
|
2445
|
-
.superdoc__sub-document[data-v-
|
|
2445
|
+
.superdoc__sub-document[data-v-0d8ce95e] {
|
|
2446
2446
|
max-width: 100%;
|
|
2447
2447
|
}
|
|
2448
|
-
.superdoc__right-sidebar[data-v-
|
|
2448
|
+
.superdoc__right-sidebar[data-v-0d8ce95e] {
|
|
2449
2449
|
padding: 10px;
|
|
2450
2450
|
position: relative;
|
|
2451
2451
|
}
|
|
2452
2452
|
}
|
|
2453
2453
|
|
|
2454
2454
|
/* AI Writer styles */
|
|
2455
|
-
.ai-writer-container[data-v-
|
|
2455
|
+
.ai-writer-container[data-v-0d8ce95e] {
|
|
2456
2456
|
position: fixed;
|
|
2457
2457
|
z-index: 1000;
|
|
2458
2458
|
background: white;
|
|
@@ -2468,10 +2468,10 @@ img[data-v-c95b2073] {
|
|
|
2468
2468
|
transform: translateY(-50%);
|
|
2469
2469
|
z-index: 50;
|
|
2470
2470
|
} */
|
|
2471
|
-
.ai-tool > svg[data-v-
|
|
2471
|
+
.ai-tool > svg[data-v-0d8ce95e] {
|
|
2472
2472
|
fill: transparent;
|
|
2473
2473
|
}
|
|
2474
|
-
.ai-tool[data-v-
|
|
2474
|
+
.ai-tool[data-v-0d8ce95e]::before {
|
|
2475
2475
|
content: '';
|
|
2476
2476
|
position: absolute;
|
|
2477
2477
|
width: 20px;
|
|
@@ -2492,7 +2492,7 @@ img[data-v-c95b2073] {
|
|
|
2492
2492
|
filter: brightness(1.2);
|
|
2493
2493
|
transition: filter 0.2s ease;
|
|
2494
2494
|
}
|
|
2495
|
-
.ai-tool[data-v-
|
|
2495
|
+
.ai-tool[data-v-0d8ce95e]:hover::before {
|
|
2496
2496
|
filter: brightness(1.3);
|
|
2497
2497
|
}
|
|
2498
2498
|
|
package/dist/style.layered.css
CHANGED
|
@@ -1891,28 +1891,28 @@ img[data-v-c95b2073] {
|
|
|
1891
1891
|
background-color: #1355ff7f;
|
|
1892
1892
|
}
|
|
1893
1893
|
|
|
1894
|
-
.comment-placeholder[data-v-
|
|
1894
|
+
.comment-placeholder[data-v-8262096d] {
|
|
1895
1895
|
position: absolute;
|
|
1896
1896
|
width: 300px;
|
|
1897
1897
|
transition: top 0.3s ease;
|
|
1898
1898
|
}
|
|
1899
|
-
.comment-placeholder.is-direct-decision-continuity-target[data-v-
|
|
1899
|
+
.comment-placeholder.is-direct-decision-continuity-target[data-v-8262096d] .overflow-menu {
|
|
1900
1900
|
opacity: 1;
|
|
1901
1901
|
pointer-events: auto;
|
|
1902
1902
|
}
|
|
1903
|
-
.floating-comment[data-v-
|
|
1903
|
+
.floating-comment[data-v-8262096d] {
|
|
1904
1904
|
position: relative;
|
|
1905
1905
|
display: block;
|
|
1906
1906
|
min-width: 300px;
|
|
1907
1907
|
}
|
|
1908
|
-
.sidebar-container[data-v-
|
|
1908
|
+
.sidebar-container[data-v-8262096d] {
|
|
1909
1909
|
position: absolute;
|
|
1910
1910
|
width: 300px;
|
|
1911
1911
|
min-height: 300px;
|
|
1912
1912
|
transition: transform 0.3s ease;
|
|
1913
1913
|
will-change: transform;
|
|
1914
1914
|
}
|
|
1915
|
-
.section-wrapper[data-v-
|
|
1915
|
+
.section-wrapper[data-v-8262096d] {
|
|
1916
1916
|
position: relative;
|
|
1917
1917
|
min-height: 100%;
|
|
1918
1918
|
width: 300px;
|
|
@@ -2340,34 +2340,34 @@ img[data-v-c95b2073] {
|
|
|
2340
2340
|
pointer-events: auto;
|
|
2341
2341
|
}
|
|
2342
2342
|
|
|
2343
|
-
.superdoc[data-v-
|
|
2343
|
+
.superdoc[data-v-0d8ce95e] {
|
|
2344
2344
|
display: flex;
|
|
2345
2345
|
position: relative;
|
|
2346
2346
|
}
|
|
2347
|
-
.right-sidebar[data-v-
|
|
2347
|
+
.right-sidebar[data-v-0d8ce95e] {
|
|
2348
2348
|
min-width: 320px;
|
|
2349
2349
|
height: 100%;
|
|
2350
2350
|
}
|
|
2351
|
-
.floating-comments[data-v-
|
|
2351
|
+
.floating-comments[data-v-0d8ce95e] {
|
|
2352
2352
|
min-width: 300px;
|
|
2353
2353
|
width: 300px;
|
|
2354
2354
|
height: 100%;
|
|
2355
2355
|
overflow: visible;
|
|
2356
2356
|
}
|
|
2357
|
-
.superdoc__layers[data-v-
|
|
2357
|
+
.superdoc__layers[data-v-0d8ce95e] {
|
|
2358
2358
|
height: 100%;
|
|
2359
2359
|
position: relative;
|
|
2360
2360
|
box-sizing: border-box;
|
|
2361
2361
|
}
|
|
2362
|
-
.superdoc__document[data-v-
|
|
2362
|
+
.superdoc__document[data-v-0d8ce95e] {
|
|
2363
2363
|
width: 100%;
|
|
2364
2364
|
position: relative;
|
|
2365
2365
|
}
|
|
2366
|
-
.superdoc__sub-document[data-v-
|
|
2366
|
+
.superdoc__sub-document[data-v-0d8ce95e] {
|
|
2367
2367
|
width: 100%;
|
|
2368
2368
|
position: relative;
|
|
2369
2369
|
}
|
|
2370
|
-
.superdoc__selection-layer[data-v-
|
|
2370
|
+
.superdoc__selection-layer[data-v-0d8ce95e] {
|
|
2371
2371
|
position: absolute;
|
|
2372
2372
|
min-width: 100%;
|
|
2373
2373
|
min-height: 100%;
|
|
@@ -2378,13 +2378,13 @@ img[data-v-c95b2073] {
|
|
|
2378
2378
|
/* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
|
|
2379
2379
|
the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
|
|
2380
2380
|
clickable, and below the selection layer (z-index 10). */
|
|
2381
|
-
.superdoc__whiteboard-layer[data-v-
|
|
2381
|
+
.superdoc__whiteboard-layer[data-v-0d8ce95e] {
|
|
2382
2382
|
z-index: 4;
|
|
2383
2383
|
}
|
|
2384
|
-
.superdoc__temp-selection[data-v-
|
|
2384
|
+
.superdoc__temp-selection[data-v-0d8ce95e] {
|
|
2385
2385
|
position: absolute;
|
|
2386
2386
|
}
|
|
2387
|
-
.superdoc__right-sidebar[data-v-
|
|
2387
|
+
.superdoc__right-sidebar[data-v-0d8ce95e] {
|
|
2388
2388
|
width: 320px;
|
|
2389
2389
|
min-width: 320px;
|
|
2390
2390
|
padding: 0 10px;
|
|
@@ -2392,7 +2392,7 @@ img[data-v-c95b2073] {
|
|
|
2392
2392
|
position: relative;
|
|
2393
2393
|
z-index: 2;
|
|
2394
2394
|
}
|
|
2395
|
-
.superdoc__compact-comment-popover[data-v-
|
|
2395
|
+
.superdoc__compact-comment-popover[data-v-0d8ce95e] {
|
|
2396
2396
|
position: absolute;
|
|
2397
2397
|
top: 12px;
|
|
2398
2398
|
right: 12px;
|
|
@@ -2401,14 +2401,14 @@ img[data-v-c95b2073] {
|
|
|
2401
2401
|
}
|
|
2402
2402
|
|
|
2403
2403
|
/* Tools styles */
|
|
2404
|
-
.tools[data-v-
|
|
2404
|
+
.tools[data-v-0d8ce95e] {
|
|
2405
2405
|
position: absolute;
|
|
2406
2406
|
z-index: 3;
|
|
2407
2407
|
display: flex;
|
|
2408
2408
|
flex-direction: column;
|
|
2409
2409
|
gap: var(--sd-ui-tools-gap, 6px);
|
|
2410
2410
|
}
|
|
2411
|
-
.tools-item[data-v-
|
|
2411
|
+
.tools-item[data-v-0d8ce95e] {
|
|
2412
2412
|
display: flex;
|
|
2413
2413
|
align-items: center;
|
|
2414
2414
|
justify-content: center;
|
|
@@ -2419,10 +2419,10 @@ img[data-v-c95b2073] {
|
|
|
2419
2419
|
cursor: pointer;
|
|
2420
2420
|
position: relative;
|
|
2421
2421
|
}
|
|
2422
|
-
.tools-item i[data-v-
|
|
2422
|
+
.tools-item i[data-v-0d8ce95e] {
|
|
2423
2423
|
cursor: pointer;
|
|
2424
2424
|
}
|
|
2425
|
-
.superdoc__tools-icon[data-v-
|
|
2425
|
+
.superdoc__tools-icon[data-v-0d8ce95e] {
|
|
2426
2426
|
width: var(--sd-ui-tools-icon-size, 20px);
|
|
2427
2427
|
height: var(--sd-ui-tools-icon-size, 20px);
|
|
2428
2428
|
flex-shrink: 0;
|
|
@@ -2437,22 +2437,22 @@ img[data-v-c95b2073] {
|
|
|
2437
2437
|
|
|
2438
2438
|
/* 834px is iPad screen size in portrait orientation */
|
|
2439
2439
|
@media (max-width: 834px) {
|
|
2440
|
-
.superdoc .superdoc__layers[data-v-
|
|
2440
|
+
.superdoc .superdoc__layers[data-v-0d8ce95e] {
|
|
2441
2441
|
margin: 0;
|
|
2442
2442
|
border: 0 !important;
|
|
2443
2443
|
box-shadow: none;
|
|
2444
2444
|
}
|
|
2445
|
-
.superdoc__sub-document[data-v-
|
|
2445
|
+
.superdoc__sub-document[data-v-0d8ce95e] {
|
|
2446
2446
|
max-width: 100%;
|
|
2447
2447
|
}
|
|
2448
|
-
.superdoc__right-sidebar[data-v-
|
|
2448
|
+
.superdoc__right-sidebar[data-v-0d8ce95e] {
|
|
2449
2449
|
padding: 10px;
|
|
2450
2450
|
position: relative;
|
|
2451
2451
|
}
|
|
2452
2452
|
}
|
|
2453
2453
|
|
|
2454
2454
|
/* AI Writer styles */
|
|
2455
|
-
.ai-writer-container[data-v-
|
|
2455
|
+
.ai-writer-container[data-v-0d8ce95e] {
|
|
2456
2456
|
position: fixed;
|
|
2457
2457
|
z-index: 1000;
|
|
2458
2458
|
background: white;
|
|
@@ -2468,10 +2468,10 @@ img[data-v-c95b2073] {
|
|
|
2468
2468
|
transform: translateY(-50%);
|
|
2469
2469
|
z-index: 50;
|
|
2470
2470
|
} */
|
|
2471
|
-
.ai-tool > svg[data-v-
|
|
2471
|
+
.ai-tool > svg[data-v-0d8ce95e] {
|
|
2472
2472
|
fill: transparent;
|
|
2473
2473
|
}
|
|
2474
|
-
.ai-tool[data-v-
|
|
2474
|
+
.ai-tool[data-v-0d8ce95e]::before {
|
|
2475
2475
|
content: '';
|
|
2476
2476
|
position: absolute;
|
|
2477
2477
|
width: 20px;
|
|
@@ -2492,7 +2492,7 @@ img[data-v-c95b2073] {
|
|
|
2492
2492
|
filter: brightness(1.2);
|
|
2493
2493
|
transition: filter 0.2s ease;
|
|
2494
2494
|
}
|
|
2495
|
-
.ai-tool[data-v-
|
|
2495
|
+
.ai-tool[data-v-0d8ce95e]:hover::before {
|
|
2496
2496
|
filter: brightness(1.3);
|
|
2497
2497
|
}
|
|
2498
2498
|
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { SuperDocDiagnostics } from '../../core/types/diagnostics.js';
|
|
2
|
-
|
|
2
|
+
import { WorkflowRecording } from './workflow-recording.js';
|
|
3
|
+
export interface InternalDiagnostics extends SuperDocDiagnostics {
|
|
4
|
+
readonly recording?: WorkflowRecording;
|
|
5
|
+
}
|
|
6
|
+
export declare function isWorkflowRecordingEnabled(config: unknown): boolean;
|
|
7
|
+
export declare function createInteractionHistory(owner: object, config: unknown, version: () => string, root: HTMLElement): InternalDiagnostics;
|
|
3
8
|
/** Every producer crosses this guard before reading or retaining diagnostic data. */
|
|
4
9
|
export declare function recordInteraction(owner: object | null | undefined, type: string, read: () => unknown): void;
|
|
5
10
|
export declare function beginInteraction(owner: object, type: string, read: () => Record<string, unknown>): string | undefined;
|
|
6
11
|
export declare function closeInteractionHistory(owner: object): void;
|
|
12
|
+
export declare function getWorkflowRecording(owner: object): WorkflowRecording | undefined;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export interface WorkflowRecordingOptions {
|
|
2
|
+
/** Opt in to literal keys and input text. Defaults to false. */
|
|
3
|
+
captureContent?: boolean;
|
|
4
|
+
/** Defaults to 20,000; accepted range 1–100,000. */
|
|
5
|
+
maxEvents?: number;
|
|
6
|
+
/** Serialized UTF-16 budget. Defaults to 8 MiB; maximum 64 MiB. */
|
|
7
|
+
maxBytes?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface WorkflowRecordingEvent {
|
|
10
|
+
sequence: number;
|
|
11
|
+
/** Milliseconds since recording started, on the browser's monotonic clock. */
|
|
12
|
+
atMs: number;
|
|
13
|
+
type: string;
|
|
14
|
+
data: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface WorkflowRecordingSnapshot {
|
|
17
|
+
schemaVersion: 1;
|
|
18
|
+
sessionId: string;
|
|
19
|
+
version: string;
|
|
20
|
+
status: 'recording' | 'stopped' | 'incomplete';
|
|
21
|
+
startedAt: number;
|
|
22
|
+
timeOrigin: number;
|
|
23
|
+
startTimeMs: number;
|
|
24
|
+
durationMs: number;
|
|
25
|
+
captureContent: boolean;
|
|
26
|
+
viewport: {
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
devicePixelRatio: number;
|
|
30
|
+
};
|
|
31
|
+
events: WorkflowRecordingEvent[];
|
|
32
|
+
retainedBytes: number;
|
|
33
|
+
/** Known unsupported inputs. An empty list does not guarantee replay in a different environment. */
|
|
34
|
+
replayUnsupportedReasons: string[];
|
|
35
|
+
/** Engine work still queued or executing at the end of capture; inputs remain independently recorded. */
|
|
36
|
+
pendingIntentIds: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface WorkflowRecording {
|
|
39
|
+
readonly active: boolean;
|
|
40
|
+
/** Starts a new session. Throws if a session is active or the instance is destroyed. */
|
|
41
|
+
start(options?: WorkflowRecordingOptions): WorkflowRecordingSnapshot;
|
|
42
|
+
stop(): WorkflowRecordingSnapshot | null;
|
|
43
|
+
/** Detached data; no editor or worker queries. */
|
|
44
|
+
getSnapshot(): WorkflowRecordingSnapshot | null;
|
|
45
|
+
}
|
|
46
|
+
export declare class WorkflowRecorder {
|
|
47
|
+
private readonly root;
|
|
48
|
+
private readonly version;
|
|
49
|
+
private session;
|
|
50
|
+
private events;
|
|
51
|
+
private startMs;
|
|
52
|
+
private maxEvents;
|
|
53
|
+
private maxBytes;
|
|
54
|
+
private closed;
|
|
55
|
+
private pendingIntents;
|
|
56
|
+
private heldKeys;
|
|
57
|
+
private heldButtons;
|
|
58
|
+
private cleanups;
|
|
59
|
+
readonly api: WorkflowRecording;
|
|
60
|
+
constructor(root: HTMLElement, version: () => string);
|
|
61
|
+
private attachInputs;
|
|
62
|
+
private detachInputs;
|
|
63
|
+
get active(): boolean;
|
|
64
|
+
private start;
|
|
65
|
+
observe(type: string, read: () => unknown): void;
|
|
66
|
+
private unsupported;
|
|
67
|
+
private fail;
|
|
68
|
+
private input;
|
|
69
|
+
private clearHeldInput;
|
|
70
|
+
private stop;
|
|
71
|
+
private snapshot;
|
|
72
|
+
close(): void;
|
|
73
|
+
}
|
package/dist/superdoc.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("./chunks/rolldown-runtime-74VwNCz7.cjs");
|
|
3
3
|
const require_blank_docx = require("./chunks/blank-docx-BuFAbRjs.cjs");
|
|
4
|
-
const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-
|
|
4
|
+
const require_create_super_doc_ui = require("./chunks/create-super-doc-ui-yKesgn9b.cjs");
|
|
5
5
|
const require_eventemitter3 = require("./chunks/eventemitter3-C_TAnXOl.cjs");
|
|
6
6
|
const require_uuid = require("./chunks/uuid-BhG0ngwk.cjs");
|
|
7
7
|
const require__plugin_vue_export_helper = require("./chunks/_plugin-vue_export-helper-CYxINHh_.cjs");
|
|
@@ -316,7 +316,7 @@ var shuffleArray = (array) => {
|
|
|
316
316
|
var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
|
|
317
317
|
function getSuperdocVersion() {
|
|
318
318
|
try {
|
|
319
|
-
return "2.
|
|
319
|
+
return "2.21.0-next.1";
|
|
320
320
|
} catch {
|
|
321
321
|
return "unknown";
|
|
322
322
|
}
|
|
@@ -15440,7 +15440,10 @@ var _sfc_main$31 = {
|
|
|
15440
15440
|
viewportBottom: viewportRange.bottom
|
|
15441
15441
|
}) : null;
|
|
15442
15442
|
if (offscreenTop == null) collisionPositions.push(position);
|
|
15443
|
-
else
|
|
15443
|
+
else {
|
|
15444
|
+
position.top = offscreenTop;
|
|
15445
|
+
position.isOffscreenReviewCard = true;
|
|
15446
|
+
}
|
|
15444
15447
|
}
|
|
15445
15448
|
const activeIndex = activeKey ? collisionPositions.findIndex((p) => p.id === activeKey) : -1;
|
|
15446
15449
|
resolveCollisions(collisionPositions, activeIndex, 15);
|
|
@@ -15965,7 +15968,7 @@ var _sfc_main$31 = {
|
|
|
15965
15968
|
"data-comment-page-index": pos.pageIndex ?? "",
|
|
15966
15969
|
class: require__plugin_vue_export_helper.normalizeClass([{ "is-direct-decision-continuity-target": pos.id === directDecisionContinuityTargetId.value }, "comment-placeholder"]),
|
|
15967
15970
|
style: require__plugin_vue_export_helper.normalizeStyle({
|
|
15968
|
-
top: pos.top + "px",
|
|
15971
|
+
top: (pos.isOffscreenReviewCard ? pos.top - sidebarOffsetY.value : pos.top) + "px",
|
|
15969
15972
|
height: pos.height + "px",
|
|
15970
15973
|
transition: disableInstantLayoutTransitions.value ? "none" : void 0
|
|
15971
15974
|
})
|
|
@@ -15993,7 +15996,7 @@ var _sfc_main$31 = {
|
|
|
15993
15996
|
};
|
|
15994
15997
|
}
|
|
15995
15998
|
};
|
|
15996
|
-
var FloatingComments_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$31, [["__scopeId", "data-v-
|
|
15999
|
+
var FloatingComments_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_vue_export_helper_default(_sfc_main$31, [["__scopeId", "data-v-8262096d"]]);
|
|
15997
16000
|
//#endregion
|
|
15998
16001
|
//#region src/components/CommentsLayer/PdfCommentsLayer.vue
|
|
15999
16002
|
var _hoisted_1$23 = {
|
|
@@ -23412,6 +23415,7 @@ var SuperDoc_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_v
|
|
|
23412
23415
|
const v2Collaboration = collaborationResolution.state === "valid" ? collaborationResolution.config : null;
|
|
23413
23416
|
const collaborationPreflightFailure = proxy.$superdoc.config.v2CollaborationPreflightFailure ?? (collaborationResolution.state === "invalid" ? collaborationResolution.failure : null);
|
|
23414
23417
|
return {
|
|
23418
|
+
...require_create_super_doc_ui.isWorkflowRecordingEnabled(proxy.$superdoc.config) ? { isInteractionRecording: () => require_create_super_doc_ui.getWorkflowRecording(proxy.$superdoc)?.active === true } : {},
|
|
23415
23419
|
isDebug: proxy.$superdoc.config.isDebug || false,
|
|
23416
23420
|
documentId: doc.id,
|
|
23417
23421
|
user: proxy.$superdoc.user,
|
|
@@ -24537,7 +24541,7 @@ var SuperDoc_default = /*#__PURE__*/ require__plugin_vue_export_helper._plugin_v
|
|
|
24537
24541
|
], 38);
|
|
24538
24542
|
};
|
|
24539
24543
|
}
|
|
24540
|
-
}, [["__scopeId", "data-v-
|
|
24544
|
+
}, [["__scopeId", "data-v-0d8ce95e"]]);
|
|
24541
24545
|
//#endregion
|
|
24542
24546
|
//#region src/core/create-app.js
|
|
24543
24547
|
var PINIA_DEVTOOLS_SETUP_EVENT = "devtools-plugin:setup";
|
|
@@ -46354,7 +46358,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
|
|
|
46354
46358
|
this.config.colors = shuffleArray(this.config.colors);
|
|
46355
46359
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
46356
46360
|
this.colorIndex = 0;
|
|
46357
|
-
this.version = "2.
|
|
46361
|
+
this.version = "2.21.0-next.1";
|
|
46358
46362
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
46359
46363
|
this.superdocId = config.superdocId || require_uuid.v4();
|
|
46360
46364
|
this.colors = this.config.colors ?? [];
|
package/dist/superdoc.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as __toESM$2 } from "./chunks/rolldown-runtime-0pSA04fp.es.js";
|
|
2
2
|
import { t as blank_default } from "./chunks/blank-docx-DzQccOlW.es.js";
|
|
3
|
-
import { c as createImageFilePicker, d as DOM_CLASS_NAMES, f as closeInteractionHistory, i as registerFirstPartyCommandMutation, l as resolveImageSrc, m as
|
|
3
|
+
import { c as createImageFilePicker, d as DOM_CLASS_NAMES, f as closeInteractionHistory, g as recordInteraction, h as isWorkflowRecordingEnabled, i as registerFirstPartyCommandMutation, l as resolveImageSrc, m as getWorkflowRecording, n as executeFirstPartyCommandAsync, o as applyV2CommentInvalidationFromMutation, p as createInteractionHistory, r as readFirstPartyPageNumbers, s as getV2TrackedChangeMutationImpact, t as createSuperDocUI } from "./chunks/create-super-doc-ui-0CZTlOvl.es.js";
|
|
4
4
|
import { t as import_eventemitter3 } from "./chunks/eventemitter3-DEIiXiH2.es.js";
|
|
5
5
|
import { t as v4 } from "./chunks/uuid-H0Xcmmhy.es.js";
|
|
6
6
|
import { $ as watch$1, A as onActivated, B as resolveDirective, C as isRef$1, D as normalizeClass, E as nextTick, F as openBlock, G as toRef, H as shallowRef$1, I as reactive, J as useAttrs, K as toRefs, L as ref, M as onDeactivated, N as onMounted, O as normalizeProps, P as onScopeDispose$1, Q as vModelText, R as renderList, S as isReactive$1, T as mergeProps, U as toDisplayString, V as resolveDynamicComponent, W as toRaw$2, X as vModelCheckbox, Y as useSlots, Z as vModelSelect, _ as getCurrentInstance, a as computed$1, b as hasInjectionContext, c as createCommentVNode, d as createStaticVNode, et as withCtx, f as createTextVNode, g as effectScope, h as defineComponent, i as Transition, j as onBeforeUnmount, k as normalizeStyle, l as createElementBlock, m as defineAsyncComponent, n as Fragment, nt as withKeys, o as createApp, p as createVNode, q as unref, r as Teleport, rt as withModifiers, s as createBlock, t as _plugin_vue_export_helper_default, tt as withDirectives, u as createElementVNode, v as getCurrentScope, w as markRaw, x as inject$1, y as h, z as renderSlot } from "./chunks/_plugin-vue_export-helper-DHiJKCsy.es.js";
|
|
@@ -314,7 +314,7 @@ var shuffleArray = (array) => {
|
|
|
314
314
|
var DEFAULT_ENDPOINT = "https://ingest.superdoc.dev/v1/collect";
|
|
315
315
|
function getSuperdocVersion() {
|
|
316
316
|
try {
|
|
317
|
-
return "2.
|
|
317
|
+
return "2.21.0-next.1";
|
|
318
318
|
} catch {
|
|
319
319
|
return "unknown";
|
|
320
320
|
}
|
|
@@ -15430,7 +15430,10 @@ var FloatingComments_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
15430
15430
|
viewportBottom: viewportRange.bottom
|
|
15431
15431
|
}) : null;
|
|
15432
15432
|
if (offscreenTop == null) collisionPositions.push(position);
|
|
15433
|
-
else
|
|
15433
|
+
else {
|
|
15434
|
+
position.top = offscreenTop;
|
|
15435
|
+
position.isOffscreenReviewCard = true;
|
|
15436
|
+
}
|
|
15434
15437
|
}
|
|
15435
15438
|
const activeIndex = activeKey ? collisionPositions.findIndex((p) => p.id === activeKey) : -1;
|
|
15436
15439
|
resolveCollisions(collisionPositions, activeIndex, 15);
|
|
@@ -15955,7 +15958,7 @@ var FloatingComments_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
15955
15958
|
"data-comment-page-index": pos.pageIndex ?? "",
|
|
15956
15959
|
class: normalizeClass([{ "is-direct-decision-continuity-target": pos.id === directDecisionContinuityTargetId.value }, "comment-placeholder"]),
|
|
15957
15960
|
style: normalizeStyle({
|
|
15958
|
-
top: pos.top + "px",
|
|
15961
|
+
top: (pos.isOffscreenReviewCard ? pos.top - sidebarOffsetY.value : pos.top) + "px",
|
|
15959
15962
|
height: pos.height + "px",
|
|
15960
15963
|
transition: disableInstantLayoutTransitions.value ? "none" : void 0
|
|
15961
15964
|
})
|
|
@@ -15982,7 +15985,7 @@ var FloatingComments_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
15982
15985
|
}), 128))], 4)], 36);
|
|
15983
15986
|
};
|
|
15984
15987
|
}
|
|
15985
|
-
}, [["__scopeId", "data-v-
|
|
15988
|
+
}, [["__scopeId", "data-v-8262096d"]]);
|
|
15986
15989
|
//#endregion
|
|
15987
15990
|
//#region src/components/CommentsLayer/PdfCommentsLayer.vue
|
|
15988
15991
|
var _hoisted_1$23 = {
|
|
@@ -23371,6 +23374,7 @@ var SuperDoc_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
23371
23374
|
const v2Collaboration = collaborationResolution.state === "valid" ? collaborationResolution.config : null;
|
|
23372
23375
|
const collaborationPreflightFailure = proxy.$superdoc.config.v2CollaborationPreflightFailure ?? (collaborationResolution.state === "invalid" ? collaborationResolution.failure : null);
|
|
23373
23376
|
return {
|
|
23377
|
+
...isWorkflowRecordingEnabled(proxy.$superdoc.config) ? { isInteractionRecording: () => getWorkflowRecording(proxy.$superdoc)?.active === true } : {},
|
|
23374
23378
|
isDebug: proxy.$superdoc.config.isDebug || false,
|
|
23375
23379
|
documentId: doc.id,
|
|
23376
23380
|
user: proxy.$superdoc.user,
|
|
@@ -24496,7 +24500,7 @@ var SuperDoc_default = /*#__PURE__*/ _plugin_vue_export_helper_default({
|
|
|
24496
24500
|
], 38);
|
|
24497
24501
|
};
|
|
24498
24502
|
}
|
|
24499
|
-
}, [["__scopeId", "data-v-
|
|
24503
|
+
}, [["__scopeId", "data-v-0d8ce95e"]]);
|
|
24500
24504
|
//#endregion
|
|
24501
24505
|
//#region src/core/create-app.js
|
|
24502
24506
|
var PINIA_DEVTOOLS_SETUP_EVENT = "devtools-plugin:setup";
|
|
@@ -46283,7 +46287,7 @@ var SuperDoc = class extends import_eventemitter3.default {
|
|
|
46283
46287
|
this.config.colors = shuffleArray(this.config.colors);
|
|
46284
46288
|
this.userColorMap = /* @__PURE__ */ new Map();
|
|
46285
46289
|
this.colorIndex = 0;
|
|
46286
|
-
this.version = "2.
|
|
46290
|
+
this.version = "2.21.0-next.1";
|
|
46287
46291
|
this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
|
|
46288
46292
|
this.superdocId = config.superdocId || v4();
|
|
46289
46293
|
this.colors = this.config.colors ?? [];
|