superdoc 2.25.0-next.3 → 2.25.0-next.4

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 (44) hide show
  1. package/dist/chunks/{create-super-doc-ui-D8ss5E0J.cjs → create-super-doc-ui-C-oN_R2a.cjs} +19 -0
  2. package/dist/chunks/{create-super-doc-ui-3habU4hL.es.js → create-super-doc-ui-D5waZHl3.es.js} +19 -0
  3. package/dist/collaboration-upgrade-engine.cjs +1 -1
  4. package/dist/collaboration-upgrade-engine.es.js +1 -1
  5. package/dist/document-api/src/contract/operation-definitions.d.ts +1 -1
  6. package/dist/document-api/src/index.d.ts +1 -0
  7. package/dist/document-api/src/permission-ranges/permission-ranges.d.ts +9 -1
  8. package/dist/document-api/src/permission-ranges/permission-ranges.types.d.ts +17 -0
  9. package/dist/document-api/src/protection/protection.types.d.ts +2 -2
  10. package/dist/layout-engine/contracts/src/incremental-dependency.d.ts +2 -2
  11. package/dist/layout-engine/contracts/src/index.d.ts +4 -0
  12. package/dist/layout-engine/layout-bridge/src/font-metrics-cache.d.ts +2 -23
  13. package/dist/layout-engine/layout-bridge/src/incrementalLayout.d.ts +11 -4
  14. package/dist/layout-engine/layout-bridge/src/index.d.ts +2 -2
  15. package/dist/layout-engine/layout-bridge/src/measurement-environment.d.ts +12 -0
  16. package/dist/layout-engine/layout-bridge/src/resolveLiveCrossReferences.d.ts +1 -1
  17. package/dist/layout-engine/painters/dom/src/index.d.ts +4 -0
  18. package/dist/layout-engine/painters/dom/src/runs/text-run.d.ts +2 -17
  19. package/dist/layout-engine/painters/dom/src/runs/text-style-facts.d.ts +9 -0
  20. package/dist/layout-engine/painters/dom/src/runs/tracked-changes.d.ts +6 -9
  21. package/dist/layout-engine/painters/dom/src/styles.d.ts +21 -0
  22. package/dist/public/ui-react.cjs +1 -1
  23. package/dist/public/ui-react.es.js +1 -1
  24. package/dist/public/ui-vue.cjs +1 -1
  25. package/dist/public/ui-vue.es.js +1 -1
  26. package/dist/public/ui.cjs +1 -1
  27. package/dist/public/ui.es.js +1 -1
  28. package/dist/shared/font-system/src/registry.d.ts +5 -1
  29. package/dist/shared/font-system/src/resolver.d.ts +2 -0
  30. package/dist/style.css +27 -27
  31. package/dist/style.layered.css +27 -27
  32. package/dist/superdoc/src/core/types/index.d.ts +1 -1
  33. package/dist/superdoc/src/index.d.cts +2 -0
  34. package/dist/superdoc/src/index.d.ts +1 -0
  35. package/dist/superdoc/src/public/index.d.cts +8 -0
  36. package/dist/superdoc/src/public/index.d.ts +2 -0
  37. package/dist/superdoc/src/stores/comments-store.d.ts +7 -4
  38. package/dist/superdoc/src/stores/superdoc-store.d.ts +21 -12
  39. package/dist/superdoc.cjs +160 -14
  40. package/dist/superdoc.es.js +159 -15
  41. package/dist-cdn/style.layered.css +1 -1
  42. package/dist-cdn/superdoc.min.css +1 -1
  43. package/dist-cdn/superdoc.min.js +42 -42
  44. package/package.json +2 -2
package/dist/style.css CHANGED
@@ -1899,28 +1899,28 @@ img[data-v-c95b2073] {
1899
1899
  background-color: #1355ff7f;
1900
1900
  }
1901
1901
 
1902
- .comment-placeholder[data-v-15b59a51] {
1902
+ .comment-placeholder[data-v-f0b1fd79] {
1903
1903
  position: absolute;
1904
1904
  width: 300px;
1905
1905
  transition: top 0.3s ease;
1906
1906
  }
1907
- .comment-placeholder.is-direct-decision-continuity-target[data-v-15b59a51] .overflow-menu {
1907
+ .comment-placeholder.is-direct-decision-continuity-target[data-v-f0b1fd79] .overflow-menu {
1908
1908
  opacity: 1;
1909
1909
  pointer-events: auto;
1910
1910
  }
1911
- .floating-comment[data-v-15b59a51] {
1911
+ .floating-comment[data-v-f0b1fd79] {
1912
1912
  position: relative;
1913
1913
  display: block;
1914
1914
  min-width: 300px;
1915
1915
  }
1916
- .sidebar-container[data-v-15b59a51] {
1916
+ .sidebar-container[data-v-f0b1fd79] {
1917
1917
  position: absolute;
1918
1918
  width: 300px;
1919
1919
  min-height: 300px;
1920
1920
  transition: transform 0.3s ease;
1921
1921
  will-change: transform;
1922
1922
  }
1923
- .section-wrapper[data-v-15b59a51] {
1923
+ .section-wrapper[data-v-f0b1fd79] {
1924
1924
  position: relative;
1925
1925
  min-height: 100%;
1926
1926
  width: 300px;
@@ -2348,34 +2348,34 @@ img[data-v-c95b2073] {
2348
2348
  pointer-events: auto;
2349
2349
  }
2350
2350
 
2351
- .superdoc[data-v-e8f59dd7] {
2351
+ .superdoc[data-v-c57da6ae] {
2352
2352
  display: flex;
2353
2353
  position: relative;
2354
2354
  }
2355
- .right-sidebar[data-v-e8f59dd7] {
2355
+ .right-sidebar[data-v-c57da6ae] {
2356
2356
  min-width: 320px;
2357
2357
  height: 100%;
2358
2358
  }
2359
- .floating-comments[data-v-e8f59dd7] {
2359
+ .floating-comments[data-v-c57da6ae] {
2360
2360
  min-width: 300px;
2361
2361
  width: 300px;
2362
2362
  height: 100%;
2363
2363
  overflow: visible;
2364
2364
  }
2365
- .superdoc__layers[data-v-e8f59dd7] {
2365
+ .superdoc__layers[data-v-c57da6ae] {
2366
2366
  height: 100%;
2367
2367
  position: relative;
2368
2368
  box-sizing: border-box;
2369
2369
  }
2370
- .superdoc__document[data-v-e8f59dd7] {
2370
+ .superdoc__document[data-v-c57da6ae] {
2371
2371
  width: 100%;
2372
2372
  position: relative;
2373
2373
  }
2374
- .superdoc__sub-document[data-v-e8f59dd7] {
2374
+ .superdoc__sub-document[data-v-c57da6ae] {
2375
2375
  width: 100%;
2376
2376
  position: relative;
2377
2377
  }
2378
- .superdoc__selection-layer[data-v-e8f59dd7] {
2378
+ .superdoc__selection-layer[data-v-c57da6ae] {
2379
2379
  position: absolute;
2380
2380
  min-width: 100%;
2381
2381
  min-height: 100%;
@@ -2386,13 +2386,13 @@ img[data-v-c95b2073] {
2386
2386
  /* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
2387
2387
  the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
2388
2388
  clickable, and below the selection layer (z-index 10). */
2389
- .superdoc__whiteboard-layer[data-v-e8f59dd7] {
2389
+ .superdoc__whiteboard-layer[data-v-c57da6ae] {
2390
2390
  z-index: 4;
2391
2391
  }
2392
- .superdoc__temp-selection[data-v-e8f59dd7] {
2392
+ .superdoc__temp-selection[data-v-c57da6ae] {
2393
2393
  position: absolute;
2394
2394
  }
2395
- .superdoc__right-sidebar[data-v-e8f59dd7] {
2395
+ .superdoc__right-sidebar[data-v-c57da6ae] {
2396
2396
  width: 320px;
2397
2397
  min-width: 320px;
2398
2398
  padding: 0 10px;
@@ -2400,7 +2400,7 @@ img[data-v-c95b2073] {
2400
2400
  position: relative;
2401
2401
  z-index: 2;
2402
2402
  }
2403
- .superdoc__compact-comment-popover[data-v-e8f59dd7] {
2403
+ .superdoc__compact-comment-popover[data-v-c57da6ae] {
2404
2404
  position: absolute;
2405
2405
  top: 12px;
2406
2406
  right: 12px;
@@ -2409,14 +2409,14 @@ img[data-v-c95b2073] {
2409
2409
  }
2410
2410
 
2411
2411
  /* Tools styles */
2412
- .tools[data-v-e8f59dd7] {
2412
+ .tools[data-v-c57da6ae] {
2413
2413
  position: absolute;
2414
2414
  z-index: 3;
2415
2415
  display: flex;
2416
2416
  flex-direction: column;
2417
2417
  gap: var(--sd-ui-tools-gap, 6px);
2418
2418
  }
2419
- .tools-item[data-v-e8f59dd7] {
2419
+ .tools-item[data-v-c57da6ae] {
2420
2420
  display: flex;
2421
2421
  align-items: center;
2422
2422
  justify-content: center;
@@ -2427,10 +2427,10 @@ img[data-v-c95b2073] {
2427
2427
  cursor: pointer;
2428
2428
  position: relative;
2429
2429
  }
2430
- .tools-item i[data-v-e8f59dd7] {
2430
+ .tools-item i[data-v-c57da6ae] {
2431
2431
  cursor: pointer;
2432
2432
  }
2433
- .superdoc__tools-icon[data-v-e8f59dd7] {
2433
+ .superdoc__tools-icon[data-v-c57da6ae] {
2434
2434
  width: var(--sd-ui-tools-icon-size, 20px);
2435
2435
  height: var(--sd-ui-tools-icon-size, 20px);
2436
2436
  flex-shrink: 0;
@@ -2445,22 +2445,22 @@ img[data-v-c95b2073] {
2445
2445
 
2446
2446
  /* 834px is iPad screen size in portrait orientation */
2447
2447
  @media (max-width: 834px) {
2448
- .superdoc .superdoc__layers[data-v-e8f59dd7] {
2448
+ .superdoc .superdoc__layers[data-v-c57da6ae] {
2449
2449
  margin: 0;
2450
2450
  border: 0 !important;
2451
2451
  box-shadow: none;
2452
2452
  }
2453
- .superdoc__sub-document[data-v-e8f59dd7] {
2453
+ .superdoc__sub-document[data-v-c57da6ae] {
2454
2454
  max-width: 100%;
2455
2455
  }
2456
- .superdoc__right-sidebar[data-v-e8f59dd7] {
2456
+ .superdoc__right-sidebar[data-v-c57da6ae] {
2457
2457
  padding: 10px;
2458
2458
  position: relative;
2459
2459
  }
2460
2460
  }
2461
2461
 
2462
2462
  /* AI Writer styles */
2463
- .ai-writer-container[data-v-e8f59dd7] {
2463
+ .ai-writer-container[data-v-c57da6ae] {
2464
2464
  position: fixed;
2465
2465
  z-index: 1000;
2466
2466
  background: white;
@@ -2476,10 +2476,10 @@ img[data-v-c95b2073] {
2476
2476
  transform: translateY(-50%);
2477
2477
  z-index: 50;
2478
2478
  } */
2479
- .ai-tool > svg[data-v-e8f59dd7] {
2479
+ .ai-tool > svg[data-v-c57da6ae] {
2480
2480
  fill: transparent;
2481
2481
  }
2482
- .ai-tool[data-v-e8f59dd7]::before {
2482
+ .ai-tool[data-v-c57da6ae]::before {
2483
2483
  content: '';
2484
2484
  position: absolute;
2485
2485
  width: 20px;
@@ -2500,7 +2500,7 @@ img[data-v-c95b2073] {
2500
2500
  filter: brightness(1.2);
2501
2501
  transition: filter 0.2s ease;
2502
2502
  }
2503
- .ai-tool[data-v-e8f59dd7]:hover::before {
2503
+ .ai-tool[data-v-c57da6ae]:hover::before {
2504
2504
  filter: brightness(1.3);
2505
2505
  }
2506
2506
 
@@ -1899,28 +1899,28 @@ img[data-v-c95b2073] {
1899
1899
  background-color: #1355ff7f;
1900
1900
  }
1901
1901
 
1902
- .comment-placeholder[data-v-15b59a51] {
1902
+ .comment-placeholder[data-v-f0b1fd79] {
1903
1903
  position: absolute;
1904
1904
  width: 300px;
1905
1905
  transition: top 0.3s ease;
1906
1906
  }
1907
- .comment-placeholder.is-direct-decision-continuity-target[data-v-15b59a51] .overflow-menu {
1907
+ .comment-placeholder.is-direct-decision-continuity-target[data-v-f0b1fd79] .overflow-menu {
1908
1908
  opacity: 1;
1909
1909
  pointer-events: auto;
1910
1910
  }
1911
- .floating-comment[data-v-15b59a51] {
1911
+ .floating-comment[data-v-f0b1fd79] {
1912
1912
  position: relative;
1913
1913
  display: block;
1914
1914
  min-width: 300px;
1915
1915
  }
1916
- .sidebar-container[data-v-15b59a51] {
1916
+ .sidebar-container[data-v-f0b1fd79] {
1917
1917
  position: absolute;
1918
1918
  width: 300px;
1919
1919
  min-height: 300px;
1920
1920
  transition: transform 0.3s ease;
1921
1921
  will-change: transform;
1922
1922
  }
1923
- .section-wrapper[data-v-15b59a51] {
1923
+ .section-wrapper[data-v-f0b1fd79] {
1924
1924
  position: relative;
1925
1925
  min-height: 100%;
1926
1926
  width: 300px;
@@ -2348,34 +2348,34 @@ img[data-v-c95b2073] {
2348
2348
  pointer-events: auto;
2349
2349
  }
2350
2350
 
2351
- .superdoc[data-v-e8f59dd7] {
2351
+ .superdoc[data-v-c57da6ae] {
2352
2352
  display: flex;
2353
2353
  position: relative;
2354
2354
  }
2355
- .right-sidebar[data-v-e8f59dd7] {
2355
+ .right-sidebar[data-v-c57da6ae] {
2356
2356
  min-width: 320px;
2357
2357
  height: 100%;
2358
2358
  }
2359
- .floating-comments[data-v-e8f59dd7] {
2359
+ .floating-comments[data-v-c57da6ae] {
2360
2360
  min-width: 300px;
2361
2361
  width: 300px;
2362
2362
  height: 100%;
2363
2363
  overflow: visible;
2364
2364
  }
2365
- .superdoc__layers[data-v-e8f59dd7] {
2365
+ .superdoc__layers[data-v-c57da6ae] {
2366
2366
  height: 100%;
2367
2367
  position: relative;
2368
2368
  box-sizing: border-box;
2369
2369
  }
2370
- .superdoc__document[data-v-e8f59dd7] {
2370
+ .superdoc__document[data-v-c57da6ae] {
2371
2371
  width: 100%;
2372
2372
  position: relative;
2373
2373
  }
2374
- .superdoc__sub-document[data-v-e8f59dd7] {
2374
+ .superdoc__sub-document[data-v-c57da6ae] {
2375
2375
  width: 100%;
2376
2376
  position: relative;
2377
2377
  }
2378
- .superdoc__selection-layer[data-v-e8f59dd7] {
2378
+ .superdoc__selection-layer[data-v-c57da6ae] {
2379
2379
  position: absolute;
2380
2380
  min-width: 100%;
2381
2381
  min-height: 100%;
@@ -2386,13 +2386,13 @@ img[data-v-c95b2073] {
2386
2386
  /* SD-3497: PDF whiteboard overlay sits above the rendered PDF canvas but below
2387
2387
  the PDF comment anchors (z-index 6 in PdfCommentsLayer) so anchors stay
2388
2388
  clickable, and below the selection layer (z-index 10). */
2389
- .superdoc__whiteboard-layer[data-v-e8f59dd7] {
2389
+ .superdoc__whiteboard-layer[data-v-c57da6ae] {
2390
2390
  z-index: 4;
2391
2391
  }
2392
- .superdoc__temp-selection[data-v-e8f59dd7] {
2392
+ .superdoc__temp-selection[data-v-c57da6ae] {
2393
2393
  position: absolute;
2394
2394
  }
2395
- .superdoc__right-sidebar[data-v-e8f59dd7] {
2395
+ .superdoc__right-sidebar[data-v-c57da6ae] {
2396
2396
  width: 320px;
2397
2397
  min-width: 320px;
2398
2398
  padding: 0 10px;
@@ -2400,7 +2400,7 @@ img[data-v-c95b2073] {
2400
2400
  position: relative;
2401
2401
  z-index: 2;
2402
2402
  }
2403
- .superdoc__compact-comment-popover[data-v-e8f59dd7] {
2403
+ .superdoc__compact-comment-popover[data-v-c57da6ae] {
2404
2404
  position: absolute;
2405
2405
  top: 12px;
2406
2406
  right: 12px;
@@ -2409,14 +2409,14 @@ img[data-v-c95b2073] {
2409
2409
  }
2410
2410
 
2411
2411
  /* Tools styles */
2412
- .tools[data-v-e8f59dd7] {
2412
+ .tools[data-v-c57da6ae] {
2413
2413
  position: absolute;
2414
2414
  z-index: 3;
2415
2415
  display: flex;
2416
2416
  flex-direction: column;
2417
2417
  gap: var(--sd-ui-tools-gap, 6px);
2418
2418
  }
2419
- .tools-item[data-v-e8f59dd7] {
2419
+ .tools-item[data-v-c57da6ae] {
2420
2420
  display: flex;
2421
2421
  align-items: center;
2422
2422
  justify-content: center;
@@ -2427,10 +2427,10 @@ img[data-v-c95b2073] {
2427
2427
  cursor: pointer;
2428
2428
  position: relative;
2429
2429
  }
2430
- .tools-item i[data-v-e8f59dd7] {
2430
+ .tools-item i[data-v-c57da6ae] {
2431
2431
  cursor: pointer;
2432
2432
  }
2433
- .superdoc__tools-icon[data-v-e8f59dd7] {
2433
+ .superdoc__tools-icon[data-v-c57da6ae] {
2434
2434
  width: var(--sd-ui-tools-icon-size, 20px);
2435
2435
  height: var(--sd-ui-tools-icon-size, 20px);
2436
2436
  flex-shrink: 0;
@@ -2445,22 +2445,22 @@ img[data-v-c95b2073] {
2445
2445
 
2446
2446
  /* 834px is iPad screen size in portrait orientation */
2447
2447
  @media (max-width: 834px) {
2448
- .superdoc .superdoc__layers[data-v-e8f59dd7] {
2448
+ .superdoc .superdoc__layers[data-v-c57da6ae] {
2449
2449
  margin: 0;
2450
2450
  border: 0 !important;
2451
2451
  box-shadow: none;
2452
2452
  }
2453
- .superdoc__sub-document[data-v-e8f59dd7] {
2453
+ .superdoc__sub-document[data-v-c57da6ae] {
2454
2454
  max-width: 100%;
2455
2455
  }
2456
- .superdoc__right-sidebar[data-v-e8f59dd7] {
2456
+ .superdoc__right-sidebar[data-v-c57da6ae] {
2457
2457
  padding: 10px;
2458
2458
  position: relative;
2459
2459
  }
2460
2460
  }
2461
2461
 
2462
2462
  /* AI Writer styles */
2463
- .ai-writer-container[data-v-e8f59dd7] {
2463
+ .ai-writer-container[data-v-c57da6ae] {
2464
2464
  position: fixed;
2465
2465
  z-index: 1000;
2466
2466
  background: white;
@@ -2476,10 +2476,10 @@ img[data-v-c95b2073] {
2476
2476
  transform: translateY(-50%);
2477
2477
  z-index: 50;
2478
2478
  } */
2479
- .ai-tool > svg[data-v-e8f59dd7] {
2479
+ .ai-tool > svg[data-v-c57da6ae] {
2480
2480
  fill: transparent;
2481
2481
  }
2482
- .ai-tool[data-v-e8f59dd7]::before {
2482
+ .ai-tool[data-v-c57da6ae]::before {
2483
2483
  content: '';
2484
2484
  position: absolute;
2485
2485
  width: 20px;
@@ -2500,7 +2500,7 @@ img[data-v-c95b2073] {
2500
2500
  filter: brightness(1.2);
2501
2501
  transition: filter 0.2s ease;
2502
2502
  }
2503
- .ai-tool[data-v-e8f59dd7]:hover::before {
2503
+ .ai-tool[data-v-c57da6ae]:hover::before {
2504
2504
  filter: brightness(1.3);
2505
2505
  }
2506
2506
 
@@ -3920,7 +3920,7 @@ interface V2WorkerUrlsConfig {
3920
3920
  document?: string | URL;
3921
3921
  /** Collaboration-capable document worker used by v2 collaboration rooms. */
3922
3922
  collaboration?: string | URL;
3923
- /** Isolated review-index worker used for comments and tracked changes. */
3923
+ /** @deprecated Review processing runs in the document worker. Accepted for configuration compatibility. */
3924
3924
  reviewIndex?: string | URL;
3925
3925
  }
3926
3926
  export interface Config {
@@ -8,6 +8,8 @@ export declare const defineSuperDocExtension: typeof import('./index.js', { with
8
8
  export declare const DOCX: typeof import('./index.js', { with: { "resolution-mode": "import" } }).DOCX;
9
9
  export declare const getFileObject: typeof import('./index.js', { with: { "resolution-mode": "import" } }).getFileObject;
10
10
  export declare const HTML: typeof import('./index.js', { with: { "resolution-mode": "import" } }).HTML;
11
+ export declare const listPermissionRangeEditors: typeof import('./index.js', { with: { "resolution-mode": "import" } }).listPermissionRangeEditors;
11
12
  export declare const PDF: typeof import('./index.js', { with: { "resolution-mode": "import" } }).PDF;
13
+ export declare const resolvePermissionRangeEditor: typeof import('./index.js', { with: { "resolution-mode": "import" } }).resolvePermissionRangeEditor;
12
14
  export type SuperDoc = __Cjs_SuperDoc;
13
15
  export declare const SuperDoc: typeof import('./index.js', { with: { "resolution-mode": "import" } }).SuperDoc;
@@ -9,3 +9,4 @@ export { SuperDoc } from './core/SuperDoc.js';
9
9
  export { defineSuperDocExtension } from './core/extensions/index.js';
10
10
  export { BlankDOCX, getFileObject, compareVersions, DOCX, PDF, HTML };
11
11
  export { createTheme, buildTheme } from './core/theme/create-theme.js';
12
+ export { listPermissionRangeEditors, resolvePermissionRangeEditor } from '../../document-api/src/index.js';
@@ -101,6 +101,8 @@ import type { PasswordPromptContext as __Cjs_PasswordPromptContext } from './ind
101
101
  import type { PasswordPromptHandle as __Cjs_PasswordPromptHandle } from './index.js' with { "resolution-mode": "import" };
102
102
  import type { PasswordPromptRenderContext as __Cjs_PasswordPromptRenderContext } from './index.js' with { "resolution-mode": "import" };
103
103
  import type { PasswordPromptResolution as __Cjs_PasswordPromptResolution } from './index.js' with { "resolution-mode": "import" };
104
+ import type { PermissionRangeEditor as __Cjs_PermissionRangeEditor } from './index.js' with { "resolution-mode": "import" };
105
+ import type { PermissionRangeEditorResolution as __Cjs_PermissionRangeEditorResolution } from './index.js' with { "resolution-mode": "import" };
104
106
  import type { PermissionResolver as __Cjs_PermissionResolver } from './index.js' with { "resolution-mode": "import" };
105
107
  import type { PermissionResolverParams as __Cjs_PermissionResolverParams } from './index.js' with { "resolution-mode": "import" };
106
108
  import type { ResolvedFindReplaceTexts as __Cjs_ResolvedFindReplaceTexts } from './index.js' with { "resolution-mode": "import" };
@@ -114,6 +116,7 @@ import type { SearchMatch as __Cjs_SearchMatch } from './index.js' with { "resol
114
116
  import type { SearchStrings as __Cjs_SearchStrings } from './index.js' with { "resolution-mode": "import" };
115
117
  import type { SelectionHandle as __Cjs_SelectionHandle } from './index.js' with { "resolution-mode": "import" };
116
118
  import type { SelectionInfo as __Cjs_SelectionInfo } from './index.js' with { "resolution-mode": "import" };
119
+ import type { SetEditingRestrictionInput as __Cjs_SetEditingRestrictionInput } from './index.js' with { "resolution-mode": "import" };
117
120
  import type { StoryLocator as __Cjs_StoryLocator } from './index.js' with { "resolution-mode": "import" };
118
121
  import type { StructuredDocumentSource as __Cjs_StructuredDocumentSource } from './index.js' with { "resolution-mode": "import" };
119
122
  import type { SuperDoc as __Cjs_SuperDoc } from './index.js' with { "resolution-mode": "import" };
@@ -383,6 +386,7 @@ export type { __Cjs_LinkPopoverConfig as LinkPopoverConfig };
383
386
  export type { __Cjs_LinkPopoverContext as LinkPopoverContext };
384
387
  export type { __Cjs_LinkPopoverResolution as LinkPopoverResolution };
385
388
  export type { __Cjs_LinkPopoverResolver as LinkPopoverResolver };
389
+ export declare const listPermissionRangeEditors: typeof import('./index.js', { with: { "resolution-mode": "import" } }).listPermissionRangeEditors;
386
390
  export type { __Cjs_Modules as Modules };
387
391
  export type { __Cjs_NavigableAddress as NavigableAddress };
388
392
  export type { __Cjs_PasswordPromptAttemptResult as PasswordPromptAttemptResult };
@@ -392,10 +396,13 @@ export type { __Cjs_PasswordPromptHandle as PasswordPromptHandle };
392
396
  export type { __Cjs_PasswordPromptRenderContext as PasswordPromptRenderContext };
393
397
  export type { __Cjs_PasswordPromptResolution as PasswordPromptResolution };
394
398
  export declare const PDF: typeof import('./index.js', { with: { "resolution-mode": "import" } }).PDF;
399
+ export type { __Cjs_PermissionRangeEditor as PermissionRangeEditor };
400
+ export type { __Cjs_PermissionRangeEditorResolution as PermissionRangeEditorResolution };
395
401
  export type { __Cjs_PermissionResolver as PermissionResolver };
396
402
  export type { __Cjs_PermissionResolverParams as PermissionResolverParams };
397
403
  export type { __Cjs_ResolvedFindReplaceTexts as ResolvedFindReplaceTexts };
398
404
  export type { __Cjs_ResolvedPasswordPromptTexts as ResolvedPasswordPromptTexts };
405
+ export declare const resolvePermissionRangeEditor: typeof import('./index.js', { with: { "resolution-mode": "import" } }).resolvePermissionRangeEditor;
399
406
  export type { __Cjs_ResolveRangeOutput as ResolveRangeOutput };
400
407
  export type { __Cjs_RulerConfig as RulerConfig };
401
408
  export type { __Cjs_SdtRef as SdtRef };
@@ -405,6 +412,7 @@ export type { __Cjs_SearchMatch as SearchMatch };
405
412
  export type { __Cjs_SearchStrings as SearchStrings };
406
413
  export type { __Cjs_SelectionHandle as SelectionHandle };
407
414
  export type { __Cjs_SelectionInfo as SelectionInfo };
415
+ export type { __Cjs_SetEditingRestrictionInput as SetEditingRestrictionInput };
408
416
  export type { __Cjs_StoryLocator as StoryLocator };
409
417
  export type { __Cjs_StructuredDocumentSource as StructuredDocumentSource };
410
418
  export type SuperDoc = __Cjs_SuperDoc;
@@ -33,6 +33,8 @@ export type { DocumentApi } from '../../../document-api/src/index.js';
33
33
  export type { DiffApplyEligibility, DiffApplyEligibilityBlocker, DiffApplyEligibilityBlockerCode, DiffApplyModeEligibility, DiffApplyOperationReceipt, DiffApplyResult, DiffApplyReviewItem, DiffPayload, } from '../../../document-api/src/index.js';
34
34
  export type { DocumentMode } from '../core/types/index.js';
35
35
  export type { DocumentProtectionState } from '../../../document-api/src/index.js';
36
+ export { listPermissionRangeEditors, resolvePermissionRangeEditor } from '../../../document-api/src/index.js';
37
+ export type { PermissionRangeEditor, PermissionRangeEditorResolution, SetEditingRestrictionInput, } from '../../../document-api/src/index.js';
36
38
  export type { EntityAddress } from '../../../document-api/src/index.js';
37
39
  export type { EditorSurface } from '../core/types/index.js';
38
40
  export type { EditorTransactionEvent } from '../core/types/index.js';
@@ -36,6 +36,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
36
36
  hasInitializedLocations: import('vue').Ref<boolean, boolean>;
37
37
  isCommentHighlighted: import('vue').Ref<boolean, boolean>;
38
38
  floatingCommentsOffset: import('vue').Ref<number, number>;
39
+ committedReviewPresentations: import('vue').ShallowRef<{}, {}>;
39
40
  sortedConversations: import('vue').Ref<never[], never[]>;
40
41
  visibleConversations: import('vue').Ref<never[], never[]>;
41
42
  skipSelectionUpdate: import('vue').Ref<boolean, boolean>;
@@ -206,7 +207,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
206
207
  v2CommentsAdapter: import('vue').ShallowRef<null, null>;
207
208
  setV2CommentsAdapter: (adapter: any) => void;
208
209
  getV2CommentsAdapter: (superdoc: any) => any;
209
- applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
210
+ applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, preparedReview, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
210
211
  reconcileCommentsFromV2: ({ superdoc, adapter, documentId, items, preparedInputs, pruneStale, hydrationGeneration, }?: {
211
212
  preparedInputs?: null | undefined;
212
213
  pruneStale?: boolean | undefined;
@@ -281,7 +282,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
281
282
  liveAnchorKeys?: null | undefined;
282
283
  }) => any;
283
284
  remapTrackedChangeIdentities: (pairs?: any[], { documentId }?: {}) => void;
284
- }, "suppressInternalExternal" | "activeComment" | "activeFloatingCommentInstanceId" | "floatingCommentsOffset" | "pendingComment" | "currentCommentText" | "currentCommentMentions" | "isDebugging" | "editingCommentId" | "editorCommentPositions" | "isCommentHighlighted" | "v2CommentsAdapter" | "COMMENT_EVENTS" | "hasInitializedComments" | "hasSyncedCollaborationComments" | "commentDialogs" | "overlappingComments" | "overlappedIds" | "commentsList" | "reviewDirectoryList" | "isCommentsListVisible" | "isReviewDirectoryActive" | "isReviewDirectoryLoading" | "generalCommentIds" | "editorCommentIds" | "commentsParentElement" | "hasInitializedLocations" | "sortedConversations" | "visibleConversations" | "skipSelectionUpdate" | "isFloatingCommentsReady" | "instantSidebarAlignmentTargetY" | "instantSidebarAlignmentThreadId" | "instantSidebarAlignmentInstanceId" | "viewingVisibility" | "v2TrackedChangesAdapter">, Pick<{
285
+ }, "suppressInternalExternal" | "activeComment" | "activeFloatingCommentInstanceId" | "floatingCommentsOffset" | "pendingComment" | "currentCommentText" | "currentCommentMentions" | "isDebugging" | "editingCommentId" | "editorCommentPositions" | "isCommentHighlighted" | "v2CommentsAdapter" | "COMMENT_EVENTS" | "hasInitializedComments" | "hasSyncedCollaborationComments" | "commentDialogs" | "overlappingComments" | "overlappedIds" | "commentsList" | "reviewDirectoryList" | "isCommentsListVisible" | "isReviewDirectoryActive" | "isReviewDirectoryLoading" | "generalCommentIds" | "editorCommentIds" | "commentsParentElement" | "hasInitializedLocations" | "committedReviewPresentations" | "sortedConversations" | "visibleConversations" | "skipSelectionUpdate" | "isFloatingCommentsReady" | "instantSidebarAlignmentTargetY" | "instantSidebarAlignmentThreadId" | "instantSidebarAlignmentInstanceId" | "viewingVisibility" | "v2TrackedChangesAdapter">, Pick<{
285
286
  COMMENT_EVENTS: {
286
287
  readonly RESOLVED: "resolved";
287
288
  readonly NEW: "new";
@@ -319,6 +320,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
319
320
  hasInitializedLocations: import('vue').Ref<boolean, boolean>;
320
321
  isCommentHighlighted: import('vue').Ref<boolean, boolean>;
321
322
  floatingCommentsOffset: import('vue').Ref<number, number>;
323
+ committedReviewPresentations: import('vue').ShallowRef<{}, {}>;
322
324
  sortedConversations: import('vue').Ref<never[], never[]>;
323
325
  visibleConversations: import('vue').Ref<never[], never[]>;
324
326
  skipSelectionUpdate: import('vue').Ref<boolean, boolean>;
@@ -489,7 +491,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
489
491
  v2CommentsAdapter: import('vue').ShallowRef<null, null>;
490
492
  setV2CommentsAdapter: (adapter: any) => void;
491
493
  getV2CommentsAdapter: (superdoc: any) => any;
492
- applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
494
+ applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, preparedReview, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
493
495
  reconcileCommentsFromV2: ({ superdoc, adapter, documentId, items, preparedInputs, pruneStale, hydrationGeneration, }?: {
494
496
  preparedInputs?: null | undefined;
495
497
  pruneStale?: boolean | undefined;
@@ -602,6 +604,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
602
604
  hasInitializedLocations: import('vue').Ref<boolean, boolean>;
603
605
  isCommentHighlighted: import('vue').Ref<boolean, boolean>;
604
606
  floatingCommentsOffset: import('vue').Ref<number, number>;
607
+ committedReviewPresentations: import('vue').ShallowRef<{}, {}>;
605
608
  sortedConversations: import('vue').Ref<never[], never[]>;
606
609
  visibleConversations: import('vue').Ref<never[], never[]>;
607
610
  skipSelectionUpdate: import('vue').Ref<boolean, boolean>;
@@ -772,7 +775,7 @@ export const useCommentsStore: import('pinia').StoreDefinition<"comments", Pick<
772
775
  v2CommentsAdapter: import('vue').ShallowRef<null, null>;
773
776
  setV2CommentsAdapter: (adapter: any) => void;
774
777
  getV2CommentsAdapter: (superdoc: any) => any;
775
- applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
778
+ applyReviewWindowFromV2: ({ superdoc, commentsAdapter, trackedChangesAdapter, documentId, commentItems, trackedChangeItems, preparedReview, requestedCommentIds, requestedTrackedChangeIds, unresolvedCommentIds, trackedList, sourceCoverageRevision, evaluatedRevision, patch, }?: {}) => any;
776
779
  reconcileCommentsFromV2: ({ superdoc, adapter, documentId, items, preparedInputs, pruneStale, hydrationGeneration, }?: {
777
780
  preparedInputs?: null | undefined;
778
781
  pruneStale?: boolean | undefined;