@bendyline/squisq-editor-react 2.10.3 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7233,6 +7233,23 @@
7233
7233
  --squisq-block-props-surface: var(--squisq-surface);
7234
7234
  --squisq-block-props-surface-hover: var(--squisq-surface-hover);
7235
7235
  --squisq-block-props-input: var(--squisq-input-bg);
7236
+ --squisq-grid-bg: var(--squisq-surface);
7237
+ --squisq-grid-text: var(--squisq-text);
7238
+ --squisq-grid-text-muted: var(--squisq-text-muted);
7239
+ --squisq-grid-text-on-accent: var(--squisq-text-on-accent);
7240
+ --squisq-grid-border: var(--squisq-border);
7241
+ --squisq-grid-border-subtle: var(--squisq-border-subtle);
7242
+ --squisq-grid-header-bg: var(--squisq-surface-subtle);
7243
+ --squisq-grid-header-text: var(--squisq-text-strong);
7244
+ --squisq-grid-input-bg: var(--squisq-input-bg);
7245
+ --squisq-grid-row-hover: var(--squisq-row-hover);
7246
+ --squisq-grid-selection-bg: var(--squisq-accent-subtle);
7247
+ --squisq-grid-selection-border: var(--squisq-accent-border);
7248
+ --squisq-grid-focus-ring: var(--squisq-focus-ring);
7249
+ --squisq-grid-accent: var(--squisq-accent);
7250
+ --squisq-grid-dirty: var(--squisq-warning);
7251
+ --squisq-grid-error: var(--squisq-danger);
7252
+ --squisq-grid-resize-handle: var(--squisq-accent);
7236
7253
  --squisq-layout-accent-text: var(--squisq-accent-strong);
7237
7254
  --squisq-layout-accent-bg: var(--squisq-accent);
7238
7255
  --squisq-layout-accent-bg-hover: var(--squisq-accent-hover);
@@ -9261,28 +9278,28 @@
9261
9278
  }
9262
9279
  .squisq-wysiwyg-editor h1 {
9263
9280
  font-size: 2em;
9264
- margin: 0.45em 0 0.4em;
9281
+ margin: calc(0.45em + 4px) 0 calc(0.4em - 2px);
9265
9282
  }
9266
9283
  .squisq-wysiwyg-editor h2 {
9267
9284
  font-size: 1.5em;
9268
- margin: 0.8em 0 0.25em;
9285
+ margin: calc(0.8em + 4px) 0 0.25em;
9269
9286
  }
9270
9287
  .squisq-wysiwyg-editor h3 {
9271
9288
  font-size: 1.17em;
9272
9289
  min-height: 26px;
9273
- margin: 1.3em 0 0.3em;
9290
+ margin: calc(1.3em + 4px) 0 0.3em;
9274
9291
  }
9275
9292
  .squisq-wysiwyg-editor h4 {
9276
9293
  font-size: 1em;
9277
- margin: 1.4em 0 0.3em;
9294
+ margin: calc(1.4em + 4px) 0 0.3em;
9278
9295
  }
9279
9296
  .squisq-wysiwyg-editor h5 {
9280
9297
  font-size: 0.83em;
9281
- margin: 1.5em 0 0.3em;
9298
+ margin: calc(1.5em + 4px) 0 0.3em;
9282
9299
  }
9283
9300
  .squisq-wysiwyg-editor h6 {
9284
9301
  font-size: 0.67em;
9285
- margin: 1.6em 0 0.3em;
9302
+ margin: calc(1.6em + 4px) 0 0.3em;
9286
9303
  }
9287
9304
  .squisq-heading-content:has(> br.ProseMirror-trailingBreak:only-child) {
9288
9305
  display: inline-block;
@@ -9294,6 +9311,9 @@
9294
9311
  margin: 0.625em 0;
9295
9312
  line-height: var(--squisq-write-line-spacing, 1.7);
9296
9313
  }
9314
+ .squisq-wysiwyg-editor :is(h1, h2, h3, h4, h5, h6) + p {
9315
+ margin-top: calc(0.625em - 2px);
9316
+ }
9297
9317
  .squisq-wysiwyg-editor blockquote {
9298
9318
  border-left: 3px solid var(--squisq-theme-text-muted, var(--squisq-border));
9299
9319
  padding-left: 16px;
@@ -9385,12 +9405,14 @@
9385
9405
  border-collapse: collapse;
9386
9406
  margin: 1em 0;
9387
9407
  width: 100%;
9408
+ table-layout: fixed;
9388
9409
  }
9389
9410
  .squisq-wysiwyg-editor th,
9390
9411
  .squisq-wysiwyg-editor td {
9391
9412
  border: 1px solid var(--squisq-border);
9392
9413
  padding: 6px 12px;
9393
9414
  text-align: left;
9415
+ overflow-wrap: break-word;
9394
9416
  }
9395
9417
  .squisq-wysiwyg-editor th {
9396
9418
  background: var(--squisq-surface-subtle);
@@ -10665,6 +10687,11 @@
10665
10687
  outline: 2px solid var(--squisq-accent-border);
10666
10688
  outline-offset: -2px;
10667
10689
  }
10690
+ .squisq-media-bin-item--highlight {
10691
+ background: var(--squisq-accent-subtle);
10692
+ outline: 1px solid var(--squisq-accent-border);
10693
+ outline-offset: -1px;
10694
+ }
10668
10695
  .squisq-media-bin-thumb {
10669
10696
  width: 32px;
10670
10697
  height: 32px;
@@ -11944,7 +11971,6 @@
11944
11971
  min-height: 0;
11945
11972
  position: relative;
11946
11973
  display: flex;
11947
- padding: 6px 0;
11948
11974
  }
11949
11975
  .squisq-block-card-body > .squisq-raw-editor-container,
11950
11976
  .squisq-block-card-body > .squisq-wysiwyg-container {
@@ -11953,12 +11979,8 @@
11953
11979
  min-height: 0;
11954
11980
  }
11955
11981
  .squisq-block-card-body .squisq-wysiwyg-editor {
11956
- border-top: 1px solid var(--squisq-desk-border);
11957
- border-bottom: 1px solid var(--squisq-desk-border);
11958
- }
11959
- .squisq-block-card-body > .squisq-raw-editor-container {
11960
- border-top: 1px solid var(--squisq-desk-border);
11961
- border-bottom: 1px solid var(--squisq-desk-border);
11982
+ max-width: none;
11983
+ margin: 0;
11962
11984
  }
11963
11985
  .squisq-block-card-nav {
11964
11986
  display: flex;
@@ -11996,11 +12018,6 @@
11996
12018
  .squisq-block-card-add {
11997
12019
  margin-left: 8px;
11998
12020
  }
11999
- .squisq-editor-shell[data-theme=dark] .squisq-block-card-body .squisq-wysiwyg-editor,
12000
- .squisq-editor-shell[data-theme=dark] .squisq-block-card-body > .squisq-raw-editor-container {
12001
- border-top-color: var(--squisq-desk-border);
12002
- border-bottom-color: var(--squisq-desk-border);
12003
- }
12004
12021
  .squisq-editor-shell[data-theme=dark] .squisq-block-card-nav {
12005
12022
  background: var(--squisq-surface);
12006
12023
  }
@@ -16268,6 +16285,53 @@
16268
16285
  color: var(--squisq-text);
16269
16286
  font-weight: 600;
16270
16287
  }
16288
+ .squisq-code-snippet-copy {
16289
+ display: inline-flex;
16290
+ flex: none;
16291
+ align-items: center;
16292
+ gap: 5px;
16293
+ margin-left: auto;
16294
+ padding: 2px 8px;
16295
+ border: 1px solid transparent;
16296
+ border-radius: 5px;
16297
+ background: transparent;
16298
+ color: var(--squisq-text-muted);
16299
+ font: inherit;
16300
+ line-height: 1.6;
16301
+ cursor: pointer;
16302
+ transition:
16303
+ background 120ms ease,
16304
+ color 120ms ease,
16305
+ opacity 120ms ease;
16306
+ }
16307
+ .squisq-code-snippet-copy[data-copy-state=idle] {
16308
+ opacity: 0;
16309
+ }
16310
+ .squisq-code-snippet-shell:hover .squisq-code-snippet-copy[data-copy-state=idle],
16311
+ .squisq-code-snippet-shell:focus-within .squisq-code-snippet-copy[data-copy-state=idle] {
16312
+ opacity: 1;
16313
+ }
16314
+ @media (hover: none) {
16315
+ .squisq-code-snippet-copy[data-copy-state=idle] {
16316
+ opacity: 1;
16317
+ }
16318
+ }
16319
+ .squisq-code-snippet-copy:hover {
16320
+ border-color: var(--squisq-border);
16321
+ background: var(--squisq-surface-hover);
16322
+ color: var(--squisq-text);
16323
+ }
16324
+ .squisq-code-snippet-copy:focus-visible {
16325
+ opacity: 1;
16326
+ outline: 2px solid var(--squisq-accent);
16327
+ outline-offset: 1px;
16328
+ }
16329
+ .squisq-code-snippet-copy[data-copy-state=copied] {
16330
+ color: var(--squisq-success);
16331
+ }
16332
+ .squisq-code-snippet-copy[data-copy-state=failed] {
16333
+ color: var(--squisq-danger-strong);
16334
+ }
16271
16335
  .squisq-code-snippet-editor {
16272
16336
  position: relative;
16273
16337
  min-height: 0;
@@ -16454,6 +16518,470 @@
16454
16518
  margin: 0.6rem 0;
16455
16519
  }
16456
16520
 
16521
+ /* src/styles/data-card.css */
16522
+ .squisq-wysiwyg-editor p.squisq-data-card-hidden {
16523
+ display: none;
16524
+ }
16525
+ .squisq-data-card-host {
16526
+ margin: 0.6rem 0;
16527
+ }
16528
+ .squisq-data-card {
16529
+ border: 1px solid var(--squisq-border);
16530
+ border-radius: 8px;
16531
+ background: var(--squisq-surface);
16532
+ color: var(--squisq-text);
16533
+ font-size: 0.85rem;
16534
+ overflow: hidden;
16535
+ }
16536
+ .squisq-data-card--missing {
16537
+ border-style: dashed;
16538
+ border-color: var(--squisq-warning-border);
16539
+ background: var(--squisq-warning-soft);
16540
+ }
16541
+ .squisq-data-card-header {
16542
+ display: flex;
16543
+ align-items: center;
16544
+ gap: 0.5rem;
16545
+ padding: 0.5rem 0.75rem;
16546
+ }
16547
+ .squisq-data-card-icon {
16548
+ flex: none;
16549
+ }
16550
+ .squisq-data-card-name {
16551
+ font-weight: 600;
16552
+ color: var(--squisq-text-strong);
16553
+ overflow: hidden;
16554
+ text-overflow: ellipsis;
16555
+ white-space: nowrap;
16556
+ }
16557
+ .squisq-data-card-meta {
16558
+ color: var(--squisq-text-soft);
16559
+ flex: 1 1 auto;
16560
+ overflow: hidden;
16561
+ text-overflow: ellipsis;
16562
+ white-space: nowrap;
16563
+ }
16564
+ .squisq-data-card-action {
16565
+ flex: none;
16566
+ border: 1px solid var(--squisq-border);
16567
+ border-radius: 6px;
16568
+ background: var(--squisq-surface-subtle);
16569
+ color: var(--squisq-text);
16570
+ font: inherit;
16571
+ font-size: 0.78rem;
16572
+ padding: 0.2rem 0.55rem;
16573
+ cursor: pointer;
16574
+ }
16575
+ .squisq-data-card-action:hover {
16576
+ background: var(--squisq-surface-hover);
16577
+ }
16578
+ .squisq-data-card-preview {
16579
+ border-top: 1px solid var(--squisq-border-subtle);
16580
+ padding: 0.4rem 0.75rem 0.55rem;
16581
+ overflow-x: auto;
16582
+ }
16583
+ .squisq-data-card-preview table {
16584
+ border-collapse: collapse;
16585
+ width: 100%;
16586
+ font-size: 0.78rem;
16587
+ }
16588
+ .squisq-data-card-preview th,
16589
+ .squisq-data-card-preview td {
16590
+ text-align: left;
16591
+ padding: 0.15rem 0.6rem 0.15rem 0;
16592
+ border-bottom: 1px solid var(--squisq-border-subtle);
16593
+ white-space: nowrap;
16594
+ max-width: 12rem;
16595
+ overflow: hidden;
16596
+ text-overflow: ellipsis;
16597
+ }
16598
+ .squisq-data-card-preview th {
16599
+ color: var(--squisq-text-soft);
16600
+ font-weight: 600;
16601
+ }
16602
+ .squisq-data-card-preview tr:last-child td {
16603
+ border-bottom: none;
16604
+ }
16605
+ .squisq-data-card-truncation {
16606
+ margin-top: 0.3rem;
16607
+ color: var(--squisq-text-muted);
16608
+ font-size: 0.72rem;
16609
+ }
16610
+ .squisq-data-card-error {
16611
+ padding: 0.4rem 0.75rem;
16612
+ border-top: 1px solid var(--squisq-border-subtle);
16613
+ color: var(--squisq-danger-strong);
16614
+ font-size: 0.72rem;
16615
+ }
16616
+ .squisq-data-card .squisq-data-card-grid {
16617
+ border: none;
16618
+ border-radius: 0;
16619
+ border-top: 1px solid var(--squisq-border-subtle);
16620
+ }
16621
+ .squisq-block-card-body .squisq-wysiwyg-editor:has(> .squisq-block-fill-available:last-child) {
16622
+ display: flex;
16623
+ flex-direction: column;
16624
+ box-sizing: border-box;
16625
+ }
16626
+ .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-block-fill-available:last-child {
16627
+ display: flex;
16628
+ flex: 1 0 auto;
16629
+ flex-direction: column;
16630
+ }
16631
+ .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-data-card-host:last-child > .squisq-data-card,
16632
+ .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-data-card-host:last-child > .squisq-data-card > .squisq-data-card-grid {
16633
+ display: flex;
16634
+ flex: 1 1 auto;
16635
+ flex-direction: column;
16636
+ min-height: 0;
16637
+ }
16638
+ .squisq-block-card-body .squisq-wysiwyg-editor > .squisq-data-card-host:last-child .squisq-grid-scroller {
16639
+ flex: 1 1 420px;
16640
+ min-height: 0;
16641
+ }
16642
+
16643
+ /* ../grid-react/dist/styles/index.css */
16644
+ .squisq-grid {
16645
+ position: relative;
16646
+ display: flex;
16647
+ flex-direction: column;
16648
+ border: 1px solid var(--squisq-grid-border, #d1d5db);
16649
+ border-radius: 8px;
16650
+ background: var(--squisq-grid-bg, #ffffff);
16651
+ color: var(--squisq-grid-text, #1f2937);
16652
+ font-size: 0.82rem;
16653
+ overflow: hidden;
16654
+ }
16655
+ .squisq-grid-scroller {
16656
+ overflow: auto;
16657
+ overscroll-behavior: contain;
16658
+ position: relative;
16659
+ }
16660
+ .squisq-grid-header {
16661
+ display: grid;
16662
+ position: sticky;
16663
+ top: 0;
16664
+ z-index: 2;
16665
+ background: var(--squisq-grid-header-bg, #f9fafb);
16666
+ border-bottom: 1px solid var(--squisq-grid-border, #d1d5db);
16667
+ width: max-content;
16668
+ min-width: 100%;
16669
+ }
16670
+ .squisq-grid-headercell {
16671
+ position: relative;
16672
+ display: flex;
16673
+ flex-direction: column;
16674
+ border-right: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16675
+ min-width: 0;
16676
+ }
16677
+ .squisq-grid-sortbutton {
16678
+ display: flex;
16679
+ align-items: center;
16680
+ gap: 4px;
16681
+ border: none;
16682
+ background: none;
16683
+ font: inherit;
16684
+ font-weight: 600;
16685
+ color: var(--squisq-grid-header-text, #374151);
16686
+ padding: 4px 8px 2px;
16687
+ cursor: pointer;
16688
+ text-align: left;
16689
+ min-width: 0;
16690
+ }
16691
+ .squisq-grid-colname {
16692
+ overflow: hidden;
16693
+ text-overflow: ellipsis;
16694
+ white-space: nowrap;
16695
+ }
16696
+ .squisq-grid-sortmark {
16697
+ flex: none;
16698
+ font-size: 0.65rem;
16699
+ color: var(--squisq-grid-accent, #2563eb);
16700
+ }
16701
+ .squisq-grid-filterrow {
16702
+ position: relative;
16703
+ display: flex;
16704
+ align-items: stretch;
16705
+ gap: 3px;
16706
+ margin: 0 6px 4px;
16707
+ min-width: 0;
16708
+ }
16709
+ .squisq-grid-opbutton {
16710
+ flex: none;
16711
+ display: flex;
16712
+ align-items: center;
16713
+ justify-content: center;
16714
+ gap: 1px;
16715
+ min-width: 26px;
16716
+ white-space: nowrap;
16717
+ padding: 0;
16718
+ border: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16719
+ border-radius: 4px;
16720
+ background: var(--squisq-grid-input-bg, #ffffff);
16721
+ color: var(--squisq-grid-text-muted, #6b7280);
16722
+ font: inherit;
16723
+ font-size: 0.7rem;
16724
+ font-weight: 600;
16725
+ cursor: pointer;
16726
+ }
16727
+ .squisq-grid-opbutton:hover {
16728
+ color: var(--squisq-grid-text, #1f2937);
16729
+ }
16730
+ .squisq-grid-opbutton--cs .squisq-grid-opglyph {
16731
+ text-decoration: underline;
16732
+ color: var(--squisq-grid-accent, #2563eb);
16733
+ }
16734
+ .squisq-grid-opcaret {
16735
+ font-size: 0.55rem;
16736
+ line-height: 1;
16737
+ }
16738
+ .squisq-grid-opmenu {
16739
+ position: absolute;
16740
+ z-index: 3;
16741
+ min-width: 150px;
16742
+ padding: 3px;
16743
+ display: flex;
16744
+ flex-direction: column;
16745
+ border: 1px solid var(--squisq-grid-border, #d1d5db);
16746
+ border-radius: 6px;
16747
+ background: var(--squisq-grid-bg, #ffffff);
16748
+ box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
16749
+ font-weight: 400;
16750
+ }
16751
+ .squisq-grid-opoption {
16752
+ display: flex;
16753
+ align-items: center;
16754
+ white-space: nowrap;
16755
+ gap: 8px;
16756
+ border: none;
16757
+ border-radius: 4px;
16758
+ background: none;
16759
+ color: var(--squisq-grid-text, #1f2937);
16760
+ font: inherit;
16761
+ font-size: 0.74rem;
16762
+ text-align: left;
16763
+ padding: 3px 8px;
16764
+ cursor: pointer;
16765
+ }
16766
+ .squisq-grid-opoption:hover {
16767
+ background: var(--squisq-grid-row-hover, #f3f4f6);
16768
+ }
16769
+ .squisq-grid-opoption--active {
16770
+ background: var(--squisq-grid-selection-bg, #eff6ff);
16771
+ }
16772
+ .squisq-grid-opclear {
16773
+ margin-bottom: 2px;
16774
+ padding-bottom: 4px;
16775
+ border-bottom: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16776
+ border-radius: 4px 4px 0 0;
16777
+ color: var(--squisq-grid-text-muted, #6b7280);
16778
+ font-style: italic;
16779
+ }
16780
+ .squisq-grid-opoption .squisq-grid-opglyph {
16781
+ flex: none;
16782
+ min-width: 24px;
16783
+ text-align: center;
16784
+ font-weight: 600;
16785
+ white-space: nowrap;
16786
+ color: var(--squisq-grid-text-muted, #6b7280);
16787
+ }
16788
+ .squisq-grid-opcase {
16789
+ display: flex;
16790
+ align-items: center;
16791
+ gap: 6px;
16792
+ margin-top: 2px;
16793
+ padding: 4px 8px;
16794
+ border-top: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16795
+ font-size: 0.72rem;
16796
+ color: var(--squisq-grid-text, #1f2937);
16797
+ cursor: pointer;
16798
+ }
16799
+ .squisq-grid-filterinput {
16800
+ flex: 1 1 auto;
16801
+ padding: 1px 6px;
16802
+ font: inherit;
16803
+ font-size: 0.72rem;
16804
+ font-weight: 400;
16805
+ border: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16806
+ border-radius: 4px;
16807
+ background: var(--squisq-grid-input-bg, #ffffff);
16808
+ color: var(--squisq-grid-text, #1f2937);
16809
+ min-width: 0;
16810
+ }
16811
+ .squisq-grid-valuebutton {
16812
+ flex: none;
16813
+ width: 18px;
16814
+ padding: 0;
16815
+ border: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16816
+ border-radius: 4px;
16817
+ background: var(--squisq-grid-input-bg, #ffffff);
16818
+ color: var(--squisq-grid-text-muted, #6b7280);
16819
+ font: inherit;
16820
+ font-size: 0.55rem;
16821
+ cursor: pointer;
16822
+ }
16823
+ .squisq-grid-valuebutton:hover {
16824
+ color: var(--squisq-grid-text, #1f2937);
16825
+ }
16826
+ .squisq-grid-valuemenu {
16827
+ position: absolute;
16828
+ z-index: 3;
16829
+ min-width: 150px;
16830
+ max-width: 260px;
16831
+ max-height: 260px;
16832
+ overflow-y: auto;
16833
+ padding: 3px;
16834
+ display: flex;
16835
+ flex-direction: column;
16836
+ border: 1px solid var(--squisq-grid-border, #d1d5db);
16837
+ border-radius: 6px;
16838
+ background: var(--squisq-grid-bg, #ffffff);
16839
+ box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
16840
+ font-weight: 400;
16841
+ }
16842
+ .squisq-grid-valueoption {
16843
+ display: block;
16844
+ overflow: hidden;
16845
+ text-overflow: ellipsis;
16846
+ }
16847
+ .squisq-grid-valuemenu-note {
16848
+ padding: 4px 8px;
16849
+ border-top: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16850
+ color: var(--squisq-grid-text-muted, #6b7280);
16851
+ font-size: 0.7rem;
16852
+ font-style: italic;
16853
+ }
16854
+ .squisq-grid-filterinput:disabled {
16855
+ background: var(--squisq-grid-row-hover, #f3f4f6);
16856
+ color: var(--squisq-grid-text-muted, #6b7280);
16857
+ font-style: italic;
16858
+ cursor: default;
16859
+ }
16860
+ .squisq-grid-resizer {
16861
+ position: absolute;
16862
+ top: 0;
16863
+ right: -3px;
16864
+ width: 6px;
16865
+ height: 100%;
16866
+ cursor: col-resize;
16867
+ z-index: 1;
16868
+ }
16869
+ .squisq-grid-resizer:hover {
16870
+ background: var(--squisq-grid-resize-handle, #2563eb);
16871
+ opacity: 0.5;
16872
+ }
16873
+ .squisq-grid-body {
16874
+ position: relative;
16875
+ width: max-content;
16876
+ min-width: 100%;
16877
+ }
16878
+ .squisq-grid-row {
16879
+ display: grid;
16880
+ position: absolute;
16881
+ top: 0;
16882
+ left: 0;
16883
+ width: max-content;
16884
+ min-width: 100%;
16885
+ }
16886
+ .squisq-grid-row:hover .squisq-grid-cell {
16887
+ background: var(--squisq-grid-row-hover, #f3f4f6);
16888
+ }
16889
+ .squisq-grid-cell {
16890
+ padding: 4px 8px;
16891
+ border-right: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16892
+ border-bottom: 1px solid var(--squisq-grid-border-subtle, #e5e7eb);
16893
+ overflow: hidden;
16894
+ text-overflow: ellipsis;
16895
+ white-space: nowrap;
16896
+ outline: none;
16897
+ min-width: 0;
16898
+ }
16899
+ .squisq-grid-cell--num {
16900
+ text-align: right;
16901
+ font-variant-numeric: tabular-nums;
16902
+ }
16903
+ .squisq-grid-cell--selected,
16904
+ .squisq-grid-row:hover .squisq-grid-cell--selected {
16905
+ background: var(--squisq-grid-selection-bg, #eff6ff);
16906
+ }
16907
+ .squisq-grid-cell--focus {
16908
+ box-shadow: inset 0 0 0 2px var(--squisq-grid-focus-ring, #2563eb);
16909
+ }
16910
+ .squisq-grid:not(:focus-within) .squisq-grid-cell--focus {
16911
+ box-shadow: inset 0 0 0 2px var(--squisq-grid-border, #d1d5db);
16912
+ }
16913
+ .squisq-grid-cell--dirty {
16914
+ box-shadow: inset 2px 0 0 0 var(--squisq-grid-dirty, #d97706);
16915
+ }
16916
+ .squisq-grid-cell--locked {
16917
+ color: var(--squisq-grid-text-muted, #6b7280);
16918
+ cursor: not-allowed;
16919
+ }
16920
+ .squisq-grid-cell--formula {
16921
+ font-style: italic;
16922
+ }
16923
+ .squisq-grid-editor {
16924
+ width: 100%;
16925
+ height: 100%;
16926
+ border: none;
16927
+ outline: none;
16928
+ font: inherit;
16929
+ padding: 0;
16930
+ background: var(--squisq-grid-input-bg, #ffffff);
16931
+ color: var(--squisq-grid-text, #1f2937);
16932
+ }
16933
+ .squisq-grid-editor--error {
16934
+ box-shadow: inset 0 0 0 2px var(--squisq-grid-error, #dc2626);
16935
+ }
16936
+ .squisq-grid-footer {
16937
+ display: flex;
16938
+ align-items: center;
16939
+ gap: 12px;
16940
+ padding: 4px 10px;
16941
+ border-top: 1px solid var(--squisq-grid-border, #d1d5db);
16942
+ background: var(--squisq-grid-header-bg, #f9fafb);
16943
+ font-size: 0.74rem;
16944
+ color: var(--squisq-grid-text-muted, #6b7280);
16945
+ }
16946
+ .squisq-grid-status {
16947
+ flex: 1 1 auto;
16948
+ overflow: hidden;
16949
+ text-overflow: ellipsis;
16950
+ white-space: nowrap;
16951
+ }
16952
+ .squisq-grid-refresh,
16953
+ .squisq-grid-save,
16954
+ .squisq-grid-discard {
16955
+ border: 1px solid var(--squisq-grid-border, #d1d5db);
16956
+ border-radius: 5px;
16957
+ background: var(--squisq-grid-bg, #ffffff);
16958
+ color: var(--squisq-grid-text, #1f2937);
16959
+ font: inherit;
16960
+ font-size: 0.72rem;
16961
+ padding: 2px 8px;
16962
+ cursor: pointer;
16963
+ }
16964
+ .squisq-grid-save {
16965
+ background: var(--squisq-grid-accent, #2563eb);
16966
+ border-color: var(--squisq-grid-accent, #2563eb);
16967
+ color: var(--squisq-grid-text-on-accent, #ffffff);
16968
+ }
16969
+ .squisq-grid-save:disabled,
16970
+ .squisq-grid-discard:disabled {
16971
+ opacity: 0.6;
16972
+ cursor: default;
16973
+ }
16974
+ .squisq-grid-dirtybar {
16975
+ display: flex;
16976
+ align-items: center;
16977
+ gap: 8px;
16978
+ color: var(--squisq-grid-dirty, #d97706);
16979
+ font-weight: 600;
16980
+ }
16981
+ .squisq-grid-readonly {
16982
+ font-style: italic;
16983
+ }
16984
+
16457
16985
  /* src/styles/ascii-timeline.css */
16458
16986
  .squisq-wysiwyg-editor pre.squisq-ascii-timeline-fence-hidden {
16459
16987
  display: none;
@@ -17474,7 +18002,7 @@ button.squisq-ascii-timeline-track-name:focus-visible {
17474
18002
  }
17475
18003
  .squisq-scene-dot {
17476
18004
  fill: var(--squisq-text-muted);
17477
- fill-opacity: 0.35;
18005
+ fill-opacity: 0.22;
17478
18006
  }
17479
18007
  .squisq-scene-selection-outline {
17480
18008
  fill: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq-editor-react",
3
- "version": "2.10.3",
3
+ "version": "2.11.1",
4
4
  "description": "React editor shell with raw/WYSIWYG/preview modes for Squisq documents",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -94,10 +94,12 @@
94
94
  }
95
95
  },
96
96
  "dependencies": {
97
- "@bendyline/squisq": "2.10.0",
98
- "@bendyline/squisq-formats": "2.5.1",
99
- "@bendyline/squisq-react": "2.10.1",
100
- "@bendyline/squisq-video-react": "2.4.3",
97
+ "@bendyline/squisq": "2.11.1",
98
+ "@bendyline/squisq-calc": "2.11.0",
99
+ "@bendyline/squisq-formats": "2.6.1",
100
+ "@bendyline/squisq-grid-react": "2.11.2",
101
+ "@bendyline/squisq-react": "2.11.1",
102
+ "@bendyline/squisq-video-react": "2.4.5",
101
103
  "@fortawesome/fontawesome-free": "7.2.0",
102
104
  "@tiptap/core": "2.27.2",
103
105
  "@tiptap/extension-heading": "2.27.2",