@a3s-lab/office 0.12.0 → 0.13.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.
Files changed (124) hide show
  1. package/README.md +112 -7
  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~6090.js +63 -4
  8. package/dist/0~7048.js +31 -29
  9. package/dist/0~document-editor.js +694 -90
  10. package/dist/0~pdf-viewer.js +41 -10
  11. package/dist/0~presentation-editor.js +8 -6
  12. package/dist/0~spreadsheet-editor.js +11892 -9682
  13. package/dist/0~work-document-import-worker-client.js +237 -0
  14. package/dist/0~work-docx-export.js +1 -1
  15. package/dist/0~work-docx-import.js +1 -1
  16. package/dist/0~work-docx-large-document-import.js +559 -0
  17. package/dist/0~work-office-diagnostics.js +46 -32
  18. package/dist/4104.js +5070 -3112
  19. package/dist/432.js +51 -7
  20. package/dist/4476.js +201 -7
  21. package/dist/5184.js +24 -2
  22. package/dist/{8928.js → 6282.js} +2338 -93
  23. package/dist/8715.js +895 -888
  24. package/dist/9356.js +3 -1
  25. package/dist/core.js +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/internal/features/work/editors/document-editor-support.d.ts +1 -9
  28. package/dist/internal/features/work/editors/document-external-content.d.ts +1 -1
  29. package/dist/internal/features/work/editors/office-menu-keyboard.d.ts +1 -0
  30. package/dist/internal/features/work/editors/presentation-slide-canvas.d.ts +3 -1
  31. package/dist/internal/features/work/editors/presentation-slide-thumbnail.d.ts +3 -2
  32. package/dist/internal/features/work/editors/presentation-thumbnail-rail.d.ts +2 -1
  33. package/dist/internal/features/work/editors/presentation-workspace.d.ts +2 -1
  34. package/dist/internal/features/work/editors/spreadsheet-border-ribbon.d.ts +5 -0
  35. package/dist/internal/features/work/editors/spreadsheet-calculation-projection.d.ts +10 -0
  36. package/dist/internal/features/work/editors/spreadsheet-cell-border-command.d.ts +3 -0
  37. package/dist/internal/features/work/editors/spreadsheet-cell-border-per-cell.d.ts +5 -0
  38. package/dist/internal/features/work/editors/spreadsheet-cell-border.d.ts +28 -0
  39. package/dist/internal/features/work/editors/spreadsheet-cell-fill-command.d.ts +3 -0
  40. package/dist/internal/features/work/editors/spreadsheet-cell-fill.d.ts +12 -0
  41. package/dist/internal/features/work/editors/spreadsheet-cell-range.d.ts +14 -0
  42. package/dist/internal/features/work/editors/spreadsheet-cell-style-command.d.ts +3 -0
  43. package/dist/internal/features/work/editors/spreadsheet-cell-style-ribbon.d.ts +9 -0
  44. package/dist/internal/features/work/editors/spreadsheet-cell-style.d.ts +41 -0
  45. package/dist/internal/features/work/editors/spreadsheet-command-catalog.d.ts +293 -0
  46. package/dist/internal/features/work/editors/spreadsheet-command-controller.d.ts +10 -4
  47. package/dist/internal/features/work/editors/spreadsheet-editor-ribbon.d.ts +3 -1
  48. package/dist/internal/features/work/editors/spreadsheet-editor-support.d.ts +8 -2
  49. package/dist/internal/features/work/editors/spreadsheet-home-format-ribbon.d.ts +10 -0
  50. package/dist/internal/features/work/editors/spreadsheet-in-place-workbook-sync.d.ts +10 -0
  51. package/dist/internal/features/work/editors/spreadsheet-number-format.d.ts +15 -3
  52. package/dist/internal/features/work/editors/spreadsheet-operation-projection.d.ts +14 -0
  53. package/dist/internal/features/work/editors/spreadsheet-structure-selection.d.ts +7 -0
  54. package/dist/internal/features/work/editors/use-document-pagination.d.ts +5 -0
  55. package/dist/internal/features/work/editors/use-presentation-design-commands.d.ts +2 -1
  56. package/dist/internal/features/work/editors/use-spreadsheet-workbook-sync.d.ts +2 -1
  57. package/dist/internal/features/work/spreadsheet-history-value.d.ts +1 -0
  58. package/dist/internal/features/work/spreadsheet-sparse.d.ts +6 -1
  59. package/dist/internal/features/work/work-document-chunk-geometry.d.ts +28 -0
  60. package/dist/internal/features/work/work-document-chunk-node.d.ts +23 -0
  61. package/dist/internal/features/work/work-document-extensions.d.ts +1 -0
  62. package/dist/internal/features/work/work-document-html-fingerprint.d.ts +15 -0
  63. package/dist/internal/features/work/work-document-import-worker-client.d.ts +13 -0
  64. package/dist/internal/features/work/work-document-import-worker-protocol.d.ts +36 -0
  65. package/dist/internal/features/work/work-document-import.worker.d.ts +1 -0
  66. package/dist/internal/features/work/work-document-incremental-layout.d.ts +1 -1
  67. package/dist/internal/features/work/work-document-integrity-index.d.ts +14 -0
  68. package/dist/internal/features/work/work-document-lazy-block.d.ts +3 -0
  69. package/dist/internal/features/work/work-document-lazy-html.d.ts +21 -0
  70. package/dist/internal/features/work/work-document-lazy-model.d.ts +29 -0
  71. package/dist/internal/features/work/work-document-lazy-pagination-measurement.d.ts +3 -0
  72. package/dist/internal/features/work/work-document-lazy-preview.d.ts +21 -0
  73. package/dist/internal/features/work/work-document-lazy-update.d.ts +14 -0
  74. package/dist/internal/features/work/work-document-model.d.ts +18 -2
  75. package/dist/internal/features/work/work-document-page-surface-registry.d.ts +16 -0
  76. package/dist/internal/features/work/work-document-pagination-dom.d.ts +1 -0
  77. package/dist/internal/features/work/work-document-pagination-types.d.ts +1 -0
  78. package/dist/internal/features/work/work-document-pagination.d.ts +1 -1
  79. package/dist/internal/features/work/work-document-text-statistics.d.ts +25 -0
  80. package/dist/internal/features/work/work-document-windowing.d.ts +23 -0
  81. package/dist/internal/features/work/work-docx-large-document-import.d.ts +35 -0
  82. package/dist/internal/features/work/work-docx-large-document-parser.d.ts +29 -0
  83. package/dist/internal/features/work/work-file-import.d.ts +5 -0
  84. package/dist/internal/features/work/work-file-io.d.ts +3 -3
  85. package/dist/internal/features/work/work-file-kind.d.ts +5 -0
  86. package/dist/internal/features/work/work-office-diagnostics.d.ts +10 -1
  87. package/dist/internal/features/work/work-ooxml-package.d.ts +8 -0
  88. package/dist/internal/features/work/work-presentation-layouts.d.ts +7 -1
  89. package/dist/internal/features/work/work-repository.d.ts +1 -0
  90. package/dist/internal/features/work/work-spreadsheet-compatibility-summary.d.ts +10 -0
  91. package/dist/internal/features/work/work-spreadsheet-file-export.d.ts +2 -0
  92. package/dist/internal/features/work/work-spreadsheet-file-import.d.ts +3 -0
  93. package/dist/internal/features/work/work-spreadsheet-import-diagnostics.d.ts +2 -0
  94. package/dist/internal/features/work/work-spreadsheet-import-worker-client.d.ts +6 -0
  95. package/dist/internal/features/work/work-spreadsheet-import-worker-protocol.d.ts +32 -0
  96. package/dist/internal/features/work/work-spreadsheet-import.worker.d.ts +1 -0
  97. package/dist/internal/features/work/work-spreadsheet-matrix-profile.d.ts +64 -0
  98. package/dist/internal/features/work/work-spreadsheet-package-scan-worker-client.d.ts +6 -0
  99. package/dist/internal/features/work/work-spreadsheet-package-scan-worker-protocol.d.ts +49 -0
  100. package/dist/internal/features/work/work-spreadsheet-package-scan.worker.d.ts +1 -0
  101. package/dist/internal/features/work/work-xlsx-cell-borders.d.ts +25 -0
  102. package/dist/internal/features/work/work-xlsx-cell-style-writer.d.ts +21 -0
  103. package/dist/internal/features/work/work-xlsx-cell-style-xml.d.ts +17 -0
  104. package/dist/internal/features/work/work-xlsx-cell-styles.d.ts +13 -0
  105. package/dist/internal/features/work/work-xlsx-colors.d.ts +6 -0
  106. package/dist/internal/features/work/work-xlsx-formula-diagnostics.d.ts +3 -1
  107. package/dist/internal/features/work/work-xlsx-formulas.d.ts +2 -1
  108. package/dist/internal/features/work/work-xlsx-interop.d.ts +8 -5
  109. package/dist/internal/features/work/work-xlsx-pivot-diagnostics.d.ts +2 -1
  110. package/dist/internal/features/work/work-xlsx-plain-fast-path.d.ts +54 -0
  111. package/dist/internal/features/work/work-xlsx-style-gate.d.ts +1 -0
  112. package/dist/internal/features/work/work-xlsx-worksheet-scan.d.ts +13 -0
  113. package/dist/internal/features/work/work-xlsx-worksheet.d.ts +12 -0
  114. package/dist/office-kernel.wasm +0 -0
  115. package/dist/office-kernel.worker.js +31 -29
  116. package/dist/react.d.ts +7 -1
  117. package/dist/styles.css +557 -3
  118. package/dist/work-document-import.worker.js +558 -0
  119. package/dist/work-spreadsheet-import.worker.js +24745 -0
  120. package/dist/work-spreadsheet-import.worker.js.LICENSE.txt +3 -0
  121. package/dist/work-spreadsheet-package-scan.worker.js +4161 -0
  122. package/dist/work-spreadsheet-package-scan.worker.js.LICENSE.txt +11 -0
  123. package/docs/latest/en/browser-editor-architecture.md +351 -15
  124. package/package.json +23 -3
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,370 @@ button.work-office-collaboration-participant:hover .work-office-collaboration-lo
14820
15010
  color: currentColor;
14821
15011
  }
14822
15012
 
15013
+ .work-spreadsheet-cell-style-panel {
15014
+ gap: 10px;
15015
+ width: min(440px, 100vw - 32px);
15016
+ padding: 9px;
15017
+ display: grid;
15018
+ }
15019
+
15020
+ .work-spreadsheet-cell-style-group {
15021
+ border: 0;
15022
+ gap: 4px;
15023
+ min-width: 0;
15024
+ margin: 0;
15025
+ padding: 0;
15026
+ display: grid;
15027
+ }
15028
+
15029
+ .work-spreadsheet-cell-style-group + .work-spreadsheet-cell-style-group {
15030
+ border-top: 1px solid var(--a3s-line);
15031
+ padding-top: 8px;
15032
+ }
15033
+
15034
+ .work-spreadsheet-cell-style-group-label {
15035
+ color: var(--a3s-faint);
15036
+ padding-inline: 2px;
15037
+ font-size: 11px;
15038
+ font-weight: 650;
15039
+ line-height: 16px;
15040
+ }
15041
+
15042
+ .work-spreadsheet-cell-style-grid {
15043
+ grid-template-columns: repeat(3, minmax(0, 1fr));
15044
+ gap: 4px;
15045
+ display: grid;
15046
+ }
15047
+
15048
+ .work-spreadsheet-cell-style-grid > button {
15049
+ min-width: 0;
15050
+ min-height: 64px;
15051
+ color: var(--a3s-muted);
15052
+ font: inherit;
15053
+ text-align: left;
15054
+ cursor: pointer;
15055
+ background: none;
15056
+ border: 1px solid #0000;
15057
+ border-radius: 7px;
15058
+ outline: 0;
15059
+ align-content: start;
15060
+ gap: 4px;
15061
+ padding: 4px;
15062
+ display: grid;
15063
+ }
15064
+
15065
+ .work-spreadsheet-cell-style-preview {
15066
+ border: 1px solid color-mix(in srgb, currentcolor 28%, var(--a3s-line));
15067
+ text-overflow: ellipsis;
15068
+ white-space: nowrap;
15069
+ border-radius: 4px;
15070
+ align-items: center;
15071
+ min-width: 0;
15072
+ height: 29px;
15073
+ padding-inline: 7px;
15074
+ line-height: 1;
15075
+ display: flex;
15076
+ overflow: hidden;
15077
+ }
15078
+
15079
+ .work-spreadsheet-cell-style-description {
15080
+ min-width: 0;
15081
+ color: var(--a3s-faint);
15082
+ -webkit-line-clamp: 2;
15083
+ -webkit-box-orient: vertical;
15084
+ font-size: 10px;
15085
+ line-height: 13px;
15086
+ display: -webkit-box;
15087
+ overflow: hidden;
15088
+ }
15089
+
15090
+ .work-spreadsheet-cell-style-grid > button:hover:not(:disabled), .work-spreadsheet-cell-style-grid > button:focus-visible {
15091
+ border-color: color-mix(in srgb,
15092
+ var(--work-office-control-accent, #159469) 38%,
15093
+ var(--a3s-line));
15094
+ background: var(--a3s-panel-soft);
15095
+ }
15096
+
15097
+ .work-spreadsheet-cell-style-grid > button:focus-visible {
15098
+ box-shadow: 0 0 0 2px
15099
+ color-mix(in srgb,
15100
+ var(--work-office-control-accent, #159469) 18%,
15101
+ transparent);
15102
+ }
15103
+
15104
+ .work-spreadsheet-cell-style-grid > button[aria-checked="true"] {
15105
+ border-color: color-mix(in srgb,
15106
+ var(--work-office-control-accent, #159469) 58%,
15107
+ var(--a3s-line));
15108
+ background: color-mix(in srgb,
15109
+ var(--work-office-control-accent, #159469) 7%,
15110
+ var(--a3s-panel));
15111
+ }
15112
+
15113
+ .work-spreadsheet-cell-style-grid > button:disabled {
15114
+ cursor: not-allowed;
15115
+ opacity: .42;
15116
+ }
15117
+
15118
+ @media (width <= 520px) {
15119
+ .work-spreadsheet-cell-style-panel {
15120
+ width: min(328px, 100vw - 24px);
15121
+ max-height: calc(100dvh - 24px);
15122
+ padding: 8px;
15123
+ }
15124
+
15125
+ .work-spreadsheet-cell-style-grid {
15126
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15127
+ }
15128
+ }
15129
+
15130
+ .work-spreadsheet-border-split-root {
15131
+ border-radius: 6px;
15132
+ flex: none;
15133
+ align-items: stretch;
15134
+ height: 29px;
15135
+ display: inline-flex;
15136
+ }
15137
+
15138
+ .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-primary, .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-disclosure {
15139
+ border-radius: 0;
15140
+ height: 29px;
15141
+ padding: 0;
15142
+ }
15143
+
15144
+ .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-primary {
15145
+ border-radius: 6px 0 0 6px;
15146
+ width: 29px;
15147
+ min-width: 29px;
15148
+ }
15149
+
15150
+ .work-office-ribbon .work-office-toolbar .work-spreadsheet-border-disclosure {
15151
+ border-left: 1px solid color-mix(in srgb, var(--a3s-line) 72%, transparent);
15152
+ border-radius: 0 6px 6px 0;
15153
+ width: 16px;
15154
+ min-width: 16px;
15155
+ }
15156
+
15157
+ .work-spreadsheet-border-disclosure svg {
15158
+ transition: transform .12s;
15159
+ }
15160
+
15161
+ .work-spreadsheet-border-disclosure[aria-expanded="true"] svg {
15162
+ transform: rotate(180deg);
15163
+ }
15164
+
15165
+ .work-spreadsheet-border-primary:focus-visible, .work-spreadsheet-border-disclosure:focus-visible {
15166
+ box-shadow: inset 0 0 0 1px var(--work-spreadsheet-accent);
15167
+ outline: 0;
15168
+ }
15169
+
15170
+ .work-spreadsheet-border-panel {
15171
+ --work-office-menu-accent: var(--work-office-control-accent, #159469);
15172
+ width: min(292px, 100vw - 32px);
15173
+ padding: 8px;
15174
+ }
15175
+
15176
+ .work-spreadsheet-border-section-label {
15177
+ color: var(--a3s-faint);
15178
+ padding: 2px 6px 7px;
15179
+ font-size: 10px;
15180
+ font-weight: 650;
15181
+ }
15182
+
15183
+ .work-spreadsheet-border-targets {
15184
+ grid-template-columns: repeat(2, minmax(0, 1fr));
15185
+ gap: 2px;
15186
+ display: grid;
15187
+ }
15188
+
15189
+ .work-spreadsheet-border-targets > button {
15190
+ min-width: 0;
15191
+ min-height: 32px;
15192
+ color: var(--a3s-muted);
15193
+ font: inherit;
15194
+ text-align: left;
15195
+ cursor: pointer;
15196
+ background: none;
15197
+ border: 0;
15198
+ border-radius: 6px;
15199
+ grid-template-columns: 22px minmax(0, 1fr);
15200
+ align-items: center;
15201
+ gap: 7px;
15202
+ padding: 4px 7px;
15203
+ display: grid;
15204
+ }
15205
+
15206
+ .work-spreadsheet-border-targets > button:hover:not(:disabled), .work-spreadsheet-border-targets > button:focus-visible, .work-spreadsheet-border-targets > button[aria-checked="true"] {
15207
+ background: color-mix(in srgb,
15208
+ var(--work-office-menu-accent) 10%,
15209
+ var(--a3s-panel));
15210
+ color: var(--a3s-ink);
15211
+ outline: 0;
15212
+ }
15213
+
15214
+ .work-spreadsheet-border-targets > button:focus-visible {
15215
+ box-shadow: inset 0 0 0 1px var(--work-office-menu-accent);
15216
+ }
15217
+
15218
+ .work-spreadsheet-border-targets > button:disabled {
15219
+ cursor: not-allowed;
15220
+ opacity: .4;
15221
+ }
15222
+
15223
+ .work-spreadsheet-border-targets > button > span:last-child {
15224
+ text-overflow: ellipsis;
15225
+ white-space: nowrap;
15226
+ font-size: 11px;
15227
+ overflow: hidden;
15228
+ }
15229
+
15230
+ .work-spreadsheet-border-glyph {
15231
+ border: 1px solid color-mix(in srgb, currentcolor 34%, transparent);
15232
+ width: 17px;
15233
+ height: 17px;
15234
+ color: var(--work-office-menu-accent, var(--work-spreadsheet-accent));
15235
+ flex: 0 0 17px;
15236
+ display: block;
15237
+ position: relative;
15238
+ }
15239
+
15240
+ .work-spreadsheet-border-glyph:before, .work-spreadsheet-border-glyph:after {
15241
+ content: "";
15242
+ position: absolute;
15243
+ }
15244
+
15245
+ .work-spreadsheet-border-glyph[data-border-target="top"] {
15246
+ border-top: 2px solid;
15247
+ }
15248
+
15249
+ .work-spreadsheet-border-glyph[data-border-target="bottom"] {
15250
+ border-bottom: 2px solid;
15251
+ }
15252
+
15253
+ .work-spreadsheet-border-glyph[data-border-target="left"] {
15254
+ border-left: 2px solid;
15255
+ }
15256
+
15257
+ .work-spreadsheet-border-glyph[data-border-target="right"] {
15258
+ border-right: 2px solid;
15259
+ }
15260
+
15261
+ .work-spreadsheet-border-glyph[data-border-target="outside"], .work-spreadsheet-border-glyph[data-border-target="all"] {
15262
+ border: 2px solid;
15263
+ }
15264
+
15265
+ .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 {
15266
+ border-left: 1px solid;
15267
+ top: 1px;
15268
+ bottom: 1px;
15269
+ left: 7px;
15270
+ }
15271
+
15272
+ .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 {
15273
+ border-top: 1px solid;
15274
+ top: 7px;
15275
+ left: 1px;
15276
+ right: 1px;
15277
+ }
15278
+
15279
+ .work-spreadsheet-border-glyph[data-border-target="none"] {
15280
+ border-style: dashed;
15281
+ }
15282
+
15283
+ .work-spreadsheet-border-glyph[data-border-target="none"]:before, .work-spreadsheet-border-glyph[data-border-target="diagonal"]:before {
15284
+ border-top: 1px solid;
15285
+ top: 7px;
15286
+ left: -1px;
15287
+ right: -1px;
15288
+ transform: rotate(-45deg);
15289
+ }
15290
+
15291
+ .work-spreadsheet-border-glyph[data-border-target="none"]:after {
15292
+ border-top: 1px solid;
15293
+ top: 7px;
15294
+ left: -1px;
15295
+ right: -1px;
15296
+ transform: rotate(45deg);
15297
+ }
15298
+
15299
+ .work-spreadsheet-border-settings {
15300
+ border-top: 1px solid var(--a3s-line);
15301
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
15302
+ gap: 8px;
15303
+ margin-top: 8px;
15304
+ padding: 9px 6px 2px;
15305
+ display: grid;
15306
+ }
15307
+
15308
+ .work-spreadsheet-border-settings > label {
15309
+ min-width: 0;
15310
+ color: var(--a3s-faint);
15311
+ gap: 5px;
15312
+ font-size: 10px;
15313
+ display: grid;
15314
+ }
15315
+
15316
+ .work-spreadsheet-border-settings select, .work-spreadsheet-border-color-control {
15317
+ border: 1px solid var(--a3s-line);
15318
+ background: var(--a3s-panel);
15319
+ width: 100%;
15320
+ min-width: 0;
15321
+ height: 30px;
15322
+ color: var(--a3s-ink);
15323
+ font: inherit;
15324
+ border-radius: 6px;
15325
+ }
15326
+
15327
+ .work-spreadsheet-border-settings select {
15328
+ padding-inline: 7px;
15329
+ }
15330
+
15331
+ .work-spreadsheet-border-color-control {
15332
+ grid-template-columns: 18px minmax(0, 1fr);
15333
+ align-items: center;
15334
+ gap: 5px;
15335
+ padding: 0 6px;
15336
+ display: grid;
15337
+ position: relative;
15338
+ }
15339
+
15340
+ .work-spreadsheet-border-color-control input {
15341
+ cursor: pointer;
15342
+ opacity: 0;
15343
+ width: 100%;
15344
+ height: 100%;
15345
+ position: absolute;
15346
+ inset: 0;
15347
+ }
15348
+
15349
+ .work-spreadsheet-border-color-swatch {
15350
+ border: 1px solid var(--a3s-line-strong);
15351
+ border-radius: 4px;
15352
+ width: 16px;
15353
+ height: 16px;
15354
+ }
15355
+
15356
+ .work-spreadsheet-border-color-control output {
15357
+ color: var(--a3s-muted);
15358
+ text-overflow: ellipsis;
15359
+ font-size: 9px;
15360
+ overflow: hidden;
15361
+ }
15362
+
15363
+ @media (width <= 480px) {
15364
+ .work-spreadsheet-border-panel {
15365
+ width: min(276px, 100vw - 24px);
15366
+ }
15367
+
15368
+ .work-spreadsheet-border-targets > button {
15369
+ min-height: 44px;
15370
+ }
15371
+
15372
+ .work-spreadsheet-border-settings {
15373
+ grid-template-columns: 1fr;
15374
+ }
15375
+ }
15376
+
14823
15377
  .work-spreadsheet-sheet-list {
14824
15378
  min-width: 220px;
14825
15379
  }