@arbidocs/blocks 0.4.95 → 0.4.97

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 (106) hide show
  1. package/dist/agents/index.cjs +283 -283
  2. package/dist/agents/index.js +7 -7
  3. package/dist/chat/index.cjs +127 -127
  4. package/dist/chat/index.js +4 -4
  5. package/dist/{chunk-DCZGYCN2.cjs → chunk-3US5OIDQ.cjs} +5 -5
  6. package/dist/{chunk-DCZGYCN2.cjs.map → chunk-3US5OIDQ.cjs.map} +1 -1
  7. package/dist/{chunk-QQH2NI5U.js → chunk-5NQIBJPP.js} +8 -8
  8. package/dist/{chunk-QQH2NI5U.js.map → chunk-5NQIBJPP.js.map} +1 -1
  9. package/dist/{chunk-KBPHLW2R.cjs → chunk-B4SRYJLM.cjs} +3 -3
  10. package/dist/{chunk-KBPHLW2R.cjs.map → chunk-B4SRYJLM.cjs.map} +1 -1
  11. package/dist/chunk-D54JXTPG.cjs +164 -0
  12. package/dist/chunk-D54JXTPG.cjs.map +1 -0
  13. package/dist/{chunk-VQ65UHTV.cjs → chunk-DDYXFALG.cjs} +47 -47
  14. package/dist/{chunk-VQ65UHTV.cjs.map → chunk-DDYXFALG.cjs.map} +1 -1
  15. package/dist/{chunk-RZGVMV6B.cjs → chunk-EHB7J6SR.cjs} +5 -5
  16. package/dist/{chunk-RZGVMV6B.cjs.map → chunk-EHB7J6SR.cjs.map} +1 -1
  17. package/dist/{chunk-EJAYB7PP.js → chunk-EWSEQEPL.js} +4 -4
  18. package/dist/{chunk-EJAYB7PP.js.map → chunk-EWSEQEPL.js.map} +1 -1
  19. package/dist/{chunk-3OXWJ3CZ.cjs → chunk-GVOTXXZG.cjs} +5 -5
  20. package/dist/{chunk-3OXWJ3CZ.cjs.map → chunk-GVOTXXZG.cjs.map} +1 -1
  21. package/dist/{chunk-CKYA2IG5.cjs → chunk-HBF4BDRU.cjs} +3 -3
  22. package/dist/{chunk-CKYA2IG5.cjs.map → chunk-HBF4BDRU.cjs.map} +1 -1
  23. package/dist/{chunk-E2AAIMXO.cjs → chunk-HGJGALLN.cjs} +832 -219
  24. package/dist/chunk-HGJGALLN.cjs.map +1 -0
  25. package/dist/{chunk-24CS7JWU.js → chunk-HOXKR26S.js} +3 -3
  26. package/dist/{chunk-24CS7JWU.js.map → chunk-HOXKR26S.js.map} +1 -1
  27. package/dist/{chunk-PDEHIGJ5.js → chunk-ICBAFX5B.js} +3 -3
  28. package/dist/{chunk-PDEHIGJ5.js.map → chunk-ICBAFX5B.js.map} +1 -1
  29. package/dist/{chunk-OYMYNYFV.cjs → chunk-IF6VAYIA.cjs} +5 -5
  30. package/dist/{chunk-OYMYNYFV.cjs.map → chunk-IF6VAYIA.cjs.map} +1 -1
  31. package/dist/{chunk-TOVSTC2M.cjs → chunk-LENXDIMY.cjs} +5 -5
  32. package/dist/{chunk-TOVSTC2M.cjs.map → chunk-LENXDIMY.cjs.map} +1 -1
  33. package/dist/{chunk-VYKMBLDX.cjs → chunk-MP6FK43E.cjs} +8 -8
  34. package/dist/{chunk-VYKMBLDX.cjs.map → chunk-MP6FK43E.cjs.map} +1 -1
  35. package/dist/{chunk-HUFLBZWI.js → chunk-PGDL26TQ.js} +4 -4
  36. package/dist/{chunk-HUFLBZWI.js.map → chunk-PGDL26TQ.js.map} +1 -1
  37. package/dist/{chunk-WXLKMEMB.js → chunk-QIEEFBZ5.js} +834 -221
  38. package/dist/chunk-QIEEFBZ5.js.map +1 -0
  39. package/dist/{chunk-YPKSLTL5.js → chunk-RSUOOMPT.js} +3 -3
  40. package/dist/{chunk-YPKSLTL5.js.map → chunk-RSUOOMPT.js.map} +1 -1
  41. package/dist/{chunk-UMY6Y6BM.js → chunk-VLOPZHFH.js} +3 -3
  42. package/dist/{chunk-UMY6Y6BM.js.map → chunk-VLOPZHFH.js.map} +1 -1
  43. package/dist/{chunk-GNHOB2ZB.cjs → chunk-XMBYDLZQ.cjs} +4 -4
  44. package/dist/{chunk-GNHOB2ZB.cjs.map → chunk-XMBYDLZQ.cjs.map} +1 -1
  45. package/dist/{chunk-YG7DGGCA.js → chunk-XQDM6T6C.js} +3 -3
  46. package/dist/{chunk-YG7DGGCA.js.map → chunk-XQDM6T6C.js.map} +1 -1
  47. package/dist/{chunk-ZNDAXSDP.js → chunk-YH6SSJDW.js} +3 -3
  48. package/dist/{chunk-ZNDAXSDP.js.map → chunk-YH6SSJDW.js.map} +1 -1
  49. package/dist/{chunk-EOEDGJ75.js → chunk-Z3G65XHZ.js} +3 -3
  50. package/dist/{chunk-EOEDGJ75.js.map → chunk-Z3G65XHZ.js.map} +1 -1
  51. package/dist/chunk-ZCOVDK2E.js +153 -0
  52. package/dist/chunk-ZCOVDK2E.js.map +1 -0
  53. package/dist/components/DetailPanel.d.ts +106 -0
  54. package/dist/connect/docx.cjs +6 -6
  55. package/dist/connect/docx.js +4 -4
  56. package/dist/connect/index.cjs +47 -47
  57. package/dist/connect/index.js +17 -17
  58. package/dist/databases/DatabaseRowDetail.d.ts +32 -0
  59. package/dist/databases/DatabaseTable.d.ts +3 -1
  60. package/dist/databases/DatabaseToolbar.d.ts +9 -1
  61. package/dist/databases/PickCellEditor.d.ts +8 -1
  62. package/dist/databases/SelectCellEditor.d.ts +6 -1
  63. package/dist/databases/column-types.d.ts +5 -0
  64. package/dist/databases/databaseColumns.d.ts +7 -0
  65. package/dist/databases/index.cjs +381 -11
  66. package/dist/databases/index.cjs.map +1 -1
  67. package/dist/databases/index.d.ts +7 -5
  68. package/dist/databases/index.js +379 -14
  69. package/dist/databases/index.js.map +1 -1
  70. package/dist/databases/linkCells.d.ts +4 -2
  71. package/dist/docx/NativeDocxEditor.d.ts +3 -1
  72. package/dist/docx/RibbonMenu.d.ts +15 -0
  73. package/dist/docx/StyleGallery.d.ts +9 -0
  74. package/dist/docx/WordReferences.d.ts +21 -0
  75. package/dist/docx/index.cjs +24 -24
  76. package/dist/docx/index.js +3 -3
  77. package/dist/docx/review/DocxEditorReview.d.ts +4 -2
  78. package/dist/docx/review/commentText.d.ts +7 -0
  79. package/dist/docx/wordStyles.d.ts +21 -0
  80. package/dist/facts/index.cjs +5 -5
  81. package/dist/facts/index.js +2 -2
  82. package/dist/files/index.cjs +308 -0
  83. package/dist/files/index.cjs.map +1 -1
  84. package/dist/files/index.js +298 -2
  85. package/dist/files/index.js.map +1 -1
  86. package/dist/files/views/gridViews.d.ts +80 -0
  87. package/dist/files/views/index.d.ts +2 -0
  88. package/dist/files/views/useGridViews.d.ts +38 -0
  89. package/dist/index.cjs +1237 -1237
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.d.ts +1 -0
  92. package/dist/index.js +100 -139
  93. package/dist/index.js.map +1 -1
  94. package/dist/settings/index.cjs +1 -1
  95. package/dist/settings/index.js +1 -1
  96. package/dist/shell/index.cjs +67 -67
  97. package/dist/shell/index.js +3 -3
  98. package/dist/studio/index.cjs +7 -7
  99. package/dist/studio/index.js +6 -6
  100. package/dist/tags/TagDetail.d.ts +1 -0
  101. package/dist/workflow-canvas/index.cjs +51 -51
  102. package/dist/workflow-canvas/index.js +8 -8
  103. package/package.json +4 -4
  104. package/src/docx/styles.css +564 -91
  105. package/dist/chunk-E2AAIMXO.cjs.map +0 -1
  106. package/dist/chunk-WXLKMEMB.js.map +0 -1
@@ -193,7 +193,7 @@
193
193
  }
194
194
  }
195
195
 
196
- /* Review controls overlay the page, matching the other ARBI viewers. */
196
+ /* The engine's own review gutter is replaced by the rail's: see data-review-margin below. */
197
197
  .native-docx-body .native-docx-viewport[data-review-pane] {
198
198
  padding-inline: 8px;
199
199
  scrollbar-gutter: stable;
@@ -242,6 +242,18 @@
242
242
  .native-docx-ribbon .docx-toolbar > * {
243
243
  flex-shrink: 0;
244
244
  }
245
+ .native-docx-ribbon-badge {
246
+ flex: none;
247
+ margin: 0 8px 0 4px;
248
+ padding: 2px 8px;
249
+ border-radius: 999px;
250
+ background: hsl(var(--primary) / 0.1);
251
+ color: hsl(var(--primary));
252
+ font-size: 11px;
253
+ font-weight: 600;
254
+ line-height: 18px;
255
+ white-space: nowrap;
256
+ }
245
257
 
246
258
  .native-docx-ribbon {
247
259
  position: relative;
@@ -296,6 +308,97 @@
296
308
  padding-inline: 4px;
297
309
  }
298
310
 
311
+ /* Home › Styles: the current paragraph style, opening the document's style gallery. */
312
+ .native-docx-ribbon-trigger.native-docx-style-trigger {
313
+ display: flex;
314
+ gap: 4px;
315
+ justify-content: space-between;
316
+ width: 112px;
317
+ padding-inline: 6px;
318
+ border: 1px solid hsl(var(--border));
319
+ font-size: 12px;
320
+ }
321
+ .native-docx-style-current {
322
+ overflow: hidden;
323
+ text-overflow: ellipsis;
324
+ white-space: nowrap;
325
+ }
326
+ .native-docx-ribbon-menu:has(.native-docx-style-trigger) .native-docx-ribbon-popover {
327
+ right: auto;
328
+ left: 72px;
329
+ width: 300px;
330
+ padding: 8px;
331
+ }
332
+ .native-docx-style-gallery {
333
+ display: flex;
334
+ flex-direction: column;
335
+ gap: 8px;
336
+ width: 100%;
337
+ min-width: 0;
338
+ }
339
+ .native-docx-style-quick {
340
+ display: flex;
341
+ flex-wrap: wrap;
342
+ gap: 4px;
343
+ padding-bottom: 8px;
344
+ border-bottom: 1px solid hsl(var(--border));
345
+ }
346
+ .native-docx-style-quick button {
347
+ max-width: 100%;
348
+ padding: 4px 8px;
349
+ border: 1px solid hsl(var(--border));
350
+ border-radius: 4px;
351
+ background: hsl(var(--background));
352
+ color: hsl(var(--foreground));
353
+ cursor: pointer;
354
+ line-height: 1.2;
355
+ }
356
+ .native-docx-style-quick button > span {
357
+ font-size: 12px !important;
358
+ }
359
+ .native-docx-style-quick button:hover,
360
+ .native-docx-style-quick button[aria-pressed='true'] {
361
+ border-color: hsl(var(--primary));
362
+ background: hsl(var(--muted));
363
+ }
364
+ .native-docx-style-filter {
365
+ width: 100%;
366
+ padding: 4px 8px;
367
+ border: 1px solid hsl(var(--border));
368
+ border-radius: 4px;
369
+ background: hsl(var(--background));
370
+ font-size: 13px;
371
+ }
372
+ .native-docx-style-list {
373
+ max-height: 280px;
374
+ margin: 0;
375
+ padding: 0;
376
+ overflow-y: auto;
377
+ list-style: none;
378
+ }
379
+ .native-docx-style-list > li {
380
+ padding: 4px 8px;
381
+ border-radius: 4px;
382
+ cursor: pointer;
383
+ overflow: hidden;
384
+ text-overflow: ellipsis;
385
+ white-space: nowrap;
386
+ }
387
+ .native-docx-style-list > li[data-active] {
388
+ background: hsl(var(--muted));
389
+ }
390
+ .native-docx-style-list > li[aria-selected='true'] {
391
+ box-shadow: inset 3px 0 hsl(var(--primary));
392
+ }
393
+ .native-docx-style-list > li[aria-disabled='true'] {
394
+ cursor: default;
395
+ opacity: 0.6;
396
+ }
397
+ .native-docx-style-list > .native-docx-style-empty {
398
+ color: hsl(var(--muted-foreground));
399
+ cursor: default;
400
+ }
401
+
299
402
  .native-docx-include-arbi {
300
403
  align-self: flex-start;
301
404
  border: 0;
@@ -311,9 +414,29 @@
311
414
  text-decoration: underline;
312
415
  }
313
416
 
417
+ /* Review rail. Wide: a Word-style card column beside the page. Compact: margin symbols and a bubble. */
418
+ .native-docx-review {
419
+ display: contents;
420
+ --review-accept: 152 56% 32%;
421
+ --review-reject: 0 62% 46%;
422
+ --review-comment: 38 92% 46%;
423
+ --review-format: 217 70% 50%;
424
+ }
425
+ .dark .native-docx-review,
426
+ [data-theme='dark'] .native-docx-review {
427
+ --review-accept: 152 48% 58%;
428
+ --review-reject: 0 72% 68%;
429
+ --review-comment: 40 90% 60%;
430
+ --review-format: 217 85% 70%;
431
+ }
432
+ /* The column's room comes from the page: the editor refits the page into what is left. */
433
+ .native-docx-body .native-docx-viewport[data-review-margin] {
434
+ padding-right: 332px;
435
+ }
314
436
  .native-docx-review-pane,
315
437
  .native-docx-review-markers {
316
438
  position: absolute;
439
+ z-index: 5;
317
440
  top: 0;
318
441
  right: 16px;
319
442
  width: 300px;
@@ -324,172 +447,522 @@
324
447
  right: 8px;
325
448
  }
326
449
  .native-docx-review-card,
327
- .native-docx-review-marker {
450
+ .native-docx-review-marker,
451
+ .native-docx-review-bubble {
328
452
  pointer-events: auto;
329
453
  }
454
+
455
+ /* Cards */
330
456
  .native-docx-review-card {
457
+ --review-accent: var(--review-comment);
331
458
  position: absolute;
332
459
  left: 0;
333
460
  right: 0;
334
461
  box-sizing: border-box;
335
- padding: 10px 12px;
462
+ padding: 10px 12px 10px 14px;
336
463
  border: 1px solid hsl(var(--border));
337
- border-radius: 8px;
338
- background: hsl(var(--background));
464
+ border-radius: 10px;
465
+ background: hsl(var(--card, var(--background)));
339
466
  color: hsl(var(--foreground));
340
467
  font-size: 13px;
341
- line-height: 1.4;
342
- box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
468
+ line-height: 1.45;
469
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
343
470
  cursor: pointer;
471
+ transition:
472
+ box-shadow 120ms ease,
473
+ border-color 120ms ease,
474
+ transform 120ms ease;
475
+ }
476
+ /* A coloured spine tells comments and each kind of change apart at a glance. */
477
+ .native-docx-review-card::before {
478
+ content: '';
479
+ position: absolute;
480
+ left: -1px;
481
+ top: 8px;
482
+ bottom: 8px;
483
+ width: 3px;
484
+ border-radius: 0 3px 3px 0;
485
+ background: hsl(var(--review-accent));
486
+ }
487
+ .native-docx-review-card[data-change='insert'],
488
+ .native-docx-review-card[data-change='moveTo'],
489
+ .native-docx-review-card[data-change='replace'] {
490
+ --review-accent: var(--review-accept);
491
+ }
492
+ .native-docx-review-card[data-change='delete'],
493
+ .native-docx-review-card[data-change='moveFrom'] {
494
+ --review-accent: var(--review-reject);
495
+ }
496
+ .native-docx-review-card[data-change='format'],
497
+ .native-docx-review-card[data-change='paragraphMark'],
498
+ .native-docx-review-card[data-change='structural'] {
499
+ --review-accent: var(--review-format);
500
+ }
501
+ .native-docx-review-card:hover {
502
+ box-shadow: 0 2px 8px rgb(0 0 0 / 0.08);
344
503
  }
345
504
  .native-docx-review-card[data-active] {
346
- border-color: hsl(var(--ring));
347
- box-shadow: 0 2px 8px rgb(0 0 0 / 0.14);
505
+ border-color: hsl(var(--review-accent) / 0.6);
506
+ box-shadow:
507
+ 0 0 0 3px hsl(var(--review-accent) / 0.14),
508
+ 0 6px 18px rgb(0 0 0 / 0.12);
509
+ cursor: default;
510
+ }
511
+ .native-docx-review-pane .native-docx-review-card[data-active] {
512
+ transform: translateX(-6px);
348
513
  }
349
514
  .native-docx-review-card[data-resolved] {
350
515
  opacity: 0.6;
351
516
  }
352
- .native-docx-review-kind {
353
- margin-bottom: 4px;
354
- font-weight: 600;
517
+ .native-docx-review-card[data-floating] {
518
+ position: relative;
519
+ border: 0;
520
+ border-radius: 0;
521
+ box-shadow: none;
522
+ background: transparent;
523
+ cursor: default;
524
+ }
525
+ .native-docx-review-card[data-floating] + .native-docx-review-card[data-floating] {
526
+ border-top: 1px solid hsl(var(--border));
527
+ }
528
+ .native-docx-review-card[data-floating]::before {
529
+ top: 12px;
530
+ bottom: 12px;
531
+ left: 0;
355
532
  }
356
533
  .native-docx-review-byline {
357
534
  display: flex;
358
535
  align-items: center;
359
- gap: 6px;
536
+ gap: 8px;
537
+ min-width: 0;
360
538
  }
361
539
  .native-docx-review-avatar {
540
+ flex: none;
362
541
  display: inline-grid;
363
542
  place-items: center;
364
- width: 22px;
365
- height: 22px;
543
+ width: 26px;
544
+ height: 26px;
366
545
  border-radius: 50%;
367
- background: hsl(var(--muted));
546
+ background: hsl(var(--review-author-hue, 200) 52% 44%);
547
+ color: white;
368
548
  font-size: 10px;
369
549
  font-weight: 600;
550
+ letter-spacing: 0.02em;
551
+ }
552
+ .native-docx-review-who {
553
+ display: flex;
554
+ flex-direction: column;
555
+ min-width: 0;
556
+ flex: 1;
557
+ line-height: 1.25;
370
558
  }
371
559
  .native-docx-review-author {
560
+ overflow: hidden;
372
561
  font-weight: 600;
562
+ text-overflow: ellipsis;
563
+ white-space: nowrap;
373
564
  }
374
- .native-docx-review-date {
375
- margin-left: auto;
565
+ .native-docx-review-meta {
376
566
  color: hsl(var(--muted-foreground));
377
567
  font-size: 11px;
378
568
  }
379
- .native-docx-review-text {
380
- margin: 4px 0 0;
381
- white-space: pre-wrap;
569
+ .native-docx-review-text,
570
+ .native-docx-review-change {
571
+ margin: 6px 0 0;
382
572
  overflow-wrap: anywhere;
383
573
  }
384
- .native-docx-review-message + .native-docx-review-message {
574
+ .native-docx-review-change {
575
+ white-space: pre-wrap;
576
+ }
577
+ /* Comment text is markdown (ARBI answers in it), set tight for a card. */
578
+ .native-docx-review-text .native-docx-review-markdown {
579
+ font-size: 13px;
580
+ line-height: 1.45;
581
+ }
582
+ .native-docx-review-markdown > * {
583
+ margin-block: 0;
584
+ }
585
+ .native-docx-review-markdown > * + * {
586
+ margin-top: 6px;
587
+ }
588
+ .native-docx-review-markdown :is(ul, ol) {
589
+ padding-left: 18px;
590
+ }
591
+ /* A resting card shows the start of each message; opening it shows the whole thread. */
592
+ .native-docx-review-card:not([data-active]):not([data-floating]) .native-docx-review-text {
593
+ max-height: 4.4em;
594
+ overflow: hidden;
595
+ /* Fixed stops, so a short message is untouched and only cut-off text fades out. */
596
+ -webkit-mask-image: linear-gradient(to bottom, #000 3em, transparent 4.4em);
597
+ mask-image: linear-gradient(to bottom, #000 3em, transparent 4.4em);
598
+ }
599
+ .native-docx-review-card:not([data-active]):not([data-floating]) .native-docx-review-change {
600
+ display: -webkit-box;
601
+ overflow: hidden;
602
+ -webkit-box-orient: vertical;
603
+ -webkit-line-clamp: 3;
604
+ }
605
+ .native-docx-review-change {
606
+ padding: 6px 8px;
607
+ border-radius: 6px;
608
+ background: hsl(var(--muted) / 0.7);
609
+ }
610
+ .native-docx-review-change ins {
611
+ color: hsl(var(--review-accept));
612
+ text-decoration: underline;
613
+ text-decoration-thickness: 1px;
614
+ text-underline-offset: 2px;
615
+ }
616
+ .native-docx-review-change del {
617
+ color: hsl(var(--review-reject));
618
+ text-decoration: line-through;
619
+ }
620
+ .native-docx-review-arrow {
621
+ margin: 0 6px;
622
+ color: hsl(var(--muted-foreground));
623
+ }
624
+ .native-docx-review-thread {
385
625
  margin-top: 8px;
386
- padding-top: 8px;
387
- border-top: 1px solid hsl(var(--border));
626
+ padding-left: 10px;
627
+ border-left: 2px solid hsl(var(--border));
388
628
  }
389
- .native-docx-review-actions {
390
- display: flex;
391
- gap: 6px;
629
+ .native-docx-review-message + .native-docx-review-message {
392
630
  margin-top: 8px;
393
631
  }
394
- .native-docx-review-actions:empty {
395
- display: none;
632
+ .native-docx-review-message .native-docx-review-avatar {
633
+ width: 20px;
634
+ height: 20px;
635
+ font-size: 9px;
396
636
  }
397
- .native-docx-review-card button {
398
- padding: 2px 8px;
399
- border: 1px solid hsl(var(--border));
400
- border-radius: 6px;
401
- background: hsl(var(--background));
402
- font: inherit;
637
+ .native-docx-review-message .native-docx-review-text {
638
+ margin-top: 3px;
639
+ }
640
+
641
+ /* Buttons */
642
+ .native-docx-review button {
643
+ font-family: inherit;
644
+ font-size: inherit;
403
645
  cursor: pointer;
404
646
  }
405
- .native-docx-review-card button:disabled {
406
- opacity: 0.5;
647
+ .native-docx-review button:disabled {
648
+ opacity: 0.45;
407
649
  cursor: default;
408
650
  }
409
- .native-docx-review-reply {
651
+ .native-docx-review button:focus-visible,
652
+ .native-docx-review-card:focus-visible {
653
+ outline: 2px solid hsl(var(--ring));
654
+ outline-offset: 1px;
655
+ }
656
+ .native-docx-review-icon {
657
+ display: inline-grid;
658
+ place-items: center;
659
+ flex: none;
660
+ width: 26px;
661
+ height: 26px;
662
+ padding: 0;
663
+ border: 0;
664
+ border-radius: 6px;
665
+ background: transparent;
666
+ color: hsl(var(--muted-foreground));
667
+ }
668
+ .native-docx-review-icon:not(:disabled):hover {
669
+ background: hsl(var(--muted));
670
+ color: hsl(var(--foreground));
671
+ }
672
+ .native-docx-review-tools {
673
+ display: flex;
674
+ gap: 2px;
675
+ margin-right: -4px;
676
+ }
677
+ .native-docx-review-decide,
678
+ .native-docx-review-bulk {
410
679
  display: flex;
411
680
  flex-wrap: wrap;
412
681
  gap: 6px;
413
- margin-top: 8px;
682
+ margin-top: 10px;
414
683
  }
415
- .native-docx-review-reply input,
416
- .native-docx-review-draft input {
417
- flex: 1 1 100%;
684
+ .native-docx-review-bulk {
685
+ margin-top: 0;
686
+ align-items: center;
687
+ }
688
+ .native-docx-review .native-docx-review-accept,
689
+ .native-docx-review .native-docx-review-reject,
690
+ .native-docx-review .native-docx-review-plain {
691
+ font-size: 12px;
692
+ font-weight: 600;
693
+ display: inline-flex;
694
+ align-items: center;
695
+ gap: 5px;
696
+ height: 28px;
697
+ padding: 0 11px;
698
+ border: 1px solid transparent;
699
+ border-radius: 999px;
700
+ transition:
701
+ background 120ms ease,
702
+ color 120ms ease;
703
+ }
704
+ .native-docx-review-accept {
705
+ background: hsl(var(--review-accept) / 0.12);
706
+ border-color: hsl(var(--review-accept) / 0.3);
707
+ color: hsl(var(--review-accept));
708
+ }
709
+ .native-docx-review-accept:not(:disabled):hover {
710
+ background: hsl(var(--review-accept));
711
+ border-color: hsl(var(--review-accept));
712
+ color: hsl(var(--background));
713
+ }
714
+ .native-docx-review-reject {
715
+ background: hsl(var(--review-reject) / 0.08);
716
+ border-color: hsl(var(--review-reject) / 0.25);
717
+ color: hsl(var(--review-reject));
718
+ }
719
+ .native-docx-review-reject:not(:disabled):hover {
720
+ background: hsl(var(--review-reject));
721
+ border-color: hsl(var(--review-reject));
722
+ color: hsl(var(--background));
723
+ }
724
+ .native-docx-review-plain {
725
+ background: transparent;
726
+ color: hsl(var(--muted-foreground));
727
+ }
728
+ .native-docx-review-plain:hover {
729
+ background: hsl(var(--muted));
730
+ color: hsl(var(--foreground));
731
+ }
732
+ /* With a pointer that hovers, a resting card shows only its content; its controls come with it. */
733
+ @media (hover: hover) {
734
+ .native-docx-review-pane .native-docx-review-card:not([data-active]):not(:hover):not(:focus-within)
735
+ :is(.native-docx-review-tools, .native-docx-review-decide) {
736
+ opacity: 0;
737
+ }
738
+ }
739
+
740
+ /* Reply and new comment */
741
+ .native-docx-review-reply {
742
+ display: flex;
743
+ align-items: center;
744
+ gap: 2px;
745
+ margin-top: 10px;
746
+ padding: 2px 2px 2px 10px;
747
+ border: 1px solid hsl(var(--border));
748
+ border-radius: 999px;
749
+ background: hsl(var(--background));
750
+ }
751
+ .native-docx-review-reply:focus-within {
752
+ border-color: hsl(var(--ring));
753
+ }
754
+ .native-docx-review-reply input {
755
+ flex: 1;
418
756
  min-width: 0;
419
- padding: 4px 8px;
757
+ padding: 4px 0;
758
+ border: 0;
759
+ outline: 0;
760
+ background: transparent;
761
+ color: inherit;
762
+ font: inherit;
763
+ }
764
+ .native-docx-review-send:not(:disabled) {
765
+ color: hsl(var(--primary));
766
+ }
767
+ .native-docx-review-draft input {
768
+ box-sizing: border-box;
769
+ width: 100%;
770
+ padding: 7px 10px;
420
771
  border: 1px solid hsl(var(--border));
421
- border-radius: 6px;
772
+ border-radius: 8px;
422
773
  background: hsl(var(--background));
423
774
  color: inherit;
424
775
  font: inherit;
425
776
  }
777
+ .native-docx-review-draft input:focus {
778
+ outline: 0;
779
+ border-color: hsl(var(--ring));
780
+ }
781
+
782
+ /* The column's header: its first row, scrolling with the cards, so it never covers one. */
783
+ .native-docx-review-toolbar {
784
+ position: relative;
785
+ display: flex;
786
+ flex-wrap: wrap;
787
+ gap: 8px;
788
+ align-items: center;
789
+ justify-content: space-between;
790
+ pointer-events: auto;
791
+ margin-bottom: 8px;
792
+ padding: 8px 10px;
793
+ border: 1px solid hsl(var(--border));
794
+ border-radius: 10px;
795
+ background: hsl(var(--background));
796
+ color: hsl(var(--foreground));
797
+ box-shadow: 0 1px 3px rgb(0 0 0 / 0.06);
798
+ font-size: 12px;
799
+ }
800
+ .native-docx-review-toolbar .native-docx-review-bulk {
801
+ flex-basis: 100%;
802
+ }
803
+ .native-docx-review-summary {
804
+ font-weight: 600;
805
+ color: hsl(var(--foreground));
806
+ font-size: 12px;
807
+ }
808
+ .native-docx-review-segment {
809
+ display: inline-flex;
810
+ margin-right: auto;
811
+ border: 1px solid hsl(var(--border));
812
+ border-radius: 999px;
813
+ overflow: hidden;
814
+ }
815
+ .native-docx-review-segment .native-docx-review-icon {
816
+ border-radius: 0;
817
+ width: 30px;
818
+ }
819
+ .native-docx-review-switch {
820
+ display: inline-flex;
821
+ align-items: center;
822
+ gap: 5px;
823
+ color: hsl(var(--muted-foreground));
824
+ cursor: pointer;
825
+ }
826
+ .native-docx-review-switch input {
827
+ accent-color: hsl(var(--primary));
828
+ margin: 0;
829
+ }
830
+
831
+ /* Margin symbols */
426
832
  .native-docx-review-marker {
427
833
  position: absolute;
428
834
  right: 0;
429
- width: 20px;
430
- height: 20px;
431
- border: 0;
432
- border-radius: 50%;
433
- background: hsl(var(--primary));
434
- opacity: 0.8;
435
- cursor: pointer;
835
+ display: grid;
836
+ place-items: center;
837
+ width: 26px;
838
+ height: 26px;
839
+ padding: 0;
840
+ border: 1px solid hsl(var(--review-comment) / 0.45);
841
+ border-radius: 8px 8px 8px 2px;
842
+ background: hsl(var(--review-comment) / 0.16);
843
+ color: hsl(var(--review-comment));
844
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.08);
845
+ transition:
846
+ transform 120ms ease,
847
+ background 120ms ease;
848
+ }
849
+ .native-docx-review-marker[data-kind='revision'] {
850
+ border-color: hsl(var(--review-format) / 0.45);
851
+ background: hsl(var(--review-format) / 0.14);
852
+ color: hsl(var(--review-format));
853
+ }
854
+ .native-docx-review-marker:hover,
855
+ .native-docx-review-marker[data-active] {
856
+ transform: scale(1.08);
857
+ background: hsl(var(--review-comment));
858
+ color: white;
436
859
  }
437
- .native-docx-review-empty {
438
- pointer-events: auto;
439
- margin: 8px 0;
440
- color: hsl(var(--muted-foreground));
441
- font-size: 13px;
860
+ .native-docx-review-marker[data-kind='revision']:hover,
861
+ .native-docx-review-marker[data-kind='revision'][data-active] {
862
+ background: hsl(var(--review-format));
863
+ }
864
+ .native-docx-review-count {
865
+ position: absolute;
866
+ top: -6px;
867
+ right: -6px;
868
+ min-width: 15px;
869
+ height: 15px;
870
+ padding: 0 3px;
871
+ box-sizing: border-box;
872
+ border-radius: 999px;
873
+ background: hsl(var(--foreground));
874
+ color: hsl(var(--background));
875
+ font-size: 9px;
876
+ font-weight: 700;
877
+ line-height: 15px;
442
878
  }
443
879
  .native-docx-review-add {
444
880
  position: absolute;
445
- right: -24px;
446
- width: 20px;
447
- height: 20px;
881
+ left: -34px;
882
+ display: grid;
883
+ place-items: center;
884
+ width: 26px;
885
+ height: 26px;
448
886
  padding: 0;
449
887
  border: 1px solid hsl(var(--border));
450
888
  border-radius: 50%;
451
889
  background: hsl(var(--background));
452
- color: hsl(var(--foreground));
453
- line-height: 1;
454
- cursor: pointer;
890
+ color: hsl(var(--muted-foreground));
891
+ box-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
455
892
  pointer-events: auto;
456
893
  }
894
+ .native-docx-review-add:hover {
895
+ color: hsl(var(--primary));
896
+ border-color: hsl(var(--primary) / 0.5);
897
+ }
457
898
  .native-docx-review-markers .native-docx-review-add {
458
- right: 0;
459
- top: 0;
899
+ left: auto;
900
+ right: 32px;
460
901
  }
461
- .native-docx-review-toolbar {
902
+
903
+ /* The bubble a margin symbol opens on a compact screen */
904
+ .native-docx-review-bubble {
905
+ position: absolute;
906
+ z-index: 30;
907
+ right: 34px;
908
+ box-sizing: border-box;
909
+ max-height: min(70vh, 520px);
910
+ overflow: auto;
911
+ overscroll-behavior: contain;
912
+ border: 1px solid hsl(var(--border));
913
+ border-radius: 12px;
914
+ background: hsl(var(--popover, var(--background)));
915
+ color: hsl(var(--popover-foreground, var(--foreground)));
916
+ box-shadow:
917
+ 0 12px 32px rgb(0 0 0 / 0.18),
918
+ 0 2px 6px rgb(0 0 0 / 0.08);
919
+ animation: native-docx-review-pop 120ms ease-out;
920
+ }
921
+ @keyframes native-docx-review-pop {
922
+ from {
923
+ opacity: 0;
924
+ transform: translateY(-4px) scale(0.98);
925
+ }
926
+ }
927
+ @media (prefers-reduced-motion: reduce) {
928
+ .native-docx-review-bubble {
929
+ animation: none;
930
+ }
931
+ .native-docx-review-card,
932
+ .native-docx-review-marker {
933
+ transition: none;
934
+ }
935
+ }
936
+ .native-docx-review-bubble-head {
462
937
  position: sticky;
463
938
  top: 0;
464
- z-index: 2;
939
+ z-index: 1;
465
940
  display: flex;
466
- flex-wrap: wrap;
467
- gap: 6px;
468
941
  align-items: center;
469
- pointer-events: auto;
470
- margin-bottom: 8px;
471
- padding: 6px 8px;
472
- border: 1px solid hsl(var(--border));
473
- border-radius: 8px;
474
- background: hsl(var(--background));
475
- color: hsl(var(--foreground));
476
- box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
477
- font-size: 12px;
942
+ gap: 2px;
943
+ padding: 4px 4px 4px 8px;
944
+ border-bottom: 1px solid hsl(var(--border));
945
+ background: inherit;
478
946
  }
479
- .native-docx-review-toolbar:empty {
480
- display: none;
947
+ .native-docx-review-bubble-head .native-docx-review-summary {
948
+ min-width: 52px;
949
+ text-align: center;
950
+ font-weight: 500;
951
+ color: hsl(var(--muted-foreground));
481
952
  }
482
- .native-docx-review-toolbar button {
483
- padding: 2px 8px;
484
- border: 1px solid hsl(var(--border));
485
- border-radius: 6px;
486
- background: hsl(var(--background));
487
- font: inherit;
488
- cursor: pointer;
953
+ .native-docx-review-close {
954
+ margin-left: auto;
489
955
  }
490
- .native-docx-review-card:focus-visible,
491
- .native-docx-review-card button:focus-visible,
492
- .native-docx-review-toolbar button:focus-visible {
493
- outline: 2px solid hsl(var(--ring));
494
- outline-offset: 1px;
956
+ .native-docx-review-bubble-foot {
957
+ padding: 8px 12px 10px;
958
+ border-top: 1px solid hsl(var(--border));
959
+ }
960
+ .native-docx-review-bubble .native-docx-review-draft {
961
+ padding: 12px;
962
+ }
963
+ .native-docx-review-empty {
964
+ margin: 0;
965
+ padding: 14px;
966
+ color: hsl(var(--muted-foreground));
967
+ font-size: 13px;
495
968
  }