@bendyline/squisq-editor-react 2.11.7 → 2.11.9

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.
@@ -7982,10 +7982,15 @@
7982
7982
  .squisq-toolbar-button > i {
7983
7983
  font-size: 15px;
7984
7984
  line-height: 1;
7985
+ }
7986
+ .squisq-toolbar-button > i,
7987
+ .squisq-toolbar-button > .squisq-toolbar-text-glyph {
7985
7988
  color: var(--squisq-toolbar-icon);
7986
7989
  }
7987
7990
  .squisq-toolbar-button:hover > i,
7988
- .squisq-toolbar-button--active > i {
7991
+ .squisq-toolbar-button--active > i,
7992
+ .squisq-toolbar-button:hover > .squisq-toolbar-text-glyph,
7993
+ .squisq-toolbar-button--active > .squisq-toolbar-text-glyph {
7989
7994
  color: inherit;
7990
7995
  }
7991
7996
  @media (max-width: 768px) {
@@ -15539,6 +15544,437 @@
15539
15544
  color: var(--squisq-danger);
15540
15545
  }
15541
15546
 
15547
+ /* src/styles/media-edit.css */
15548
+ .squisq-media-edit-modal {
15549
+ position: fixed;
15550
+ inset: 0;
15551
+ display: flex;
15552
+ align-items: center;
15553
+ justify-content: center;
15554
+ background: var(--squisq-scrim);
15555
+ z-index: 1000;
15556
+ padding: 24px;
15557
+ }
15558
+ .squisq-media-edit-modal__surface {
15559
+ display: flex;
15560
+ flex-direction: column;
15561
+ width: min(560px, 100%);
15562
+ max-height: 100%;
15563
+ background: var(--squisq-surface);
15564
+ color: var(--squisq-editor-text);
15565
+ border-radius: 6px;
15566
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
15567
+ overflow: hidden;
15568
+ font: 400 13px/1.4 var(--squisq-ux-font, system-ui, -apple-system, sans-serif);
15569
+ }
15570
+ .squisq-media-edit-modal__header,
15571
+ .squisq-media-edit-modal__footer {
15572
+ display: flex;
15573
+ align-items: center;
15574
+ gap: 12px;
15575
+ padding: 8px 12px;
15576
+ background: var(--squisq-bg);
15577
+ }
15578
+ .squisq-media-edit-modal__header {
15579
+ border-bottom: 1px solid var(--squisq-editor-control-border);
15580
+ font-weight: 500;
15581
+ }
15582
+ .squisq-media-edit-modal__footer {
15583
+ border-top: 1px solid var(--squisq-editor-control-border);
15584
+ }
15585
+ .squisq-media-edit-modal__title {
15586
+ font-weight: 600;
15587
+ }
15588
+ .squisq-media-edit-modal__path {
15589
+ flex: 1;
15590
+ color: var(--squisq-text-muted);
15591
+ font-family:
15592
+ ui-monospace,
15593
+ SFMono-Regular,
15594
+ Menlo,
15595
+ monospace;
15596
+ font-size: 12px;
15597
+ overflow: hidden;
15598
+ text-overflow: ellipsis;
15599
+ white-space: nowrap;
15600
+ }
15601
+ .squisq-media-edit-modal__close {
15602
+ width: 28px;
15603
+ height: 28px;
15604
+ padding: 0;
15605
+ font-size: 22px;
15606
+ line-height: 1;
15607
+ background: transparent;
15608
+ border: 1px solid transparent;
15609
+ border-radius: 4px;
15610
+ color: inherit;
15611
+ cursor: pointer;
15612
+ }
15613
+ .squisq-media-edit-modal__close:hover {
15614
+ background: var(--squisq-editor-control-bg-hover);
15615
+ }
15616
+ .squisq-media-edit-modal__surface--tabbed {
15617
+ height: min(640px, 100%);
15618
+ }
15619
+ .squisq-media-edit-modal__body {
15620
+ flex: 1;
15621
+ overflow: auto;
15622
+ padding: 12px 16px 16px;
15623
+ }
15624
+ .squisq-media-edit-tabs {
15625
+ display: flex;
15626
+ gap: 4px;
15627
+ padding: 0 16px;
15628
+ border-bottom: 1px solid var(--squisq-border-subtle);
15629
+ }
15630
+ .squisq-media-edit-modal button.squisq-media-edit-tab {
15631
+ display: inline-flex;
15632
+ align-items: center;
15633
+ gap: 6px;
15634
+ min-height: 0;
15635
+ margin-bottom: -1px;
15636
+ padding: 10px 8px 8px;
15637
+ border: none;
15638
+ border-bottom: 2px solid transparent;
15639
+ border-radius: 0;
15640
+ background: transparent;
15641
+ color: var(--squisq-text-muted);
15642
+ font-weight: 500;
15643
+ }
15644
+ .squisq-media-edit-modal button.squisq-media-edit-tab:hover:not(:disabled) {
15645
+ background: transparent;
15646
+ color: var(--squisq-text);
15647
+ }
15648
+ .squisq-media-edit-modal button.squisq-media-edit-tab[aria-selected=true] {
15649
+ color: var(--squisq-text);
15650
+ border-bottom-color: var(--squisq-accent);
15651
+ }
15652
+ .squisq-media-edit-tab[data-edited=true]::after {
15653
+ content: "";
15654
+ width: 6px;
15655
+ height: 6px;
15656
+ border-radius: 50%;
15657
+ background: var(--squisq-accent);
15658
+ }
15659
+ .squisq-media-edit-modal__empty {
15660
+ padding: 24px 16px;
15661
+ color: var(--squisq-text-muted);
15662
+ }
15663
+ .squisq-media-edit-modal button,
15664
+ .squisq-media-edit-modal__footer button {
15665
+ min-height: 28px;
15666
+ padding: 4px 10px;
15667
+ border: 1px solid var(--squisq-editor-control-border);
15668
+ border-radius: 4px;
15669
+ background: var(--squisq-editor-control-bg);
15670
+ color: inherit;
15671
+ font: inherit;
15672
+ cursor: pointer;
15673
+ }
15674
+ .squisq-media-edit-modal button:hover:not(:disabled) {
15675
+ background: var(--squisq-editor-control-bg-hover);
15676
+ }
15677
+ .squisq-media-edit-modal button:disabled {
15678
+ opacity: 0.5;
15679
+ cursor: default;
15680
+ }
15681
+ .squisq-media-edit-modal button[aria-pressed=true] {
15682
+ border-color: var(--squisq-accent-border);
15683
+ background: var(--squisq-accent-soft);
15684
+ }
15685
+ .squisq-media-edit-modal button:focus-visible,
15686
+ .squisq-media-edit-modal input:focus-visible {
15687
+ outline: 2px solid var(--squisq-focus-ring);
15688
+ outline-offset: 1px;
15689
+ }
15690
+ .squisq-media-edit-modal__primary {
15691
+ border-color: var(--squisq-accent) !important;
15692
+ background: var(--squisq-accent) !important;
15693
+ color: var(--squisq-bg) !important;
15694
+ }
15695
+ .squisq-media-edit-presets,
15696
+ .squisq-media-edit-chips,
15697
+ .squisq-media-edit-preview__actions {
15698
+ display: flex;
15699
+ flex-wrap: wrap;
15700
+ gap: 6px;
15701
+ }
15702
+ .squisq-media-edit-stages {
15703
+ list-style: none;
15704
+ margin: 12px 0;
15705
+ padding: 0;
15706
+ }
15707
+ .squisq-media-edit-stage {
15708
+ display: grid;
15709
+ grid-template-columns: minmax(150px, auto) 1fr 72px;
15710
+ align-items: center;
15711
+ column-gap: 12px;
15712
+ padding: 8px 0;
15713
+ border-bottom: 1px solid var(--squisq-border-subtle);
15714
+ }
15715
+ .squisq-media-edit-stage__toggle {
15716
+ display: flex;
15717
+ align-items: center;
15718
+ gap: 8px;
15719
+ font-weight: 500;
15720
+ cursor: pointer;
15721
+ }
15722
+ .squisq-media-edit-stage__slider {
15723
+ width: 100%;
15724
+ accent-color: var(--squisq-accent);
15725
+ }
15726
+ .squisq-media-edit-stage__value {
15727
+ text-align: right;
15728
+ font-variant-numeric: tabular-nums;
15729
+ color: var(--squisq-text-muted);
15730
+ }
15731
+ .squisq-media-edit-stage[data-enabled=false] .squisq-media-edit-stage__value {
15732
+ opacity: 0.5;
15733
+ }
15734
+ .squisq-media-edit-stage__hint,
15735
+ .squisq-media-edit-chips {
15736
+ grid-column: 1 / -1;
15737
+ margin: 2px 0 0;
15738
+ }
15739
+ .squisq-media-edit-stage__hint,
15740
+ .squisq-media-edit-note {
15741
+ color: var(--squisq-text-muted);
15742
+ font-size: 12px;
15743
+ }
15744
+ .squisq-media-edit-chips {
15745
+ margin-top: 6px;
15746
+ }
15747
+ .squisq-media-edit-preview {
15748
+ display: grid;
15749
+ gap: 8px;
15750
+ padding: 10px 0;
15751
+ }
15752
+ .squisq-media-edit-preview__from {
15753
+ display: grid;
15754
+ gap: 4px;
15755
+ }
15756
+ .squisq-media-edit-preview__from input {
15757
+ width: 100%;
15758
+ accent-color: var(--squisq-accent);
15759
+ }
15760
+ .squisq-media-edit-preview__actions button {
15761
+ display: inline-flex;
15762
+ align-items: center;
15763
+ gap: 6px;
15764
+ }
15765
+ .squisq-media-edit-icon {
15766
+ flex: none;
15767
+ width: 9px;
15768
+ height: 9px;
15769
+ fill: currentColor;
15770
+ }
15771
+ .squisq-media-edit-playback {
15772
+ display: grid;
15773
+ grid-template-columns: auto 1fr auto;
15774
+ align-items: center;
15775
+ column-gap: 8px;
15776
+ }
15777
+ .squisq-media-edit-playback input {
15778
+ width: 100%;
15779
+ margin: 0;
15780
+ accent-color: var(--squisq-accent);
15781
+ }
15782
+ .squisq-media-edit-playback__label {
15783
+ min-width: 10.5em;
15784
+ color: var(--squisq-text-muted);
15785
+ white-space: nowrap;
15786
+ }
15787
+ .squisq-media-edit-playback[data-playing] .squisq-media-edit-playback__label {
15788
+ color: var(--squisq-text);
15789
+ }
15790
+ .squisq-media-edit-playback__time {
15791
+ color: var(--squisq-text-muted);
15792
+ font-size: 12px;
15793
+ font-variant-numeric: tabular-nums;
15794
+ white-space: nowrap;
15795
+ }
15796
+ .squisq-media-edit-note {
15797
+ margin: 4px 0;
15798
+ }
15799
+ .squisq-media-edit-note--error,
15800
+ .squisq-media-edit-status[data-state=failed] {
15801
+ color: var(--squisq-danger-text);
15802
+ }
15803
+ .squisq-media-edit-status {
15804
+ flex: 1;
15805
+ min-width: 0;
15806
+ margin: 0;
15807
+ font-variant-numeric: tabular-nums;
15808
+ }
15809
+ .squisq-media-edit-badge {
15810
+ flex: none;
15811
+ padding: 2px 8px;
15812
+ border: 1px solid var(--squisq-accent-border);
15813
+ border-radius: 999px;
15814
+ background: var(--squisq-accent-soft);
15815
+ font-size: 12px;
15816
+ font-variant-numeric: tabular-nums;
15817
+ white-space: nowrap;
15818
+ }
15819
+ .squisq-media-edit-badge[data-state=ready] {
15820
+ border-color: var(--squisq-success-border);
15821
+ background: transparent;
15822
+ color: var(--squisq-text-muted);
15823
+ }
15824
+ .squisq-media-edit-badge[data-state=failed] {
15825
+ border-color: var(--squisq-danger-border);
15826
+ background: var(--squisq-danger-soft);
15827
+ color: var(--squisq-danger-text);
15828
+ }
15829
+ .squisq-media-edit-button {
15830
+ display: inline-flex;
15831
+ align-items: center;
15832
+ gap: 4px;
15833
+ }
15834
+ .squisq-media-edit-button[data-edited=true]::after {
15835
+ content: "";
15836
+ width: 6px;
15837
+ height: 6px;
15838
+ border-radius: 50%;
15839
+ background: var(--squisq-accent);
15840
+ }
15841
+ .squisq-media-edit-button[data-processing=true]::after {
15842
+ display: none;
15843
+ }
15844
+ .squisq-media-edit-button__spinner {
15845
+ flex: none;
15846
+ box-sizing: border-box;
15847
+ width: 11px;
15848
+ height: 11px;
15849
+ margin-left: 2px;
15850
+ border: 2px solid var(--squisq-accent);
15851
+ border-right-color: transparent;
15852
+ border-radius: 50%;
15853
+ animation: squisq-media-edit-spin 0.8s linear infinite;
15854
+ }
15855
+ .squisq-media-edit-button__progress {
15856
+ min-width: 3ch;
15857
+ color: var(--squisq-text-muted);
15858
+ font-variant-numeric: tabular-nums;
15859
+ text-align: right;
15860
+ }
15861
+ @keyframes squisq-media-edit-spin {
15862
+ to {
15863
+ transform: rotate(360deg);
15864
+ }
15865
+ }
15866
+ @media (prefers-reduced-motion: reduce) {
15867
+ .squisq-media-edit-button__spinner {
15868
+ animation: none;
15869
+ }
15870
+ }
15871
+ .squisq-audio-node-toolbar {
15872
+ display: inline-flex;
15873
+ align-items: center;
15874
+ margin-left: 6px;
15875
+ vertical-align: middle;
15876
+ }
15877
+ .squisq-timeline-item-menu-action {
15878
+ display: block;
15879
+ width: 100%;
15880
+ margin-top: 8px;
15881
+ padding: 6px 8px;
15882
+ border: 1px solid var(--squisq-editor-control-border);
15883
+ border-radius: 4px;
15884
+ background: var(--squisq-editor-control-bg);
15885
+ color: inherit;
15886
+ font: inherit;
15887
+ text-align: left;
15888
+ cursor: pointer;
15889
+ }
15890
+ .squisq-timeline-item-menu-action:hover {
15891
+ background: var(--squisq-editor-control-bg-hover);
15892
+ }
15893
+ .squisq-timeline-cut-mark {
15894
+ position: absolute;
15895
+ top: 2px;
15896
+ bottom: 2px;
15897
+ width: 0;
15898
+ border-left: 2px dashed var(--squisq-bg);
15899
+ opacity: 0.85;
15900
+ pointer-events: none;
15901
+ }
15902
+ .squisq-media-edit-section {
15903
+ padding-bottom: 12px;
15904
+ }
15905
+ .squisq-media-edit-row {
15906
+ display: grid;
15907
+ grid-template-columns: minmax(150px, auto) 1fr 72px;
15908
+ align-items: center;
15909
+ column-gap: 12px;
15910
+ padding: 6px 0;
15911
+ }
15912
+ .squisq-media-edit-row input[type=range] {
15913
+ width: 100%;
15914
+ accent-color: var(--squisq-accent);
15915
+ }
15916
+ .squisq-media-edit-row output {
15917
+ text-align: right;
15918
+ font-variant-numeric: tabular-nums;
15919
+ color: var(--squisq-text-muted);
15920
+ }
15921
+ .squisq-media-edit-crop {
15922
+ position: relative;
15923
+ width: 100%;
15924
+ max-width: 480px;
15925
+ aspect-ratio: 16 / 9;
15926
+ margin: 8px 0;
15927
+ overflow: hidden;
15928
+ background: var(--squisq-surface-sunken);
15929
+ border-radius: 4px;
15930
+ touch-action: none;
15931
+ }
15932
+ .squisq-media-edit-crop video {
15933
+ display: block;
15934
+ width: 100%;
15935
+ height: 100%;
15936
+ object-fit: fill;
15937
+ }
15938
+ .squisq-media-edit-crop__rect {
15939
+ position: absolute;
15940
+ box-sizing: border-box;
15941
+ border: 2px solid var(--squisq-accent);
15942
+ box-shadow: 0 0 0 9999px var(--squisq-scrim);
15943
+ cursor: move;
15944
+ }
15945
+ .squisq-media-edit-crop__rect:focus-visible {
15946
+ outline: 2px solid var(--squisq-focus-ring);
15947
+ outline-offset: 2px;
15948
+ }
15949
+ .squisq-media-edit-crop__handle {
15950
+ position: absolute;
15951
+ width: 12px;
15952
+ height: 12px;
15953
+ background: var(--squisq-accent);
15954
+ border: 2px solid var(--squisq-bg);
15955
+ border-radius: 2px;
15956
+ }
15957
+ .squisq-media-edit-crop__handle--nw {
15958
+ top: -7px;
15959
+ left: -7px;
15960
+ cursor: nwse-resize;
15961
+ }
15962
+ .squisq-media-edit-crop__handle--ne {
15963
+ top: -7px;
15964
+ right: -7px;
15965
+ cursor: nesw-resize;
15966
+ }
15967
+ .squisq-media-edit-crop__handle--sw {
15968
+ bottom: -7px;
15969
+ left: -7px;
15970
+ cursor: nesw-resize;
15971
+ }
15972
+ .squisq-media-edit-crop__handle--se {
15973
+ bottom: -7px;
15974
+ right: -7px;
15975
+ cursor: nwse-resize;
15976
+ }
15977
+
15542
15978
  /* src/styles/diagram.css */
15543
15979
  .squisq-diagram-widget-host {
15544
15980
  margin: 0.75rem 0 1.25rem;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq-editor-react",
3
- "version": "2.11.7",
3
+ "version": "2.11.9",
4
4
  "description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -98,12 +98,12 @@
98
98
  }
99
99
  },
100
100
  "dependencies": {
101
- "@bendyline/squisq": "2.11.7",
101
+ "@bendyline/squisq": "2.11.8",
102
102
  "@bendyline/squisq-calc": "2.11.0",
103
- "@bendyline/squisq-formats": "2.6.7",
104
- "@bendyline/squisq-grid-react": "2.11.8",
105
- "@bendyline/squisq-react": "2.11.7",
106
- "@bendyline/squisq-video-react": "2.4.11",
103
+ "@bendyline/squisq-formats": "2.6.8",
104
+ "@bendyline/squisq-grid-react": "2.11.9",
105
+ "@bendyline/squisq-react": "2.11.9",
106
+ "@bendyline/squisq-video-react": "2.4.13",
107
107
  "@fortawesome/fontawesome-free": "7.2.0",
108
108
  "@tiptap/core": "2.27.3",
109
109
  "@tiptap/extension-heading": "2.27.3",