@a3s-lab/office 0.13.0 → 0.14.0

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 (52) hide show
  1. package/README.md +40 -5
  2. package/dist/0~6090.js +63 -4
  3. package/dist/0~7048.js +14 -4
  4. package/dist/0~spreadsheet-editor.js +13936 -9125
  5. package/dist/4104.js +1094 -18
  6. package/dist/internal/features/work/editors/office-checkbox.d.ts +3 -2
  7. package/dist/internal/features/work/editors/office-menu-keyboard.d.ts +1 -0
  8. package/dist/internal/features/work/editors/spreadsheet-auto-sum-command.d.ts +3 -0
  9. package/dist/internal/features/work/editors/spreadsheet-auto-sum.d.ts +19 -0
  10. package/dist/internal/features/work/editors/spreadsheet-cell-border-per-cell.d.ts +5 -0
  11. package/dist/internal/features/work/editors/spreadsheet-cell-border.d.ts +15 -1
  12. package/dist/internal/features/work/editors/spreadsheet-cell-format-command.d.ts +3 -0
  13. package/dist/internal/features/work/editors/spreadsheet-cell-format.d.ts +36 -0
  14. package/dist/internal/features/work/editors/spreadsheet-cell-mutation-guard.d.ts +4 -0
  15. package/dist/internal/features/work/editors/spreadsheet-cell-style-command.d.ts +3 -0
  16. package/dist/internal/features/work/editors/spreadsheet-cell-style-ribbon.d.ts +9 -0
  17. package/dist/internal/features/work/editors/spreadsheet-cell-style.d.ts +41 -0
  18. package/dist/internal/features/work/editors/spreadsheet-clipboard-shortcuts.d.ts +1 -0
  19. package/dist/internal/features/work/editors/spreadsheet-clipboard.d.ts +13 -0
  20. package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +253 -0
  21. package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +40 -0
  22. package/dist/internal/features/work/editors/spreadsheet-context-menu.d.ts +5 -15
  23. package/dist/internal/features/work/editors/spreadsheet-editor-ribbon.d.ts +3 -2
  24. package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog-model.d.ts +86 -0
  25. package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog-panels.d.ts +15 -0
  26. package/dist/internal/features/work/editors/spreadsheet-format-cells-dialog.d.ts +8 -0
  27. package/dist/internal/features/work/editors/spreadsheet-go-to.d.ts +24 -0
  28. package/dist/internal/features/work/editors/spreadsheet-keyboard-navigation.d.ts +4 -0
  29. package/dist/internal/features/work/editors/spreadsheet-navigation-command.d.ts +3 -0
  30. package/dist/internal/features/work/editors/spreadsheet-number-format-command.d.ts +24 -0
  31. package/dist/internal/features/work/editors/spreadsheet-number-format.d.ts +15 -3
  32. package/dist/internal/features/work/editors/spreadsheet-paste-special-cell.d.ts +17 -0
  33. package/dist/internal/features/work/editors/spreadsheet-paste-special-dialog.d.ts +9 -0
  34. package/dist/internal/features/work/editors/spreadsheet-paste-special-mode.d.ts +11 -0
  35. package/dist/internal/features/work/editors/spreadsheet-paste-special-plan.d.ts +4 -0
  36. package/dist/internal/features/work/editors/spreadsheet-paste-special-sheet.d.ts +23 -0
  37. package/dist/internal/features/work/editors/spreadsheet-paste-special-snapshot.d.ts +10 -0
  38. package/dist/internal/features/work/editors/spreadsheet-paste-special-types.d.ts +127 -0
  39. package/dist/internal/features/work/editors/spreadsheet-paste-special.d.ts +7 -0
  40. package/dist/internal/features/work/editors/use-spreadsheet-clipboard.d.ts +36 -0
  41. package/dist/internal/features/work/work-xlsx-cell-borders.d.ts +25 -0
  42. package/dist/internal/features/work/work-xlsx-cell-style-writer.d.ts +21 -0
  43. package/dist/internal/features/work/work-xlsx-cell-style-xml.d.ts +17 -0
  44. package/dist/internal/features/work/work-xlsx-cell-styles.d.ts +13 -0
  45. package/dist/internal/features/work/work-xlsx-colors.d.ts +6 -0
  46. package/dist/internal/features/work/work-xlsx-interop.d.ts +3 -1
  47. package/dist/internal/features/work/work-xlsx-worksheet-scan.d.ts +1 -0
  48. package/dist/office-kernel.wasm +0 -0
  49. package/dist/styles.css +665 -1
  50. package/dist/work-spreadsheet-package-scan.worker.js +7 -3
  51. package/docs/latest/en/browser-editor-architecture.md +12 -1
  52. package/package.json +11 -3
package/dist/styles.css CHANGED
@@ -4877,7 +4877,7 @@ html[data-ds-resizing="horizontal"], html[data-ds-resizing="horizontal"] * {
4877
4877
  display: grid;
4878
4878
  }
4879
4879
 
4880
- .work-office-checkbox.checked .work-office-checkbox-box {
4880
+ .work-office-checkbox.checked .work-office-checkbox-box, .work-office-checkbox.indeterminate .work-office-checkbox-box {
4881
4881
  border-color: var(--work-office-control-accent, var(--a3s-blue));
4882
4882
  background: var(--work-office-control-accent, var(--a3s-blue));
4883
4883
  }
@@ -14985,6 +14985,17 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
14985
14985
  grid-template-columns: 20px minmax(0, 1fr);
14986
14986
  }
14987
14987
 
14988
+ .work-spreadsheet-find-select-menu > button, .work-spreadsheet-paste-menu > button {
14989
+ grid-template-columns: 20px minmax(0, 1fr) auto;
14990
+ }
14991
+
14992
+ .work-spreadsheet-ribbon-menu-separator {
14993
+ background: var(--a3s-line);
14994
+ border: 0;
14995
+ height: 1px;
14996
+ margin: 4px 8px;
14997
+ }
14998
+
14988
14999
  .work-spreadsheet-ribbon-menu > button > span:last-child {
14989
15000
  white-space: normal;
14990
15001
  }
@@ -15010,6 +15021,123 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
15010
15021
  color: currentColor;
15011
15022
  }
15012
15023
 
15024
+ .work-spreadsheet-cell-style-panel {
15025
+ gap: 10px;
15026
+ width: min(440px, 100vw - 32px);
15027
+ padding: 9px;
15028
+ display: grid;
15029
+ }
15030
+
15031
+ .work-spreadsheet-cell-style-group {
15032
+ border: 0;
15033
+ gap: 4px;
15034
+ min-width: 0;
15035
+ margin: 0;
15036
+ padding: 0;
15037
+ display: grid;
15038
+ }
15039
+
15040
+ .work-spreadsheet-cell-style-group + .work-spreadsheet-cell-style-group {
15041
+ border-top: 1px solid var(--a3s-line);
15042
+ padding-top: 8px;
15043
+ }
15044
+
15045
+ .work-spreadsheet-cell-style-group-label {
15046
+ color: var(--a3s-faint);
15047
+ padding-inline: 2px;
15048
+ font-size: 11px;
15049
+ font-weight: 650;
15050
+ line-height: 16px;
15051
+ }
15052
+
15053
+ .work-spreadsheet-cell-style-grid {
15054
+ grid-template-columns: repeat(3, minmax(0, 1fr));
15055
+ gap: 4px;
15056
+ display: grid;
15057
+ }
15058
+
15059
+ .work-spreadsheet-cell-style-grid > button {
15060
+ min-width: 0;
15061
+ min-height: 64px;
15062
+ color: var(--a3s-muted);
15063
+ font: inherit;
15064
+ text-align: left;
15065
+ cursor: pointer;
15066
+ background: none;
15067
+ border: 1px solid #0000;
15068
+ border-radius: 7px;
15069
+ outline: 0;
15070
+ align-content: start;
15071
+ gap: 4px;
15072
+ padding: 4px;
15073
+ display: grid;
15074
+ }
15075
+
15076
+ .work-spreadsheet-cell-style-preview {
15077
+ border: 1px solid color-mix(in srgb, currentcolor 28%, var(--a3s-line));
15078
+ text-overflow: ellipsis;
15079
+ white-space: nowrap;
15080
+ border-radius: 4px;
15081
+ align-items: center;
15082
+ min-width: 0;
15083
+ height: 29px;
15084
+ padding-inline: 7px;
15085
+ line-height: 1;
15086
+ display: flex;
15087
+ overflow: hidden;
15088
+ }
15089
+
15090
+ .work-spreadsheet-cell-style-description {
15091
+ min-width: 0;
15092
+ color: var(--a3s-faint);
15093
+ -webkit-line-clamp: 2;
15094
+ -webkit-box-orient: vertical;
15095
+ font-size: 10px;
15096
+ line-height: 13px;
15097
+ display: -webkit-box;
15098
+ overflow: hidden;
15099
+ }
15100
+
15101
+ .work-spreadsheet-cell-style-grid > button:hover:not(:disabled), .work-spreadsheet-cell-style-grid > button:focus-visible {
15102
+ border-color: color-mix(in srgb,
15103
+ var(--work-office-control-accent, #159469) 38%,
15104
+ var(--a3s-line));
15105
+ background: var(--a3s-panel-soft);
15106
+ }
15107
+
15108
+ .work-spreadsheet-cell-style-grid > button:focus-visible {
15109
+ box-shadow: 0 0 0 2px
15110
+ color-mix(in srgb,
15111
+ var(--work-office-control-accent, #159469) 18%,
15112
+ transparent);
15113
+ }
15114
+
15115
+ .work-spreadsheet-cell-style-grid > button[aria-checked="true"] {
15116
+ border-color: color-mix(in srgb,
15117
+ var(--work-office-control-accent, #159469) 58%,
15118
+ var(--a3s-line));
15119
+ background: color-mix(in srgb,
15120
+ var(--work-office-control-accent, #159469) 7%,
15121
+ var(--a3s-panel));
15122
+ }
15123
+
15124
+ .work-spreadsheet-cell-style-grid > button:disabled {
15125
+ cursor: not-allowed;
15126
+ opacity: .42;
15127
+ }
15128
+
15129
+ @media (width <= 520px) {
15130
+ .work-spreadsheet-cell-style-panel {
15131
+ width: min(328px, 100vw - 24px);
15132
+ max-height: calc(100dvh - 24px);
15133
+ padding: 8px;
15134
+ }
15135
+
15136
+ .work-spreadsheet-cell-style-grid {
15137
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15138
+ }
15139
+ }
15140
+
15013
15141
  .work-spreadsheet-border-split-root {
15014
15142
  border-radius: 6px;
15015
15143
  flex: none;
@@ -15475,6 +15603,542 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
15475
15603
  }
15476
15604
  }
15477
15605
 
15606
+ .work-spreadsheet-format-cells-dialog {
15607
+ width: min(680px, 100%);
15608
+ }
15609
+
15610
+ .work-spreadsheet-format-cells-dialog > .ds-dialog-body {
15611
+ padding-top: 0;
15612
+ }
15613
+
15614
+ .work-spreadsheet-format-cells-tabs.ds-tabs {
15615
+ border-bottom: 1px solid var(--a3s-line);
15616
+ scrollbar-width: thin;
15617
+ gap: 0;
15618
+ overflow-x: auto;
15619
+ }
15620
+
15621
+ .work-spreadsheet-format-cells-tabs.ds-tabs > button {
15622
+ flex: 1 0 auto;
15623
+ min-width: max-content;
15624
+ padding-inline: 13px;
15625
+ }
15626
+
15627
+ .work-spreadsheet-format-cells-dialog form {
15628
+ min-height: 290px;
15629
+ }
15630
+
15631
+ .work-spreadsheet-format-cells-panel {
15632
+ outline: 0;
15633
+ min-height: 270px;
15634
+ padding: 20px 2px 4px;
15635
+ }
15636
+
15637
+ .work-spreadsheet-format-cells-grid {
15638
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15639
+ gap: 16px 20px;
15640
+ display: grid;
15641
+ }
15642
+
15643
+ .work-spreadsheet-format-cells-grid.font {
15644
+ align-items: start;
15645
+ }
15646
+
15647
+ .work-spreadsheet-format-cells-field {
15648
+ min-width: 0;
15649
+ color: var(--a3s-muted);
15650
+ gap: 6px;
15651
+ font-size: 11px;
15652
+ font-weight: 600;
15653
+ display: grid;
15654
+ }
15655
+
15656
+ .work-spreadsheet-format-cells-field > .work-office-select, .work-spreadsheet-format-cells-field > .work-office-number-field, .work-spreadsheet-format-cells-field > .work-office-text-field, .work-spreadsheet-format-cells-field > .work-office-color-picker, .work-spreadsheet-format-cells-field > .work-office-select > button[role="combobox"], .work-spreadsheet-format-cells-field .work-office-color-trigger {
15657
+ width: 100%;
15658
+ }
15659
+
15660
+ .work-spreadsheet-format-cells-field > .work-office-text-field {
15661
+ min-height: 29px;
15662
+ }
15663
+
15664
+ .work-spreadsheet-format-cells-number {
15665
+ grid-template-columns: minmax(150px, .7fr) minmax(240px, 1.3fr);
15666
+ gap: 16px 20px;
15667
+ display: grid;
15668
+ }
15669
+
15670
+ .work-spreadsheet-format-cells-number > [role="alert"], .work-spreadsheet-format-cells-grid > [role="alert"] {
15671
+ color: var(--a3s-red);
15672
+ grid-column: 1 / -1;
15673
+ margin: -8px 0 0;
15674
+ font-size: 11px;
15675
+ }
15676
+
15677
+ .work-spreadsheet-format-cells-sample {
15678
+ border: 1px solid var(--a3s-line);
15679
+ background: var(--a3s-panel-soft);
15680
+ border-radius: 10px;
15681
+ grid-column: 1 / -1;
15682
+ grid-template-columns: minmax(0, 1fr) auto;
15683
+ align-content: center;
15684
+ gap: 7px 16px;
15685
+ min-height: 104px;
15686
+ padding: 16px 18px;
15687
+ display: grid;
15688
+ }
15689
+
15690
+ .work-spreadsheet-format-cells-sample > span {
15691
+ color: var(--a3s-muted);
15692
+ grid-column: 1 / -1;
15693
+ font-size: 10px;
15694
+ font-weight: 650;
15695
+ }
15696
+
15697
+ .work-spreadsheet-format-cells-sample > output {
15698
+ color: var(--a3s-ink);
15699
+ text-overflow: ellipsis;
15700
+ white-space: nowrap;
15701
+ font-size: 22px;
15702
+ font-weight: 650;
15703
+ overflow: hidden;
15704
+ }
15705
+
15706
+ .work-spreadsheet-format-cells-sample > small {
15707
+ color: var(--a3s-muted);
15708
+ font-family: var(--font-mono);
15709
+ align-self: center;
15710
+ font-size: 10px;
15711
+ }
15712
+
15713
+ .work-spreadsheet-format-cells-options {
15714
+ border: 1px solid var(--a3s-line);
15715
+ border-radius: 8px;
15716
+ gap: 4px;
15717
+ min-width: 0;
15718
+ margin: 0;
15719
+ padding: 9px 12px;
15720
+ display: grid;
15721
+ }
15722
+
15723
+ .work-spreadsheet-format-cells-options > legend {
15724
+ color: var(--a3s-muted);
15725
+ padding: 0 4px;
15726
+ font-size: 10px;
15727
+ font-weight: 650;
15728
+ }
15729
+
15730
+ .work-spreadsheet-format-cells-options.emphasis {
15731
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15732
+ }
15733
+
15734
+ .work-spreadsheet-format-cells-font-preview {
15735
+ border: 1px solid var(--a3s-line);
15736
+ background: var(--a3s-panel-soft);
15737
+ text-align: center;
15738
+ border-radius: 9px;
15739
+ grid-column: 1 / -1;
15740
+ place-items: center;
15741
+ min-height: 72px;
15742
+ padding: 12px;
15743
+ display: grid;
15744
+ overflow: hidden;
15745
+ }
15746
+
15747
+ .work-spreadsheet-format-cells-border {
15748
+ gap: 18px;
15749
+ display: grid;
15750
+ }
15751
+
15752
+ .work-spreadsheet-format-cells-border-tools {
15753
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15754
+ gap: 20px;
15755
+ display: grid;
15756
+ }
15757
+
15758
+ .work-spreadsheet-format-cells-border-layout {
15759
+ grid-template-columns: minmax(190px, .8fr) minmax(220px, 1.2fr);
15760
+ align-items: center;
15761
+ gap: 24px;
15762
+ display: grid;
15763
+ }
15764
+
15765
+ .work-spreadsheet-format-cells-border-actions {
15766
+ grid-template-columns: repeat(5, 34px);
15767
+ gap: 8px;
15768
+ display: grid;
15769
+ }
15770
+
15771
+ .work-spreadsheet-format-cells-border-actions > .ds-button {
15772
+ grid-column: 1 / -1;
15773
+ justify-self: start;
15774
+ }
15775
+
15776
+ .work-spreadsheet-border-edge {
15777
+ border: 1px solid var(--a3s-line);
15778
+ background: var(--a3s-panel);
15779
+ cursor: pointer;
15780
+ border-radius: 7px;
15781
+ place-items: center;
15782
+ width: 34px;
15783
+ height: 34px;
15784
+ padding: 7px;
15785
+ display: grid;
15786
+ position: relative;
15787
+ }
15788
+
15789
+ .work-spreadsheet-border-edge:hover, .work-spreadsheet-border-edge[aria-pressed="true"] {
15790
+ border-color: color-mix(in srgb, var(--a3s-green) 48%, var(--a3s-line));
15791
+ background: color-mix(in srgb, var(--a3s-green) 9%, var(--a3s-panel));
15792
+ }
15793
+
15794
+ .work-spreadsheet-border-edge > span {
15795
+ border: 1px solid var(--a3s-line-strong);
15796
+ width: 18px;
15797
+ height: 18px;
15798
+ position: relative;
15799
+ }
15800
+
15801
+ .work-spreadsheet-border-edge.top > span {
15802
+ border-top: 2px solid;
15803
+ }
15804
+
15805
+ .work-spreadsheet-border-edge.bottom > span {
15806
+ border-bottom: 2px solid;
15807
+ }
15808
+
15809
+ .work-spreadsheet-border-edge.left > span {
15810
+ border-left: 2px solid;
15811
+ }
15812
+
15813
+ .work-spreadsheet-border-edge.right > span {
15814
+ border-right: 2px solid;
15815
+ }
15816
+
15817
+ .work-spreadsheet-border-edge.diagonal > span:after {
15818
+ content: "";
15819
+ border-top: 2px solid;
15820
+ width: 20px;
15821
+ position: absolute;
15822
+ top: 8px;
15823
+ left: -2px;
15824
+ transform: rotate(-45deg);
15825
+ }
15826
+
15827
+ .work-spreadsheet-format-cells-border-preview {
15828
+ border: 1px dashed var(--a3s-line-strong);
15829
+ background: var(--a3s-panel-soft);
15830
+ justify-self: center;
15831
+ place-items: center;
15832
+ width: min(220px, 100%);
15833
+ height: 126px;
15834
+ display: grid;
15835
+ position: relative;
15836
+ }
15837
+
15838
+ .work-spreadsheet-format-cells-border-preview > span {
15839
+ pointer-events: none;
15840
+ position: absolute;
15841
+ inset: 10px;
15842
+ }
15843
+
15844
+ .work-spreadsheet-format-cells-border-preview > .diagonal {
15845
+ inset: 50% 5%;
15846
+ transform: rotate(-26deg);
15847
+ }
15848
+
15849
+ .work-spreadsheet-format-cells-border-preview > strong {
15850
+ color: var(--a3s-muted);
15851
+ font-size: 12px;
15852
+ font-weight: 600;
15853
+ }
15854
+
15855
+ .work-spreadsheet-format-cells-fill {
15856
+ grid-template-columns: minmax(190px, 1fr) auto;
15857
+ align-items: end;
15858
+ gap: 16px;
15859
+ max-width: 430px;
15860
+ display: grid;
15861
+ }
15862
+
15863
+ .work-spreadsheet-format-cells-fill-preview {
15864
+ border: 1px solid var(--a3s-line);
15865
+ min-height: 118px;
15866
+ color: var(--a3s-ink);
15867
+ border-radius: 9px;
15868
+ grid-column: 1 / -1;
15869
+ place-items: center;
15870
+ font-size: 11px;
15871
+ font-weight: 650;
15872
+ display: grid;
15873
+ }
15874
+
15875
+ .work-spreadsheet-format-cells-fill-preview.empty {
15876
+ background: var(--a3s-panel-soft);
15877
+ color: var(--a3s-muted);
15878
+ }
15879
+
15880
+ .work-spreadsheet-format-cells-protection {
15881
+ gap: 8px;
15882
+ max-width: 460px;
15883
+ display: grid;
15884
+ }
15885
+
15886
+ .work-spreadsheet-format-cells-protection > p, .work-spreadsheet-format-cells-mixed {
15887
+ color: var(--a3s-muted);
15888
+ margin: 8px 0 0;
15889
+ font-size: 11px;
15890
+ line-height: 1.6;
15891
+ }
15892
+
15893
+ .work-spreadsheet-format-cells-mixed {
15894
+ grid-column: 1 / -1;
15895
+ }
15896
+
15897
+ @media (width <= 620px) {
15898
+ .work-spreadsheet-format-cells-dialog form {
15899
+ min-height: 360px;
15900
+ }
15901
+
15902
+ .work-spreadsheet-format-cells-panel {
15903
+ min-height: 340px;
15904
+ }
15905
+
15906
+ .work-spreadsheet-format-cells-grid, .work-spreadsheet-format-cells-number, .work-spreadsheet-format-cells-border-tools, .work-spreadsheet-format-cells-border-layout {
15907
+ grid-template-columns: minmax(0, 1fr);
15908
+ }
15909
+
15910
+ .work-spreadsheet-format-cells-border-layout {
15911
+ align-items: start;
15912
+ }
15913
+
15914
+ .work-spreadsheet-format-cells-border-preview {
15915
+ width: 100%;
15916
+ height: 100px;
15917
+ }
15918
+
15919
+ .work-spreadsheet-format-cells-fill {
15920
+ grid-template-columns: minmax(0, 1fr);
15921
+ }
15922
+
15923
+ .work-spreadsheet-format-cells-fill-preview {
15924
+ grid-column: 1;
15925
+ }
15926
+ }
15927
+
15928
+ .work-spreadsheet-paste-special-dialog {
15929
+ --work-office-control-accent: var(--work-spreadsheet-accent, #159469);
15930
+ width: min(660px, 100%);
15931
+ }
15932
+
15933
+ .work-spreadsheet-paste-special-dialog > .ds-dialog-body {
15934
+ padding-top: 0;
15935
+ }
15936
+
15937
+ .work-spreadsheet-paste-special-source {
15938
+ background: color-mix(in srgb,
15939
+ var(--work-spreadsheet-accent, #159469) 7%,
15940
+ var(--a3s-panel-soft));
15941
+ min-height: 34px;
15942
+ color: var(--a3s-muted);
15943
+ border-radius: 7px;
15944
+ justify-content: space-between;
15945
+ align-items: center;
15946
+ gap: 12px;
15947
+ margin-bottom: 15px;
15948
+ padding: 0 11px;
15949
+ font-size: 11px;
15950
+ display: flex;
15951
+ }
15952
+
15953
+ .work-spreadsheet-paste-special-source strong {
15954
+ color: var(--a3s-ink);
15955
+ font-weight: 650;
15956
+ }
15957
+
15958
+ .work-spreadsheet-paste-special-dialog form {
15959
+ grid-template-columns: minmax(0, 1.55fr) minmax(170px, .75fr);
15960
+ align-items: start;
15961
+ gap: 18px 22px;
15962
+ display: grid;
15963
+ }
15964
+
15965
+ .work-spreadsheet-paste-special-dialog fieldset {
15966
+ border: 0;
15967
+ min-width: 0;
15968
+ margin: 0;
15969
+ padding: 0;
15970
+ }
15971
+
15972
+ .work-spreadsheet-paste-special-dialog legend {
15973
+ width: 100%;
15974
+ color: var(--a3s-muted);
15975
+ margin-bottom: 8px;
15976
+ font-size: 11px;
15977
+ font-weight: 650;
15978
+ }
15979
+
15980
+ .work-spreadsheet-paste-special-modes {
15981
+ grid-row: span 2;
15982
+ }
15983
+
15984
+ .work-spreadsheet-paste-special-modes > div {
15985
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15986
+ gap: 3px;
15987
+ display: grid;
15988
+ }
15989
+
15990
+ .work-spreadsheet-paste-special-modes label {
15991
+ min-height: 37px;
15992
+ color: var(--a3s-ink);
15993
+ cursor: pointer;
15994
+ border-radius: 7px;
15995
+ grid-template-columns: 14px minmax(0, 1fr);
15996
+ align-items: center;
15997
+ gap: 8px;
15998
+ padding: 6px 8px;
15999
+ font-size: 11px;
16000
+ display: grid;
16001
+ position: relative;
16002
+ }
16003
+
16004
+ .work-spreadsheet-paste-special-modes label:hover {
16005
+ background: var(--a3s-panel-soft);
16006
+ }
16007
+
16008
+ .work-spreadsheet-paste-special-modes label.selected {
16009
+ background: color-mix(in srgb,
16010
+ var(--work-spreadsheet-accent, #159469) 10%,
16011
+ var(--a3s-panel));
16012
+ }
16013
+
16014
+ .work-spreadsheet-paste-special-modes label:has(input:focus-visible), .work-spreadsheet-paste-special-operations label:has(input:focus-visible) {
16015
+ outline: 2px solid
16016
+ color-mix(in srgb, var(--work-spreadsheet-accent, #159469) 32%, transparent);
16017
+ outline-offset: 1px;
16018
+ }
16019
+
16020
+ .work-spreadsheet-paste-special-modes label:has(input:disabled) {
16021
+ cursor: not-allowed;
16022
+ opacity: .48;
16023
+ }
16024
+
16025
+ .work-spreadsheet-paste-special-modes input, .work-spreadsheet-paste-special-operations input {
16026
+ opacity: 0;
16027
+ width: 1px;
16028
+ height: 1px;
16029
+ position: absolute;
16030
+ }
16031
+
16032
+ .work-spreadsheet-paste-special-modes label > span[aria-hidden="true"] {
16033
+ box-sizing: border-box;
16034
+ border: 1px solid var(--a3s-line-strong);
16035
+ background: var(--a3s-panel);
16036
+ border-radius: 50%;
16037
+ place-items: center;
16038
+ width: 14px;
16039
+ height: 14px;
16040
+ display: grid;
16041
+ }
16042
+
16043
+ .work-spreadsheet-paste-special-modes label.selected > span[aria-hidden="true"] {
16044
+ border: 4px solid var(--work-spreadsheet-accent, #159469);
16045
+ }
16046
+
16047
+ .work-spreadsheet-paste-special-modes small {
16048
+ color: var(--a3s-muted);
16049
+ grid-column: 2;
16050
+ margin-top: -2px;
16051
+ font-size: 9px;
16052
+ line-height: 1.2;
16053
+ }
16054
+
16055
+ .work-spreadsheet-paste-special-operations > div {
16056
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16057
+ gap: 4px;
16058
+ display: grid;
16059
+ }
16060
+
16061
+ .work-spreadsheet-paste-special-operations label {
16062
+ border: 1px solid var(--a3s-line);
16063
+ background: var(--a3s-panel);
16064
+ min-height: 30px;
16065
+ color: var(--a3s-muted);
16066
+ cursor: pointer;
16067
+ border-radius: 6px;
16068
+ place-items: center;
16069
+ font-size: 10px;
16070
+ display: grid;
16071
+ position: relative;
16072
+ }
16073
+
16074
+ .work-spreadsheet-paste-special-operations label:first-child {
16075
+ grid-column: 1 / -1;
16076
+ }
16077
+
16078
+ .work-spreadsheet-paste-special-operations label:hover {
16079
+ border-color: color-mix(in srgb,
16080
+ var(--work-spreadsheet-accent, #159469) 42%,
16081
+ var(--a3s-line));
16082
+ }
16083
+
16084
+ .work-spreadsheet-paste-special-operations label.selected {
16085
+ border-color: color-mix(in srgb,
16086
+ var(--work-spreadsheet-accent, #159469) 58%,
16087
+ var(--a3s-line));
16088
+ background: color-mix(in srgb,
16089
+ var(--work-spreadsheet-accent, #159469) 9%,
16090
+ var(--a3s-panel));
16091
+ color: var(--a3s-ink);
16092
+ font-weight: 650;
16093
+ }
16094
+
16095
+ .work-spreadsheet-paste-special-operations label:has(input:disabled) {
16096
+ cursor: not-allowed;
16097
+ opacity: .42;
16098
+ }
16099
+
16100
+ .work-spreadsheet-paste-special-options {
16101
+ gap: 8px;
16102
+ padding-top: 2px;
16103
+ display: grid;
16104
+ }
16105
+
16106
+ .work-spreadsheet-paste-special-options .work-office-checkbox {
16107
+ min-height: 28px;
16108
+ }
16109
+
16110
+ .work-spreadsheet-paste-special-error {
16111
+ background: color-mix(in srgb, var(--a3s-red) 8%, var(--a3s-panel));
16112
+ color: color-mix(in srgb, var(--a3s-red) 88%, var(--a3s-ink));
16113
+ border-radius: 6px;
16114
+ grid-column: 1 / -1;
16115
+ margin: -4px 0 0;
16116
+ padding: 8px 10px;
16117
+ font-size: 11px;
16118
+ line-height: 1.45;
16119
+ }
16120
+
16121
+ @media (width <= 620px) {
16122
+ .work-spreadsheet-paste-special-dialog form {
16123
+ grid-template-columns: minmax(0, 1fr);
16124
+ gap: 16px;
16125
+ }
16126
+
16127
+ .work-spreadsheet-paste-special-modes {
16128
+ grid-row: auto;
16129
+ }
16130
+
16131
+ .work-spreadsheet-paste-special-options {
16132
+ grid-template-columns: repeat(2, minmax(0, 1fr));
16133
+ }
16134
+ }
16135
+
16136
+ @media (width <= 420px) {
16137
+ .work-spreadsheet-paste-special-modes > div, .work-spreadsheet-paste-special-options {
16138
+ grid-template-columns: minmax(0, 1fr);
16139
+ }
16140
+ }
16141
+
15478
16142
  .work-spreadsheet-chart-manager {
15479
16143
  border: 0;
15480
16144
  grid-template-columns: minmax(180px, 230px) minmax(720px, 1fr);