@a3s-lab/office 0.12.0 → 0.13.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 (111) hide show
  1. package/README.md +99 -6
  2. package/dist/0~1403.js +20 -12
  3. package/dist/0~2805.js +241 -241
  4. package/dist/0~4980.js +1 -1
  5. package/dist/0~5050.js +1 -20
  6. package/dist/0~5093.js +547 -547
  7. package/dist/0~7048.js +31 -29
  8. package/dist/0~document-editor.js +694 -90
  9. package/dist/0~pdf-viewer.js +41 -10
  10. package/dist/0~presentation-editor.js +8 -6
  11. package/dist/0~spreadsheet-editor.js +11528 -10094
  12. package/dist/0~work-document-import-worker-client.js +237 -0
  13. package/dist/0~work-docx-export.js +1 -1
  14. package/dist/0~work-docx-import.js +1 -1
  15. package/dist/0~work-docx-large-document-import.js +559 -0
  16. package/dist/0~work-office-diagnostics.js +46 -32
  17. package/dist/4104.js +4092 -3210
  18. package/dist/432.js +51 -7
  19. package/dist/4476.js +201 -7
  20. package/dist/5184.js +24 -2
  21. package/dist/{8928.js → 6282.js} +2338 -93
  22. package/dist/8715.js +895 -888
  23. package/dist/9356.js +3 -1
  24. package/dist/core.js +1 -1
  25. package/dist/index.js +1 -1
  26. package/dist/internal/features/work/editors/document-editor-support.d.ts +1 -9
  27. package/dist/internal/features/work/editors/document-external-content.d.ts +1 -1
  28. package/dist/internal/features/work/editors/presentation-slide-canvas.d.ts +3 -1
  29. package/dist/internal/features/work/editors/presentation-slide-thumbnail.d.ts +3 -2
  30. package/dist/internal/features/work/editors/presentation-thumbnail-rail.d.ts +2 -1
  31. package/dist/internal/features/work/editors/presentation-workspace.d.ts +2 -1
  32. package/dist/internal/features/work/editors/spreadsheet-border-ribbon.d.ts +5 -0
  33. package/dist/internal/features/work/editors/spreadsheet-calculation-projection.d.ts +10 -0
  34. package/dist/internal/features/work/editors/spreadsheet-cell-border-command.d.ts +3 -0
  35. package/dist/internal/features/work/editors/spreadsheet-cell-border.d.ts +14 -0
  36. package/dist/internal/features/work/editors/spreadsheet-cell-fill-command.d.ts +3 -0
  37. package/dist/internal/features/work/editors/spreadsheet-cell-fill.d.ts +12 -0
  38. package/dist/internal/features/work/editors/spreadsheet-cell-range.d.ts +14 -0
  39. package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +159 -0
  40. package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +8 -4
  41. package/dist/internal/features/work/editors/spreadsheet-editor-support.d.ts +8 -2
  42. package/dist/internal/features/work/editors/spreadsheet-home-format-ribbon.d.ts +10 -0
  43. package/dist/internal/features/work/editors/spreadsheet-in-place-workbook-sync.d.ts +10 -0
  44. package/dist/internal/features/work/editors/spreadsheet-operation-projection.d.ts +14 -0
  45. package/dist/internal/features/work/editors/spreadsheet-structure-selection.d.ts +7 -0
  46. package/dist/internal/features/work/editors/use-document-pagination.d.ts +5 -0
  47. package/dist/internal/features/work/editors/use-presentation-design-commands.d.ts +2 -1
  48. package/dist/internal/features/work/editors/use-spreadsheet-workbook-sync.d.ts +2 -1
  49. package/dist/internal/features/work/spreadsheet-history-value.d.ts +1 -0
  50. package/dist/internal/features/work/spreadsheet-sparse.d.ts +6 -1
  51. package/dist/internal/features/work/work-document-chunk-geometry.d.ts +28 -0
  52. package/dist/internal/features/work/work-document-chunk-node.d.ts +23 -0
  53. package/dist/internal/features/work/work-document-extensions.d.ts +1 -0
  54. package/dist/internal/features/work/work-document-html-fingerprint.d.ts +15 -0
  55. package/dist/internal/features/work/work-document-import-worker-client.d.ts +13 -0
  56. package/dist/internal/features/work/work-document-import-worker-protocol.d.ts +36 -0
  57. package/dist/internal/features/work/work-document-import.worker.d.ts +1 -0
  58. package/dist/internal/features/work/work-document-incremental-layout.d.ts +1 -1
  59. package/dist/internal/features/work/work-document-integrity-index.d.ts +14 -0
  60. package/dist/internal/features/work/work-document-lazy-block.d.ts +3 -0
  61. package/dist/internal/features/work/work-document-lazy-html.d.ts +21 -0
  62. package/dist/internal/features/work/work-document-lazy-model.d.ts +29 -0
  63. package/dist/internal/features/work/work-document-lazy-pagination-measurement.d.ts +3 -0
  64. package/dist/internal/features/work/work-document-lazy-preview.d.ts +21 -0
  65. package/dist/internal/features/work/work-document-lazy-update.d.ts +14 -0
  66. package/dist/internal/features/work/work-document-model.d.ts +18 -2
  67. package/dist/internal/features/work/work-document-page-surface-registry.d.ts +16 -0
  68. package/dist/internal/features/work/work-document-pagination-dom.d.ts +1 -0
  69. package/dist/internal/features/work/work-document-pagination-types.d.ts +1 -0
  70. package/dist/internal/features/work/work-document-pagination.d.ts +1 -1
  71. package/dist/internal/features/work/work-document-text-statistics.d.ts +25 -0
  72. package/dist/internal/features/work/work-document-windowing.d.ts +23 -0
  73. package/dist/internal/features/work/work-docx-large-document-import.d.ts +35 -0
  74. package/dist/internal/features/work/work-docx-large-document-parser.d.ts +29 -0
  75. package/dist/internal/features/work/work-file-import.d.ts +5 -0
  76. package/dist/internal/features/work/work-file-io.d.ts +3 -3
  77. package/dist/internal/features/work/work-file-kind.d.ts +5 -0
  78. package/dist/internal/features/work/work-office-diagnostics.d.ts +10 -1
  79. package/dist/internal/features/work/work-ooxml-package.d.ts +8 -0
  80. package/dist/internal/features/work/work-presentation-layouts.d.ts +7 -1
  81. package/dist/internal/features/work/work-repository.d.ts +1 -0
  82. package/dist/internal/features/work/work-spreadsheet-compatibility-summary.d.ts +10 -0
  83. package/dist/internal/features/work/work-spreadsheet-file-export.d.ts +2 -0
  84. package/dist/internal/features/work/work-spreadsheet-file-import.d.ts +3 -0
  85. package/dist/internal/features/work/work-spreadsheet-import-diagnostics.d.ts +2 -0
  86. package/dist/internal/features/work/work-spreadsheet-import-worker-client.d.ts +6 -0
  87. package/dist/internal/features/work/work-spreadsheet-import-worker-protocol.d.ts +32 -0
  88. package/dist/internal/features/work/work-spreadsheet-import.worker.d.ts +1 -0
  89. package/dist/internal/features/work/work-spreadsheet-matrix-profile.d.ts +64 -0
  90. package/dist/internal/features/work/work-spreadsheet-package-scan-worker-client.d.ts +6 -0
  91. package/dist/internal/features/work/work-spreadsheet-package-scan-worker-protocol.d.ts +49 -0
  92. package/dist/internal/features/work/work-spreadsheet-package-scan.worker.d.ts +1 -0
  93. package/dist/internal/features/work/work-xlsx-formula-diagnostics.d.ts +3 -1
  94. package/dist/internal/features/work/work-xlsx-formulas.d.ts +2 -1
  95. package/dist/internal/features/work/work-xlsx-interop.d.ts +6 -5
  96. package/dist/internal/features/work/work-xlsx-pivot-diagnostics.d.ts +2 -1
  97. package/dist/internal/features/work/work-xlsx-plain-fast-path.d.ts +54 -0
  98. package/dist/internal/features/work/work-xlsx-style-gate.d.ts +1 -0
  99. package/dist/internal/features/work/work-xlsx-worksheet-scan.d.ts +12 -0
  100. package/dist/internal/features/work/work-xlsx-worksheet.d.ts +12 -0
  101. package/dist/office-kernel.wasm +0 -0
  102. package/dist/office-kernel.worker.js +31 -29
  103. package/dist/react.d.ts +7 -1
  104. package/dist/styles.css +440 -3
  105. package/dist/work-document-import.worker.js +558 -0
  106. package/dist/work-spreadsheet-import.worker.js +24745 -0
  107. package/dist/work-spreadsheet-import.worker.js.LICENSE.txt +3 -0
  108. package/dist/work-spreadsheet-package-scan.worker.js +4157 -0
  109. package/dist/work-spreadsheet-package-scan.worker.js.LICENSE.txt +11 -0
  110. package/docs/latest/en/browser-editor-architecture.md +351 -15
  111. package/package.json +19 -1
package/dist/styles.css CHANGED
@@ -6912,15 +6912,181 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
6912
6912
 
6913
6913
  .work-editor-loading.ds-state-view {
6914
6914
  background: var(--a3s-bg);
6915
- flex: 1;
6915
+ flex: 1 1 0;
6916
+ justify-content: center;
6917
+ align-self: stretch;
6918
+ align-items: center;
6916
6919
  width: 100%;
6917
6920
  min-width: 0;
6918
- min-height: 0;
6921
+ max-width: none;
6922
+ height: 100%;
6923
+ min-height: 100%;
6919
6924
  margin: 0;
6925
+ padding: clamp(24px, 5vw, 56px);
6926
+ position: relative;
6927
+ overflow: hidden;
6928
+ }
6929
+
6930
+ .work-editor-loading.ds-state-view .ds-state-view-icon {
6931
+ background: none;
6932
+ border-radius: 22px;
6933
+ width: 72px;
6934
+ height: 72px;
6935
+ margin-bottom: 16px;
6936
+ }
6937
+
6938
+ .work-editor-loading-visual {
6939
+ isolation: isolate;
6940
+ place-items: center;
6941
+ width: 64px;
6942
+ height: 64px;
6943
+ display: grid;
6944
+ position: relative;
6945
+ }
6946
+
6947
+ .work-editor-loading-focus {
6948
+ z-index: -1;
6949
+ background: color-mix(in srgb, var(--a3s-blue) 10%, var(--a3s-panel));
6950
+ opacity: .44;
6951
+ border-radius: 18px;
6952
+ animation: 1.8s ease-in-out infinite work-editor-loading-focus;
6953
+ position: absolute;
6954
+ inset: 5px;
6955
+ }
6956
+
6957
+ .work-editor-loading-page {
6958
+ border: 1px solid color-mix(in srgb, var(--a3s-blue) 24%, var(--a3s-line));
6959
+ background: var(--a3s-panel);
6960
+ width: 32px;
6961
+ height: 42px;
6962
+ box-shadow: 0 10px 24px -16px color-mix(in srgb, var(--a3s-blue) 70%, black);
6963
+ border-radius: 7px;
6964
+ flex-direction: column;
6965
+ gap: 5px;
6966
+ padding: 11px 7px 8px;
6967
+ animation: 1.8s cubic-bezier(.16, 1, .3, 1) infinite work-editor-loading-page;
6968
+ display: flex;
6969
+ position: relative;
6970
+ }
6971
+
6972
+ .work-editor-loading-page:after {
6973
+ border-top: 1px solid color-mix(in srgb, var(--a3s-blue) 48%, transparent);
6974
+ border-right: 1px solid color-mix(in srgb, var(--a3s-blue) 48%, transparent);
6975
+ content: "";
6976
+ border-radius: 0 2px 0 0;
6977
+ width: 5px;
6978
+ height: 5px;
6979
+ position: absolute;
6980
+ top: 5px;
6981
+ right: 5px;
6982
+ }
6983
+
6984
+ .work-editor-loading-line {
6985
+ background: color-mix(in srgb, var(--a3s-ink) 36%, transparent);
6986
+ transform-origin: 0;
6987
+ border-radius: 2px;
6988
+ flex: 0 0 2px;
6989
+ width: 100%;
6990
+ height: 2px;
6991
+ animation: 1.8s cubic-bezier(.16, 1, .3, 1) infinite work-editor-loading-line;
6992
+ display: block;
6993
+ }
6994
+
6995
+ .work-editor-loading-line--accent {
6996
+ background: var(--a3s-blue);
6997
+ width: 68%;
6998
+ animation-delay: -120ms;
6999
+ }
7000
+
7001
+ .work-editor-loading-line--short {
7002
+ width: 76%;
7003
+ animation-delay: .12s;
6920
7004
  }
6921
7005
 
6922
7006
  .work-editor-loading.ds-state-view h2 {
7007
+ letter-spacing: -.01em;
7008
+ text-wrap: balance;
7009
+ max-width: min(360px, 100%);
6923
7010
  font-size: 13px;
7011
+ font-weight: 650;
7012
+ }
7013
+
7014
+ @keyframes work-editor-loading-focus {
7015
+ 0%, 100% {
7016
+ opacity: .34;
7017
+ transform: scale(.88);
7018
+ }
7019
+
7020
+ 48% {
7021
+ opacity: .72;
7022
+ transform: scale(1);
7023
+ }
7024
+ }
7025
+
7026
+ @keyframes work-editor-loading-page {
7027
+ 0%, 100% {
7028
+ box-shadow: 0 8px 20px -16px color-mix(in srgb, var(--a3s-blue) 56%, black);
7029
+ transform: translateY(1px);
7030
+ }
7031
+
7032
+ 48% {
7033
+ box-shadow: 0 14px 28px -14px color-mix(in srgb, var(--a3s-blue) 72%, black);
7034
+ transform: translateY(-1px);
7035
+ }
7036
+ }
7037
+
7038
+ @keyframes work-editor-loading-line {
7039
+ 0%, 12% {
7040
+ opacity: .38;
7041
+ transform: scaleX(.28);
7042
+ }
7043
+
7044
+ 44%, 72% {
7045
+ opacity: 1;
7046
+ transform: scaleX(1);
7047
+ }
7048
+
7049
+ 100% {
7050
+ opacity: .62;
7051
+ transform: scaleX(.78);
7052
+ }
7053
+ }
7054
+
7055
+ @media (prefers-reduced-motion: reduce) {
7056
+ .work-editor-loading-focus, .work-editor-loading-page, .work-editor-loading-line {
7057
+ animation: none;
7058
+ }
7059
+
7060
+ .work-editor-loading-focus {
7061
+ opacity: .56;
7062
+ transform: none;
7063
+ }
7064
+
7065
+ .work-editor-loading-line {
7066
+ opacity: 1;
7067
+ transform: none;
7068
+ }
7069
+ }
7070
+
7071
+ @media (forced-colors: active) {
7072
+ .work-editor-loading-focus {
7073
+ background: canvas;
7074
+ outline: 1px solid highlight;
7075
+ }
7076
+
7077
+ .work-editor-loading-page {
7078
+ box-shadow: none;
7079
+ background: canvas;
7080
+ border-color: canvastext;
7081
+ }
7082
+
7083
+ .work-editor-loading-line {
7084
+ background: canvastext;
7085
+ }
7086
+
7087
+ .work-editor-loading-line--accent {
7088
+ background: highlight;
7089
+ }
6924
7090
  }
6925
7091
 
6926
7092
  .work-version-history {
@@ -10727,6 +10893,10 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
10727
10893
  table-layout: auto;
10728
10894
  }
10729
10895
 
10896
+ .work-document-page .tiptap table[data-office-table-layout="autofit"][data-office-table-width-type="auto"] col, .work-document-page .tiptap table[data-office-table-layout="contents"] col {
10897
+ width: auto !important;
10898
+ }
10899
+
10730
10900
  .work-document-page .tiptap table[data-office-table-layout="fixed"] {
10731
10901
  table-layout: fixed;
10732
10902
  }
@@ -11129,13 +11299,29 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
11129
11299
  }
11130
11300
 
11131
11301
  .work-document-page .tiptap > .work-document-section {
11132
- column-count: var(--work-document-column-count, 1);
11133
11302
  column-gap: var(--work-document-column-gap, 12mm);
11134
11303
  column-rule: var(--work-document-column-rule, none);
11135
11304
  min-height: 120px;
11136
11305
  position: relative;
11137
11306
  }
11138
11307
 
11308
+ .work-document-page .tiptap > .work-document-section:not([data-section-column-count="1"]) {
11309
+ column-count: var(--work-document-column-count);
11310
+ }
11311
+
11312
+ .work-document-page .tiptap .work-document-chunk {
11313
+ width: 100%;
11314
+ display: flow-root;
11315
+ }
11316
+
11317
+ .work-document-page .tiptap .work-document-chunk.placeholder {
11318
+ box-sizing: border-box;
11319
+ pointer-events: none;
11320
+ -webkit-user-select: none;
11321
+ user-select: none;
11322
+ overflow: hidden;
11323
+ }
11324
+
11139
11325
  .work-document-page .tiptap > .work-document-section:first-child {
11140
11326
  min-height: 760px;
11141
11327
  }
@@ -11249,6 +11435,10 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
11249
11435
  table-layout: auto;
11250
11436
  }
11251
11437
 
11438
+ .work-document-preview-page table[data-office-table-layout="autofit"][data-office-table-width-type="auto"] col, .work-document-print-body table[data-office-table-layout="autofit"][data-office-table-width-type="auto"] col, .work-document-preview-page table[data-office-table-layout="contents"] col, .work-document-print-body table[data-office-table-layout="contents"] col {
11439
+ width: auto !important;
11440
+ }
11441
+
11252
11442
  .work-document-preview-page table[data-office-table-layout="fixed"], .work-document-print-body table[data-office-table-layout="fixed"] {
11253
11443
  table-layout: fixed;
11254
11444
  width: auto;
@@ -14820,6 +15010,253 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
14820
15010
  color: currentColor;
14821
15011
  }
14822
15012
 
15013
+ .work-spreadsheet-border-split-root {
15014
+ border-radius: 6px;
15015
+ flex: none;
15016
+ align-items: stretch;
15017
+ height: 29px;
15018
+ display: inline-flex;
15019
+ }
15020
+
15021
+ .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-primary, .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-disclosure {
15022
+ border-radius: 0;
15023
+ height: 29px;
15024
+ padding: 0;
15025
+ }
15026
+
15027
+ .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-primary {
15028
+ border-radius: 6px 0 0 6px;
15029
+ width: 29px;
15030
+ min-width: 29px;
15031
+ }
15032
+
15033
+ .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-disclosure {
15034
+ border-left: 1px solid color-mix(in srgb, var(--a3s-line) 72%, transparent);
15035
+ border-radius: 0 6px 6px 0;
15036
+ width: 16px;
15037
+ min-width: 16px;
15038
+ }
15039
+
15040
+ .work-spreadsheet-border-disclosure svg {
15041
+ transition: transform .12s;
15042
+ }
15043
+
15044
+ .work-spreadsheet-border-disclosure[aria-expanded="true"] svg {
15045
+ transform: rotate(180deg);
15046
+ }
15047
+
15048
+ .work-spreadsheet-border-primary:focus-visible, .work-spreadsheet-border-disclosure:focus-visible {
15049
+ box-shadow: inset 0 0 0 1px var(--work-spreadsheet-accent);
15050
+ outline: 0;
15051
+ }
15052
+
15053
+ .work-spreadsheet-border-panel {
15054
+ --work-office-menu-accent: var(--work-office-control-accent, #159469);
15055
+ width: min(292px, 100vw - 32px);
15056
+ padding: 8px;
15057
+ }
15058
+
15059
+ .work-spreadsheet-border-section-label {
15060
+ color: var(--a3s-faint);
15061
+ padding: 2px 6px 7px;
15062
+ font-size: 10px;
15063
+ font-weight: 650;
15064
+ }
15065
+
15066
+ .work-spreadsheet-border-targets {
15067
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15068
+ gap: 2px;
15069
+ display: grid;
15070
+ }
15071
+
15072
+ .work-spreadsheet-border-targets > button {
15073
+ min-width: 0;
15074
+ min-height: 32px;
15075
+ color: var(--a3s-muted);
15076
+ font: inherit;
15077
+ text-align: left;
15078
+ cursor: pointer;
15079
+ background: none;
15080
+ border: 0;
15081
+ border-radius: 6px;
15082
+ grid-template-columns: 22px minmax(0, 1fr);
15083
+ align-items: center;
15084
+ gap: 7px;
15085
+ padding: 4px 7px;
15086
+ display: grid;
15087
+ }
15088
+
15089
+ .work-spreadsheet-border-targets > button:hover:not(:disabled), .work-spreadsheet-border-targets > button:focus-visible, .work-spreadsheet-border-targets > button[aria-checked="true"] {
15090
+ background: color-mix(in srgb,
15091
+ var(--work-office-menu-accent) 10%,
15092
+ var(--a3s-panel));
15093
+ color: var(--a3s-ink);
15094
+ outline: 0;
15095
+ }
15096
+
15097
+ .work-spreadsheet-border-targets > button:focus-visible {
15098
+ box-shadow: inset 0 0 0 1px var(--work-office-menu-accent);
15099
+ }
15100
+
15101
+ .work-spreadsheet-border-targets > button:disabled {
15102
+ cursor: not-allowed;
15103
+ opacity: .4;
15104
+ }
15105
+
15106
+ .work-spreadsheet-border-targets > button > span:last-child {
15107
+ text-overflow: ellipsis;
15108
+ white-space: nowrap;
15109
+ font-size: 11px;
15110
+ overflow: hidden;
15111
+ }
15112
+
15113
+ .work-spreadsheet-border-glyph {
15114
+ border: 1px solid color-mix(in srgb, currentcolor 34%, transparent);
15115
+ width: 17px;
15116
+ height: 17px;
15117
+ color: var(--work-office-menu-accent, var(--work-spreadsheet-accent));
15118
+ flex: 0 0 17px;
15119
+ display: block;
15120
+ position: relative;
15121
+ }
15122
+
15123
+ .work-spreadsheet-border-glyph:before, .work-spreadsheet-border-glyph:after {
15124
+ content: "";
15125
+ position: absolute;
15126
+ }
15127
+
15128
+ .work-spreadsheet-border-glyph[data-border-target="top"] {
15129
+ border-top: 2px solid;
15130
+ }
15131
+
15132
+ .work-spreadsheet-border-glyph[data-border-target="bottom"] {
15133
+ border-bottom: 2px solid;
15134
+ }
15135
+
15136
+ .work-spreadsheet-border-glyph[data-border-target="left"] {
15137
+ border-left: 2px solid;
15138
+ }
15139
+
15140
+ .work-spreadsheet-border-glyph[data-border-target="right"] {
15141
+ border-right: 2px solid;
15142
+ }
15143
+
15144
+ .work-spreadsheet-border-glyph[data-border-target="outside"], .work-spreadsheet-border-glyph[data-border-target="all"] {
15145
+ border: 2px solid;
15146
+ }
15147
+
15148
+ .work-spreadsheet-border-glyph[data-border-target="inside"]:before, .work-spreadsheet-border-glyph[data-border-target="all"]:before, .work-spreadsheet-border-glyph[data-border-target="vertical"]:before {
15149
+ border-left: 1px solid;
15150
+ top: 1px;
15151
+ bottom: 1px;
15152
+ left: 7px;
15153
+ }
15154
+
15155
+ .work-spreadsheet-border-glyph[data-border-target="inside"]:after, .work-spreadsheet-border-glyph[data-border-target="all"]:after, .work-spreadsheet-border-glyph[data-border-target="horizontal"]:after {
15156
+ border-top: 1px solid;
15157
+ top: 7px;
15158
+ left: 1px;
15159
+ right: 1px;
15160
+ }
15161
+
15162
+ .work-spreadsheet-border-glyph[data-border-target="none"] {
15163
+ border-style: dashed;
15164
+ }
15165
+
15166
+ .work-spreadsheet-border-glyph[data-border-target="none"]:before, .work-spreadsheet-border-glyph[data-border-target="diagonal"]:before {
15167
+ border-top: 1px solid;
15168
+ top: 7px;
15169
+ left: -1px;
15170
+ right: -1px;
15171
+ transform: rotate(-45deg);
15172
+ }
15173
+
15174
+ .work-spreadsheet-border-glyph[data-border-target="none"]:after {
15175
+ border-top: 1px solid;
15176
+ top: 7px;
15177
+ left: -1px;
15178
+ right: -1px;
15179
+ transform: rotate(45deg);
15180
+ }
15181
+
15182
+ .work-spreadsheet-border-settings {
15183
+ border-top: 1px solid var(--a3s-line);
15184
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
15185
+ gap: 8px;
15186
+ margin-top: 8px;
15187
+ padding: 9px 6px 2px;
15188
+ display: grid;
15189
+ }
15190
+
15191
+ .work-spreadsheet-border-settings > label {
15192
+ min-width: 0;
15193
+ color: var(--a3s-faint);
15194
+ gap: 5px;
15195
+ font-size: 10px;
15196
+ display: grid;
15197
+ }
15198
+
15199
+ .work-spreadsheet-border-settings select, .work-spreadsheet-border-color-control {
15200
+ border: 1px solid var(--a3s-line);
15201
+ background: var(--a3s-panel);
15202
+ width: 100%;
15203
+ min-width: 0;
15204
+ height: 30px;
15205
+ color: var(--a3s-ink);
15206
+ font: inherit;
15207
+ border-radius: 6px;
15208
+ }
15209
+
15210
+ .work-spreadsheet-border-settings select {
15211
+ padding-inline: 7px;
15212
+ }
15213
+
15214
+ .work-spreadsheet-border-color-control {
15215
+ grid-template-columns: 18px minmax(0, 1fr);
15216
+ align-items: center;
15217
+ gap: 5px;
15218
+ padding: 0 6px;
15219
+ display: grid;
15220
+ position: relative;
15221
+ }
15222
+
15223
+ .work-spreadsheet-border-color-control input {
15224
+ cursor: pointer;
15225
+ opacity: 0;
15226
+ width: 100%;
15227
+ height: 100%;
15228
+ position: absolute;
15229
+ inset: 0;
15230
+ }
15231
+
15232
+ .work-spreadsheet-border-color-swatch {
15233
+ border: 1px solid var(--a3s-line-strong);
15234
+ border-radius: 4px;
15235
+ width: 16px;
15236
+ height: 16px;
15237
+ }
15238
+
15239
+ .work-spreadsheet-border-color-control output {
15240
+ color: var(--a3s-muted);
15241
+ text-overflow: ellipsis;
15242
+ font-size: 9px;
15243
+ overflow: hidden;
15244
+ }
15245
+
15246
+ @media (width <= 480px) {
15247
+ .work-spreadsheet-border-panel {
15248
+ width: min(276px, 100vw - 24px);
15249
+ }
15250
+
15251
+ .work-spreadsheet-border-targets > button {
15252
+ min-height: 44px;
15253
+ }
15254
+
15255
+ .work-spreadsheet-border-settings {
15256
+ grid-template-columns: 1fr;
15257
+ }
15258
+ }
15259
+
14823
15260
  .work-spreadsheet-sheet-list {
14824
15261
  min-width: 220px;
14825
15262
  }