@bendyline/squisq-editor-react 2.13.22 → 2.13.23

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.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  encodeMonoPcm16Wav,
3
3
  startDictationSession
4
- } from "../chunk-7ADGH53Y.js";
4
+ } from "../chunk-RVHUTOHG.js";
5
5
  import {
6
6
  SPEECH_INPUT_SAMPLE_RATE,
7
7
  isSpeechInputProviderFactory,
@@ -9129,6 +9129,10 @@
9129
9129
  outline: 2px solid rgba(99, 102, 241, 0.25);
9130
9130
  outline-offset: -1px;
9131
9131
  }
9132
+ .squisq-template-picker-trigger:disabled {
9133
+ opacity: 0.6;
9134
+ pointer-events: none;
9135
+ }
9132
9136
  .squisq-template-picker-trigger-label {
9133
9137
  color: var(--squisq-text-muted);
9134
9138
  }
@@ -9160,6 +9164,10 @@
9160
9164
  overflow: hidden;
9161
9165
  text-overflow: ellipsis;
9162
9166
  }
9167
+ .squisq-slide-block-type .squisq-template-picker-trigger-value {
9168
+ width: 88px;
9169
+ text-align: left;
9170
+ }
9163
9171
  .squisq-template-picker-trigger-caret {
9164
9172
  color: var(--squisq-text-faint);
9165
9173
  flex-shrink: 0;
@@ -17057,13 +17065,26 @@ button.squisq-view-menu-radio-row:focus-visible {
17057
17065
  background: var(--squisq-editor-control-bg-hover);
17058
17066
  }
17059
17067
  .squisq-media-edit-modal__surface--tabbed {
17068
+ width: min(720px, 100%);
17060
17069
  height: min(640px, 100%);
17061
17070
  }
17071
+ .squisq-media-edit-modal__surface--large {
17072
+ width: 100%;
17073
+ height: 100%;
17074
+ }
17062
17075
  .squisq-media-edit-modal__body {
17076
+ display: flex;
17063
17077
  flex: 1;
17078
+ flex-direction: column;
17079
+ min-height: 0;
17064
17080
  overflow: auto;
17065
17081
  padding: 12px 16px 16px;
17066
17082
  }
17083
+ .squisq-media-edit-panel--fill:not([hidden]) {
17084
+ display: flex;
17085
+ flex: 1 0 auto;
17086
+ flex-direction: column;
17087
+ }
17067
17088
  .squisq-media-edit-tabs {
17068
17089
  display: flex;
17069
17090
  gap: 4px;
@@ -17372,6 +17393,10 @@ button.squisq-view-menu-radio-row:focus-visible {
17372
17393
  border-radius: 4px;
17373
17394
  touch-action: none;
17374
17395
  }
17396
+ .squisq-media-edit-modal__surface--large .squisq-media-edit-crop {
17397
+ max-width: min(100%, calc((100vh - 300px) * var(--squisq-media-edit-frame-ratio, 1.7778)));
17398
+ margin-inline: auto;
17399
+ }
17375
17400
  .squisq-media-edit-crop video {
17376
17401
  display: block;
17377
17402
  width: 100%;
@@ -17417,6 +17442,318 @@ button.squisq-view-menu-radio-row:focus-visible {
17417
17442
  right: -7px;
17418
17443
  cursor: nwse-resize;
17419
17444
  }
17445
+ .squisq-media-edit-cuts {
17446
+ display: flex;
17447
+ flex: 1 0 auto;
17448
+ flex-direction: column;
17449
+ }
17450
+ .squisq-media-edit-cuts__monitor {
17451
+ position: relative;
17452
+ flex: 1 1 180px;
17453
+ min-height: 180px;
17454
+ margin-bottom: 8px;
17455
+ overflow: hidden;
17456
+ background: var(--squisq-surface-sunken);
17457
+ border-radius: 4px;
17458
+ }
17459
+ .squisq-media-edit-cuts__monitor video {
17460
+ position: absolute;
17461
+ inset: 0;
17462
+ display: block;
17463
+ width: 100%;
17464
+ height: 100%;
17465
+ object-fit: contain;
17466
+ }
17467
+ .squisq-media-edit-cuts__transport,
17468
+ .squisq-media-edit-cuts__actions {
17469
+ display: flex;
17470
+ flex-wrap: wrap;
17471
+ align-items: center;
17472
+ gap: 6px;
17473
+ }
17474
+ .squisq-media-edit-cuts__transport {
17475
+ margin-bottom: 8px;
17476
+ }
17477
+ .squisq-media-edit-cuts__actions {
17478
+ margin-top: 8px;
17479
+ }
17480
+ .squisq-media-edit-cuts__notes {
17481
+ display: flex;
17482
+ flex-wrap: wrap;
17483
+ justify-content: space-between;
17484
+ column-gap: 16px;
17485
+ }
17486
+ .squisq-media-edit-modal__surface--large .squisq-media-edit-cuts__lower {
17487
+ display: grid;
17488
+ grid-template-columns: minmax(0, 1fr) 380px;
17489
+ column-gap: 20px;
17490
+ align-items: start;
17491
+ }
17492
+ .squisq-media-edit-modal__surface--large .squisq-media-edit-cuts__pauses {
17493
+ margin-top: 6px;
17494
+ padding-top: 0;
17495
+ border-top: 0;
17496
+ }
17497
+ .squisq-media-edit-cuts__transport .squisq-media-edit-chips {
17498
+ margin: 0;
17499
+ }
17500
+ .squisq-media-edit-cuts__play {
17501
+ display: inline-flex;
17502
+ align-items: center;
17503
+ justify-content: center;
17504
+ gap: 6px;
17505
+ min-width: 78px;
17506
+ }
17507
+ .squisq-media-edit-cuts__time {
17508
+ min-width: 9.5em;
17509
+ color: var(--squisq-text-muted);
17510
+ font-variant-numeric: tabular-nums;
17511
+ white-space: nowrap;
17512
+ }
17513
+ .squisq-media-edit-cuts__zoom {
17514
+ display: flex;
17515
+ gap: 4px;
17516
+ margin-left: auto;
17517
+ }
17518
+ .squisq-media-edit-cuts__selection {
17519
+ flex: 1;
17520
+ min-width: 0;
17521
+ overflow: hidden;
17522
+ color: var(--squisq-text-muted);
17523
+ font-size: 12px;
17524
+ font-variant-numeric: tabular-nums;
17525
+ text-overflow: ellipsis;
17526
+ white-space: nowrap;
17527
+ }
17528
+ .squisq-media-edit-cuts__pauses {
17529
+ margin-top: 12px;
17530
+ padding-top: 8px;
17531
+ border-top: 1px solid var(--squisq-border-subtle);
17532
+ }
17533
+ .squisq-media-edit-timeline {
17534
+ position: relative;
17535
+ overflow-x: auto;
17536
+ overflow-y: hidden;
17537
+ scrollbar-width: thin;
17538
+ background: var(--squisq-surface-sunken);
17539
+ border: 1px solid var(--squisq-editor-control-border);
17540
+ border-radius: 4px;
17541
+ }
17542
+ .squisq-media-edit-timeline:focus-visible {
17543
+ outline: 2px solid var(--squisq-focus-ring);
17544
+ outline-offset: 1px;
17545
+ }
17546
+ .squisq-media-edit-timeline--empty {
17547
+ display: flex;
17548
+ align-items: center;
17549
+ justify-content: center;
17550
+ height: 122px;
17551
+ padding: 0 16px;
17552
+ overflow: hidden;
17553
+ color: var(--squisq-text-muted);
17554
+ font-variant-numeric: tabular-nums;
17555
+ }
17556
+ .squisq-media-edit-timeline__track {
17557
+ position: relative;
17558
+ box-sizing: border-box;
17559
+ min-width: 100%;
17560
+ height: 120px;
17561
+ padding-top: 18px;
17562
+ cursor: text;
17563
+ touch-action: none;
17564
+ user-select: none;
17565
+ }
17566
+ .squisq-media-edit-timeline__ruler {
17567
+ position: absolute;
17568
+ inset: 0 0 auto;
17569
+ height: 18px;
17570
+ border-bottom: 1px solid var(--squisq-border-subtle);
17571
+ pointer-events: none;
17572
+ }
17573
+ .squisq-media-edit-timeline__tick {
17574
+ position: absolute;
17575
+ top: 0;
17576
+ height: 18px;
17577
+ padding-left: 4px;
17578
+ border-left: 1px solid var(--squisq-editor-control-border);
17579
+ color: var(--squisq-text-muted);
17580
+ font-size: 10px;
17581
+ font-variant-numeric: tabular-nums;
17582
+ line-height: 18px;
17583
+ white-space: nowrap;
17584
+ }
17585
+ .squisq-media-edit-timeline__wave {
17586
+ position: sticky;
17587
+ left: 0;
17588
+ display: block;
17589
+ height: 102px;
17590
+ color: var(--squisq-accent);
17591
+ pointer-events: none;
17592
+ }
17593
+ .squisq-media-edit-timeline__cut {
17594
+ position: absolute;
17595
+ top: 18px;
17596
+ bottom: 0;
17597
+ box-sizing: border-box;
17598
+ min-width: 2px;
17599
+ border-inline: 1px solid var(--squisq-danger);
17600
+ }
17601
+ .squisq-media-edit-timeline__cut::before,
17602
+ .squisq-media-edit-timeline__cut::after {
17603
+ content: "";
17604
+ position: absolute;
17605
+ inset: 0;
17606
+ pointer-events: none;
17607
+ }
17608
+ .squisq-media-edit-timeline__cut::before {
17609
+ background: var(--squisq-surface-sunken);
17610
+ opacity: 0.84;
17611
+ }
17612
+ .squisq-media-edit-timeline__cut::after {
17613
+ background:
17614
+ repeating-linear-gradient(
17615
+ 135deg,
17616
+ transparent 0 6px,
17617
+ color-mix(in srgb, var(--squisq-danger) 38%, transparent) 6px 7px);
17618
+ }
17619
+ .squisq-media-edit-timeline__handle {
17620
+ position: absolute;
17621
+ top: 0;
17622
+ bottom: 0;
17623
+ z-index: 1;
17624
+ width: 11px;
17625
+ cursor: ew-resize;
17626
+ touch-action: none;
17627
+ }
17628
+ .squisq-media-edit-timeline__handle--start {
17629
+ left: -6px;
17630
+ }
17631
+ .squisq-media-edit-timeline__handle--end {
17632
+ right: -6px;
17633
+ }
17634
+ .squisq-media-edit-timeline__handle::after {
17635
+ content: "";
17636
+ position: absolute;
17637
+ top: 50%;
17638
+ left: 2px;
17639
+ box-sizing: border-box;
17640
+ width: 7px;
17641
+ height: 30px;
17642
+ border: 1px solid var(--squisq-surface-sunken);
17643
+ border-radius: 4px;
17644
+ background: var(--squisq-danger);
17645
+ transform: translateY(-50%);
17646
+ }
17647
+ .squisq-media-edit-timeline__handle:focus-visible {
17648
+ outline: 2px solid var(--squisq-focus-ring);
17649
+ outline-offset: -2px;
17650
+ }
17651
+ .squisq-media-edit-timeline__cut[data-narrow=true] .squisq-media-edit-timeline__handle {
17652
+ opacity: 0;
17653
+ pointer-events: none;
17654
+ }
17655
+ .squisq-media-edit-timeline__cut[data-narrow=true] .squisq-media-edit-timeline__handle:focus-visible {
17656
+ opacity: 1;
17657
+ }
17658
+ .squisq-media-edit-modal button.squisq-media-edit-timeline__restore {
17659
+ position: absolute;
17660
+ top: 4px;
17661
+ left: 50%;
17662
+ z-index: 2;
17663
+ width: 18px;
17664
+ min-height: 0;
17665
+ height: 18px;
17666
+ padding: 0;
17667
+ border-radius: 50%;
17668
+ font-size: 13px;
17669
+ line-height: 1;
17670
+ opacity: 0;
17671
+ transform: translateX(-50%);
17672
+ }
17673
+ .squisq-media-edit-timeline__cut:hover .squisq-media-edit-timeline__restore,
17674
+ .squisq-media-edit-modal button.squisq-media-edit-timeline__restore:focus-visible {
17675
+ opacity: 1;
17676
+ }
17677
+ .squisq-media-edit-timeline__cut[data-narrow=true] .squisq-media-edit-timeline__restore {
17678
+ display: none;
17679
+ }
17680
+ .squisq-media-edit-timeline__selection {
17681
+ position: absolute;
17682
+ top: 18px;
17683
+ bottom: 0;
17684
+ box-sizing: content-box;
17685
+ margin-left: -1px;
17686
+ border-inline: 1px solid var(--squisq-accent);
17687
+ background: color-mix(in srgb, var(--squisq-accent) 26%, transparent);
17688
+ pointer-events: none;
17689
+ }
17690
+ .squisq-media-edit-timeline__playhead {
17691
+ position: absolute;
17692
+ top: 0;
17693
+ bottom: 0;
17694
+ z-index: 3;
17695
+ width: 0;
17696
+ margin-left: -1px;
17697
+ border-left: 2px solid var(--squisq-text);
17698
+ pointer-events: none;
17699
+ }
17700
+ .squisq-media-edit-timeline__playhead::before {
17701
+ content: "";
17702
+ position: absolute;
17703
+ top: 0;
17704
+ left: -6px;
17705
+ border: 5px solid transparent;
17706
+ border-top: 7px solid var(--squisq-text);
17707
+ border-bottom: 0;
17708
+ }
17709
+ .squisq-media-edit-cutlist {
17710
+ flex: none;
17711
+ box-sizing: border-box;
17712
+ height: 100px;
17713
+ margin: 6px 0 0;
17714
+ padding: 0;
17715
+ overflow-y: auto;
17716
+ border: 1px solid var(--squisq-border-subtle);
17717
+ border-radius: 4px;
17718
+ list-style: none;
17719
+ }
17720
+ .squisq-media-edit-cutlist--empty {
17721
+ display: flex;
17722
+ align-items: center;
17723
+ justify-content: center;
17724
+ color: var(--squisq-text-muted);
17725
+ font-size: 12px;
17726
+ }
17727
+ .squisq-media-edit-cutlist li {
17728
+ display: grid;
17729
+ grid-template-columns: 1fr auto auto auto;
17730
+ align-items: center;
17731
+ column-gap: 8px;
17732
+ padding: 3px 6px 3px 10px;
17733
+ font-variant-numeric: tabular-nums;
17734
+ }
17735
+ .squisq-media-edit-cutlist li + li {
17736
+ border-top: 1px solid var(--squisq-border-subtle);
17737
+ }
17738
+ .squisq-media-edit-cutlist__length {
17739
+ min-width: 4.5em;
17740
+ color: var(--squisq-text-muted);
17741
+ text-align: right;
17742
+ }
17743
+ .squisq-media-edit-modal .squisq-media-edit-cutlist button {
17744
+ display: inline-flex;
17745
+ align-items: center;
17746
+ gap: 6px;
17747
+ min-height: 24px;
17748
+ padding: 2px 8px;
17749
+ }
17750
+
17751
+ /* src/styles/fill-available.css */
17752
+ .squisq-block-fill-available[data-fill-height] {
17753
+ display: flex;
17754
+ flex-direction: column;
17755
+ min-height: var(--squisq-fill-height);
17756
+ }
17420
17757
 
17421
17758
  /* src/styles/diagram.css */
17422
17759
  .squisq-diagram-widget-host {
@@ -18591,24 +18928,14 @@ button.squisq-view-menu-radio-row:focus-visible {
18591
18928
  border-radius: 0;
18592
18929
  border-top: 1px solid var(--squisq-border-subtle);
18593
18930
  }
18594
- .squisq-block-card-body .squisq-wysiwyg-editor:has(> .squisq-block-fill-available:last-child) {
18595
- display: flex;
18596
- flex-direction: column;
18597
- box-sizing: border-box;
18598
- }
18599
- .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-block-fill-available:last-child {
18600
- display: flex;
18601
- flex: 1 0 auto;
18602
- flex-direction: column;
18603
- }
18604
- .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-data-card-host:last-child > .squisq-data-card,
18605
- .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-data-card-host:last-child > .squisq-data-card > .squisq-data-card-grid {
18931
+ .squisq-data-card-host[data-fill-height] > .squisq-data-card[data-fills],
18932
+ .squisq-data-card-host[data-fill-height] > .squisq-data-card[data-fills] > .squisq-data-card-grid {
18606
18933
  display: flex;
18607
18934
  flex: 1 1 auto;
18608
18935
  flex-direction: column;
18609
18936
  min-height: 0;
18610
18937
  }
18611
- .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-data-card-host:last-child .squisq-grid-scroller {
18938
+ .squisq-data-card-host[data-fill-height] > .squisq-data-card[data-fills] > .squisq-data-card-grid > .squisq-grid-scroller {
18612
18939
  flex: 1 1 420px;
18613
18940
  min-height: 0;
18614
18941
  }
@@ -19628,6 +19955,28 @@ button.squisq-ascii-timeline-track-name:focus-visible {
19628
19955
  margin: 4px 6px;
19629
19956
  background: var(--squisq-border-subtle);
19630
19957
  }
19958
+ .squisq-editor-context-menu-proof {
19959
+ display: flex;
19960
+ align-items: flex-start;
19961
+ gap: 7px;
19962
+ padding: 6px 10px;
19963
+ margin-bottom: 4px;
19964
+ border-bottom: 1px solid var(--squisq-border-subtle);
19965
+ color: var(--squisq-text-muted);
19966
+ font-size: 12px;
19967
+ }
19968
+ .squisq-editor-context-menu-proof .squisq-proof-dot {
19969
+ flex: 0 0 auto;
19970
+ margin-top: 3px;
19971
+ }
19972
+ .squisq-editor-context-menu-proof-empty {
19973
+ padding: 2px 10px 6px;
19974
+ color: var(--squisq-text-faint);
19975
+ font-style: italic;
19976
+ }
19977
+ .squisq-editor-context-menu-item--suggestion {
19978
+ font-weight: 600;
19979
+ }
19631
19980
  .squisq-editor-context-menu-error {
19632
19981
  max-width: 300px;
19633
19982
  padding: 6px 10px;
@@ -20866,6 +21215,18 @@ button.squisq-ascii-timeline-track-name:focus-visible {
20866
21215
  overflow: hidden;
20867
21216
  background: var(--squisq-surface);
20868
21217
  }
21218
+ .squisq-block-fill-available[data-fill-height] > .squisq-scene-shell {
21219
+ display: flex;
21220
+ flex: 1 1 auto;
21221
+ flex-direction: column;
21222
+ min-height: 0;
21223
+ }
21224
+ .squisq-block-fill-available[data-fill-height] > .squisq-scene-shell > .squisq-scene-inline,
21225
+ .squisq-block-fill-available[data-fill-height] > .squisq-scene-shell > .squisq-diagram-inline:not([data-height-pinned]) {
21226
+ flex: 1 1 420px;
21227
+ height: auto;
21228
+ min-height: 0;
21229
+ }
20869
21230
  .squisq-scene-inline-placeholder {
20870
21231
  height: 420px;
20871
21232
  border: 1px dashed var(--squisq-border);
@@ -2,8 +2,8 @@ import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
3
  import { Doc, Theme, MediaProvider } from '@bendyline/squisq/schemas';
4
4
  import { ContentContainer } from '@bendyline/squisq/storage';
5
- import { o as TeleprompterRecordingDeps, g as NarrationStageHandle, T as TeleprompterController, c as FloatingWindowHandle } from '../useNarrationStage-DlighI1z.js';
6
- export { C as CanvasSink, D as DEFAULT_TELEPROMPTER_PREFS, F as FloatOpenOptions, b as FloatTier, d as FloatingWindowManager, M as MicAnalysisHandle, e as MicAnalysisStatus, N as NarrationRecorderController, f as NarrationRecorderState, h as NarrationTake, P as PrompterTransport, J as TELEPROMPTER_PREF_LIMITS, n as TeleprompterPrefs, q as UseNarrationStageOptions, s as createFloatingWindowManager, t as detectFloatTiers, K as normalizeTeleprompterPrefs, z as useFloatingWindow, B as useMicAnalysis, E as useNarrationRecorder, G as useNarrationStage, H as useTeleprompter, I as vadConfigForSensitivity } from '../useNarrationStage-DlighI1z.js';
5
+ import { o as TeleprompterRecordingDeps, g as NarrationStageHandle, T as TeleprompterController, c as FloatingWindowHandle } from '../useNarrationStage-BsSUp9Zr.js';
6
+ export { C as CanvasSink, D as DEFAULT_TELEPROMPTER_PREFS, F as FloatOpenOptions, b as FloatTier, d as FloatingWindowManager, M as MicAnalysisHandle, e as MicAnalysisStatus, N as NarrationRecorderController, f as NarrationRecorderState, h as NarrationTake, P as PrompterTransport, J as TELEPROMPTER_PREF_LIMITS, n as TeleprompterPrefs, q as UseNarrationStageOptions, s as createFloatingWindowManager, t as detectFloatTiers, K as normalizeTeleprompterPrefs, z as useFloatingWindow, B as useMicAnalysis, E as useNarrationRecorder, G as useNarrationStage, H as useTeleprompter, I as vadConfigForSensitivity } from '../useNarrationStage-BsSUp9Zr.js';
7
7
  import { NarrationTimingJsonV3, NarrationScript, NarrationAlignment, NarrationTimingGenerator } from '@bendyline/squisq/narration';
8
8
  import '../screenRegion-Ci_RsCzG.js';
9
9
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TeleprompterView
3
- } from "../chunk-GI2D2XS5.js";
3
+ } from "../chunk-IOG66XFC.js";
4
4
  import {
5
5
  DEFAULT_TELEPROMPTER_PREFS,
6
6
  EYE_LINE_FRACTION,
@@ -31,8 +31,8 @@ import {
31
31
  useNarrationStage,
32
32
  useTeleprompter,
33
33
  vadConfigForSensitivity
34
- } from "../chunk-JCIK2QU5.js";
35
- import "../chunk-DNJ6HOES.js";
34
+ } from "../chunk-2KTMXJWB.js";
35
+ import "../chunk-QXHX7N4V.js";
36
36
  import "../chunk-GG35EBRB.js";
37
37
  export {
38
38
  DEFAULT_TELEPROMPTER_PREFS,
@@ -13,6 +13,7 @@ import { S as ScreenCaptureRegion } from './screenRegion-Ci_RsCzG.js';
13
13
  * the best supported option, falling back to whatever the browser hands
14
14
  * back when no probe succeeds.
15
15
  */
16
+
16
17
  /** What the recorded stream is intended to capture. */
17
18
  type CaptureKind = 'audio' | 'video';
18
19
  /** A probed format choice — what to pass to `MediaRecorder` and where to write it. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq-editor-react",
3
- "version": "2.13.22",
3
+ "version": "2.13.23",
4
4
  "description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -102,12 +102,12 @@
102
102
  }
103
103
  },
104
104
  "dependencies": {
105
- "@bendyline/squisq": "2.13.15",
105
+ "@bendyline/squisq": "2.13.16",
106
106
  "@bendyline/squisq-calc": "2.11.2",
107
- "@bendyline/squisq-formats": "2.8.17",
108
- "@bendyline/squisq-grid-react": "2.11.44",
109
- "@bendyline/squisq-react": "2.12.27",
110
- "@bendyline/squisq-video-react": "2.5.28",
107
+ "@bendyline/squisq-formats": "2.8.18",
108
+ "@bendyline/squisq-grid-react": "2.11.45",
109
+ "@bendyline/squisq-react": "2.12.28",
110
+ "@bendyline/squisq-video-react": "2.5.29",
111
111
  "@fortawesome/fontawesome-free": "7.3.1",
112
112
  "@tiptap/core": "2.27.3",
113
113
  "@tiptap/extension-heading": "2.27.3",