docxodus 9.6.0 → 9.7.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.
- package/dist/editor.bundle.js +172 -97
- package/dist/embed.bundle.js +176 -98
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.iife.js +175 -97
- package/dist/embed.js +3 -0
- package/dist/embed.js.map +1 -1
- package/dist/ribbon-chrome.d.ts +2 -2
- package/dist/ribbon-chrome.d.ts.map +1 -1
- package/dist/ribbon-chrome.js +171 -97
- package/dist/ribbon-chrome.js.map +1 -1
- package/dist/ribbon.d.ts +8 -0
- package/dist/ribbon.d.ts.map +1 -1
- package/dist/ribbon.js +1 -0
- package/dist/ribbon.js.map +1 -1
- package/dist/wasm/_framework/Docxodus.wasm +0 -0
- package/dist/wasm/_framework/Docxodus.wasm.br +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm +0 -0
- package/dist/wasm/_framework/DocxodusWasm.wasm.br +0 -0
- package/dist/wasm/_framework/dotnet.boot.js +3 -3
- package/dist/wasm/_framework/dotnet.boot.js.br +0 -0
- package/package.json +1 -1
package/dist/editor.bundle.js
CHANGED
|
@@ -7711,23 +7711,38 @@ var DocxodusEditor = (() => {
|
|
|
7711
7711
|
};
|
|
7712
7712
|
|
|
7713
7713
|
// src/ribbon-chrome.ts
|
|
7714
|
-
var RIBBON_STYLE_VERSION = "
|
|
7714
|
+
var RIBBON_STYLE_VERSION = "8";
|
|
7715
7715
|
var RIBBON_STYLE_ATTR = "data-docxodus-ribbon-styles";
|
|
7716
7716
|
var RIBBON_CSS = `
|
|
7717
7717
|
.dxr {
|
|
7718
|
-
|
|
7718
|
+
/* OS-Legal design tokens (github.com/Open-Source-Legal/OS-Legal-Style):
|
|
7719
|
+
deep-teal accent, slate foreground scale, warm neutral surfaces, and
|
|
7720
|
+
"light touch" shadows at 0.03-0.06 opacity \u2014 structure over decoration. */
|
|
7721
|
+
--dxr-ink: #1e293b;
|
|
7719
7722
|
--dxr-sheet: #ffffff;
|
|
7720
|
-
--dxr-chrome: #
|
|
7721
|
-
--dxr-chrome-sunk: #
|
|
7722
|
-
--dxr-rule: #
|
|
7723
|
-
--dxr-
|
|
7724
|
-
--dxr-
|
|
7725
|
-
--dxr-
|
|
7726
|
-
--dxr-
|
|
7727
|
-
--dxr-
|
|
7728
|
-
--dxr-
|
|
7729
|
-
--dxr-
|
|
7723
|
+
--dxr-chrome: #ffffff;
|
|
7724
|
+
--dxr-chrome-sunk: #f8fafc;
|
|
7725
|
+
--dxr-rule: #e2e8f0;
|
|
7726
|
+
--dxr-rule-strong: #cbd5e1;
|
|
7727
|
+
--dxr-accent: #0f766e;
|
|
7728
|
+
--dxr-accent-hover: #0d9488;
|
|
7729
|
+
--dxr-accent-active: #115e59;
|
|
7730
|
+
--dxr-wash: #f0fdfa;
|
|
7731
|
+
--dxr-wash-on: #ccfbf1;
|
|
7732
|
+
--dxr-muted: #475569;
|
|
7733
|
+
--dxr-faint: #94a3b8;
|
|
7734
|
+
--dxr-data: #0f766e;
|
|
7735
|
+
--dxr-danger: #dc2626;
|
|
7736
|
+
--dxr-danger-wash: #fef2f2;
|
|
7737
|
+
--dxr-desk: #f1f5f9;
|
|
7738
|
+
--dxr-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
7739
|
+
--dxr-serif: Georgia, "Times New Roman", serif;
|
|
7730
7740
|
--dxr-mono: ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace;
|
|
7741
|
+
--dxr-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);
|
|
7742
|
+
--dxr-shadow-md: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 6px rgba(15, 23, 42, .03);
|
|
7743
|
+
--dxr-shadow-lg: 0 4px 6px rgba(15, 23, 42, .05), 0 10px 15px rgba(15, 23, 42, .04);
|
|
7744
|
+
--dxr-shadow-xl: 0 8px 16px rgba(15, 23, 42, .06), 0 20px 25px rgba(15, 23, 42, .05);
|
|
7745
|
+
--dxr-ease: cubic-bezier(.4, 0, .2, 1);
|
|
7731
7746
|
--dxr-tap: 30px;
|
|
7732
7747
|
|
|
7733
7748
|
position: relative;
|
|
@@ -7743,6 +7758,18 @@ var DocxodusEditor = (() => {
|
|
|
7743
7758
|
}
|
|
7744
7759
|
.dxr *, .dxr *::before, .dxr *::after { box-sizing: border-box; }
|
|
7745
7760
|
|
|
7761
|
+
/* \u2500\u2500 Card frame \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
7762
|
+
A drop-in embed carries its OWN boundary instead of hoping the host clips it:
|
|
7763
|
+
rounded corners, a hairline, and the house elevation. overflow: clip keeps
|
|
7764
|
+
the sticky chrome, scrollbars, and the loading overlay inside the curve.
|
|
7765
|
+
Full-bleed hosts mount with data-frame="flush" and stay edge-to-edge. */
|
|
7766
|
+
.dxr[data-frame="card"] {
|
|
7767
|
+
border: 1px solid var(--dxr-rule);
|
|
7768
|
+
border-radius: 14px;
|
|
7769
|
+
box-shadow: var(--dxr-shadow-xl);
|
|
7770
|
+
overflow: clip;
|
|
7771
|
+
}
|
|
7772
|
+
|
|
7746
7773
|
/* Touch devices get bigger hit targets everywhere the token is used. */
|
|
7747
7774
|
@media (pointer: coarse) { .dxr { --dxr-tap: 40px; } }
|
|
7748
7775
|
|
|
@@ -7771,12 +7798,13 @@ var DocxodusEditor = (() => {
|
|
|
7771
7798
|
font-weight: 600;
|
|
7772
7799
|
letter-spacing: -.01em;
|
|
7773
7800
|
}
|
|
7801
|
+
/* A filled circle, echoing the OS-Legal "Node" motif rather than a diamond. */
|
|
7774
7802
|
.dxr-brand .dxr-mark {
|
|
7775
7803
|
flex: 0 0 auto;
|
|
7776
7804
|
width: 9px;
|
|
7777
7805
|
height: 9px;
|
|
7806
|
+
border-radius: 50%;
|
|
7778
7807
|
background: var(--dxr-accent);
|
|
7779
|
-
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
|
|
7780
7808
|
}
|
|
7781
7809
|
.dxr-brand .dxr-docname {
|
|
7782
7810
|
overflow: hidden;
|
|
@@ -7808,25 +7836,25 @@ var DocxodusEditor = (() => {
|
|
|
7808
7836
|
scrollbar-width: none;
|
|
7809
7837
|
}
|
|
7810
7838
|
.dxr-tabs::-webkit-scrollbar { display: none; }
|
|
7839
|
+
/* Line-variant tabs (the house Tabs default): no boxes, no fills \u2014 the selected
|
|
7840
|
+
tab is a 2px accent underline sitting on the panel's own hairline. */
|
|
7811
7841
|
.dxr-tab {
|
|
7812
7842
|
flex: 0 0 auto;
|
|
7813
|
-
padding:
|
|
7814
|
-
border:
|
|
7815
|
-
border-bottom: none;
|
|
7816
|
-
border-radius: 5px 5px 0 0;
|
|
7843
|
+
padding: 7px 14px 8px;
|
|
7844
|
+
border: none;
|
|
7817
7845
|
background: none;
|
|
7818
7846
|
color: var(--dxr-muted);
|
|
7819
7847
|
font: inherit;
|
|
7820
7848
|
font-size: 12.5px;
|
|
7849
|
+
font-weight: 500;
|
|
7821
7850
|
cursor: pointer;
|
|
7851
|
+
transition: color .15s var(--dxr-ease), box-shadow .15s var(--dxr-ease);
|
|
7822
7852
|
}
|
|
7823
|
-
.dxr-tab:hover { color: var(--dxr-ink);
|
|
7853
|
+
.dxr-tab:hover { color: var(--dxr-ink); }
|
|
7824
7854
|
.dxr-tab[aria-selected="true"] {
|
|
7825
7855
|
color: var(--dxr-ink);
|
|
7826
7856
|
font-weight: 600;
|
|
7827
|
-
|
|
7828
|
-
border-color: var(--dxr-rule);
|
|
7829
|
-
box-shadow: inset 0 2px 0 var(--dxr-accent);
|
|
7857
|
+
box-shadow: inset 0 -2px 0 var(--dxr-accent);
|
|
7830
7858
|
}
|
|
7831
7859
|
/* Contextual tab \u2014 present only while the caret is inside a table. */
|
|
7832
7860
|
.dxr-tab[data-contextual] { color: var(--dxr-accent); }
|
|
@@ -7856,7 +7884,7 @@ var DocxodusEditor = (() => {
|
|
|
7856
7884
|
.dxr-group:last-child { border-right: none; }
|
|
7857
7885
|
.dxr-group:first-child { padding-left: 0; }
|
|
7858
7886
|
.dxr-glabel {
|
|
7859
|
-
color: var(--dxr-
|
|
7887
|
+
color: var(--dxr-faint);
|
|
7860
7888
|
font-size: 9.5px;
|
|
7861
7889
|
font-weight: 600;
|
|
7862
7890
|
letter-spacing: .11em;
|
|
@@ -7865,48 +7893,69 @@ var DocxodusEditor = (() => {
|
|
|
7865
7893
|
.dxr-row { display: flex; gap: 3px; align-items: center; }
|
|
7866
7894
|
|
|
7867
7895
|
/* \u2500\u2500 Controls \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
7896
|
+
/* One button family, house-style: every control is a ghost \u2014 no borders, no
|
|
7897
|
+
fills, no per-button boxes. Hover paints a quiet slate wash; the active
|
|
7898
|
+
(toggled) state paints a teal one. Save alone is the flat primary, so the
|
|
7899
|
+
surface has exactly one accent-colored action. */
|
|
7868
7900
|
.dxr button, .dxr label.dxr-btn {
|
|
7869
7901
|
min-height: var(--dxr-tap);
|
|
7870
7902
|
padding: 5px 9px;
|
|
7871
|
-
border:
|
|
7872
|
-
border-radius:
|
|
7903
|
+
border: none;
|
|
7904
|
+
border-radius: 6px;
|
|
7873
7905
|
background: none;
|
|
7874
7906
|
color: var(--dxr-ink);
|
|
7875
7907
|
font: inherit;
|
|
7876
7908
|
font-size: 13px;
|
|
7909
|
+
font-weight: 500;
|
|
7877
7910
|
line-height: 1.15;
|
|
7878
7911
|
cursor: pointer;
|
|
7912
|
+
transition: background-color .15s var(--dxr-ease), color .15s var(--dxr-ease),
|
|
7913
|
+
box-shadow .15s var(--dxr-ease), transform .15s var(--dxr-ease);
|
|
7879
7914
|
}
|
|
7880
7915
|
.dxr label.dxr-btn { display: inline-flex; align-items: center; }
|
|
7881
|
-
.dxr button:hover, .dxr label.dxr-btn:hover { background: #
|
|
7882
|
-
.dxr button:active { background: #
|
|
7916
|
+
.dxr button:hover, .dxr label.dxr-btn:hover { background: #f1f5f9; }
|
|
7917
|
+
.dxr button:active { background: #e2e8f0; }
|
|
7883
7918
|
.dxr button:disabled { opacity: .38; cursor: default; background: none; }
|
|
7884
|
-
.dxr button.dxr-on { color: var(--dxr-accent); background: var(--dxr-wash);
|
|
7885
|
-
.dxr-quick button, .dxr-quick label.dxr-btn {
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
background:
|
|
7889
|
-
|
|
7919
|
+
.dxr button.dxr-on { color: var(--dxr-accent); background: var(--dxr-wash-on); }
|
|
7920
|
+
.dxr-quick button, .dxr-quick label.dxr-btn { padding: 4px 10px; font-size: 12.5px; }
|
|
7921
|
+
/* Save \u2014 the house primary: flat accent, sm shadow, the 1px lift on hover. */
|
|
7922
|
+
.dxr-quick button[data-dxr="save"]:not(:disabled) {
|
|
7923
|
+
background: var(--dxr-accent);
|
|
7924
|
+
color: #fff;
|
|
7925
|
+
font-weight: 600;
|
|
7926
|
+
box-shadow: var(--dxr-shadow-sm);
|
|
7927
|
+
}
|
|
7928
|
+
.dxr-quick button[data-dxr="save"]:not(:disabled):hover {
|
|
7929
|
+
background: var(--dxr-accent-hover);
|
|
7930
|
+
box-shadow: var(--dxr-shadow-md);
|
|
7931
|
+
transform: translateY(-1px);
|
|
7932
|
+
}
|
|
7933
|
+
.dxr-quick button[data-dxr="save"]:not(:disabled):active {
|
|
7934
|
+
background: var(--dxr-accent-active);
|
|
7935
|
+
box-shadow: var(--dxr-shadow-sm);
|
|
7936
|
+
transform: translateY(0);
|
|
7890
7937
|
}
|
|
7891
|
-
|
|
7892
|
-
.dxr
|
|
7893
|
-
.dxr button.dxr-icon {
|
|
7938
|
+
/* Icon controls sit quieter than text ones until touched (house IconButton). */
|
|
7939
|
+
.dxr button.dxr-icon { min-width: var(--dxr-tap); text-align: center; color: var(--dxr-muted); }
|
|
7940
|
+
.dxr button.dxr-icon:hover:not(:disabled) { color: var(--dxr-ink); }
|
|
7941
|
+
.dxr button.dxr-icon.dxr-on { color: var(--dxr-accent); }
|
|
7894
7942
|
/* Icons are inline SVG drawn from the same shapes the control acts on (text lines,
|
|
7895
7943
|
rules), so alignment and indent read at a glance instead of relying on arrow
|
|
7896
7944
|
glyphs that collide with undo/redo. currentColor keeps them in step with state. */
|
|
7897
7945
|
.dxr button svg { display: block; margin: 0 auto; fill: currentColor; }
|
|
7898
7946
|
.dxr button.dxr-wide { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
|
|
7899
|
-
.dxr button.dxr-danger:hover { color: var(--dxr-danger); background:
|
|
7947
|
+
.dxr button.dxr-danger:hover { color: var(--dxr-danger); background: var(--dxr-danger-wash); }
|
|
7900
7948
|
.dxr select, .dxr input[type="number"], .dxr input[type="text"] {
|
|
7901
7949
|
min-height: var(--dxr-tap);
|
|
7902
7950
|
padding: 4px 6px;
|
|
7903
7951
|
border: 1px solid var(--dxr-rule);
|
|
7904
|
-
border-radius:
|
|
7905
|
-
background:
|
|
7952
|
+
border-radius: 6px;
|
|
7953
|
+
background: var(--dxr-sheet);
|
|
7906
7954
|
color: var(--dxr-ink);
|
|
7907
7955
|
font: inherit;
|
|
7908
7956
|
font-size: 12.5px;
|
|
7909
7957
|
}
|
|
7958
|
+
.dxr select:hover, .dxr input:hover { border-color: var(--dxr-rule-strong); }
|
|
7910
7959
|
.dxr select:focus-visible, .dxr input:focus-visible, .dxr button:focus-visible,
|
|
7911
7960
|
.dxr .dxr-tab:focus-visible, .dxr label.dxr-btn:focus-within {
|
|
7912
7961
|
outline: 2px solid var(--dxr-accent);
|
|
@@ -7937,7 +7986,7 @@ var DocxodusEditor = (() => {
|
|
|
7937
7986
|
height: 25px;
|
|
7938
7987
|
padding: 0 10px;
|
|
7939
7988
|
overflow-x: auto;
|
|
7940
|
-
background: #
|
|
7989
|
+
background: #fafafa;
|
|
7941
7990
|
border-top: 1px solid var(--dxr-rule);
|
|
7942
7991
|
color: var(--dxr-muted);
|
|
7943
7992
|
font-family: var(--dxr-mono);
|
|
@@ -7956,7 +8005,7 @@ var DocxodusEditor = (() => {
|
|
|
7956
8005
|
.dxr-rail .dxr-cell:first-child { padding-left: 0; }
|
|
7957
8006
|
.dxr-rail .dxr-cell:last-child { border-right: none; }
|
|
7958
8007
|
.dxr-rail .dxr-k {
|
|
7959
|
-
color:
|
|
8008
|
+
color: var(--dxr-faint);
|
|
7960
8009
|
font-family: var(--dxr-ui);
|
|
7961
8010
|
font-size: 9.5px;
|
|
7962
8011
|
letter-spacing: .1em;
|
|
@@ -7964,7 +8013,7 @@ var DocxodusEditor = (() => {
|
|
|
7964
8013
|
}
|
|
7965
8014
|
.dxr-rail .dxr-v { color: var(--dxr-data); }
|
|
7966
8015
|
.dxr-rail .dxr-v.dxr-flash { animation: dxr-railflash .45s ease-out; }
|
|
7967
|
-
@keyframes dxr-railflash { from { background: #
|
|
8016
|
+
@keyframes dxr-railflash { from { background: #ccfbf1; } to { background: transparent; } }
|
|
7968
8017
|
|
|
7969
8018
|
/* \u2500\u2500 Hint \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
7970
8019
|
.dxr-hint {
|
|
@@ -7979,8 +8028,8 @@ var DocxodusEditor = (() => {
|
|
|
7979
8028
|
.dxr-hint kbd {
|
|
7980
8029
|
padding: 0 4px;
|
|
7981
8030
|
border: 1px solid var(--dxr-rule);
|
|
7982
|
-
border-radius:
|
|
7983
|
-
background: #
|
|
8031
|
+
border-radius: 4px;
|
|
8032
|
+
background: #f1f5f9;
|
|
7984
8033
|
font-family: var(--dxr-mono);
|
|
7985
8034
|
font-size: 11px;
|
|
7986
8035
|
}
|
|
@@ -7995,13 +8044,34 @@ var DocxodusEditor = (() => {
|
|
|
7995
8044
|
SHOULD win.
|
|
7996
8045
|
(No backticks in this file's comments: the stylesheet is a template literal.) */
|
|
7997
8046
|
.dxr-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }
|
|
8047
|
+
/* Soft scroll boundaries: content dissolves at the chrome and at the bottom edge
|
|
8048
|
+
instead of hard-clipping. Sticky gradient veils cost one paint layer each and
|
|
8049
|
+
never intercept input. */
|
|
8050
|
+
.dxr-scroll::before, .dxr-scroll::after {
|
|
8051
|
+
content: "";
|
|
8052
|
+
position: sticky;
|
|
8053
|
+
z-index: 3;
|
|
8054
|
+
display: block;
|
|
8055
|
+
height: 26px;
|
|
8056
|
+
pointer-events: none;
|
|
8057
|
+
}
|
|
8058
|
+
.dxr-scroll::before {
|
|
8059
|
+
top: 0;
|
|
8060
|
+
margin-bottom: -26px;
|
|
8061
|
+
background: linear-gradient(to bottom, var(--dxr-desk), transparent);
|
|
8062
|
+
}
|
|
8063
|
+
.dxr-scroll::after {
|
|
8064
|
+
bottom: 0;
|
|
8065
|
+
margin-top: -26px;
|
|
8066
|
+
background: linear-gradient(to top, var(--dxr-desk), transparent);
|
|
8067
|
+
}
|
|
7998
8068
|
.dxr[data-chrome] .dxr-surface { margin: 26px auto; padding: 0 16px 96px; }
|
|
7999
8069
|
.dxr-surface [contenteditable="true"]:focus {
|
|
8000
8070
|
outline: 2px solid var(--dxr-accent);
|
|
8001
8071
|
outline-offset: 2px;
|
|
8002
8072
|
border-radius: 2px;
|
|
8003
8073
|
}
|
|
8004
|
-
@media (hover: hover) { .dxr-surface [contenteditable="true"]:hover { background:
|
|
8074
|
+
@media (hover: hover) { .dxr-surface [contenteditable="true"]:hover { background: var(--dxr-wash); } }
|
|
8005
8075
|
|
|
8006
8076
|
/* Header/footer bands: stories live in their own OOXML parts outside the body,
|
|
8007
8077
|
so they dock as their own regions. Styled from the same tokens as the ribbon
|
|
@@ -8013,9 +8083,10 @@ var DocxodusEditor = (() => {
|
|
|
8013
8083
|
margin: 0 auto 14px;
|
|
8014
8084
|
padding: 9px 72px 13px;
|
|
8015
8085
|
border: 1px solid var(--dxr-rule);
|
|
8016
|
-
border-left: 2px solid #
|
|
8017
|
-
border-radius:
|
|
8086
|
+
border-left: 2px solid #5eead4;
|
|
8087
|
+
border-radius: 6px;
|
|
8018
8088
|
background: var(--dxr-sheet);
|
|
8089
|
+
box-shadow: var(--dxr-shadow-sm);
|
|
8019
8090
|
}
|
|
8020
8091
|
.dxr-surface .docx-hf-band + .docx-body-flow { margin-top: 0; }
|
|
8021
8092
|
.dxr-surface .docx-hf-band[data-hf-band="footer"] { margin: 14px auto 0; }
|
|
@@ -8034,8 +8105,8 @@ var DocxodusEditor = (() => {
|
|
|
8034
8105
|
.dxr-surface .docx-hf-chrome select, .dxr-surface .docx-hf-chrome input {
|
|
8035
8106
|
padding: 3px 5px;
|
|
8036
8107
|
border: 1px solid var(--dxr-rule);
|
|
8037
|
-
border-radius:
|
|
8038
|
-
background:
|
|
8108
|
+
border-radius: 6px;
|
|
8109
|
+
background: var(--dxr-sheet);
|
|
8039
8110
|
color: var(--dxr-ink);
|
|
8040
8111
|
font: inherit;
|
|
8041
8112
|
font-family: var(--dxr-ui);
|
|
@@ -8049,22 +8120,22 @@ var DocxodusEditor = (() => {
|
|
|
8049
8120
|
.dxr-surface .docx-hf-warning {
|
|
8050
8121
|
margin: 0 0 8px -60px;
|
|
8051
8122
|
padding: 7px 9px;
|
|
8052
|
-
border: 1px solid #
|
|
8053
|
-
border-left: 2px solid #
|
|
8054
|
-
border-radius:
|
|
8055
|
-
background: #
|
|
8056
|
-
color: #
|
|
8123
|
+
border: 1px solid #fde68a;
|
|
8124
|
+
border-left: 2px solid #d97706;
|
|
8125
|
+
border-radius: 6px;
|
|
8126
|
+
background: #fffbeb;
|
|
8127
|
+
color: #92400e;
|
|
8057
8128
|
font-size: 12px;
|
|
8058
8129
|
line-height: 1.45;
|
|
8059
8130
|
}
|
|
8060
8131
|
.dxr-surface .docx-hf-warning button {
|
|
8061
8132
|
margin-left: 6px;
|
|
8062
8133
|
padding: 2px 8px;
|
|
8063
|
-
border-color: #
|
|
8134
|
+
border-color: #fde68a;
|
|
8064
8135
|
background: #fff;
|
|
8065
8136
|
font-size: 12px;
|
|
8066
8137
|
}
|
|
8067
|
-
.dxr-surface .docx-hf-placeholder { color:
|
|
8138
|
+
.dxr-surface .docx-hf-placeholder { color: var(--dxr-faint); font-style: italic; }
|
|
8068
8139
|
.dxr-surface .docx-hf-inherited {
|
|
8069
8140
|
color: var(--dxr-muted);
|
|
8070
8141
|
font-style: italic;
|
|
@@ -8084,7 +8155,7 @@ var DocxodusEditor = (() => {
|
|
|
8084
8155
|
padding: 56px 0;
|
|
8085
8156
|
border-radius: 3px;
|
|
8086
8157
|
background: var(--dxr-sheet);
|
|
8087
|
-
box-shadow: 0 1px 3px rgba(
|
|
8158
|
+
box-shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 12px 24px rgba(15, 23, 42, .06);
|
|
8088
8159
|
}
|
|
8089
8160
|
|
|
8090
8161
|
/* \u2500\u2500 Table size picker \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
@@ -8094,9 +8165,9 @@ var DocxodusEditor = (() => {
|
|
|
8094
8165
|
z-index: 30;
|
|
8095
8166
|
padding: 9px;
|
|
8096
8167
|
border: 1px solid var(--dxr-rule);
|
|
8097
|
-
border-radius:
|
|
8168
|
+
border-radius: 12px;
|
|
8098
8169
|
background: #fff;
|
|
8099
|
-
box-shadow:
|
|
8170
|
+
box-shadow: var(--dxr-shadow-xl);
|
|
8100
8171
|
}
|
|
8101
8172
|
.dxr-pop[data-open] { display: block; }
|
|
8102
8173
|
.dxr-gridcells { display: grid; grid-template-columns: repeat(10, 16px); gap: 2px; }
|
|
@@ -8104,11 +8175,11 @@ var DocxodusEditor = (() => {
|
|
|
8104
8175
|
width: 16px;
|
|
8105
8176
|
height: 16px;
|
|
8106
8177
|
border: 1px solid var(--dxr-rule);
|
|
8107
|
-
border-radius:
|
|
8108
|
-
background:
|
|
8178
|
+
border-radius: 3px;
|
|
8179
|
+
background: var(--dxr-chrome-sunk);
|
|
8109
8180
|
cursor: pointer;
|
|
8110
8181
|
}
|
|
8111
|
-
.dxr-gridcells div[data-on] { background:
|
|
8182
|
+
.dxr-gridcells div[data-on] { background: #ccfbf1; border-color: var(--dxr-accent); }
|
|
8112
8183
|
.dxr-popfoot {
|
|
8113
8184
|
display: flex;
|
|
8114
8185
|
justify-content: space-between;
|
|
@@ -8191,11 +8262,11 @@ var DocxodusEditor = (() => {
|
|
|
8191
8262
|
display: grid;
|
|
8192
8263
|
place-items: center;
|
|
8193
8264
|
padding: 24px;
|
|
8194
|
-
color: #
|
|
8265
|
+
color: #f8fafc;
|
|
8195
8266
|
background:
|
|
8196
|
-
radial-gradient(circle at 20% 20%, rgba(
|
|
8197
|
-
radial-gradient(circle at 82% 80%, rgba(
|
|
8198
|
-
linear-gradient(
|
|
8267
|
+
radial-gradient(circle at 20% 20%, rgba(13, 148, 136, .2), transparent 22rem),
|
|
8268
|
+
radial-gradient(circle at 82% 80%, rgba(45, 212, 191, .1), transparent 24rem),
|
|
8269
|
+
linear-gradient(150deg, #0b1220 0%, #0f172a 55%, #0f2723 100%);
|
|
8199
8270
|
transition: opacity .55s ease, visibility .55s ease;
|
|
8200
8271
|
}
|
|
8201
8272
|
.dxr-loader[hidden] { display: none; }
|
|
@@ -8214,14 +8285,14 @@ var DocxodusEditor = (() => {
|
|
|
8214
8285
|
.dxr-orbit {
|
|
8215
8286
|
position: absolute;
|
|
8216
8287
|
inset: 7%;
|
|
8217
|
-
border: 1px solid rgba(
|
|
8288
|
+
border: 1px solid rgba(45, 212, 191, .24);
|
|
8218
8289
|
border-radius: 50%;
|
|
8219
8290
|
animation: dxr-spin 9s linear infinite;
|
|
8220
8291
|
}
|
|
8221
8292
|
.dxr-orbit.dxr-two {
|
|
8222
8293
|
inset: 20%;
|
|
8223
8294
|
border-style: dashed;
|
|
8224
|
-
border-color: rgba(
|
|
8295
|
+
border-color: rgba(94, 234, 212, .3);
|
|
8225
8296
|
animation-duration: 6s;
|
|
8226
8297
|
animation-direction: reverse;
|
|
8227
8298
|
}
|
|
@@ -8231,19 +8302,19 @@ var DocxodusEditor = (() => {
|
|
|
8231
8302
|
height: 10px;
|
|
8232
8303
|
border-radius: 50%;
|
|
8233
8304
|
content: "";
|
|
8234
|
-
background: #
|
|
8235
|
-
box-shadow: 0 0 18px
|
|
8305
|
+
background: #2dd4bf;
|
|
8306
|
+
box-shadow: 0 0 18px rgba(45, 212, 191, .8);
|
|
8236
8307
|
}
|
|
8237
8308
|
.dxr-orbit::before { top: -5px; left: 50%; }
|
|
8238
|
-
.dxr-orbit::after { right: 7%; bottom: 12%; background: #
|
|
8309
|
+
.dxr-orbit::after { right: 7%; bottom: 12%; background: #5eead4; box-shadow: 0 0 18px rgba(94, 234, 212, .7); }
|
|
8239
8310
|
.dxr-card {
|
|
8240
8311
|
position: absolute;
|
|
8241
8312
|
inset: 24% 28%;
|
|
8242
8313
|
padding: 20px 15px;
|
|
8243
|
-
border: 1px solid rgba(255, 255, 255, .
|
|
8314
|
+
border: 1px solid rgba(255, 255, 255, .3);
|
|
8244
8315
|
border-radius: 14px;
|
|
8245
|
-
background: linear-gradient(150deg, rgba(255, 255, 255, .
|
|
8246
|
-
box-shadow: 0 22px 50px rgba(0, 0, 0, .35), 0 0 45px rgba(
|
|
8316
|
+
background: linear-gradient(150deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05));
|
|
8317
|
+
box-shadow: 0 22px 50px rgba(0, 0, 0, .35), 0 0 45px rgba(13, 148, 136, .15);
|
|
8247
8318
|
backdrop-filter: blur(10px);
|
|
8248
8319
|
animation: dxr-float 3.6s ease-in-out infinite;
|
|
8249
8320
|
}
|
|
@@ -8253,8 +8324,8 @@ var DocxodusEditor = (() => {
|
|
|
8253
8324
|
right: -9px;
|
|
8254
8325
|
padding: 4px 7px;
|
|
8255
8326
|
border-radius: 6px;
|
|
8256
|
-
background: #
|
|
8257
|
-
color: #
|
|
8327
|
+
background: #2dd4bf;
|
|
8328
|
+
color: #042f2e;
|
|
8258
8329
|
content: "DOCX";
|
|
8259
8330
|
font-size: 8px;
|
|
8260
8331
|
font-weight: 900;
|
|
@@ -8271,46 +8342,49 @@ var DocxodusEditor = (() => {
|
|
|
8271
8342
|
}
|
|
8272
8343
|
.dxr-card i:nth-child(2) { width: 76%; animation-delay: -.45s; }
|
|
8273
8344
|
.dxr-card i:nth-child(3) { width: 88%; animation-delay: -.85s; }
|
|
8274
|
-
.dxr-card i:nth-child(4) { width: 58%; background: rgba(
|
|
8345
|
+
.dxr-card i:nth-child(4) { width: 58%; background: rgba(248, 113, 113, .75); animation-delay: -1.2s; }
|
|
8275
8346
|
.dxr-chip {
|
|
8276
8347
|
position: absolute;
|
|
8277
8348
|
display: grid;
|
|
8278
8349
|
width: 34px;
|
|
8279
8350
|
height: 34px;
|
|
8280
8351
|
place-items: center;
|
|
8281
|
-
border: 1px solid rgba(255, 255, 255, .
|
|
8352
|
+
border: 1px solid rgba(255, 255, 255, .16);
|
|
8282
8353
|
border-radius: 11px;
|
|
8283
|
-
background: rgba(
|
|
8354
|
+
background: rgba(15, 30, 46, .88);
|
|
8284
8355
|
box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
|
|
8285
8356
|
font-size: 11px;
|
|
8286
8357
|
font-weight: 850;
|
|
8287
8358
|
}
|
|
8288
|
-
.dxr-chip.dxr-b { left: 2%; top: 30%; color: #
|
|
8289
|
-
.dxr-chip.dxr-r { right: -2%; bottom: 24%; color: #
|
|
8290
|
-
.dxr-chip.dxr-s { left: 20%; bottom: 0; color: #
|
|
8291
|
-
.dxr-eyebrow { color: #
|
|
8359
|
+
.dxr-chip.dxr-b { left: 2%; top: 30%; color: #5eead4; animation: dxr-chip 3s ease-in-out infinite; }
|
|
8360
|
+
.dxr-chip.dxr-r { right: -2%; bottom: 24%; color: #fca5a5; animation: dxr-chip 3s -1.4s ease-in-out infinite; }
|
|
8361
|
+
.dxr-chip.dxr-s { left: 20%; bottom: 0; color: #6ee7b7; animation: dxr-chip 3s -.7s ease-in-out infinite; }
|
|
8362
|
+
.dxr-eyebrow { color: #5eead4; font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
|
|
8363
|
+
/* Georgia headline \u2014 the house pairing of a serif headline over Inter UI copy. */
|
|
8292
8364
|
.dxr-loader h2 {
|
|
8293
8365
|
margin: 10px auto 10px;
|
|
8294
8366
|
max-width: 520px;
|
|
8295
|
-
font-
|
|
8296
|
-
|
|
8297
|
-
|
|
8367
|
+
font-family: var(--dxr-serif);
|
|
8368
|
+
font-size: clamp(23px, 5vw, 38px);
|
|
8369
|
+
font-weight: 500;
|
|
8370
|
+
line-height: 1.08;
|
|
8371
|
+
letter-spacing: -.02em;
|
|
8298
8372
|
}
|
|
8299
|
-
.dxr-loader-copy > p { margin: 0 auto; max-width: 46ch; color: #
|
|
8373
|
+
.dxr-loader-copy > p { margin: 0 auto; max-width: 46ch; color: #94a3b8; font-size: 13.5px; line-height: 1.6; }
|
|
8300
8374
|
.dxr-ad {
|
|
8301
8375
|
display: flex;
|
|
8302
8376
|
gap: 12px;
|
|
8303
8377
|
margin: 20px auto 0;
|
|
8304
8378
|
max-width: 420px;
|
|
8305
8379
|
padding: 13px;
|
|
8306
|
-
border: 1px solid rgba(
|
|
8307
|
-
border-radius:
|
|
8380
|
+
border: 1px solid rgba(148, 163, 184, .16);
|
|
8381
|
+
border-radius: 12px;
|
|
8308
8382
|
background: rgba(255, 255, 255, .04);
|
|
8309
8383
|
text-align: left;
|
|
8310
8384
|
}
|
|
8311
|
-
.dxr-ad .dxr-num { color: #
|
|
8385
|
+
.dxr-ad .dxr-num { color: #2dd4bf; font: 800 10px/1.4 var(--dxr-mono); }
|
|
8312
8386
|
.dxr-ad strong { display: block; font-size: 12.5px; }
|
|
8313
|
-
.dxr-ad .dxr-adcopy { display: block; margin-top: 4px; color: #
|
|
8387
|
+
.dxr-ad .dxr-adcopy { display: block; margin-top: 4px; color: #8ba0b9; font-size: 11.5px; line-height: 1.45; }
|
|
8314
8388
|
.dxr-ad[data-swap] { animation: dxr-swap .4s ease; }
|
|
8315
8389
|
.dxr-track {
|
|
8316
8390
|
height: 3px;
|
|
@@ -8324,8 +8398,8 @@ var DocxodusEditor = (() => {
|
|
|
8324
8398
|
width: 12%;
|
|
8325
8399
|
height: 100%;
|
|
8326
8400
|
border-radius: inherit;
|
|
8327
|
-
background: linear-gradient(90deg, #
|
|
8328
|
-
box-shadow: 0 0 16px rgba(
|
|
8401
|
+
background: linear-gradient(90deg, #14b8a6, #2dd4bf, #5eead4);
|
|
8402
|
+
box-shadow: 0 0 16px rgba(45, 212, 191, .5);
|
|
8329
8403
|
transition: width .65s cubic-bezier(.22, .8, .28, 1);
|
|
8330
8404
|
}
|
|
8331
8405
|
.dxr-meta {
|
|
@@ -8334,7 +8408,7 @@ var DocxodusEditor = (() => {
|
|
|
8334
8408
|
gap: 14px;
|
|
8335
8409
|
margin: 9px auto 0;
|
|
8336
8410
|
max-width: 420px;
|
|
8337
|
-
color: #
|
|
8411
|
+
color: #64748b;
|
|
8338
8412
|
font: 700 9px/1 var(--dxr-mono);
|
|
8339
8413
|
letter-spacing: .09em;
|
|
8340
8414
|
text-transform: uppercase;
|
|
@@ -8343,9 +8417,9 @@ var DocxodusEditor = (() => {
|
|
|
8343
8417
|
display: none;
|
|
8344
8418
|
margin-top: 18px;
|
|
8345
8419
|
padding: 9px 14px;
|
|
8346
|
-
border: 1px solid rgba(
|
|
8420
|
+
border: 1px solid rgba(248, 113, 113, .4);
|
|
8347
8421
|
border-radius: 9px;
|
|
8348
|
-
background: rgba(
|
|
8422
|
+
background: rgba(248, 113, 113, .12);
|
|
8349
8423
|
color: #fff;
|
|
8350
8424
|
cursor: pointer;
|
|
8351
8425
|
}
|
|
@@ -8460,8 +8534,8 @@ var DocxodusEditor = (() => {
|
|
|
8460
8534
|
)}</button>
|
|
8461
8535
|
</div>
|
|
8462
8536
|
<div class="dxr-row">
|
|
8463
|
-
<button type="button" data-list="bullet" title="Bullet list"
|
|
8464
|
-
<button type="button" data-list="decimal" title="Numbered list">
|
|
8537
|
+
<button type="button" data-list="bullet" title="Bullet list">Bullets</button>
|
|
8538
|
+
<button type="button" data-list="decimal" title="Numbered list">Numbered</button>
|
|
8465
8539
|
<button type="button" data-pagebreak title="Start this block on a new page">Page break</button>
|
|
8466
8540
|
</div>
|
|
8467
8541
|
</div>
|
|
@@ -8784,6 +8858,7 @@ var DocxodusEditor = (() => {
|
|
|
8784
8858
|
const root = doc.createElement("div");
|
|
8785
8859
|
root.className = "dxr";
|
|
8786
8860
|
root.dataset.state = "idle";
|
|
8861
|
+
root.dataset.frame = this.options.frame ?? "flush";
|
|
8787
8862
|
root.innerHTML = RIBBON_HTML;
|
|
8788
8863
|
for (const el of Array.from(root.querySelectorAll("[data-dxr]"))) {
|
|
8789
8864
|
el.id = this.idPrefix + el.dataset.dxr;
|