@univerjs/docs-ui 0.24.0-insiders.20260530-57a0a3e → 0.25.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/LICENSE +176 -0
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +9 -9
package/LICENSE
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
package/lib/cjs/index.js
CHANGED
|
@@ -15705,7 +15705,7 @@ function getPageSizeInModernMode(page) {
|
|
|
15705
15705
|
//#endregion
|
|
15706
15706
|
//#region package.json
|
|
15707
15707
|
var name = "@univerjs/docs-ui";
|
|
15708
|
-
var version = "0.
|
|
15708
|
+
var version = "0.25.0";
|
|
15709
15709
|
|
|
15710
15710
|
//#endregion
|
|
15711
15711
|
//#region src/controllers/doc-auto-format.controller.ts
|
package/lib/es/index.js
CHANGED
|
@@ -15704,7 +15704,7 @@ function getPageSizeInModernMode(page) {
|
|
|
15704
15704
|
//#endregion
|
|
15705
15705
|
//#region package.json
|
|
15706
15706
|
var name = "@univerjs/docs-ui";
|
|
15707
|
-
var version = "0.
|
|
15707
|
+
var version = "0.25.0";
|
|
15708
15708
|
|
|
15709
15709
|
//#endregion
|
|
15710
15710
|
//#region src/controllers/doc-auto-format.controller.ts
|
package/lib/index.js
CHANGED
|
@@ -15704,7 +15704,7 @@ function getPageSizeInModernMode(page) {
|
|
|
15704
15704
|
//#endregion
|
|
15705
15705
|
//#region package.json
|
|
15706
15706
|
var name = "@univerjs/docs-ui";
|
|
15707
|
-
var version = "0.
|
|
15707
|
+
var version = "0.25.0";
|
|
15708
15708
|
|
|
15709
15709
|
//#endregion
|
|
15710
15710
|
//#region src/controllers/doc-auto-format.controller.ts
|
package/lib/umd/index.js
CHANGED
|
@@ -50,5 +50,5 @@ td.UniverTableCell, th.UniverTableCell{mso-padding-alt:0cm 5.4pt 0cm 5.4pt;}
|
|
|
50
50
|
`,children:[t.DocumentFlavor.MODERN,t.DocumentFlavor.TRADITIONAL].map(e=>(0,u.jsx)(`button`,{type:`button`,className:(0,l.clsx)(`univer-h-8 univer-cursor-pointer univer-rounded-md univer-border-none univer-bg-transparent univer-text-sm univer-font-medium univer-text-gray-600 univer-transition-colors hover:univer-bg-white hover:univer-text-gray-900 dark:!univer-text-gray-200 dark:hover:!univer-bg-gray-700`,{"univer-bg-white univer-text-gray-900 univer-shadow-sm dark:!univer-bg-gray-700 dark:!univer-text-white":o.mode===e}),onClick:()=>p(e),children:a.t(e===t.DocumentFlavor.MODERN?`docs-ui.page-settings.modern-mode`:`docs-ui.page-settings.classic-mode`)},e))}),o.mode===t.DocumentFlavor.MODERN?(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2.5`,children:[(0,u.jsx)(Ho,{children:a.t(`docs-ui.page-settings.modern-width`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-3 univer-gap-2`,children:zo.map(e=>(0,u.jsxs)(`button`,{type:`button`,className:(0,l.clsx)(`univer-flex univer-h-16 univer-cursor-pointer univer-flex-col univer-items-center univer-justify-center univer-gap-1 univer-rounded-lg univer-border univer-border-solid univer-border-gray-200 univer-bg-white univer-text-sm univer-font-medium univer-text-gray-700 univer-transition-colors hover:univer-border-primary-500 hover:univer-text-primary-600 dark:!univer-border-gray-600 dark:!univer-bg-gray-900 dark:!univer-text-gray-100`,{"!univer-border-primary-500 !univer-bg-primary-50 !univer-text-primary-600 dark:!univer-bg-primary-900":o.modernWidth===e}),onClick:()=>m(e),children:[(0,u.jsx)(`span`,{children:a.t(`docs-ui.page-settings.modern-width-${e}`)}),(0,u.jsxs)(`span`,{className:`univer-text-xs univer-font-normal univer-text-gray-400`,children:[t.MODERN_DOCUMENT_WIDTH[e],`px`]})]},e))})]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{children:a.t(`docs-ui.page-settings.paper-size`)}),(0,u.jsx)(l.Select,{value:o.paperSize,onChange:d,options:t.PAPER_TYPES.map(e=>({label:a.t(`docs-ui.page-settings.page-size.${e.toLocaleLowerCase()}`),value:e}))})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{children:a.t(`docs-ui.page-settings.custom-paper-size`)}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2.5`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-gap-2.5`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.top`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.height/2,value:o.margins.top,onChange:e=>f(`top`,e)})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.bottom`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.height/2,value:o.margins.bottom,onChange:e=>f(`bottom`,e)})]})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-gap-2.5`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.left`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.width/2,value:o.margins.left,onChange:e=>f(`left`,e)})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.right`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.width/2,value:o.margins.right,onChange:e=>f(`right`,e)})]})]})]})]})]})]})}let Wo=`docs.component.page-setting`;function Go(e){var n,r,i,a;let o=(n=(r=e.pageSize)==null?void 0:r.width)==null?0:n;return o?e.documentFlavor===t.DocumentFlavor.MODERN?Math.max(0,o-t.MODERN_DOCUMENT_DEFAULT_MARGIN*2):Math.max(0,o-((i=e.marginLeft)==null?0:i)-((a=e.marginRight)==null?0:a)):0}function Ko(e){return e.tableColumns.reduce((e,t)=>{var n;return e+((n=t.size.width.v)==null?0:n)},0)}function qo(e,t){if(t<=0||e.tableColumns.length===0)return!1;let n=Ko(e)||e.size.width.v;return Math.abs(n-t)<=2}function Jo(e,t,n,r,i){!n||r<=0||i<=0||Math.abs(r-i)<=2||Object.entries(n).forEach(([n,a])=>{if(!qo(a,r))return;let o=Ko(a);if(o<=0)return;let s=e.replaceOp([`tableSource`,n,`size`,`width`,`v`],a.size.width.v,i);s&&t.push(s),a.tableColumns.forEach((r,a)=>{let s=r.size.width.v/o*i,c=e.replaceOp([`tableSource`,n,`tableColumns`,a,`size`,`width`,`v`],r.size.width.v,s);c&&t.push(c)})})}let Yo={id:`docs.command.page-setup`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let i=e.get(t.IUniverInstanceService),a=e.get(t.ICommandService),o=i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!o)return!1;let{documentFlavor:s,marginLeft:c,marginRight:l,marginBottom:u,marginTop:d,pageOrient:f,pageSize:p}=r,m=t.JSONX.getInstance(),h=o.getDocumentStyle(),g=o.getSnapshot(),_={...h,documentFlavor:s==null?h.documentFlavor:s,marginBottom:u,marginLeft:c,marginRight:l,marginTop:d,pageOrient:f,pageSize:p},{marginBottom:v,marginLeft:y,marginRight:b,marginTop:x,pageOrient:S,pageSize:C,documentFlavor:w}=h,T=[];if(Jo(m,T,g.tableSource,Go(h),Go(_)),s!==void 0)if(w===void 0){let e=m.insertOp([`documentStyle`,`documentFlavor`],s);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`documentFlavor`],w,s);e&&T.push(e)}if(v===void 0){let e=m.insertOp([`documentStyle`,`marginBottom`],u);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginBottom`],v,u);e&&T.push(e)}if(y===void 0){let e=m.insertOp([`documentStyle`,`marginLeft`],c);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginLeft`],y,c);e&&T.push(e)}if(b===void 0){let e=m.insertOp([`documentStyle`,`marginRight`],l);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginRight`],b,l);e&&T.push(e)}if(x===void 0){let e=m.insertOp([`documentStyle`,`marginTop`],d);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginTop`],x,d);e&&T.push(e)}if(C===void 0){let e=m.insertOp([`documentStyle`,`pageSize`],p);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`pageSize`],C,p);e&&T.push(e)}if(S===void 0){let e=m.insertOp([`documentStyle`,`pageOrient`],f);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`pageOrient`],S,f);e&&T.push(e)}let E={id:n.RichTextEditingMutation.id,params:{unitId:o.getUnitId(),actions:[],textRanges:void 0}};return E.params.actions=T.reduce((e,n)=>t.JSONX.compose(e,n),null),!!a.syncExecuteCommand(E.id,E.params)}},Xo={id:`docs.operation.open-page-setting`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(t.IConfirmService),r=e.get(t.ICommandService),i=e.get(t.LocaleService),a=n.open({id:Wo,title:{label:i.t(`docs-ui.page-settings.document-setting`)},children:{label:Wo},width:528,onClose:()=>{a.dispose()},onConfirm:e=>{if(a.dispose(),!e)return;let n=e.mode===t.DocumentFlavor.MODERN?{width:t.MODERN_DOCUMENT_WIDTH[e.modernWidth],height:t.PAGE_SIZE.A4.height}:t.PAGE_SIZE[e.paperSize];r.executeCommand(Yo.id,{documentFlavor:e.mode,pageOrient:e.orientation,marginTop:e.margins.top,marginBottom:e.margins.bottom,marginLeft:e.margins.left,marginRight:e.margins.right,pageSize:n})},confirmText:i.t(`docs-ui.page-settings.confirm`),cancelText:i.t(`docs-ui.page-settings.cancel`)});return!0}};function Zo(e){let i=e.get(t.IUniverInstanceService),a=e.get(r.IRenderManagerService);return new o.Observable(e=>{let o=i.focused$.subscribe(o=>{if(o==null||i.getUnitType(o)!==t.UniverInstanceType.UNIVER_DOC)return e.next(!0);let s=a.getRenderById(o);if(s==null)return e.next(!0);s.with(n.DocSkeletonManagerService).getViewModel().editAreaChange$.subscribe(t=>{e.next(t===r.DocumentEditArea.HEADER||t===r.DocumentEditArea.FOOTER)})});return()=>o.unsubscribe()})}function Qo(e){let r=e.get(t.IUniverInstanceService),i=e.get(t.ICommandService);return new o.Observable(e=>{let a=i.onCommandExecuted(i=>{if(i.id===n.RichTextEditingMutation.id){let{unitId:n}=i.params,a=r.getUnit(n);if(a==null){e.next(!0);return}let{documentStyle:o}=a.getSnapshot();e.next((o==null?void 0:o.documentFlavor)!==t.DocumentFlavor.TRADITIONAL)}}),o=r.focused$.subscribe(n=>{if(n==null)return e.next(!0);let i=r.getUniverDocInstance(n),a=i==null?void 0:i.getSnapshot().documentStyle.documentFlavor;e.next(a!==t.DocumentFlavor.TRADITIONAL)}),s=r.getCurrentUniverDocInstance();if(s==null)return e.next(!0);let c=s==null?void 0:s.getSnapshot().documentStyle.documentFlavor;return e.next(c!==t.DocumentFlavor.TRADITIONAL),()=>{a.dispose(),o.unsubscribe()}})}function $o(e){let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(t=>{let n=r.textSelection$.subscribe(n=>{if(n==null){t.next(!0);return}let{textRanges:r}=n;if(r.length!==1){t.next(!0);return}let{collapsed:a,startNodePosition:o,startOffset:s}=r[0];if(!a||s==null){t.next(!0);return}let c=i.getCurrentUniverDocInstance();if(c==null){t.next(!0);return}let l=L(e,c.getUnitId());if(l==null){t.next(!0);return}if(l.getViewModel().getCustomRangeRaw(s)){t.next(!0);return}if(o!=null){let{path:e}=o;if(e.indexOf(`cells`)!==-1){t.next(!0);return}}t.next(!1)});return()=>n.unsubscribe()})}function Q(e){let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let n=r.textSelection$.subscribe(n=>{var r,a;if(n==null){e.next(!0);return}let{textRanges:o,rectRanges:s}=n;if(o.length===0&&s.length===0){e.next(!0);return}let c=i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(((r=c==null||(a=c.getBody())==null||(a=a.blockRanges)==null?void 0:a.filter(e=>e.blockType===`code`))==null?[]:r).some(e=>o.some(t=>Math.max(t.startOffset,e.startIndex)<=Math.min(t.endOffset,e.endIndex)))){e.next(!0);return}e.next(!1)});return()=>n.unsubscribe()})}function es(e,t){var n,r;let i=(n=e==null||(r=e.getBody())==null?void 0:r.blockRanges)==null?[]:n,a=t.startOffset,o=t.collapsed?t.startOffset:t.endOffset-1;return i.some(e=>Math.max(a,e.startIndex)<=Math.min(o,e.endIndex))}function ts(e){let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let n=n=>{var a,o,s,c;let l=(a=r.__getCurrentSelection)==null?void 0:a.call(r),u=(o=n==null?void 0:n.textRanges)==null?[...(s=r.getTextRanges())==null?[]:s]:o,d=(c=n==null?void 0:n.unitId)==null?l==null?void 0:l.unitId:c,f=d?i.getUnit(d,t.UniverInstanceType.UNIVER_DOC):i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);e.next(u.some(e=>es(f,e)))};n();let a=r.textSelection$.subscribe(e=>n(e));return()=>a.unsubscribe()})}function ns(e){let r=e.get(t.ICommandService);return{id:Gn.id,type:i.MenuItemType.BUTTON,icon:`BoldIcon`,title:`Set bold`,tooltip:`docs-ui.toolbar.bold`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.bl;i.next(a===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function rs(e){let r=e.get(t.ICommandService);return{id:qn.id,type:i.MenuItemType.BUTTON,icon:`ItalicIcon`,title:`Set italic`,tooltip:`docs-ui.toolbar.italic`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.it;i.next(a===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function is(e){let r=e.get(t.ICommandService);return{id:Yn.id,type:i.MenuItemType.BUTTON,icon:`UnderlineIcon`,title:`Set underline`,tooltip:`docs-ui.toolbar.underline`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.ul;i.next((a==null?void 0:a.s)===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function as(e){let r=e.get(t.ICommandService);return{id:Zn.id,type:i.MenuItemType.BUTTON,icon:`StrikethroughIcon`,title:`Set strike through`,tooltip:`docs-ui.toolbar.strikethrough`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.st;i.next((a==null?void 0:a.s)===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function os(e){let r=e.get(t.ICommandService);return{id:$n.id,type:i.MenuItemType.BUTTON,icon:`SubscriptIcon`,tooltip:`docs-ui.toolbar.subscript`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.va;i.next(a===t.BaselineOffset.SUBSCRIPT)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ss(e){let r=e.get(t.ICommandService);return{id:tr.id,type:i.MenuItemType.BUTTON,icon:`SuperscriptIcon`,tooltip:`docs-ui.toolbar.superscript`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.va;i.next(a===t.BaselineOffset.SUPERSCRIPT)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function cs(e){let r=e.get(t.ICommandService);return{id:ar.id,tooltip:`docs-ui.toolbar.font`,type:i.MenuItemType.SELECTOR,label:{name:i.FONT_FAMILY_COMPONENT,props:{id:ar.id}},selections:[{label:{name:i.FONT_FAMILY_ITEM_COMPONENT,hoverable:!1,selectable:!1,props:{id:ar.id}}}],value$:new o.Observable(i=>{let a=t.DEFAULT_STYLES.ff,o=()=>{var t;let n=Ps(e);if(n==null){i.next(a);return}let r=(t=n.ts)==null?void 0:t.ff;i.next(r==null?a:r)},s=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===ar.id)&&o()});return o(),s.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ls(e){let r=e.get(t.ICommandService);return{id:rr.id,type:i.MenuItemType.SELECTOR,tooltip:`docs-ui.toolbar.fontSize`,label:{name:i.FONT_SIZE_COMPONENT,props:{min:1,max:400}},selections:i.FONT_SIZE_LIST,value$:new o.Observable(i=>{let a=t.DEFAULT_STYLES.fs,o=()=>{var t;let n=Ps(e);if(n==null){i.next(a);return}let r=(t=n.ts)==null?void 0:t.fs;i.next(r==null?a:r)},s=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===rr.id)&&o()});return o(),s.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function us(e){let r=e.get(t.ICommandService);return{id:J.id,type:i.MenuItemType.SELECTOR,tooltip:`ui.toolbar.heading.tooltip`,label:{name:i.COMMON_LABEL_COMPONENT,props:{selections:i.HEADING_LIST}},selections:i.HEADING_LIST.map(e=>({label:{name:i.HEADING_ITEM_COMPONENT,props:{value:e.value,text:e.label}},value:e.value})),value$:new o.Observable(i=>{let a=t.NamedStyleType.NORMAL_TEXT,o=()=>{var t,n;let r=Fs(e);if(r==null){i.next(a);return}let o=(t=(n=r.paragraphStyle)==null?void 0:n.namedStyleType)==null?a:t;i.next(o)},s=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===rr.id)&&o()});return o(),s.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let ds=`doc.menu.float-text-style`,fs=`doc.menu.float-toolbar`,ps=[{icon:`TextTypeIcon`,label:`ui.toolbar.heading.normal`,value:t.NamedStyleType.NORMAL_TEXT},{icon:`H1Icon`,label:`ui.toolbar.heading.1`,value:t.NamedStyleType.HEADING_1},{icon:`H2Icon`,label:`ui.toolbar.heading.2`,value:t.NamedStyleType.HEADING_2},{icon:`H3Icon`,label:`ui.toolbar.heading.3`,value:t.NamedStyleType.HEADING_3},{icon:`H4Icon`,label:`ui.toolbar.heading.4`,value:t.NamedStyleType.HEADING_4},{icon:`H5Icon`,label:`ui.toolbar.heading.5`,value:t.NamedStyleType.HEADING_5},{id:Pr.id,icon:`OrderIcon`,label:`docs-ui.toolbar.order`,value:t.PresetListType.ORDER_LIST},{id:jr.id,icon:`UnorderIcon`,label:`docs-ui.toolbar.unorder`,value:t.PresetListType.BULLET_LIST},{id:Mr.id,icon:`TodoListDoubleIcon`,label:`docs-ui.toolbar.checklist`,value:t.PresetListType.CHECK_LIST}];function ms(e){[[`TextTypeIcon`,za],[`H1Icon`,xa],[`H2Icon`,Ca],[`H3Icon`,Ta],[`H4Icon`,Da],[`H5Icon`,ka]].forEach(([t,n])=>{e.get(t)||e.register(t,n)})}function hs(e){var n,r,i;let a=e==null||(n=e.bullet)==null?void 0:n.listType;return a!=null&&a.startsWith(t.PresetListType.ORDER_LIST)?t.PresetListType.ORDER_LIST:a!=null&&a.startsWith(t.PresetListType.BULLET_LIST)?t.PresetListType.BULLET_LIST:a===t.PresetListType.CHECK_LIST||a===t.PresetListType.CHECK_LIST_CHECKED?t.PresetListType.CHECK_LIST:(r=e==null||(i=e.paragraphStyle)==null?void 0:i.namedStyleType)==null?t.NamedStyleType.NORMAL_TEXT:r}function gs(e){let r=e.get(t.ICommandService);return ms(e.get(i.ComponentManager)),{id:ds,commandId:J.id,type:i.MenuItemType.SELECTOR,icon:`TextTypeIcon`,tooltip:`ui.toolbar.heading.tooltip`,selections:ps,value$:new o.Observable(t=>{let i=()=>{t.next(hs(Fs(e)))},a=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===J.id||t===Pr.id||t===jr.id||t===Mr.id)&&i()});return i(),a.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function _s(e){let n=e.get(t.ICommandService),r=e.get(t.ThemeService);return{id:sr.id,icon:`FontColorDoubleIcon`,tooltip:`docs-ui.toolbar.textColor.main`,type:i.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:i.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new o.Observable(r=>{let i=t.DEFAULT_STYLES.cl.rgb,a=()=>{var t;let n=Ps(e);if(!n){r.next(i);return}let a=(t=n.ts)==null||(t=t.cl)==null?void 0:t.rgb;r.next(a==null?i:a)},o=n.onCommandExecuted(e=>{e.id===sr.id&&a()});return a(),o.dispose})}],value$:new o.Observable(e=>{let t=r.getColorFromTheme(`gray.900`),i=n.onCommandExecuted(n=>{if(n.id===sr.id){let r=n.params.value;e.next(r==null?t:r)}});return e.next(t),i.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function vs(e){return{id:so.id,type:i.MenuItemType.BUTTON,icon:`HeaderFooterIcon`,tooltip:`docs-ui.toolbar.headerFooter`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY),Qo(e),(e,t)=>e||t)}}let ys=`GridIcon`,bs=`doc.menu.table`;function xs(e){return{id:bs,type:i.MenuItemType.SUBITEMS,icon:ys,tooltip:`docs-ui.toolbar.table.main`,disabled$:$o(e),hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY),Zo(e),(e,t)=>e||t)}}function Ss(e){return{id:aa.id,title:`docs-ui.toolbar.table.insert`,type:i.MenuItemType.BUTTON,icon:ys,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Cs(e){return{id:aa.id,commandId:Wi.id,params:{rowCount:3,colCount:5},title:`docs-ui.toolbar.table.insert`,type:i.MenuItemType.BUTTON,icon:ys,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let ws=[{id:Vr.id,value:t.HorizontalAlign.LEFT,label:`docs-ui.toolbar.alignLeft`,icon:`LeftJustifyingIcon`},{id:Hr.id,value:t.HorizontalAlign.CENTER,label:`docs-ui.toolbar.alignCenter`,icon:`HorizontallyIcon`},{id:Ur.id,value:t.HorizontalAlign.RIGHT,label:`docs-ui.toolbar.alignRight`,icon:`RightJustifyingIcon`},{id:Wr.id,value:t.HorizontalAlign.JUSTIFIED,label:`docs-ui.toolbar.alignJustify`,icon:`AlignTextBothIcon`}];function Ts(e){let r=e.get(t.ICommandService),a=new o.Observable(i=>{let a=()=>{var n,r;let a=Fs(e);i.next((n=a==null||(r=a.paragraphStyle)==null?void 0:r.horizontalAlign)==null?t.HorizontalAlign.LEFT:n)},o=r.onCommandExecuted(e=>{(e.id===n.SetTextSelectionsOperation.id||e.id===Br.id)&&a()});return a(),o.dispose});return{id:Br.id,type:i.MenuItemType.SELECTOR,icon:a.pipe((0,o.map)(e=>{var t,n;return(t=(n=ws.find(t=>t.value===e))==null?void 0:n.icon)==null?`LeftJustifyingIcon`:t})),tooltip:`docs-ui.toolbar.alignLeft`,selections:ws,value$:a,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Es(e){return{id:kn.id,type:i.MenuItemType.BUTTON,icon:`ReduceIcon`,tooltip:`docs-ui.toolbar.horizontalLine`,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}let Ds=e=>new o.Observable(r=>{let i=e.get(t.IUniverInstanceService),a=e.get(n.DocSelectionManagerService),o=i.focused$.subscribe(e=>{var n;if(e==null)return;let o=i.getUniverDocInstance(e);if(o==null)return;let s=a.getDocRanges(),c=(n=s.find(e=>e.isActive))==null?s[0]:n;if(c){var l,u,d,f;let e=o.getSelfOrHeaderFooterModel(c==null?void 0:c.segmentId),n=t.BuildTextUtils.range.getParagraphsInRange(c,(l=(u=e.getBody())==null?void 0:u.paragraphs)==null?[]:l,(d=(f=e.getBody())==null?void 0:f.dataStream)==null?``:d),i;if(n.every(e=>{if(!i){var t;i=(t=e.bullet)==null?void 0:t.listType}return e.bullet&&e.bullet.listType===i})){r.next(i);return}}r.next(void 0)});return()=>{o.unsubscribe()}});function Os(e){return{id:Pr.id,type:i.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:go,hoverable:!1,selectable:!1},value$:Ds(e)}],icon:`OrderIcon`,tooltip:`docs-ui.toolbar.order`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),disabled$:Q(e),activated$:Ds(e).pipe((0,o.map)(e=>!!(e&&e.indexOf(`ORDER_LIST`)===0)))}}function ks(e){return{id:jr.id,type:i.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:_o,hoverable:!1,selectable:!1},value$:Ds(e)}],icon:`UnorderIcon`,tooltip:`docs-ui.toolbar.unorder`,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),activated$:Ds(e).pipe((0,o.map)(e=>!!(e&&e.indexOf(`BULLET_LIST`)===0)))}}function As(e){return{id:Mr.id,type:i.MenuItemType.BUTTON,icon:`TodoListDoubleIcon`,tooltip:`docs-ui.toolbar.checklist`,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),activated$:Ds(e).pipe((0,o.map)(e=>!!(e&&e.indexOf(`CHECK_LIST`)===0)))}}function js(e){let r=e.get(t.ICommandService),a=e.get(t.IUniverInstanceService);return{id:Ui.id,type:i.MenuItemType.BUTTON,icon:`KeyboardIcon`,tooltip:`docs-ui.toolbar.documentFlavor`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY),activated$:new o.Observable(e=>{var i;let o=r.onCommandExecuted(r=>{if(r.id===n.RichTextEditingMutation.id){var i;let n=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);e.next((n==null||(i=n.getSnapshot())==null?void 0:i.documentStyle.documentFlavor)===t.DocumentFlavor.MODERN)}}),s=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return e.next((s==null||(i=s.getSnapshot())==null?void 0:i.documentStyle.documentFlavor)===t.DocumentFlavor.MODERN),()=>o.dispose()})}}function Ms(e){return{id:dr.id,type:i.MenuItemType.BUTTON,title:`docs-ui.toolbar.resetColor`,icon:`NoColorDoubleIcon`}}function Ns(e){let n=e.get(t.ICommandService),r=e.get(t.ThemeService);return{id:lr.id,tooltip:`docs-ui.toolbar.fillColor.main`,type:i.MenuItemType.BUTTON_SELECTOR,icon:`PaintBucketDoubleIcon`,selections:[{label:{name:i.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new o.Observable(r=>{let i=t.DEFAULT_STYLES.bg.rgb,a=()=>{var t;let n=Ps(e);if(!n){r.next(i);return}let a=(t=n.ts)==null||(t=t.bg)==null?void 0:t.rgb;r.next(a==null?i:a)},o=n.onCommandExecuted(e=>{e.id===lr.id&&a()});return a(),o.dispose})}],value$:new o.Observable(e=>{let t=r.getColorFromTheme(`primary.600`),i=n.onCommandExecuted(n=>{if(n.id===lr.id){let r=n.params.value;e.next(r==null?t:r)}});return e.next(t),i.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ps(e){var r,i,a,o;let s=e.get(t.IUniverInstanceService),c=e.get(n.DocSelectionManagerService),l=e.get(I),u=s.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),d=c.getDocRanges(),f=(r=d.find(e=>e.isActive))==null?d[0]:r,p=l.getDefaultStyle(),m=(i=l.getStyleCache())==null?{}:i,h=Fs(e),g=!(h==null||(a=h.paragraphStyle)==null)&&a.namedStyleType?t.NAMED_STYLE_MAP[h==null||(o=h.paragraphStyle)==null?void 0:o.namedStyleType]:null;if(u==null||f==null)return{ts:{...p,...g,...m}};let{segmentId:_}=f,v=u.getSelfOrHeaderFooterModel(_).getBody();if(v==null)return{ts:{...p,...g,...m}};let y=_r(v,f,{});return t.Tools.deleteNull(y),{ts:{...p,...g,...y,...m}}}function Fs(e){var r,i;let a=e.get(t.IUniverInstanceService),o=e.get(n.DocSelectionManagerService),s=a.getCurrentUniverDocInstance(),c=o.getDocRanges(),l=(r=c.find(e=>e.isActive))==null?c[0]:r;if(s==null||l==null)return;let{startOffset:u,segmentId:d}=l,f=(i=s.getSelfOrHeaderFooterModel(d).getBody())==null?void 0:i.paragraphs;if(f==null)return;let p=-1;for(let e of f){let{startIndex:t}=e;if(u>p&&u<=t)return e;p=t}return null}function Is(e){return{id:Xo.id,type:i.MenuItemType.BUTTON,icon:`DocumentSettingIcon`,tooltip:`docs-ui.toolbar.pageSetup`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Ls={[t.NamedStyleType.HEADING_1]:Zr,[t.NamedStyleType.HEADING_2]:Qr,[t.NamedStyleType.HEADING_3]:$r,[t.NamedStyleType.HEADING_4]:ei,[t.NamedStyleType.HEADING_5]:ti,[t.NamedStyleType.NORMAL_TEXT]:ni,[t.NamedStyleType.TITLE]:ri,[t.NamedStyleType.SUBTITLE]:ii,[t.NamedStyleType.NAMED_STYLE_TYPE_UNSPECIFIED]:ni},Rs={[t.NamedStyleType.HEADING_1]:`ui.toolbar.heading.1`,[t.NamedStyleType.HEADING_2]:`ui.toolbar.heading.2`,[t.NamedStyleType.HEADING_3]:`ui.toolbar.heading.3`,[t.NamedStyleType.HEADING_4]:`ui.toolbar.heading.4`,[t.NamedStyleType.HEADING_5]:`ui.toolbar.heading.5`,[t.NamedStyleType.NORMAL_TEXT]:`ui.toolbar.heading.normal`,[t.NamedStyleType.TITLE]:`ui.toolbar.heading.title`,[t.NamedStyleType.SUBTITLE]:`ui.toolbar.heading.subTitle`};function zs({className:e}){return(0,s.createElement)(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":!0},(0,s.createElement)(`text`,{x:2,y:19,fontFamily:`Arial, sans-serif`,fontSize:19,fontWeight:500},`T`),(0,s.createElement)(`text`,{x:15,y:19,fontFamily:`Arial, sans-serif`,fontSize:13,fontWeight:500},`t`))}function Bs({className:e}){return(0,s.createElement)(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":!0},(0,s.createElement)(`text`,{x:5,y:19,fontFamily:`Arial, sans-serif`,fontSize:19,fontWeight:500},`S`))}let Vs={[t.NamedStyleType.HEADING_1]:{key:`H1Icon`,component:xa},[t.NamedStyleType.HEADING_2]:{key:`H2Icon`,component:Ca},[t.NamedStyleType.HEADING_3]:{key:`H3Icon`,component:Ta},[t.NamedStyleType.HEADING_4]:{key:`H4Icon`,component:Da},[t.NamedStyleType.HEADING_5]:{key:`H5Icon`,component:ka},[t.NamedStyleType.NORMAL_TEXT]:{key:`TextTypeIcon`,component:za},[t.NamedStyleType.TITLE]:{key:`TitleTypeIcon`,component:zs},[t.NamedStyleType.SUBTITLE]:{key:`SubtitleTypeIcon`,component:Bs},[t.NamedStyleType.NAMED_STYLE_TYPE_UNSPECIFIED]:{key:`TextTypeIcon`,component:za}},Hs=e=>r=>{let a=r.get(t.ICommandService),s=r.get(i.ComponentManager),c=Vs[e];return s.get(c.key)||s.register(c.key,c.component),{id:Ls[e].id,type:i.MenuItemType.BUTTON,icon:c.key,title:Rs[e],tooltip:`ui.toolbar.heading.tooltip`,disabled$:Q(r),hidden$:(0,i.getMenuHiddenObservable)(r,t.UniverInstanceType.UNIVER_DOC),activated$:new o.Observable(i=>{let o=t.NamedStyleType.NORMAL_TEXT,s=()=>{var t,n;let a=Fs(r);if(a==null){i.next(o===e);return}let s=(t=(n=a.paragraphStyle)==null?void 0:n.namedStyleType)==null?o:t;i.next(s===e)},c=a.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===rr.id)&&s()});return s(),c.dispose})}},Us=Hs(t.NamedStyleType.HEADING_1),Ws=Hs(t.NamedStyleType.HEADING_2),Gs=Hs(t.NamedStyleType.HEADING_3),Ks=Hs(t.NamedStyleType.HEADING_4),qs=Hs(t.NamedStyleType.HEADING_5),Js=Hs(t.NamedStyleType.NORMAL_TEXT),Ys=Hs(t.NamedStyleType.TITLE),Xs=Hs(t.NamedStyleType.SUBTITLE),Zs=(e,t,n)=>r=>{let a=r.get(i.ComponentManager),o=Object.values(Vs).find(e=>e.key===t);return o&&!a.get(o.key)&&a.register(o.key,o.component),{id:e.id,type:i.MenuItemType.BUTTON,icon:t,title:n}},Qs=`doc.menu.empty-paragraph`,$s=Zs(Zr,`H1Icon`,`ui.toolbar.heading.1`),ec=Zs(Qr,`H2Icon`,`ui.toolbar.heading.2`),tc=Zs($r,`H3Icon`,`ui.toolbar.heading.3`),nc=Zs(ei,`H4Icon`,`ui.toolbar.heading.4`),rc=Zs(ti,`H5Icon`,`ui.toolbar.heading.5`),ic=Zs(ni,`TextTypeIcon`,`ui.toolbar.heading.normal`),ac=Zs(Pr,`OrderIcon`,`docs-ui.rightClick.orderList`),oc=Zs(jr,`UnorderIcon`,`docs-ui.rightClick.bulletList`),sc=Zs(Mr,`TodoListDoubleIcon`,`docs-ui.rightClick.checkList`),cc=Zs(kn,`ReduceIcon`,`docs-ui.toolbar.horizontalLine`),lc=e=>({id:gn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`}),uc=e=>({id:vn.id,type:i.MenuItemType.BUTTON,icon:`CutIcon`,title:`docs-ui.rightClick.cut`}),dc=e=>({id:Le.id,type:i.MenuItemType.BUTTON,icon:`DeleteIcon`,title:`docs-ui.rightClick.delete`}),fc=e=>({id:Lr.id,type:i.MenuItemType.BUTTON,icon:`UnorderIcon`,title:`docs-ui.rightClick.bulletList`}),pc=e=>({id:Rr.id,type:i.MenuItemType.BUTTON,icon:`OrderIcon`,title:`docs-ui.rightClick.orderList`}),mc=e=>({id:zr.id,type:i.MenuItemType.BUTTON,icon:`TodoListDoubleIcon`,title:`docs-ui.rightClick.checkList`}),hc=e=>({id:An.id,type:i.MenuItemType.BUTTON,icon:`ReduceIcon`,title:`docs-ui.toolbar.horizontalLine`}),gc=`doc.menu.insert-bellow`,_c=`doc.menu.content-insert`,vc=`doc.menu.table-block`;function yc(e){return`doc.block-range.${e}.menu`}let bc=e=>({id:hn.name,commandId:hn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`}),xc=e=>({id:yn.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.paste`}),Sc=e=>({id:qi.id,type:i.MenuItemType.BUTTON,icon:`DeleteIcon`,title:`docs-ui.rightClick.delete`});function Cc(e){return{id:gc,type:i.MenuItemType.SUBITEMS,title:`docs-ui.rightClick.insertBellow`}}function wc(e,t){let n=Tc(e.left,e.top,t),r=Tc(e.right,e.bottom,t);return{left:n.x,top:n.y,right:r.x,bottom:r.y}}function Tc(e,t,n){let{scaleX:r,scaleY:i}=n.getAncestorScale(),a=n.getViewport(`viewMain`);if(!a)return{x:e,y:t};let{viewportScrollX:o,viewportScrollY:s}=a;return{x:(e-o)*r,y:(t-s)*i}}function Ec(e,t,n){let{scaleX:r,scaleY:i}=n.getAncestorScale(),a=n.getViewport(`viewMain`);if(!a)return{x:e,y:t};let{viewportScrollX:o,viewportScrollY:s}=a;return{x:e/r+o,y:t/i+s}}let Dc=(e,t)=>{let{scene:i,mainComponent:a,engine:o}=t,s=t.with(n.DocSkeletonManagerService).getSkeleton(),c=s.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,e.segmentPage),l=e.collapsed?e.startOffset:e.endOffset-1,u=s.findNodePositionByCharIndex(l,!0,e.segmentId,e.segmentPage),d=a;if(!u||!c)return;let f=d.getOffsetConfig(),{docsLeft:p,docsTop:m}=f,h=o.getCanvasElement(),g=h.getBoundingClientRect(),_=(0,r.pxToNum)(h.style.width),{top:v,left:y,width:b}=g,x=b/_,{scaleX:S,scaleY:C}=i.getAncestorScale(),{borderBoxPointGroup:w}=new fi(f,s).getRangePointData(c,u);return ji(w).map(e=>wc(e,i)).map(e=>({left:(e.left+p*S)*x+y,right:(e.right+p*S)*x+y,top:(e.top+m*C)*x+v,bottom:(e.bottom+m*C)*x+v}))},Oc=class extends t.Disposable{constructor(e,t,n,r){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=n,this._commandService=r}_createRectPositionObserver(e,i){let a=()=>{let{scene:t,engine:n}=i,a=typeof e==`function`?e():e,o=n.getCanvasElement(),s=o.getBoundingClientRect(),c=(0,r.pxToNum)(o.style.width),l=wc(a,t),{top:u,left:d,width:f}=s,p=f/c;return{left:l.left*p+d,right:l.right*p+d,top:l.top*p+u,bottom:l.bottom*p+u}},s=a(),c=new o.BehaviorSubject(s),l=new t.DisposableCollection;l.add(this._commandService.onCommandExecuted(e=>{if(e.id===q.id||e.id===n.RichTextEditingMutation.id){let e=a();e&&c.next(e)}}));let u=i.scene.getViewport(`viewMain`);return u&&l.add(u.onScrollAfter$.subscribeEvent(()=>{c.next(a())})),l.add(i.scene.onTransformChange$.subscribeEvent(()=>{c.next(a())})),{position:s,position$:c,disposable:l}}_createObjectPositionObserver(e,t){return this._createRectPositionObserver(()=>{let{left:t,top:n,width:r,height:i}=e;return{left:t,right:t+r,top:n,bottom:n+i}},t)}_createRangePositionObserver(e,r){var i;let a=(i=Dc(e,r))==null?[]:i,s=new o.BehaviorSubject(a),c=new t.DisposableCollection;c.add(this._commandService.onCommandExecuted(t=>{if((t.id===q.id||t.id===n.RichTextEditingMutation.id)&&t.params.unitId===r.unitId){let t=Dc(e,r);t&&s.next(t)}}));let l=r.scene.getViewport(`viewMain`);return l&&c.add(l.onScrollAfter$.subscribeEvent(()=>{let t=Dc(e,r);t&&s.next(t)})),c.add(r.scene.onTransformChange$.subscribeEvent(()=>{let t=Dc(e,r);t&&s.next(t)})),{positions:a,positions$:s,disposable:c}}attachPopupToRect(e,t,n){let r=this._renderManagerService.getRenderById(n);if(!r)throw Error(`Current render not found, unitId: ${n}`);let{position:i,position$:a,disposable:o}=this._createRectPositionObserver(e,r),s=this._globalPopupManagerService.addPopup({...t,unitId:n,subUnitId:`default`,anchorRect:i,anchorRect$:a,canvasElement:r.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(s),a.complete(),o.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==s}}attachPopupToObject(e,t,n){let r=this._renderManagerService.getRenderById(n);if(!r)throw Error(`Current render not found, unitId: ${n}`);let{position:i,position$:a,disposable:o}=this._createObjectPositionObserver(e,r),s=this._globalPopupManagerService.addPopup({...t,unitId:n,subUnitId:`default`,anchorRect:i,anchorRect$:a,canvasElement:r.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(s),a.complete(),o.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==s}}attachPopupToRange(e,t,n){if(!this._univerInstanceService.getUnit(n))throw Error(`Document not found, unitId: ${n}`);let{direction:r=`top`,multipleDirection:i}=t,a=this._renderManagerService.getRenderById(n);if(!a)throw Error(`Current render not found, unitId: ${n}`);let{positions:s,positions$:c,disposable:l}=this._createRangePositionObserver(e,a),u=c.pipe((0,o.map)(e=>r.includes(`top`)?e[0]:e[e.length-1])),d=this._globalPopupManagerService.addPopup({...t,unitId:n,subUnitId:`default`,anchorRect:r.includes(`top`)?s[0]:s[s.length-1],anchorRect$:u,excludeRects:s,excludeRects$:c,direction:[`top`,`bottom`,`horizontal`].some(e=>r.includes(e))&&s.length>1?i==null?r:i:r,canvasElement:a.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(d),c.complete(),l.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==d}}};Oc=A([k(0,(0,t.Inject)(i.ICanvasPopupService)),k(1,r.IRenderManagerService),k(2,t.IUniverInstanceService),k(3,t.ICommandService)],Oc);let kc=(e,t,n,r)=>{let i=n.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,r),a=n.getSkeletonData(),o=e.collapsed?e.startOffset:e.endOffset-1;if(e.segmentId){var s,c,l,u,d;let t=(s=Array.from((c=a==null||(l=a.skeFooters.get(e.segmentId))==null?void 0:l.values())==null?[]:c)[0])==null?Array.from((u=a==null||(d=a.skeHeaders.get(e.segmentId))==null?void 0:d.values())==null?[]:u)[0]:s;t&&(o=Math.min(t.ed,o))}let f=n.findNodePositionByCharIndex(o,!0,e.segmentId,r);if(!f||!i)return;let p=t.getOffsetConfig(),{borderBoxPointGroup:m}=new fi(p,n).getRangePointData(i,f);return ji(m).map(e=>({top:e.top+p.docsTop-4,bottom:e.bottom+p.docsTop+4,left:e.left+p.docsLeft,right:e.right+p.docsLeft}))},Ac=(e,t,n,r)=>{let i=[];for(let a of e){let e=a.top;for(let o of a.columns){let s=o.left,c=a.colCount===1?r:o.width,l=null;for(let r of o.lines){let a=r.paragraphIndex;if(r.paragraphStart){l&&(i.push(l),l=null);let o={top:t+e+r.top,left:n+s,right:n+s+c,bottom:t+e+r.top+r.lineHeight};l={paragraphStart:r.st,paragraphEnd:a,startIndex:a,rect:o,fisrtLine:{top:t+e+r.top+r.marginTop+r.paddingTop,left:n+s,right:n+s+c,bottom:t+e+r.top+r.marginTop+r.paddingTop+r.contentHeight}}}else l&&l.startIndex===a&&(l.rect.bottom=t+e+r.top+r.lineHeight)}l&&i.push(l)}}return i},jc=(e,t,n,r=-1)=>{let i=n.findPositionByGlyph(e,r);if(!i)return;let a=t.getOffsetConfig(),o={...i,isBack:!0},{borderBoxPointGroup:s}=new fi(a,n).getRangePointData(o,o),c=ji(s)[0];if(c)return{top:c.top+a.docsTop,bottom:c.bottom+a.docsTop,left:c.left+a.docsLeft,right:c.left+a.docsLeft+e.width}};function Mc(e,t,n){let{left:r,right:i,top:a,bottom:o}=n;return e>=r&&e<=i&&t>=a&&t<=o}function Nc(e){return{bottom:e.bottom,left:e.left-72,right:e.right,top:e.top-42}}function Pc(e,t,n){let r=n!=null&&n.contentWidth>n.viewportWidth;return{scrollLeft:r?n.scrollLeft:0,visibleLeft:e,visibleRight:e+(r?n.viewportWidth:t)}}let Fc=class extends t.Disposable{get hoverParagraph(){return this._hoverParagraph$.value}get hoverParagraphLeft(){return this._hoverParagraphLeft$.value}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}get _documents(){return this._context.mainComponent}constructor(e,t){super(),this._context=e,this._docSkeletonManagerService=t,O(this,`_hoverCustomRanges$`,new o.BehaviorSubject([])),O(this,`hoverCustomRanges$`,this._hoverCustomRanges$.pipe((0,o.distinctUntilChanged)((e,t)=>e.length===t.length&&e.every((e,n)=>t[n].range.rangeId===e.range.rangeId&&t[n].segmentId===e.segmentId&&t[n].segmentPageIndex===e.segmentPageIndex&&t[n].range.startIndex===e.range.startIndex)))),O(this,`_clickCustomRanges$`,new o.Subject),O(this,`clickCustomRanges$`,this._clickCustomRanges$.asObservable()),O(this,`_hoverBullet$`,new o.Subject),O(this,`hoverBullet$`,this._hoverBullet$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.paragraph.startIndex)===(t==null?void 0:t.paragraph.startIndex)&&(e==null?void 0:e.segmentId)===(t==null?void 0:t.segmentId)&&(e==null?void 0:e.segmentPageIndex)===(t==null?void 0:t.segmentPageIndex)))),O(this,`_clickBullet$`,new o.Subject),O(this,`clickBullets$`,this._clickBullet$.asObservable()),O(this,`_contextMenuBullet$`,new o.Subject),O(this,`contextMenuBullets$`,this._contextMenuBullet$.asObservable()),O(this,`_hoverParagraph$`,new o.BehaviorSubject(null)),O(this,`hoverParagraph$`,this._hoverParagraph$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.startIndex)===(t==null?void 0:t.startIndex)&&(e==null?void 0:e.segmentId)===(t==null?void 0:t.segmentId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverParagraphRealTime$`,this._hoverParagraph$.asObservable()),O(this,`_hoverParagraphLeft$`,new o.BehaviorSubject(null)),O(this,`hoverParagraphLeft$`,this._hoverParagraphLeft$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.startIndex)===(t==null?void 0:t.startIndex)&&(e==null?void 0:e.segmentId)===(t==null?void 0:t.segmentId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverParagraphLeftRealTime$`,this._hoverParagraphLeft$.asObservable()),O(this,`_hoverTableCell$`,new o.Subject),O(this,`hoverTableCell$`,this._hoverTableCell$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.rowIndex)===(t==null?void 0:t.rowIndex)&&(e==null?void 0:e.colIndex)===(t==null?void 0:t.colIndex)&&(e==null?void 0:e.tableId)===(t==null?void 0:t.tableId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverTableCellRealTime$`,this._hoverTableCell$.asObservable()),O(this,`_hoverTable$`,new o.Subject),O(this,`hoverTable$`,this._hoverTable$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.tableId)===(t==null?void 0:t.tableId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverTableRealTime$`,this._hoverTable$.asObservable()),O(this,`_customRangeDirty`,!0),O(this,`_bulletDirty`,!0),O(this,`_paragraphDirty`,!0),O(this,`_customRangeBounds`,[]),O(this,`_bulletBounds`,[]),O(this,`_paragraphBounds`,new Map),O(this,`_paragraphLeftBounds`,[]),O(this,`_tableParagraphBounds`,new Map),O(this,`_segmentParagraphBounds`,new Map),O(this,`_tableViewportSignature`,``),O(this,`_tableCellBounds`,new Map),O(this,`_tableBounds`,new Map),this._initResetDirty(),this._initEvents(),this._initPointer()}dispose(){this._hoverCustomRanges$.complete(),this._clickCustomRanges$.complete(),super.dispose()}_initPointer(){let e=r.CURSOR_TYPE.TEXT;this.disposeWithMe(this.hoverCustomRanges$.subscribe(t=>{t.length?(e=this._context.scene.getCursor(),this._context.scene.setCursor(r.CURSOR_TYPE.POINTER)):this._context.scene.setCursor(e)}))}_initResetDirty(){this.disposeWithMe(this._skeleton.dirty$.subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0})),this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0})),this.disposeWithMe((0,t.fromEventSubject)(this._context.scene.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0}))}_initEvents(){this.disposeWithMe((0,t.fromEventSubject)(this._context.scene.onPointerMove$).pipe((0,o.throttleTime)(30)).subscribe(e=>{if(e.buttons>0){this._hoverBullet$.next(null),this._hoverCustomRanges$.next([]),this._hoverParagraph$.next(null),this._hoverParagraphLeft$.next(null),this._hoverTableCell$.next(null),this._hoverTable$.next(null);return}let{x:t,y:n}=Ec(e.offsetX,e.offsetY,this._context.scene);this._hoverCustomRanges$.next(this._calcActiveRanges({x:t,y:n})),this._hoverParagraph$.next(this._calcActiveParagraph({x:t,y:n})),this._hoverParagraphLeft$.next(this._calcActiveParagraphLeft({x:t,y:n})),this._hoverBullet$.next(this._calcActiveBullet({x:t,y:n}))})),this.disposeWithMe(this._context.scene.onPointerEnter$.subscribeEvent(()=>{this._hoverBullet$.next(null),this._hoverCustomRanges$.next([])}));let e=(0,t.fromEventSubject)(this._context.mainComponent.onPointerDown$),n=(0,t.fromEventSubject)(this._context.scene.onPointerUp$);this.disposeWithMe(e.pipe((0,o.switchMap)(e=>n.pipe((0,o.take)(1),(0,o.map)(t=>({down:e,up:t})))),(0,o.filter)(({down:e,up:t})=>e.target===t.target&&t.timeStamp-e.timeStamp<300)).subscribe(({down:e})=>{let t=Ec(e.offsetX,e.offsetY,this._context.scene);if(e.button===2){let n=this._calcActiveBullet(t);n&&this._contextMenuBullet$.next({...n,x:e.offsetX,y:e.offsetY});return}let n=this._calcActiveRanges(t);n.length&&this._clickCustomRanges$.next(n.pop());let r=this._calcActiveBullet(t);r&&this._clickBullet$.next(r)}))}isPointerOnBullet(e,t){return!!this._calcActiveBullet(Ec(e,t,this._context.scene))}getBulletBounds(){return this._buildBulletBounds(),[...this._bulletBounds]}_buildCustomRangeBoundsBySegment(e,t=-1){var n,r;let i=(n=(r=this._context.unit.getSelfOrHeaderFooterModel(e))==null||(r=r.getBody())==null?void 0:r.customRanges)==null?[]:n,a=[];return i.forEach(n=>{let r=kc({startOffset:n.startIndex,endOffset:n.endIndex+1,collapsed:!1,segmentId:e},this._documents,this._skeleton,t);if(!r)return null;a.push({customRange:n,rects:r,segmentId:e,segmentPageIndex:t})}),a}_buildCustomRangeBounds(){var e;if(!this._customRangeDirty)return;this._customRangeDirty=!1;let t=[];t.push(...this._buildCustomRangeBoundsBySegment()),(e=this._skeleton.getSkeletonData())==null||e.pages.forEach((e,n)=>{e.headerId&&t.push(...this._buildCustomRangeBoundsBySegment(e.headerId,n)),e.footerId&&t.push(...this._buildCustomRangeBoundsBySegment(e.footerId,n))}),this._customRangeBounds=t}_calcActiveRanges(e){this._buildCustomRangeBounds();let{x:t,y:n}=e;return this._customRangeBounds.filter(e=>e.rects.some(e=>Mc(t,n,e))).map(e=>({segmentId:e.segmentId,range:e.customRange,segmentPageIndex:e.segmentPageIndex,rects:e.rects}))}_buildBulletBoundsBySegment(e,t=-1){var n,r;let i=(n=this._context.unit.getSelfOrHeaderFooterModel(e))==null?void 0:n.getBody(),a=((r=i==null?void 0:i.paragraphs)==null?[]:r).filter(e=>e.bullet),o=[],s=this._skeleton.getSkeletonData();if(!s)return o;let c=n=>{for(let i of n){let n=[...i.sections];if(i.skeTables){let e=Array.from(i.skeTables.values());n.push(...e.map(e=>e.rows.map(e=>e.cells.map(e=>e.sections))).flat(4))}for(let i of n)for(let n of i.columns)for(let i of n.lines)if(i.paragraphStart){let n=a.find(e=>e.startIndex===i.paragraphIndex);if(n){var r;let a=i,s=a==null||(r=a.divides)==null||(r=r[0])==null||(r=r.glyphGroup)==null?void 0:r[0];if(!s)continue;let c=jc(s,this._documents,this._skeleton,t);if(!c)continue;o.push({rect:c,segmentId:e,segmentPageIndex:t,paragraph:n})}}}return o};if(e){var l,u,d;let t=(l=(u=s.skeFooters.get(e))==null?void 0:u.values())==null?(d=s.skeHeaders.get(e))==null?void 0:d.values():l;return t?c(Array.from(t)):o}return c(s.pages)}_buildBulletBounds(){var e;this._bulletDirty&&(this._bulletDirty=!1,this._bulletBounds=[],this._bulletBounds.push(...this._buildBulletBoundsBySegment()),(e=this._skeleton.getSkeletonData())==null||e.pages.forEach((e,t)=>{e.headerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(e.headerId,t)),e.footerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(e.footerId,t))}))}_calcActiveBullet(e){this._buildBulletBounds();let{x:t,y:n}=e;return this._bulletBounds.find(e=>Mc(t,n,e.rect))}_buildParagraphBoundsBySegment(e){let t=this._skeleton.getSkeletonData(),n=this._documents.getOffsetConfig();if(!t)return null;let i=t=>{let i=new Map,a=(t,n,r,a)=>{Ac(t.sections,r,a,t.pageWidth-t.marginLeft-t.marginRight).forEach(t=>{if(!i.has(t.startIndex))i.set(t.startIndex,{rect:t.rect,paragraphStart:t.paragraphStart,paragraphEnd:t.paragraphEnd,startIndex:t.startIndex,rects:[t.rect],pageIndex:n,segmentId:e,firstLine:t.fisrtLine});else{let e=i.get(t.startIndex);e&&(e.rect.bottom=t.rect.bottom,e.rects.push(t.rect))}})};for(let i=0;i<t.length;i++){let o=t[i],s=((o.pageHeight===1/0?0:o.pageHeight)+n.pageMarginTop)*i+o.marginTop+n.docsTop,c=o.marginLeft+n.docsLeft;o.skeTables&&Array.from(o.skeTables.values()).forEach(t=>{let a=t.left+c,l=t.top+s,u=(0,r.getTableIdAndSliceIndex)(t.tableId).tableId,d=Pc(a,t.width,(0,r.getDocsTableRenderViewport)(this._context.unitId,u)),f=d.visibleRight,p=l+t.height,m=t.tableId;this._tableBounds.set(m,{rect:{left:a,top:l,right:f,bottom:p},pageIndex:i,tableId:m}),t.rows.forEach((r,s)=>{r.cells.forEach((c,l)=>{let u=((o.pageHeight===1/0?0:o.pageHeight)+n.pageMarginTop)*i+t.top+n.docsTop+o.marginTop+r.top+c.marginTop,f=a+c.left-d.scrollLeft+c.marginLeft,p=c.pageWidth-c.marginLeft-c.marginRight,h=f+p,g=Math.max(f,d.visibleLeft),_=Math.min(h,d.visibleRight);if(_<=g)return;let v=Ac(c.sections,u,f,p).map(e=>Rc(e,d.visibleLeft,d.visibleRight)).filter(e=>e!=null),y=this._tableParagraphBounds.get(m);y||(y=[],this._tableParagraphBounds.set(m,y)),y.push(...v.map(t=>({rect:t.rect,paragraphStart:t.paragraphStart,paragraphEnd:t.paragraphEnd,startIndex:t.startIndex,pageIndex:i,segmentId:e,rowIndex:s,colIndex:l,firstLine:t.fisrtLine,tableId:m})));let b=this._tableCellBounds.get(m);b||(b=[],this._tableCellBounds.set(m,b)),b.push({rect:{top:u,left:g,right:_,bottom:u+c.pageHeight-c.marginBottom-c.marginTop},pageIndex:i,rowIndex:s,colIndex:l,tableId:m})})})}),a(o,i,s,c)}return i};if(e){var a,o,s;let n=(a=(o=t.skeFooters.get(e))==null?void 0:o.values())==null?(s=t.skeHeaders.get(e))==null?void 0:s.values():a;return n?i(Array.from(n)):null}return i(t.pages)}_buildParagraphBounds(){var e,t;let n=this._getTableViewportSignature();if(!this._paragraphDirty&&this._tableViewportSignature===n)return;this._paragraphDirty=!1,this._tableViewportSignature=n,this._tableParagraphBounds=new Map,this._tableCellBounds=new Map,this._tableBounds=new Map,this._paragraphBounds=(e=this._buildParagraphBoundsBySegment())==null?new Map:e,this._paragraphLeftBounds=Array.from(this._paragraphBounds.values()).map(e=>({...e,rect:{left:e.rect.left-60,right:e.rect.left,top:e.rect.top,bottom:e.rect.bottom}}));let r=e=>{var t;this._segmentParagraphBounds.set(e,(t=this._buildParagraphBoundsBySegment(e))==null?new Map:t)};(t=this._skeleton.getSkeletonData())==null||t.pages.forEach(e=>{e.headerId&&r(e.headerId),e.footerId&&r(e.footerId)})}_calcActiveParagraph(e){this._buildParagraphBounds();let{x:t,y:n}=e,r=Array.from(this._tableBounds.values()).find(e=>Mc(t,n,Nc(e.rect)));if(this._hoverTable$.next(r),r){var i,a;let e=(i=this._tableCellBounds.get(r.tableId))==null?void 0:i.find(e=>Mc(t,n,e.rect));if(this._hoverTableCell$.next(e),!e)return null;let o=(a=this._tableParagraphBounds.get(e.tableId))==null?void 0:a.filter(t=>t.colIndex===e.colIndex&&t.rowIndex===e.rowIndex),s=o==null?void 0:o.find(e=>Mc(t,n,e.rect));return s&&{...s,rects:[s.rect]}}let o;for(let e of this._paragraphBounds){let r=e[1];if(r.rects.some(e=>Mc(t,n,e))){o=r;break}}return o}_calcActiveParagraphLeft(e){this._buildParagraphBounds();let{x:t,y:n}=e;return this._paragraphLeftBounds.find(e=>Mc(t,n,e.rect))}get paragraphBounds(){return this._buildParagraphBounds(),this._paragraphBounds}get tableBounds(){return this._buildParagraphBounds(),this._tableBounds}findParagraphBoundByIndex(e){this._buildParagraphBounds();let t=Array.from(this._tableParagraphBounds.values()).flat().find(t=>t.startIndex===e);if(t)return t;let n=this._paragraphBounds.get(e);if(n)return n}findParagraphBoundsInRange(e,t){return this._buildParagraphBounds(),Ic([...this._paragraphBounds.values()],Array.from(this._tableParagraphBounds.values()).flat().map(e=>({rect:e.rect,paragraphStart:e.paragraphStart,paragraphEnd:e.paragraphEnd,startIndex:e.startIndex,rects:[e.rect],pageIndex:e.pageIndex,segmentId:e.segmentId,firstLine:e.firstLine})),e,t)}_getTableViewportSignature(){var e,t;let n=(e=(t=this._skeleton.getSkeletonData())==null?void 0:t.pages)==null?[]:e,i=[];return n.forEach(e=>{var t;(t=e.skeTables)==null||t.forEach(e=>{let t=(0,r.getTableIdAndSliceIndex)(e.tableId).tableId,n=(0,r.getDocsTableRenderViewport)(this._context.unitId,t);if(!n){i.push(`${t}:none`);return}i.push(`${t}:${n.contentWidth}:${n.viewportWidth}:${n.scrollLeft}`)})}),i.join(`|`)}};Fc=A([k(1,(0,t.Inject)(n.DocSkeletonManagerService))],Fc);function Ic(e,t,n,r){let i=t.filter(e=>Lc(e,n,r));return i.length?i:e.filter(e=>Lc(e,n,r))}function Lc(e,t,n){return Math.max(e.paragraphStart,t)<=Math.min(e.paragraphEnd,n)}function Rc(e,t,n){var r;let i=zc(e.rect,t,n);return i?{...e,rect:i,fisrtLine:(r=zc(e.fisrtLine,t,n))==null?i:r}:null}function zc(e,t,n){let r=Math.max(e.left,t),i=Math.min(e.right,n);return i<=r?null:{...e,left:r,right:i}}let Bc=[ds,rr.id,Gn.id,qn.id,Yn.id,Zn.id,$n.id,tr.id,sr.id,lr.id];function Vc(e){let{avaliableMenus:t=Bc}=e,n=(0,i.useDependency)(i.IMenuManagerService),[r,a]=(0,s.useState)([]);return(0,s.useEffect)(()=>{function e(){let e=[...n.getFlatMenuByPositionKey(fs),...n.getFlatMenuByPositionKey(i.MenuManagerPosition.RIBBON)],r=[];for(let n of t){let t=e.find(e=>e.key===n);t&&r.push(t)}a(r)}e();let r=n.menuChanged$.subscribe(e);return()=>{r.unsubscribe()}},[n]),(0,u.jsx)(`div`,{className:(0,l.clsx)(`univer-box-border univer-flex univer-rounded univer-bg-white univer-py-1.5 univer-shadow-sm dark:!univer-border-gray-700 dark:!univer-bg-gray-900`,l.borderClassName),children:r.map(e=>e.item&&(0,u.jsx)(`div`,{className:`univer-flex univer-flex-nowrap univer-gap-2 univer-px-2`,children:(0,u.jsx)(i.ToolbarItem,{...e.item},e.key)},e.key))})}let Hc=`univer.doc.float-menu`;function Uc(e,n){if(e==null||n==null)return!1;let{glyph:r,...i}=e,{glyph:a,...o}=n;return(0,t.deepCompare)(i,o)}let Wc=[t.DataStreamTreeTokenType.CUSTOM_BLOCK,t.DataStreamTreeTokenType.PARAGRAPH],Gc=class extends t.Disposable{constructor(e,n,r,i,a,o){super(),this._context=e,this._docSelectionManagerService=n,this._docCanvasPopManagerService=r,this._componentManager=i,this._univerInstanceService=a,this._docSelectionRenderService=o,O(this,`_floatMenu`,null),!(0,t.isInternalEditorID)(this._context.unitId)&&(this._registerFloatMenu(),this._initSelectionChange(),this.disposeWithMe(()=>{this._hideFloatMenu()}))}get floatMenu(){return this._floatMenu}_registerFloatMenu(){this.disposeWithMe(this._componentManager.register(Hc,Vc))}_initSelectionChange(){this.disposeWithMe(this._docSelectionRenderService.onSelectionStart$.subscribe(()=>{this._hideFloatMenu()})),this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(e=>{let{unitId:t,textRanges:n}=e;if(t!==this._context.unitId)return;let r=n.length>0&&n.find(e=>!e.collapsed);if(r){var i,a;if(r.startOffset===((i=this._floatMenu)==null?void 0:i.start)&&r.endOffset===((a=this._floatMenu)==null?void 0:a.end))return;this._hideFloatMenu(),this._showFloatMenu(t,r);return}this._hideFloatMenu()}))}_hideFloatMenu(){var e;(e=this._floatMenu)==null||e.disposable.dispose(),this._floatMenu=null}_showFloatMenu(e,n){var r,i;let a=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_DOC);if(!a||a.getDisabled()||Kc(a,n))return;let o=(r=a.getBody())==null?void 0:r.dataStream[n.startOffset];if(n.endOffset-n.startOffset===1&&o&&Wc.includes(o))return;let s=(i=a.getBody())==null||(i=i.customRanges)==null?void 0:i.filter(e=>e.wholeEntity);if(!(s!=null&&s.some(e=>e.startIndex===n.startOffset&&e.endIndex===n.endOffset-1)))return this._floatMenu={disposable:this._docCanvasPopManagerService.attachPopupToRange(n,{componentKey:Hc,direction:n.direction===`backward`||Uc(n.startNodePosition,n.endNodePosition)?`top-center`:`bottom-center`,offset:[0,4]},e),start:n.startOffset,end:n.endOffset},(0,t.toDisposable)(()=>this._hideFloatMenu())}};Gc=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,(0,t.Inject)(Oc)),k(3,(0,t.Inject)(i.ComponentManager)),k(4,(0,t.Inject)(t.IUniverInstanceService)),k(5,(0,t.Inject)(Y))],Gc);function Kc(e,t){var n,r;return((n=(r=e.getBody())==null?void 0:r.blockRanges)==null?[]:n).some(e=>e.blockType===`code`&&Math.max(t.startOffset,e.startIndex)<=Math.min(t.endOffset,e.endIndex))}let qc={code:`DocsCodeBlockIcon`,quote:`DocsQuoteBlockIcon`,callout:`DocsCalloutBlockIcon`},Jc={[t.PresetListType.ORDER_LIST]:`OrderIcon`,[t.PresetListType.ORDER_LIST_1]:`OrderIcon`,[t.PresetListType.ORDER_LIST_2]:`OrderIcon`,[t.PresetListType.ORDER_LIST_3]:`OrderIcon`,[t.PresetListType.ORDER_LIST_4]:`OrderIcon`,[t.PresetListType.ORDER_LIST_5]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_2]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_3]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_4]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_5]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_6]:`OrderIcon`,[t.PresetListType.BULLET_LIST]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_1]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_2]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_3]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_4]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_5]:`UnorderIcon`,[t.PresetListType.CHECK_LIST]:`TodoListDoubleIcon`,[t.PresetListType.CHECK_LIST_CHECKED]:`TodoListDoubleIcon`},Yc=class extends t.Disposable{get activeParagraph(){var e;return(e=this._paragrahMenu)==null?void 0:e.paragraph}get activeTarget(){var e,t;return(e=(t=this._paragrahMenu)==null?void 0:t.target)==null?null:e}setBlockMenuDragging(e){this._isBlockMenuDragging=e}get isBlockMenuDragging(){return this._isBlockMenuDragging}constructor(e,n,r,i,a,s){super(),this._context=e,this._docSelectionManagerService=n,this._docEventManagerService=r,this._docPopupManagerService=i,this._docSkeletonManagerService=a,this._floatMenuService=s,O(this,`_paragrahMenu`,null),O(this,`_activeTarget$`,new o.BehaviorSubject(null)),O(this,`activeTarget$`,this._activeTarget$.asObservable()),O(this,`_isBlockMenuDragging`,!1),!(0,t.isInternalEditorID)(this._context.unitId)&&this._init()}_isCursorInActiveParagraph(){if(!this._paragrahMenu)return!1;let e=this._docSelectionManagerService.getActiveTextRange();return!(!(e!=null&&e.collapsed)||!(e!=null&&e.collapsed)||e.startOffset<this._paragrahMenu.paragraph.paragraphStart||e.startOffset>this._paragrahMenu.paragraph.paragraphEnd)}setParagraphMenuActive(e){this._paragrahMenu&&(this._paragrahMenu.active=e,this._isCursorInActiveParagraph()||this._docSelectionManagerService.replaceDocRanges([{startOffset:this._paragrahMenu.paragraph.paragraphStart,endOffset:this._paragrahMenu.paragraph.paragraphStart}]))}_init(){var e;let t=(e,t)=>{if(!this._isBlockMenuDragging){if(this._docSkeletonManagerService.getViewModel().getEditArea()===r.DocumentEditArea.BODY&&!this._floatMenuService.floatMenu&&!this._context.unit.getDisabled()){var n;if((n=this._paragrahMenu)!=null&&n.active)return;if(e){this.showParagraphMenu(e);return}if(t){this.showTableMenu(t);return}}this.hideParagraphMenu(!0)}};this.disposeWithMe((0,o.combineLatest)([this._docEventManagerService.hoverParagraphRealTime$,this._docEventManagerService.hoverParagraphLeft$,(e=this._docEventManagerService.hoverTableRealTime$)==null?new o.BehaviorSubject(null):e]).pipe((0,o.throttleTime)(16)).subscribe(([e,n,r])=>{t(e==null?n:e,r)}));let n=0;this.disposeWithMe(this._context.scene.getViewport(`viewMain`).onScrollAfter$.subscribeEvent(e=>{var t;n!==e.scrollY&&(n=e.scrollY,!((t=this._paragrahMenu)!=null&&t.blockRange)&&(this._isBlockMenuDragging||this.hideParagraphMenu(!0)))})),this.disposeWithMe(this._docEventManagerService.clickCustomRanges$.subscribe(()=>{this._isBlockMenuDragging||this.hideParagraphMenu(!0)}))}showParagraphMenu(e){var t,n;let r=this._buildParagraphMenuTarget(e);if(!r){this.hideParagraphMenu(!0);return}if(((t=this._paragrahMenu)==null?void 0:t.target.key)===r.key)return;this.hideParagraphMenu(!0);let i=(n=r.paragraph)==null?e:n,a=r.blockRange,s=this._docPopupManagerService.attachPopupToRect(()=>{var t,n;return a?rl(this._docEventManagerService,a,e):(t=(n=this._docEventManagerService.findParagraphBoundByIndex(e.startIndex))==null?void 0:n.firstLine)==null?e.firstLine:t},{componentKey:`doc.paragraph.menu`,direction:`left-center`,onClickOutside:()=>{this._docSelectionManagerService.textSelection$.pipe((0,o.first)()).subscribe(()=>{this._isCursorInActiveParagraph()||this.hideParagraphMenu(!0)})},zIndex:101},this._context.unitId);this._paragrahMenu={paragraph:i,target:r,blockRange:a,disposable:s,active:!1},this._activeTarget$.next(r)}showTableMenu(e){var t,n;let r=this._context.unit.getBody(),i=r==null||(t=r.tables)==null?void 0:t.find(t=>t.tableId===e.tableId);if(!i)return;let a={kind:`table`,key:`table:${i.tableId}`,table:i,icon:`GridIcon`,menuRange:{startOffset:i.startIndex,endOffset:i.endIndex,collapsed:!1},moveRange:{startOffset:i.startIndex,endOffset:i.endIndex},emptyMode:!1,draggable:!0};if(((n=this._paragrahMenu)==null?void 0:n.target.key)===a.key)return;let o=el(e),s={rect:e.rect,rects:[e.rect],paragraphStart:i.startIndex,paragraphEnd:i.endIndex,startIndex:i.startIndex,pageIndex:e.pageIndex,firstLine:o};this.hideParagraphMenu(!0);let c=this._docPopupManagerService.attachPopupToRect(()=>{var t;return el((t=this._docEventManagerService.tableBounds.get(i.tableId))==null?e:t)},{componentKey:`doc.paragraph.menu`,direction:`top-right`,onClickOutside:()=>{this.hideParagraphMenu(!0)},zIndex:101},this._context.unitId);this._paragrahMenu={paragraph:s,target:a,disposable:c,active:!1},this._activeTarget$.next(a)}getDropTargetFromClientPoint(e,t,n){let r=this._context.engine.getCanvasElement().getBoundingClientRect(),i=Ec(e-r.left,t-r.top,this._context.scene),a=this._context.unit.getBody(),o=a!=null&&a.dataStream?$c(a.dataStream,n.startOffset):null,s=(o?this._getCellBlockTargets(o):this._getBodyBlockTargets()).filter(e=>e.moveRange.startOffset!==n.startOffset||e.moveRange.endOffset!==n.endOffset).filter(e=>e.moveRange.endOffset<=n.startOffset||e.moveRange.startOffset>=n.endOffset).sort((e,t)=>e.rect.top-t.rect.top||e.rect.left-t.rect.left);if(!s.length)return null;let c=s[0],l=1/0;for(let e of s){let t=(e.rect.top+e.rect.bottom)/2,n=Math.abs(i.y-t);n<l&&(l=n,c=e)}let u=i.y<(c.rect.top+c.rect.bottom)/2,d=u?c.moveRange.startOffset:c.moveRange.endOffset,f=wc({left:c.rect.left,right:c.rect.right,top:u?c.rect.top:c.rect.bottom,bottom:u?c.rect.top:c.rect.bottom},this._context.scene);return{targetOffset:d,rect:{left:r.left+f.left,right:r.left+f.right,top:r.top+f.top,bottom:r.top+f.bottom}}}hideParagraphMenu(e=!1){this._isBlockMenuDragging||this._paragrahMenu&&(this._paragrahMenu.disposable.canDispose()||e)&&(this._paragrahMenu.disposable.dispose(),this._paragrahMenu=null,this._activeTarget$.next(null))}_buildParagraphMenuTarget(e){var n,r,i,a;let o=this._context.unit.getBody(),s=(n=o==null?void 0:o.dataStream)==null?``:n,c=$c(s,e.paragraphStart),l=c!=null||Xc(this._context.unit,e.paragraphStart),u=nl(this._context.unit,e);if(u){let t={...e,paragraphStart:u.startIndex,paragraphEnd:u.endIndex+1,startIndex:u.startIndex,blockRange:u};return{kind:`blockRange`,key:`blockRange:${u.blockId}`,paragraph:t,blockRange:u,icon:qc[u.blockType],cellRange:c==null?void 0:c,menuRange:{startOffset:u.startIndex,endOffset:u.endIndex+1,collapsed:!1},moveRange:{startOffset:u.startIndex,endOffset:u.endIndex+1},emptyMode:!1,draggable:c!=null||!l}}let d=s.slice(e.paragraphStart,e.paragraphEnd),f=o==null||(r=o.paragraphs)==null?void 0:r.find(t=>t.startIndex===e.startIndex),p=Qc(f==null||(i=f.bullet)==null?void 0:i.listType),m=o==null||(a=o.customBlocks)==null?void 0:a.find(t=>t.startIndex>=e.paragraphStart&&t.startIndex<=e.paragraphEnd),h=(m==null?void 0:m.blockType)===t.BlockType.CUSTOM&&d.replace(/[\b\r\n]/g,``)===``;return m&&m.blockType===t.BlockType.CUSTOM&&h?{kind:`customBlock`,key:`customBlock:${m.blockId}`,paragraph:e,customBlock:m,icon:`TextTypeIcon`,cellRange:c==null?void 0:c,menuRange:{startOffset:m.startIndex,endOffset:m.startIndex,collapsed:!0},moveRange:Zc(this._context.unit,e,c),emptyMode:!1,draggable:c!=null||!l}:d===`\b`?null:{kind:`paragraph`,key:`paragraph:${e.startIndex}`,paragraph:e,icon:p,cellRange:c==null?void 0:c,menuRange:{startOffset:e.paragraphStart,endOffset:e.paragraphStart,collapsed:!0},moveRange:Zc(this._context.unit,e,c),emptyMode:d.replace(/[\r\n]/g,``)===``,draggable:c!=null||!l}}_getBodyBlockTargets(){var e,t;let n=this._context.unit.getBody();if(!n)return[];let r=(e=n.tables)==null?[]:e,i=(t=n.blockRanges)==null?[]:t,a=[...this._docEventManagerService.paragraphBounds.values()],o=[];for(let e of r){let t=this._docEventManagerService.tableBounds.get(e.tableId);t&&o.push({kind:`table`,key:`table:${e.tableId}`,table:e,icon:`GridIcon`,menuRange:{startOffset:e.startIndex,endOffset:e.endIndex,collapsed:!1},moveRange:{startOffset:e.startIndex,endOffset:e.endIndex},emptyMode:!1,draggable:!0,rect:t.rect})}for(let e of i){let t=tl(a.filter(t=>Math.max(t.paragraphStart,e.startIndex)<=Math.min(t.paragraphEnd,e.endIndex)).map(e=>e.rect));t&&o.push({kind:`blockRange`,key:`blockRange:${e.blockId}`,blockRange:e,icon:qc[e.blockType],menuRange:{startOffset:e.startIndex,endOffset:e.endIndex+1,collapsed:!1},moveRange:{startOffset:e.startIndex,endOffset:e.endIndex+1},emptyMode:!1,draggable:!0,rect:t})}for(let e of a){if(r.some(t=>e.paragraphStart>t.startIndex&&e.paragraphStart<t.endIndex)||i.some(t=>Math.max(e.paragraphStart,t.startIndex)<=Math.min(e.paragraphEnd,t.endIndex)))continue;let t=this._buildParagraphMenuTarget(e);t&&o.push({...t,rect:e.rect})}return o}_getCellBlockTargets(e){var t;let n=this._context.unit.getBody();if(!n)return[];let r=(t=n.blockRanges)==null?[]:t,i=[...this._docEventManagerService.paragraphBounds.values()].filter(t=>t.paragraphStart>e.startOffset&&t.paragraphStart<e.endOffset),a=[];for(let t of r){if(t.startIndex<=e.startOffset||t.endIndex>=e.endOffset)continue;let n=tl(i.filter(e=>Math.max(e.paragraphStart,t.startIndex)<=Math.min(e.paragraphEnd,t.endIndex)).map(e=>e.rect));n&&a.push({kind:`blockRange`,key:`blockRange:${t.blockId}`,blockRange:t,icon:qc[t.blockType],cellRange:e,menuRange:{startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1},moveRange:{startOffset:t.startIndex,endOffset:t.endIndex+1},emptyMode:!1,draggable:!0,rect:n})}for(let e of i){if(r.some(t=>Math.max(e.paragraphStart,t.startIndex)<=Math.min(e.paragraphEnd,t.endIndex)))continue;let t=this._buildParagraphMenuTarget(e);t&&a.push({...t,rect:e.rect})}return a}};Yc=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,(0,t.Inject)(Fc)),k(3,(0,t.Inject)(Oc)),k(4,(0,t.Inject)(n.DocSkeletonManagerService)),k(5,(0,t.Inject)(Gc))],Yc);function Xc(e,t){var n,r;return((n=(r=e.getBody())==null?void 0:r.tables)==null?[]:n).some(e=>t>e.startIndex&&t<e.endIndex)}function Zc(e,t,n){var r,i;let a=[...(r=(i=e.getBody())==null?void 0:i.paragraphs)==null?[]:r].sort((e,t)=>e.startIndex-t.startIndex),o=a.findIndex(e=>e.startIndex===t.startIndex),s=o>0?a.slice(0,o).reverse().find(e=>n?e.startIndex>n.startOffset&&e.startIndex<n.endOffset:!0):null;return{startOffset:s?s.startIndex+1:n?n.startOffset+1:0,endOffset:t.startIndex+1}}function Qc(e){if(e)return Jc[e]}function $c(e,n){let r=e.lastIndexOf(t.DataStreamTreeTokenType.TABLE_CELL_START,Math.max(0,n));if(r<0||e.lastIndexOf(t.DataStreamTreeTokenType.TABLE_CELL_END,Math.max(0,n))>r)return null;let i=e.indexOf(t.DataStreamTreeTokenType.TABLE_CELL_END,r+1);return i<0||n>i?null:{startOffset:r,endOffset:i}}function el(e){let t=e.rect.left-4,n=e.rect.top-4;return{left:t,right:t,top:n,bottom:n}}function tl(e){return e.length?e.reduce((e,t)=>({left:Math.min(e.left,t.left),right:Math.max(e.right,t.right),top:Math.min(e.top,t.top),bottom:Math.max(e.bottom,t.bottom)})):null}function nl(e,t){var n,r;return((n=(r=e.getBody())==null?void 0:r.blockRanges)==null?[]:n).find(e=>Math.max(t.paragraphStart,e.startIndex)<=Math.min(t.paragraphEnd,e.endIndex))}function rl(e,t,n){var r,i;let a=e.findParagraphBoundsInRange(t.startIndex,t.endIndex).sort((e,t)=>e.firstLine.top-t.firstLine.top||e.firstLine.left-t.firstLine.left),o=(r=(i=a[0])==null?void 0:i.firstLine)==null?n.firstLine:r,s=Math.min(...(a.length?a:[n]).map(e=>e.firstLine.left)),c=o.top;return{...o,left:s,right:s,top:c,bottom:c}}function il(e){return e===`TextTypeIcon`?`univer-size-3`:`univer-size-4`}function al(e,t=212,n=8){return e-t<n?`right`:`left`}function ol(e,t=260){let n=null,r=()=>{n!=null&&(window.clearTimeout(n),n=null)};return{schedule(){r(),n=window.setTimeout(()=>{n=null,e()},t)},cancel:r,openNow(){r(),e()}}}function sl(e,t){return t?e.slice(t.paragraphStart,t.paragraphEnd).replace(/[\r\n]/g,``)===``:!1}function cl(e){if(!e)return null;let t=e.blockRange;return t?{startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1,segmentId:e.segmentId}:{startOffset:e.paragraphStart,endOffset:e.paragraphStart,collapsed:!0,segmentId:e.segmentId}}let ll={[Zr.id]:t.NamedStyleType.HEADING_1,[Qr.id]:t.NamedStyleType.HEADING_2,[$r.id]:t.NamedStyleType.HEADING_3,[ei.id]:t.NamedStyleType.HEADING_4,[ti.id]:t.NamedStyleType.HEADING_5,[ni.id]:t.NamedStyleType.NORMAL_TEXT,[ri.id]:t.NamedStyleType.TITLE,[ii.id]:t.NamedStyleType.SUBTITLE},ul={[t.NamedStyleType.HEADING_1]:Zr.id,[t.NamedStyleType.HEADING_2]:Qr.id,[t.NamedStyleType.HEADING_3]:$r.id,[t.NamedStyleType.HEADING_4]:ei.id,[t.NamedStyleType.HEADING_5]:ti.id,[t.NamedStyleType.NORMAL_TEXT]:ni.id,[t.NamedStyleType.TITLE]:ri.id,[t.NamedStyleType.SUBTITLE]:ii.id};function dl(e){var n;return(n=ul[e==null?t.NamedStyleType.NORMAL_TEXT:e])==null?ni.id:n}function fl(e){return e===t.NamedStyleType.TITLE?[ti.id,ii.id]:e===t.NamedStyleType.SUBTITLE?[ti.id,ri.id]:[ri.id,ii.id]}function pl(e,t){var n,r;let i=(n=(r=e.commandId)==null?e.id:r)==null?typeof e.label==`string`?e.label:void 0:n;if(i&&t&&i in ll)return{commandId:J.id,params:{value:ll[i],textRanges:[t]}};if(i&&t&&(i===jr.id||i===Pr.id||i===Mr.id))return{commandId:i,params:{docRange:[t]}};if(i===kn.id&&t)return{commandId:i,params:{insertRange:t}};let a=typeof e.params==`function`?e.params():e.params,o=e.value===void 0?a:{value:e.value};return{commandId:i,params:o&&typeof o==`object`?o:void 0}}function ml(e,t){return(e==null?void 0:e.kind)===`table`?vc:t?Qs:i.ContextMenuPosition.PARAGRAPH}function hl(e){return!e||e.kind===`paragraph`}let gl=({popup:e})=>{var a,c,d,f,p,m,h,g,_;let[v,y]=(0,s.useState)(!1),[b,x]=(0,s.useState)(!1),[S,C]=(0,s.useState)(null),[w,T]=(0,s.useState)(`left`),E=(0,s.useRef)(null),D=(0,s.useRef)(null),O=(0,s.useRef)(null),k=(0,s.useRef)(null),A=(0,s.useRef)(!1),j=(0,s.useRef)(()=>void 0),M=(0,s.useRef)(ol(()=>j.current())),N=(0,i.useDependency)(t.ICommandService),P=(0,i.useDependency)(n.DocSelectionManagerService),F=(0,i.useDependency)(dn),I=(0,i.useDependency)(On),L=(0,i.useDependency)(i.IClipboardInterfaceService),R=(0,i.useDependency)(i.ILayoutService),z=(0,i.useDependency)(i.ComponentManager),B=(0,s.useRef)(null),V=(0,s.useRef)(!1),H=(0,s.useRef)(null),ee=(0,i.useDependency)(r.IRenderManagerService),te=(0,i.useDependency)(t.IUniverInstanceService),ne=ee.getRenderById(e.unitId),U=te.getUnit(e.unitId,t.UniverInstanceType.UNIVER_DOC),W=ne==null?void 0:ne.with(Yc),re=ne==null?void 0:ne.with(Fc),ie=(0,i.useObservable)(W==null?void 0:W.activeTarget$),ae=(0,i.useObservable)(re==null?void 0:re.hoverParagraph$),oe=(0,i.useObservable)(re==null?void 0:re.hoverParagraphLeft$),G=ie==null?W==null?void 0:W.activeTarget:ie,se=(a=(c=(d=G==null?void 0:G.paragraph)==null?W==null?void 0:W.activeParagraph:d)==null?ae:c)==null?oe:a,ce=se==null?void 0:se.startIndex,le=(f=U==null||(p=U.getBody())==null?void 0:p.dataStream)==null?``:f,ue=(0,s.useMemo)(()=>{var e;return U==null||(e=U.getBody())==null||(e=e.paragraphs)==null?void 0:e.find(e=>e.startIndex===ce)},[U,ce]),de=(m=G==null?void 0:G.emptyMode)==null?sl(le,se):m,fe=ue==null||(h=ue.paragraphStyle)==null?void 0:h.namedStyleType,pe=dl(fe),me=(0,s.useMemo)(()=>fl(fe),[fe]),he=(0,s.useMemo)(()=>hl(G)?me:[...me,Ro.id],[G,me]),ge=Vs[fe==null?t.NamedStyleType.NORMAL_TEXT:fe],_e=(g=G==null?void 0:G.icon)==null?ge.key:g,ve=(_=z.get(_e))==null?ge.component:_,ye=(0,s.useMemo)(()=>new o.BehaviorSubject({left:0,right:0,top:0,bottom:0}),[]),be=()=>{var e,t,n,r,i;let a=(e=B.current)==null?void 0:e.getBoundingClientRect(),o=((t=a==null?void 0:a.left)==null?0:t)-4;T(al(o)),ye.next({left:o,right:(n=a==null?void 0:a.right)==null?0:n,top:(r=a==null?void 0:a.top)==null?0:r,bottom:(i=a==null?void 0:a.bottom)==null?0:i})},xe=()=>{y(!1),D.current=null},Se=()=>{H.current!=null&&(window.clearTimeout(H.current),H.current=null)},Ce=()=>{Se(),H.current=window.setTimeout(()=>{!V.current&&!A.current&&xe()},180)};j.current=()=>{var e;Se();let t=(e=W==null?void 0:W.activeTarget)==null?ie:e;D.current=t?{...t.menuRange,segmentId:se==null?void 0:se.segmentId}:cl(se),be(),x(de),y(!0)};let we=()=>{Se(),M.current.schedule()},Te=()=>{M.current.cancel()};return(0,s.useEffect)(()=>()=>{H.current!=null&&(window.clearTimeout(H.current),H.current=null),M.current.cancel()},[]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{"data-u-comp":`paragraph-menu`,ref:B,className:(0,l.clsx)(`univer-mr-1 univer-inline-flex univer-h-8 univer-cursor-pointer univer-items-center univer-gap-1.5 univer-rounded-lg univer-border univer-border-gray-200 univer-bg-white univer-px-2.5 univer-py-0 univer-shadow-sm univer-transition-colors hover:univer-bg-gray-50 hover:univer-shadow-md dark:!univer-border-gray-700 dark:!univer-bg-gray-900 dark:hover:!univer-bg-gray-800`,{"univer-bg-gray-100 univer-shadow-md dark:!univer-bg-gray-800":v}),onMouseEnter:t=>{var n;(n=e.onPointerEnter)==null||n.call(e,t),V.current=!0,we()},onMouseLeave:()=>{V.current=!1,Te(),Ce()},onClick:e=>{e.preventDefault(),e.stopPropagation(),V.current=!0,M.current.openNow()},children:[(0,u.jsx)(ve,{className:(0,l.clsx)(il(_e),`univer-text-gray-700 dark:!univer-text-white`)}),(G==null?void 0:G.draggable)&&(0,u.jsx)(`button`,{type:`button`,className:`univer-group univer-flex univer-h-4 univer-w-2.5 univer-cursor-grab univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 active:univer-cursor-grabbing`,"aria-label":`Drag block`,title:`Drag block`,onPointerDown:t=>{var n,r,i;let a=(n=W==null?void 0:W.activeTarget)==null?ie:n,o=a==null?void 0:a.moveRange;if(!o||!(a!=null&&a.draggable))return;t.preventDefault(),t.stopPropagation(),(r=(i=t.currentTarget).setPointerCapture)==null||r.call(i,t.pointerId),Se(),V.current=!0,A.current=!0,W==null||W.setBlockMenuDragging(!0),k.current=o,O.current=null,C(null);let s=t.pointerId,c=e=>{var t,n;if(e.pointerId!==s)return;e.preventDefault();let r=k.current;if(!r)return;let i=W==null?void 0:W.getDropTargetFromClientPoint(e.clientX,e.clientY,r);O.current=(t=i==null?void 0:i.targetOffset)==null?null:t,C((n=i==null?void 0:i.rect)==null?null:n)},l=t=>{window.removeEventListener(`pointermove`,c),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,d),window.removeEventListener(`blur`,f);let n=k.current,r=O.current;k.current=null,O.current=null,A.current=!1,W==null||W.setBlockMenuDragging(!1),C(null),t&&n&&r!=null&&N.executeCommand(bn.id,{unitId:e.unitId,sourceRange:n,targetOffset:r})},u=e=>{e.pointerId===s&&(e.preventDefault(),l(!0))},d=e=>{e.pointerId===s&&l(!1)},f=()=>{l(!1)};window.addEventListener(`pointermove`,c),window.addEventListener(`pointerup`,u),window.addEventListener(`pointercancel`,d),window.addEventListener(`blur`,f,{once:!0})},children:(0,u.jsx)(vl,{})})]}),v&&(0,u.jsx)(i.RectPopup,{portal:!0,anchorRect$:ye,direction:w,children:(0,u.jsx)(`section`,{ref:E,onMouseEnter:t=>{var n;(n=e.onPointerEnter)==null||n.call(e,t),V.current=!0,Se()},onMouseLeave:()=>{V.current=!1,Ce()},children:(0,u.jsx)(i.ContextMenuPanel,{className:`univer-w-[212px]`,menuType:ml(G,b),activeItemIds:[pe],hiddenItemIds:he,onOptionSelect:async n=>{var r,i;let a=(r=D.current)==null?cl(se):r,{commandId:o,params:s}=pl(n,a),c=(i=W==null?void 0:W.activeTarget)==null?ie:i;if(o&&_l(o,n)&&c!=null&&c.moveRange){var l;I.setInsertRange({unitId:e.unitId,startOffset:c.moveRange.endOffset,endOffset:c.moveRange.endOffset,segmentId:(l=a==null?void 0:a.segmentId)==null?``:l})}if((c==null?void 0:c.kind)===`table`&&o&&a){var u,d;let e={...a,segmentId:(u=a.segmentId)==null?``:u,collapsed:!1},r={startOffset:c.moveRange.endOffset,endOffset:c.moveRange.endOffset,collapsed:!0,segmentId:(d=a.segmentId)==null?``:d};if(o===hn.id||o===hn.name){await F.copy(t.SliceBodyType.copy,[e]),R.focus(),xe();return}if(o===yn.id){P.replaceTextRanges([r],!1);let e=await L.read();await F.paste(e),R.focus(),xe();return}o===qi.id?P.replaceTextRanges([e],!1):(n.id===`doc.menu.insert-bellow`||o!==`doc.menu.insert-bellow`)&&P.replaceTextRanges([r],!1)}if(N&&o){let t=(c==null?void 0:c.kind)===`blockRange`&&c.blockRange&&s&&typeof s==`object`?{...s,unitId:e.unitId,blockId:c.blockRange.blockId}:s;N.executeCommand(o,t)}R.focus(),xe()}})})}),S&&(0,u.jsx)(`div`,{className:`
|
|
51
51
|
univer-pointer-events-none univer-fixed univer-z-[10000] univer-h-0.5 univer-rounded-full
|
|
52
52
|
univer-bg-primary-600
|
|
53
|
-
`,style:{left:S.left,top:S.top,width:Math.max(60,S.right-S.left)}})]})};function _l(e,t){if(t.id===`doc.menu.insert-bellow`)return!0;let n=e.toLowerCase();return n.includes(`insert`)&&(n.includes(`below`)||n.includes(`bellow`))||n.includes(`insert`)&&n.includes(`image`)?!0:n===`doc.command.create-table`||n===`doc.operation.create-table`}function vl(){return(0,u.jsx)(`span`,{className:`univer-grid univer-h-3.5 univer-w-2 univer-grid-cols-2 univer-place-items-center univer-gap-x-0.5 univer-gap-y-px`,"aria-hidden":`true`,children:Array.from({length:6}).map((e,t)=>(0,u.jsx)(`span`,{className:`univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300`},t))})}let yl=e=>{let r=e.get(n.DocSelectionManagerService);return new o.Observable(e=>{let n=r.textSelection$.subscribe(()=>{r.getDocRanges().some(e=>e.collapsed===!1||e.rangeType===t.DOC_RANGE_TYPE.RECT)?e.next(!1):e.next(!0)});return()=>n.unsubscribe()})};function bl(e){if(e.length<2)return!0;let t=e.map(e=>e.tableId);return t.every(e=>e===t[0])}function xl(e,t,n){let r=t.getRectRanges(),i=t.getActiveTextRange();if(r&&r.length&&bl(r)&&i==null){e.next(!1);return}if(i&&(r==null||r.length===0)){var a;let{segmentId:t,startOffset:r,endOffset:o}=i,s=n.getCurrentUniverDocInstance(),c=s==null||(a=s.getSelfOrHeaderFooterModel(t).getBody())==null?void 0:a.tables;if(c&&c.length&&c.some(e=>{let{startIndex:t,endIndex:n}=e;return r>t&&r<n||o>t&&o<n})){e.next(!1);return}}e.next(!0)}let Sl=e=>{let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let t=r.textSelection$.subscribe(()=>{xl(e,r,i)});return xl(e,r,i),()=>t.unsubscribe()})},Cl=e=>({id:hn.name,commandId:hn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),wl=e=>({id:Ro.id,type:i.MenuItemType.BUTTON,icon:`MenuIcon`,title:`docs-ui.doc.menu.paragraphSetting`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Tl=e=>({id:_n.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.cut`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),El=e=>({id:yn.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.paste`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Dl=e=>({id:je.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.delete`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Ol=`doc.menu.table-insert`;function kl(e){return{id:Ol,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.insert`,icon:`InsertDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Al(e){return{id:Xi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowAbove`,icon:`InsertRowAboveDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function jl(e){return{id:Zi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowBelow`,icon:`InsertRowBelowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ml(e){return{id:Qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnLeft`,icon:`LeftInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Nl(e){return{id:$i.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnRight`,icon:`RightInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Pl=`doc.menu.table-delete`;function Fl(e){return{id:Pl,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.delete`,icon:`ReduceDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Il(e){return{id:Gi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteRows`,icon:`DeleteRowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ll(e){return{id:Ki.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteColumns`,icon:`DeleteColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Rl(e){return{id:qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteTable`,icon:`GridIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let zl={[fs]:{[ds]:{order:0,menuItemFactory:gs}}},Bl={...zl,[i.RibbonStartGroup.FORMAT]:{[Gn.id]:{order:0,menuItemFactory:ns},[qn.id]:{order:1,menuItemFactory:rs},[Yn.id]:{order:2,menuItemFactory:is},[Zn.id]:{order:3,menuItemFactory:as},[$n.id]:{order:4,menuItemFactory:os},[tr.id]:{order:5,menuItemFactory:ss},[J.id]:{order:5.5,menuItemFactory:us},[rr.id]:{order:6,menuItemFactory:ls},[ar.id]:{order:7,menuItemFactory:cs},[sr.id]:{order:8,menuItemFactory:_s},[lr.id]:{order:9,menuItemFactory:Ns,[dr.id]:{order:0,menuItemFactory:Ms}}},[i.RibbonStartGroup.LAYOUT]:{[Br.id]:{order:2,menuItemFactory:Ts},[Pr.id]:{order:7,menuItemFactory:Os},[jr.id]:{order:8,menuItemFactory:ks},[so.id]:{order:10,menuItemFactory:vs},[Ui.id]:{order:11,menuItemFactory:js},[Xo.id]:{order:12,menuItemFactory:Is}},[i.RibbonInsertGroup.MEDIA]:{[bs]:{order:2,menuItemFactory:xs,[aa.id]:{order:0,menuItemFactory:Ss}},[kn.id]:{order:3,menuItemFactory:Es},[Mr.id]:{order:4,menuItemFactory:As}},[i.ContextMenuPosition.MAIN_AREA]:{[i.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[hn.name]:{order:0,menuItemFactory:Cl},[_n.id]:{order:1,menuItemFactory:Tl},[yn.id]:{order:2,menuItemFactory:El}},[i.ContextMenuGroup.FORMAT]:{[je.id]:{order:0,menuItemFactory:Dl}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[Ol]:{order:1,menuItemFactory:kl,[Xi.id]:{order:1,menuItemFactory:Al},[Zi.id]:{order:2,menuItemFactory:jl},[Qi.id]:{order:3,menuItemFactory:Ml},[$i.id]:{order:4,menuItemFactory:Nl}},[Pl]:{order:2,menuItemFactory:Fl,[Gi.id]:{order:1,menuItemFactory:Il},[Ki.id]:{order:2,menuItemFactory:Ll},[qi.id]:{order:3,menuItemFactory:Rl}}}},[i.ContextMenuPosition.PARAGRAPH]:{[i.ContextMenuGroup.QUICK]:{[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ri.id]:{order:-1,menuItemFactory:Ys},[ii.id]:{order:-1,menuItemFactory:Xs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.FORMAT]:{[gn.id]:{order:0,menuItemFactory:lc},[vn.id]:{order:1,menuItemFactory:uc},[Le.id]:{order:2,menuItemFactory:dc}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[gc]:{order:1,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[_c]:{[i.ContextMenuGroup.QUICK]:{order:-2,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[Qs]:{[i.ContextMenuGroup.QUICK]:{order:-1,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:$s},[Qr.id]:{order:1,menuItemFactory:ec},[$r.id]:{order:2,menuItemFactory:tc},[ei.id]:{order:3,menuItemFactory:nc},[ti.id]:{order:4,menuItemFactory:rc},[ni.id]:{order:5,menuItemFactory:ic}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Ro.id]:{order:0,menuItemFactory:wl},[jr.id]:{order:1,menuItemFactory:oc},[Pr.id]:{order:2,menuItemFactory:ac},[Mr.id]:{order:3,menuItemFactory:sc},[kn.id]:{order:4,menuItemFactory:cc},[aa.id]:{order:5,menuItemFactory:Cs}}},[vc]:{[i.ContextMenuGroup.FORMAT]:{[hn.name]:{order:0,menuItemFactory:bc},[yn.id]:{order:1,menuItemFactory:xc},[qi.id]:{order:2,menuItemFactory:Sc}},[i.ContextMenuGroup.LAYOUT]:{[gc]:{order:0,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}}}}};function $(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}function Vl(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}let Hl={id:M.id,binding:i.KeyCode.TAB,preconditions:$},Ul={id:M.id,binding:i.KeyCode.TAB|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{shift:!0}},Wl={id:Gn.id,binding:i.KeyCode.B|i.MetaKeys.CTRL_COMMAND,preconditions:$},Gl={id:qn.id,binding:i.KeyCode.I|i.MetaKeys.CTRL_COMMAND,preconditions:$},Kl={id:Yn.id,binding:i.KeyCode.U|i.MetaKeys.CTRL_COMMAND,preconditions:$},ql={id:Zn.id,binding:i.KeyCode.X|i.MetaKeys.SHIFT|i.MetaKeys.CTRL_COMMAND,preconditions:$},Jl={id:$n.id,binding:i.KeyCode.COMMA|i.MetaKeys.CTRL_COMMAND,preconditions:$},Yl={id:tr.id,binding:i.KeyCode.PERIOD|i.MetaKeys.CTRL_COMMAND,preconditions:$},Xl={id:Vr.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Zl={id:Ur.id,binding:i.KeyCode.R|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Ql={id:Hr.id,binding:i.KeyCode.E|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},$l={id:Wr.id,binding:i.KeyCode.J|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},eu={id:Pr.id,binding:i.KeyCode.Digit7|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},tu={id:jr.id,binding:i.KeyCode.Digit8|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},nu=`docs-ui.config`,ru={toc:!1,footer:!0},iu=[50,80,100,130,150,170,200,400],au=[10,400];function ou(){let e=(0,i.useDependency)(t.ICommandService),n=(0,i.useDependency)(t.IUniverInstanceService),[r,a]=(0,s.useState)(null),[o,c]=(0,s.useState)(100),l=(0,s.useCallback)(()=>{var e,t;if(!r)return 100;let n=((e=(t=r.getSettings())==null?void 0:t.zoomRatio)==null?1:e)*100;return Math.round(n)},[r]);(0,s.useEffect)(()=>{let e=n.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).subscribe(e=>{e&&(a(e),c(l()))});return()=>{e.unsubscribe()}},[n,l]),(0,s.useEffect)(()=>e.onCommandExecuted(e=>{e.id===q.id&&c(l())}).dispose,[e,l]);function d(t){if(c(t),r==null)return;let n=t/100;e.executeCommand(q.id,{unitId:r.getUnitId(),zoomRatio:n})}return(0,u.jsx)(i.Slider,{min:au[0],value:o,shortcuts:iu,onChange:d})}function su(e){return(0,u.jsx)(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:(0,u.jsx)(ou,{})})}function cu(){var e;let t=(0,i.useConfigValue)(nu);return((e=t==null?void 0:t.footer)==null?!0:e)&&(0,u.jsxs)(`div`,{className:`univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5`,children:[(0,u.jsx)(`div`,{}),(0,u.jsx)(su,{})]})}function lu(){let e=(0,i.useDependency)(t.IUniverInstanceService),n=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]),r=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SLIDE),void 0,void 0,[]);return n||r?null:(0,u.jsx)(cu,{})}let uu=(0,s.forwardRef)((e,t)=>{let{menus:n,onClick:r,className:i,style:a,mode:o,maxHeight:c,activeId:d,open:f,onOpenChange:p,maxWidth:m,wrapperClass:h,wrapperStyle:g,iconClass:_,iconStyle:v}=e,y=o===`side-bar`,b=(0,s.useRef)(null),x=(0,s.useRef)(n);x.current=n;let S=(0,s.useMemo)(()=>({scrollTo:e=>{var t;if(!x.current||x.current.findIndex(t=>t.id===e)===-1||!b.current)return;let n=document.getElementById(`univer-side-menu-${e}`);if(!n)return;let r=n.offsetTop,i=b.current.clientHeight,a=b.current.scrollHeight-i,o=Math.max(0,Math.min(r-i/2+n.clientHeight/2,a));(t=b.current)==null||t.scrollTo({behavior:`smooth`,top:o})}}),[]);return(0,s.useImperativeHandle)(t,()=>S),(0,s.useEffect)(()=>{d&&S.scrollTo(d)},[d,S]),(0,u.jsxs)(`div`,{className:(0,l.clsx)(`univer-relative`,h),style:g,children:[(0,u.jsx)(`div`,{onClick:()=>p==null?void 0:p(!f),className:(0,l.clsx)(`univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200`,_),style:v,children:f?(0,u.jsx)(Na,{}):(0,u.jsx)(ha,{})}),(0,u.jsx)(`div`,{className:(0,l.clsx)(i,`univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300`,{"univer-rounded-r-2xl univer-bg-white univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900":y}),style:{...a,transform:f?`translateX(0)`:`translateX(-100%)`,maxHeight:c,opacity:+!!f,maxWidth:m==null?o===`side-bar`?320:180:m,paddingRight:o===`float`?void 0:0},children:(0,u.jsx)(`div`,{ref:b,className:(0,l.clsx)(`univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden`,l.scrollbarClassName),children:n==null?void 0:n.map(e=>(0,u.jsx)(`div`,{id:`univer-side-menu-${e.id}`,className:(0,l.clsx)(`univer-font-[500] univer-truncate univer-h-[24px] univer-mb-2 univer-leading-[24px] univer-cursor-pointer univer-pr-1 `,{"univer-text-base univer-font-semibold":e.isTitle,"univer-text-sm univer-font-semibold":e.level===1,"univer-text-sm":e.level>1,"univer-text-gray-500 dark:!univer-text-gray-400":e.id!==d,"univer-text-gray-800 dark:!univer-text-gray-200":e.id===d}),style:{paddingLeft:(e.level-1)*12},onClick:()=>{r==null||r(e)},children:e.text},e.id))})})]})}),du=e=>{switch(e){case t.NamedStyleType.HEADING_1:return 1;case t.NamedStyleType.HEADING_2:return 2;case t.NamedStyleType.HEADING_3:return 3;case t.NamedStyleType.HEADING_4:return 4;case t.NamedStyleType.HEADING_5:return 5;case t.NamedStyleType.TITLE:return 1;default:return 1}};function fu(e,t,n,r){if(!e)return;let i=Array.from(e.values()),a=i.findIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);if(a===-1)return;let o=i==null?void 0:i.findLastIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);for(let e=a;e<=o;e++){var s;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(s=r.paragraphStyle)==null)&&s.headingId)return r.paragraphStyle.headingId}for(let e=a;e>=0;e--){var c;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(c=r.paragraphStyle)==null)&&c.headingId)return r.paragraphStyle.headingId}}let pu=`__title`;function mu(){let e=(0,i.useConfigValue)(nu);return e!=null&&e.toc?(0,u.jsx)(hu,{}):null}function hu(){var e,a,c,l,d,f,p,m,h;let g=(0,i.useDependency)(t.ICommandService),_=(0,i.useDependency)(t.IUniverInstanceService),v=(0,i.useObservable)((0,s.useMemo)(()=>_.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[])),y=(0,i.useDependency)(r.IRenderManagerService),b=(e=v==null||(a=v.getBody())==null?void 0:a.dataStream)==null?``:e,[x,S]=(0,s.useState)(0),[C,w]=(0,s.useState)(void 0),T=(c=v==null?void 0:v.getUnitId())==null?``:c,E=y.getRenderById(T),D=v==null?void 0:v.getTitle(),O=E==null?void 0:E.with(Fc),k=O==null?void 0:O.paragraphBounds,A=(l=E==null||(d=E.mainComponent)==null?void 0:d.left)==null?0:l,j=(f=E==null?void 0:E.engine.height)==null?0:f,M=(p=E==null?void 0:E.scene.scaleY)==null?1:p,N=(m=v==null||(h=v.getBody())==null?void 0:h.paragraphs)==null?[]:m,P=(0,s.useMemo)(()=>{let e=new Map;return N.forEach(t=>{e.set(t.startIndex,t)}),e},[N]);(0,i.useObservable)((0,s.useMemo)(()=>E!=null&&E.engine.onTransformChange$?(0,t.fromEventSubject)(E==null?void 0:E.engine.onTransformChange$).pipe((0,o.throttleTime)(33)):(0,o.of)(null),[E==null?void 0:E.engine.onTransformChange$]));let F=A<180?`float`:`side-bar`,I=1/0,L=N==null?void 0:N.filter(e=>{var n;return((n=e.paragraphStyle)==null?void 0:n.namedStyleType)!==void 0&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.SUBTITLE&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.NORMAL_TEXT}).map(e=>{var n;let r=du(e.paragraphStyle.namedStyleType);I=Math.min(I,r);let i=k==null?void 0:k.get(e.startIndex);if(!i)return null;let{paragraphStart:a,paragraphEnd:o}=i;return{id:e.paragraphStyle.headingId,text:(0,t.getPlainText)(b.slice(a,o)),level:r,isTitle:((n=e.paragraphStyle)==null?void 0:n.namedStyleType)===t.NamedStyleType.TITLE}}).filter(e=>e==null?void 0:e.text),R=(0,i.useEvent)(e=>{let t=e.viewportScrollY,n=fu(k,P,t,t+j/M);n&&w(n)}),z=L!=null&&L.find(e=>e.isTitle)?L:[...D?[{id:pu,text:D,level:1,isTitle:!0}]:[],...L==null?[]:L].filter(Boolean),[B,V]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=(0,t.debounce)(S,100),r=g.onCommandExecuted(t=>{t.id===n.RichTextEditingMutation.id&&t.params.unitId===(v==null?void 0:v.getUnitId())&&e(e=>e+1)});return()=>{r.dispose()}},[g,v]),(0,s.useEffect)(()=>{let e=E==null?void 0:E.scene.getViewport(`viewMain`);if(!e)return;let n=(0,t.fromEventSubject)(e.onScrollAfter$).pipe((0,o.throttleTime)(33)).subscribe(R);return()=>{n.unsubscribe()}},[E]);let H=(0,i.useEvent)(e=>{let t=E==null?void 0:E.scene.getViewport(`viewMain`);if(!t)return;if(e.id===pu){t.scrollToViewportPos({viewportScrollY:0});return}let n=N.find(t=>{var n;return((n=t.paragraphStyle)==null?void 0:n.headingId)===e.id});if(!n)return;let r=k==null?void 0:k.get(n.startIndex);r&&(t.scrollToViewportPos({viewportScrollY:r.rect.top}),w(e.id))});return!v||(0,t.isInternalEditorID)(T)||!(z!=null&&z.length)?null:(0,u.jsx)(`div`,{className:`univer-absolute univer-bottom-0 univer-left-0 univer-top-0 univer-z-[100] univer-w-[0px]`,children:(0,u.jsx)(uu,{menus:z,open:B,onOpenChange:V,mode:F,maxWidth:F===`float`?void 0:Math.floor(A)-10,wrapperClass:`univer-mt-12`,activeId:C,onClick:H,maxHeight:j-48})})}let gu=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._injector=e,this._componentManager=t,this._commandService=n,this._layoutService=r,this._menuManagerService=i,this._uiPartsService=a,this._univerInstanceService=o,this._shortcutService=s,this._configService=c,this._init()}_initCustomComponents(){[[_o,ho],[go,po],[`TodoListDoubleIcon`,Va],[`doc.paragraph.menu`,gl],[`DeleteIcon`,_a],[Wo,Uo],[`DocumentSettingIcon`,ya]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiParts(){this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.FOOTER,()=>(0,i.connectInjector)(lu,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.CONTENT,()=>(0,i.connectInjector)(mu,this._injector)))}_initMenus(){this._menuManagerService.appendRootMenu(zl),this._menuManagerService.mergeMenu(Bl)}_initShortCut(){[Wl,Gl,Kl,ql,Jl,Yl,Ql,$l,Zl,Xl,eu,tu,Hl].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[oo,so,no].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(t.UniverInstanceType.UNIVER_DOC,e=>{this._injector.get(r.IRenderManagerService).getRenderById(e).with(Y).focus()}))}};gu=A([k(0,(0,t.Inject)(t.Injector)),k(1,(0,t.Inject)(i.ComponentManager)),k(2,t.ICommandService),k(3,i.ILayoutService),k(4,i.IMenuManagerService),k(5,i.IUIPartsService),k(6,t.IUniverInstanceService),k(7,i.IShortcutService),k(8,t.IConfigService)],gu);let _u=1.5,vu=class extends t.RxDisposable{constructor(e,t,n,r){super(),this._context=e,this._textSelectionManagerService=t,this._editorService=n,this._docSkeletonManagerService=r,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let{isEditing:n,unitId:r}=e;r!==this._context.unitId||!n||this._context.unitId!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._scrollToSelection()})}scrollToRange(e){let t=this._docSkeletonManagerService.getSkeleton();if(!t)return;let{startOffset:n}=e,r=t.findNodePositionByCharIndex(n);r&&this.scrollToNode(r)}scrollToNode(e){var t;let{unitId:n,scene:r,mainComponent:i}=this._context,a=this._docSkeletonManagerService.getSkeleton();if(i==null||a==null)return;let o=i.getOffsetConfig(),{docsLeft:s,docsTop:c}=o,{contentBoxPointGroup:l}=new fi(o,a).getRangePointData(e,e),{left:u,top:d,height:f}=Ai(l),p=u+s,m=d+c,h=r.getViewport(`viewMain`),g=this._editorService.getEditor(n);if(h==null)return;let{left:_,top:v,right:y,bottom:b}=h.getBounding().viewBound,x=0,S=0,C=g?(t=g.params.backScrollOffset)==null?0:t:100;m<v?x=m-v-C:m>b-f&&(x=m-b+f+C),p<_?S=p-_:p>y-_u&&(S=p-y+_u);let w=h.transViewportScroll2ScrollValue(S,x);h.scrollByBarDeltaValue(w)}_scrollToSelection(){let e=this._textSelectionManagerService.getActiveTextRange();if(e==null)return;let{collapsed:t,startNodePosition:n}=e;t&&this.scrollToNode(n)}};vu=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,Z),k(3,(0,t.Inject)(n.DocSkeletonManagerService))],vu);var yu=class extends t.Disposable{constructor(e){super(),this._context=e}calculatePagePosition(){var e,t;if(this._disposed)return;let n=p(this._context),r=(e=(t=this._context.unit.getSettings())==null?void 0:t.zoomRatio)==null?1:e,{document:i,scene:a,docBackground:o}=n,s=a==null?void 0:a.getParent(),{width:c,height:l,pageMarginLeft:u,pageMarginTop:d}=i;if(s==null||c===1/0||l===1/0)return;let{width:f,height:m}=s,h=0,g=d,_=0,v=0,y=1/0;f>(c+u*2)*r?(h=f/2-c*r/2,h/=r,_=(f-u*2)/r,y=0):(h=u,_=c+u*2,y=(_-f/r)/2),v=m>l?(m-d*2)/r:l+d*2,a.resize(_,v),f<=1&&(h=-1e4,g=-1e4),i.translate(h,g),o.translate(h,g);let b=a.getViewport(`viewMain`);return y!==1/0&&b!=null&&b.scrollToViewportPos({viewportScrollX:y}),this}};let bu=`univer-doc-main-canvas`;function xu(e){return e===t.DocumentFlavor.MODERN?`#fff`:`#fafafa`}let Su=class extends t.RxDisposable{constructor(e,t){super(),this._instanceSrv=e,this._renderManagerService=t,this._init()}_init(){this._renderManagerService.createRender$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderWithId(e)),this._instanceSrv.getAllUnitsForType(t.UniverInstanceType.UNIVER_DOC).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderer(e.unit)),this._instanceSrv.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){let t=e.getUnitId();this._renderManagerService.created$.subscribe(n=>{if(n.unitId===t){let t=e.getSnapshot().documentStyle.documentFlavor,r=n.engine.getCanvas();r.setId(bu),r.getContext().setId(bu),r.getCanvasEle().style.backgroundColor=xu(t)}}),this._renderManagerService.has(t)||this._createRenderWithId(t)}_createRenderWithId(e){this._renderManagerService.createRender(e)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}};Su=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService)],Su);let Cu=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._context=e,this._commandService=t,this._docSelectionRenderService=n,this._docSkeletonManagerService=r,this._editorService=i,this._renderManagerService=a,this._univerInstanceService=o,this._docPageLayoutService=s,this._textSelectionManagerService=c,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(e){var t;let r=(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(n.DocSkeletonManagerService),i=r==null?void 0:r.getSkeleton();if(!i||i.getViewModel().getDataModel().getSnapshot().disabled)return;i.calculate();let a=this._editorService.getEditor(e);if(this._editorService.isEditor(e)&&!(a!=null&&a.params.scrollBar)){var o;(o=this._context.mainComponent)==null||o.makeDirty();return}this._recalculateSizeBySkeleton(i),this._refreshPagePositionAndSelection()}_addNewRender(){let{scene:e,engine:n}=this._context,i=new r.Viewport(`viewMain`,e,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});e.attachControl(),e.onMouseWheel$.subscribeEvent((n,r)=>{let a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if((a==null?void 0:a.getUnitId())!==this._context.unitId)return;let o=n;if(o.ctrlKey){let t=Math.abs(o.deltaX),n=t<40?.2:t<80?.4:.2;n*=o.deltaY>0?-1:1,e.scaleX<1&&(n/=2),e.scaleX+n>4?e.scale(4,4):e.scaleX+n<.1?e.scale(.1,.1):o.preventDefault()}else i.onMouseWheel(o,r)}),new r.ScrollBar(i),e.addLayer(new r.Layer(e,[],2),new r.Layer(e,[],4)),this._addComponent();let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?n.runRenderLoop(a):n.stopRenderLoop(a)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){let{scene:e,unit:t,components:n}=this._context,i={pageMarginLeft:20,pageMarginTop:20,...this._getEditorBackgroundConfig()},a=new r.Documents(`__Document_Render_Main__`,void 0,i);a.zIndex=10;let o=new r.DocBackground(`__Document_Render_Background__`,void 0,i);o.zIndex=10,this._context.mainComponent=a,n.set(`__Document_Render_Main__`,a),n.set(`__Document_Render_Background__`,o),e.addObjects([a],2),e.addObjects([o],0),this._editorService.getEditor(t.getUnitId())==null&&e.enableLayerCache(2)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{this._create(e)})}_create(e){if(!e)return;let{mainComponent:t,components:n}=this._context,r=t,i=n.get(`__Document_Render_Background__`);r.changeSkeleton(e),i.changeSkeleton(e),this._syncCanvasBackground();let{unitId:a}=this._context,o=this._editorService.getEditor(a);if(this._editorService.isEditor(a)&&!(o!=null&&o.params.scrollBar)){var s;(s=this._context.mainComponent)==null||s.makeDirty();return}this._recalculateSizeBySkeleton(e),this._refreshPagePositionAndSelection()}_initCommandListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;this.reRender(e)}}))}_refreshPagePositionAndSelection(){this._editorService.isEditor(this._context.unitId)||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}_recalculateSizeBySkeleton(e){var n;let{mainComponent:i,scene:a,unitId:o,components:s}=this._context,c=i,l=s.get(`__Document_Render_Background__`),u=(n=e.getSkeletonData())==null?void 0:n.pages;if(u==null)return;let d=0,f=0,p=this._context.unit.getSnapshot().documentStyle.documentFlavor;this._syncCanvasBackground(p);for(let e=0,n=u.length;e<n;e++){let i=u[e],{pageWidth:a,pageHeight:o}=i;if(p===t.DocumentFlavor.MODERN){let e=wu(i);a=e.pageWidth,o=e.pageHeight}c.pageLayoutType===r.PageLayoutType.VERTICAL?(f+=o,f+=c.pageMarginTop,e===n-1&&(f+=c.pageMarginTop),d=Math.max(d,a)):c.pageLayoutType===r.PageLayoutType.HORIZONTAL&&(d+=a,e!==n-1&&(d+=c.pageMarginLeft),f=Math.max(f,o))}c.resize(d,f),l.resize(d,f);let m=this._editorService.getEditor(o);(!this._editorService.isEditor(o)||m!=null&&m.params.scrollBar)&&a.resize(d,f)}_syncCanvasBackground(e=this._context.unit.getSnapshot().documentStyle.documentFlavor){var t,n;let r=this._editorService.getEditor(this._context.unitId),i=r==null||(t=r.params.canvasStyle)==null?void 0:t.backgroundColor;this._context.engine.getCanvas().getCanvasEle().style.backgroundColor=i==null?xu(e):i;let a=this._context.components.get(`__Document_Render_Background__`);a==null||(n=a.setFillColors)==null||n.call(a,i,i,i,i)}_getEditorBackgroundConfig(){var e;let t=(e=this._editorService.getEditor(this._context.unitId))==null||(e=e.params.canvasStyle)==null?void 0:e.backgroundColor;return t==null?{}:{backgroundFillColor:t,pageFillColor:t,pageStrokeColor:t,marginStrokeColor:t}}};Cu=A([k(1,t.ICommandService),k(2,(0,t.Inject)(Y)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,Z),k(5,r.IRenderManagerService),k(6,t.IUniverInstanceService),k(7,(0,t.Inject)(yu)),k(8,(0,t.Inject)(n.DocSelectionManagerService))],Cu);function wu(e){let{pageWidth:t,pageHeight:n}=e,{marginLeft:r,marginRight:i,marginTop:a,marginBottom:o,skeDrawings:s,skeTables:c}=e;t===1/0&&(t=e.width+r+i),n===1/0&&(n=e.height+a+o);for(let e of s.values())t=Math.max(t,e.aLeft+e.width+r+i),n=Math.max(n,e.aTop+e.height+a+o);for(let e of c.values())t=Math.max(t,e.left+e.width+r+i),n=Math.max(n,e.top+e.height+a+o);return{pageWidth:t,pageHeight:n}}var Tu=`@univerjs/docs-ui`,Eu=`0.24.0-insiders.20260530-57a0a3e`;let Du=class extends t.Disposable{constructor(e,t){super(),this._docAutoFormatService=e,this._renderManagerService=t,this._initListTabAutoFormat(),this._initSpaceAutoFormat(),this._initDefaultEnterFormat(),this._initExitListAutoFormat()}_initListTabAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,paragraphs:n,unit:r}=e;if(n.length===1&&t.startOffset===n[0].paragraphStart&&n[0].bullet){var i;let e=(i=r.getBody())==null?void 0:i.paragraphs,t=e==null?void 0:e.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listId)===n[0].bullet.listId});return(t==null?void 0:t.findIndex(e=>e.startIndex===n[0].startIndex))!==0}else if(n.length>1&&n.some(e=>e.bullet))return!0;return!1},getMutations(e){let t=e.commandParams;return[{id:Ar.id,params:{type:t!=null&&t.shift?-1:1}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,unit:r}=e,{startNodePosition:i,endNodePosition:a}=t,o=this._renderManagerService.getRenderById(r.getUnitId()),s=o==null?void 0:o.with(n.DocSkeletonManagerService).getSkeleton();return s==null?!1:!!(i&&a&&_i(s,i,a)||i&&!a&&i.path.indexOf(`cells`)>-1)},getMutations(e){let t=e.commandParams;return[{id:na.id,params:{shift:!!(t!=null&&t.shift)}}]},priority:99}))}_initSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:N.id,match:e=>{var n;let{selection:r,paragraphs:i,unit:a}=e;if(!r.collapsed||i.length!==1||!r.collapsed)return!1;let o=(n=a.getBody())==null?void 0:n.dataStream.slice(i[0].paragraphStart,r.startOffset-1);return!!(o&&(Object.keys(t.QuickListTypeMap).includes(o)||Object.keys(Xr).includes(o)))},getMutations(e){var n;let{paragraphs:r,unit:i,selection:a}=e,o=(n=i.getBody())==null?void 0:n.dataStream.slice(r[0].paragraphStart,a.startOffset-1);if(o&&Object.keys(t.QuickListTypeMap).includes(o)){let e=t.QuickListTypeMap[o];return[{id:Fr.id,params:{listType:e,paragraph:r[0]}}]}if(o&&Object.keys(Xr).includes(o)){let e=Xr[o];return[{id:Yr.id,params:{value:e}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:e=>{let{paragraphs:t}=e;return!!(t.length===1&&t[0].bullet&&t[0].paragraphStart===t[0].paragraphEnd)},getMutations:e=>{let t=e.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:Ar.id,params:{type:-1}}]:[{id:Dr.id,params:{listType:e.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:()=>!0,getMutations(){return[{id:B.id}]},priority:-9999}))}};Du=A([k(0,(0,t.Inject)(j)),k(1,r.IRenderManagerService)],Du);function Ou(e){return e.rows[0].cells[0].sections[0].columns[0].lines[0]}function ku(e){let t=e.rows[e.rows.length-1],n=t.cells[t.cells.length-1];return(0,r.getLastLine)(n)}function Au(e,t){let{ed:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.st===n+1){i=e;break}return i}function ju(e){let t=e==null?void 0:e.parent,n=null,i=null;if(e==null||t==null)return{lineBeforeTable:n,lineAfterTable:i};let{st:a,ed:o}=e;return(0,r.lineIterator)(t.type===r.DocumentSkeletonPageType.CELL?[t]:t.parent.pages,e=>{e.st===o+1?i=e:e.ed===a-1&&(n=e)}),{lineBeforeTable:n,lineAfterTable:i}}function Mu(e){return e.sections[0].columns[0].lines.length===0}function Nu(e){let t=e.parent,n=t==null?void 0:t.parent,r=n==null?void 0:n.tableId;if(t==null||n==null)return;let i=t.cells.indexOf(e),a=n.rows[n.rows.indexOf(t)+1];if(a==null&&r.indexOf(`#-#`)){var o;let[e,t]=r.split(`#-#`),i=(o=n.parent)==null||(o=o.parent)==null?void 0:o.pages,s=`${e}#-#${Number.parseInt(t)+1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(s)){let e=t.get(s);if(e!=null&&e.rows.length){a=e.rows.find(e=>!e.isRepeatRow);break}}}}if(a!=null){let e=a.cells[i];return Mu(e)?Nu(e):e}}function Pu(e){let t=e.parent,n=t==null?void 0:t.parent;if(t==null||n==null)return;let r=n.rows[n.rows.indexOf(t)-1],i=t.cells.indexOf(e);if((r==null||r.isRepeatRow)&&n.tableId.indexOf(`#-#`)){var a;let[e,t]=n.tableId.split(`#-#`),i=(a=n.parent)==null||(a=a.parent)==null?void 0:a.pages,o=`${e}#-#${Number.parseInt(t)-1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(o)){let e=t.get(o);if(e!=null&&e.rows.length){r=e.rows[e.rows.length-1];break}}}}if(r!=null){let e=r.cells[i];return Mu(e)?Pu(e):e}}function Fu(e,t){let{st:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.ed===n-1){i=e;break}return i}function Iu(e){return e.sections[0].columns[0].lines[0]}function Lu(e){let t=(0,r.getLastColumn)(e);return t.lines[t.lines.length-1]}let Ru=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._renderManagerService=t,this._textSelectionManagerService=n,this._commandService=r,O(this,`_onInputSubscription`,void 0),this._commandExecutedListener()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_commandExecutedListener(){let e=[oa.id,sa.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(!e.includes(t.id))return;let n=t.params;switch(t.id){case oa.id:return this._handleMoveCursor(n.direction);case sa.id:return this._handleShiftMoveSelection(n.direction);default:throw Error(`Unknown command`)}}))}_handleShiftMoveSelection(e){var r,i;let a=this._textSelectionManagerService.getActiveTextRange(),o=this._textSelectionManagerService.getTextRanges(),s=this._univerInstanceService.getCurrentUniverDocInstance();if(s==null)return;let c=(r=this._renderManagerService.getRenderById(s.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),l=this._getDocObject();if(a==null||c==null||l==null)return;let{startOffset:u,endOffset:d,style:f,collapsed:p,direction:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=a;if(o.length>1){let n=1/0,r=-1/0;for(let e of o)n=Math.min(n,e.startOffset),r=Math.max(r,e.endOffset);this._textSelectionManagerService.replaceTextRanges([{startOffset:e===t.Direction.LEFT||e===t.Direction.UP?r:n,endOffset:e===t.Direction.LEFT||e===t.Direction.UP?n:r,style:f}],!1);return}let y=p||m===t.RANGE_DIRECTION.FORWARD?u:d,b=p||m===t.RANGE_DIRECTION.FORWARD?d:u,x=(i=s.getSelfOrHeaderFooterModel(h).getBody().dataStream.length)==null?1/0:i;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){var S;let n=c.findNodeByCharIndex(b-1,h,v),r=c.findNodeByCharIndex(b,h,v);b=e===t.Direction.RIGHT?b+r.count:b-((S=n==null?void 0:n.count)==null?0:S),b=Math.min(x-2,Math.max(0,b)),this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:b,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),b)}else{let n=c.findNodeByCharIndex(b,h,v),r=l.document.getOffsetConfig(),i=p?g:m===t.RANGE_DIRECTION.FORWARD?_:g,a=this._getTopOrBottomPosition(c,n,i,e===t.Direction.DOWN,!0);if(a==null){let n=e===t.Direction.UP?0:x-2;if(n===b)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:n,style:f}],!1);return}let o=new fi(r,c).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:o.endOffset,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),o.endOffset)}}_handleMoveCursor(e){var r,i,a;let o=this._textSelectionManagerService.getActiveTextRange(),s=this._textSelectionManagerService.getTextRanges(),c=this._univerInstanceService.getCurrentUniverDocInstance();if(c==null)return!1;let l=(r=this._renderManagerService.getRenderById(c.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),u=this._getDocObject();if(o==null||l==null||u==null||s==null)return;let{startOffset:d,endOffset:f,style:p,collapsed:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=o,y=c.getSelfOrHeaderFooterModel(h).getBody();if(y==null)return;let b=(i=y.dataStream.length)==null?1/0:i,x=(a=c.getCustomRanges())==null?[]:a;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){let n;if(!o.collapsed||s.length>1){let r=1/0,i=-1/0;for(let e of s)r=Math.min(r,e.startOffset),i=Math.max(i,e.endOffset);n=e===t.Direction.LEFT?r:i}else{let r=l.findNodeByCharIndex(d-1,h,v),i=l.findNodeByCharIndex(d,h,v),a=l.findNodeByCharIndex(d+1,h,v);if(e===t.Direction.LEFT){var S;n=Math.max(0,d-((S=r==null?void 0:r.count)==null?1:S))}else n=Math.min(b-2,f+i.count+ +((a==null?void 0:a.streamType)===t.DataStreamTreeTokenType.SECTION_BREAK))}let r=[t.DataStreamTreeTokenType.TABLE_START,t.DataStreamTreeTokenType.TABLE_END,t.DataStreamTreeTokenType.TABLE_ROW_START,t.DataStreamTreeTokenType.TABLE_ROW_END,t.DataStreamTreeTokenType.TABLE_CELL_START,t.DataStreamTreeTokenType.TABLE_CELL_END,t.DataStreamTreeTokenType.SECTION_BREAK];if(e===t.Direction.LEFT)for(;r.includes(y.dataStream[n]);)n--;else for(;r.includes(y.dataStream[n]);)n++;x.filter(e=>e.wholeEntity&&e.startIndex<n&&e.endIndex>=n).forEach(r=>{n=e===t.Direction.LEFT?Math.min(r.startIndex,n):Math.max(r.endIndex+1,n)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),n)}else{let n=l.findNodeByCharIndex(d,h,v),r=l.findNodeByCharIndex(f,h,v),i=u.document.getOffsetConfig(),a=this._getTopOrBottomPosition(l,e===t.Direction.UP||m?n:r,e===t.Direction.UP||m?g:_,e===t.Direction.DOWN);if(a==null){let n;n=m?e===t.Direction.UP?0:b-2:e===t.Direction.UP?d:f,this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1);return}let o=new fi(i,l).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...o,style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),o.endOffset)}}_getTopOrBottomPosition(e,t,n,r,i=!1){if(t==null||n==null)return;let a=this._getGlyphLeftOffsetInLine(t),o=this._getNextOrPrevLine(t,r,i);if(o==null)return;let s=this._matchPositionByLeftOffset(e,o,a,n);if(s!=null)return{...s,isBack:!0}}_getGlyphLeftOffsetInLine(e){let t=e.parent;if(t==null)return-1/0;let n=t.left,{left:r}=e;return n+r}_matchPositionByLeftOffset(e,n,r,i){let a={distance:1/0};for(let e of n.divides){let n=e.left;for(let i of e.glyphGroup){if(i.streamType===t.DataStreamTreeTokenType.SECTION_BREAK)continue;let{left:e}=i,o=n+e,s=Math.abs(r-o);s<a.distance&&(a.glyph=i,a.distance=s)}}if(a.glyph==null)return;let{segmentPage:o}=i;return e.findPositionByGlyph(a.glyph,o)}_getNextOrPrevLine(e,t,n=!1){let i=e.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent;if(i==null||a==null||o==null||s==null||c==null)return;let l=o.lines.indexOf(a);if(l===-1)return;let u;if(c.type===r.DocumentSkeletonPageType.CELL&&n){let e=zu(c,t);if(e)return e}if(t===!0){u=o.lines[l+1];let e=Au(a,c);if(e){let t=Ou(e);t&&(u=t)}}else{u=o.lines[l-1];let e=Fu(a,c);if(e){let t=ku(e);t&&(u=t)}}if(u!=null)return u;let d=s.columns.indexOf(o);if(d===-1)return;if(t===!0){var f;u=(f=s.columns[d+1])==null?void 0:f.lines[0]}else{var p;let e=(p=s.columns)==null||(p=p[d-1])==null?void 0:p.lines;u=e==null?void 0:e[e.length-1]}if(u!=null)return u;let m=c.sections.indexOf(s);if(m===-1)return;if(t===!0){var h;u=(h=c.sections[m-1])==null||(h=h.columns[0])==null?void 0:h.lines[0]}else{var g;let e=(g=c.sections)==null||(g=g[m-1])==null?void 0:g.columns,t=e==null?void 0:e[e.length-1],n=t==null?void 0:t.lines;u=n==null?void 0:n[n.length-1]}if(u!=null)return u;if(c.type===r.DocumentSkeletonPageType.CELL)return zu(c,t);let _=c.parent;if(_==null)return;let v=_.pages.indexOf(c);if(v!==-1){if(t===!0){var y;u=(y=_.pages[v+1])==null||(y=y.sections[0])==null||(y=y.columns[0])==null?void 0:y.lines[0]}else{var b,x;let e=(b=_.pages[v-1])==null?void 0:b.sections;if(e==null)return;let t=(x=e[e.length-1])==null?void 0:x.columns,n=t[t.length-1],r=n==null?void 0:n.lines;u=r[r.length-1]}if(u!=null)return u}}_scrollToFocusNodePosition(e,t){var n;let r=(n=this._renderManagerService.getRenderById(e))==null?void 0:n.with(vu);r!=null&&r.scrollToRange({startOffset:t,endOffset:t,collapsed:!0})}_getDocObject(){return m(this._univerInstanceService,this._renderManagerService)}};Ru=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService),k(2,(0,t.Inject)(n.DocSelectionManagerService)),k(3,t.ICommandService)],Ru);function zu(e,t){let n=null;if(t===!0){let t=Nu(e);if(t)n=Iu(t);else{var r;let{lineAfterTable:t}=ju((r=e.parent)==null?void 0:r.parent);t&&(n=t)}}else{let t=Pu(e);if(t)n=Lu(t);else{var i;let{lineBeforeTable:t}=ju((i=e.parent)==null?void 0:i.parent);t&&(n=t)}}return n}let Bu=({handleRowColChange:e,tableCreateParams:n})=>{let r=(0,i.useDependency)(t.LocaleService),[a,o]=(0,s.useState)(3),[c,d]=(0,s.useState)(5);function f(t,n){o(t),d(n),e(t,n)}return(0,s.useEffect)(()=>{o(n.rowCount),d(n.colCount)},[n]),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.rowCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:a,onChange:e=>{f(e,c)}})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.colCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:c,onChange:e=>{f(a,e)}})]})]})},Vu=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[aa].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(ra,Bu))}_init(){}};Vu=A([k(0,t.ICommandService),k(1,(0,t.Inject)(i.ComponentManager))],Vu);let Hu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._docEventManagerService=r,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(e=>{let t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(Nr.id,{index:e.paragraph.startIndex,segmentId:e.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(e=>{e?this._context.mainComponent.setCursor(r.CURSOR_TYPE.POINTER):this._context.mainComponent.setCursor(r.CURSOR_TYPE.TEXT)}))}_getTransformCoordForDocumentOffset(e,t,n,i){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(r.Vector2.FromArray([n,i]));if(o)return a.clone().invert().applyPoint(o)}};Hu=A([k(1,(0,t.Inject)(n.DocSkeletonManagerService)),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService))],Hu);let Uu=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._commandService=t,this._docClipboardService=n,this._docSelectionRenderService=r,this._contextService=i,this._editorService=a,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var e;(e=this._docSelectionRenderService)==null||e.onPaste$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t,n,r,a,o;if(!mn(this._contextService))return;e.event.preventDefault();let s=e.event,c=(t=s.clipboardData)==null?void 0:t.getData(i.HTML_CLIPBOARD_MIME_TYPE),l=(n=s.clipboardData)==null?void 0:n.getData(`application/x-doc-fragment+json`),u=(r=s.clipboardData)==null?void 0:r.getData(i.PLAIN_TEXT_CLIPBOARD_MIME_TYPE),d=[...((a=s.clipboardData)==null?void 0:a.items)||[]].filter(e=>i.imageMimeTypeSet.has(e.type)).map(e=>e.getAsFile()).filter(e=>!!e);this._editorService.getEditor(this._context.unitId)&&((o=c)==null?``:o).indexOf(`</table>`)>-1&&(c=``),this._docClipboardService.legacyPaste({html:c,internalJson:l,text:u,files:d})})}};Uu=A([k(1,t.ICommandService),k(2,dn),k(3,(0,t.Inject)(Y)),k(4,t.IContextService),k(5,Z)],Uu);let Wu=[t.DEFAULT_EMPTY_DOCUMENT_VALUE,t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY],Gu=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._contextMenuService=t,this._commandService=n,this._docEventManagerService=r,this._docSelectionManagerService=i,this._univerInstanceService=a,Wu.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e;let t=((e=this._context)==null||(e=e.mainComponent)==null?void 0:e.onPointerDown$).subscribeEvent(e=>{if(e.button===2){if(this._docEventManagerService.isPointerOnBullet(e.offsetX,e.offsetY)||this._isSelectionInCodeBlock())return;this._contextMenuService.triggerContextMenu(e,i.ContextMenuPosition.MAIN_AREA)}});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===n.RichTextEditingMutation.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}_isSelectionInCodeBlock(){var e,n,r;let i=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),a=(e=i==null||(n=i.getBody())==null||(n=n.blockRanges)==null?void 0:n.filter(e=>e.blockType===`code`))==null?[]:e,o=(r=this._docSelectionManagerService.getTextRanges())==null?[]:r;return!a.length||!o.length?!1:a.some(e=>o.some(t=>Ku(t,e.startIndex,e.endIndex)))}};Gu=A([k(1,i.IContextMenuService),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService)),k(5,(0,t.Inject)(t.IUniverInstanceService))],Gu);function Ku(e,t,n){return Math.max(e.startOffset,t)<=Math.min(e.endOffset,n)}let qu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._univerInstanceService=t,this._editorService=n,this._commandService=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._renderManagerService=o,O(this,`_initialEditors`,new Set),this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(e=>{let t=e.getEditorId();t===this._context.unitId&&(this._initialEditors.has(t)||(this._initialEditors.add(t),this._resize(t)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(e){if(e==null)return;let t=this._editorService.getEditor(e);if((t==null?void 0:t.cancelDefaultResizeListener)===!0)return;let n=this._univerInstanceService.getUniverDocInstance(e);if(!n)return;let r=this._docSkeletonManagerService.getSkeleton();if(t==null||t.render==null||r==null||n==null)return;r.calculate();let{marginTop:i=0,marginBottom:a=0,marginLeft:o=0,marginRight:s=0}=n.getSnapshot().documentStyle,{scene:c,mainComponent:l}=t.render,{actualHeight:u,actualWidth:d}=r.getActualSize();u+=i+a,d+=o+s;let{width:f,height:p}=t.getBoundingClientRect(),m=Math.max(d,f),h=Math.max(u,p);c.transformByState({width:m,height:h}),l==null||l.resize(m,h)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{let{unitId:e}=this._context,t=this._editorService.getEditor(e),n=this._editorService.getFocusEditor();t==null||t.isSheetEditor()||n&&n.getEditorId()===e||e.includes(`range_selector`)||e.includes(`embedding_formula_editor`)||this._editorService.blur()}))}_initialFocus(){let e=[`univer-formula-search`,`univer-formula-help`,`formula-help-decorator`,`univer-formula-help-param`];this.disposeWithMe((0,o.fromEvent)(window,`mousedown`).subscribe(n=>{(0,t.checkForSubstrings)(n.target.classList[0]||``,e)&&n.stopPropagation()}));let n=new t.DisposableCollection;this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(n.dispose(),!e)return;let t=e.getUnitId(),r=this._renderManagerService.getRenderById(t),i=r==null?void 0:r.engine.getCanvas().getCanvasEle();if(i==null)return;let a=(0,o.fromEvent)(i,`mousedown`).subscribe(e=>{e.stopPropagation()});n.add(a)})),this.disposeWithMe(()=>n.dispose())}_commandExecutedListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;if(this._editorService.isSheetEditor(e)||e!==this._context.unitId)return;let n=this._editorService.getEditor(e);n&&!n.params.scrollBar&&this._resize(e)}}))}};qu=A([k(1,t.IUniverInstanceService),k(2,Z),k(3,t.ICommandService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,r.IRenderManagerService)],qu);let Ju=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._docSelectionRenderService=t,this._docImeInputManagerService=n,this._docSkeletonManagerService=r,this._docStateEmitService=i,this._commandService=a,O(this,`_previousIMEContent`,``),O(this,`_isCompositionStart`,!0),O(this,`_onStartSubscription`,void 0),O(this,`_onUpdateSubscription`,void 0),O(this,`_onEndSubscription`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._onStartSubscription)==null||e.unsubscribe(),(t=this._onUpdateSubscription)==null||t.unsubscribe(),(n=this._onEndSubscription)==null||n.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(e=>{if(e==null)return;this._resetIME();let{activeRange:n}=e;n!=null&&this._docImeInputManagerService.setActiveRange(t.Tools.deepClone(n))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(e=>{this._updateContent(e,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(e=>{this._updateContent(e,!1)})}async _updateContent(e,t){if(e==null)return;let n=this._context.unitId,r=this._docSkeletonManagerService.getSkeleton(),{event:i,activeRange:a}=e;if(r==null||a==null)return;let o=i.data;if(!(o===this._previousIMEContent&&t)){if(!t&&o===this._previousIMEContent){this._finalizeComposition(),this._resetIME();return}await this._commandService.executeCommand(Un.id,{unitId:n,newText:o,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!t}),t?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=o):this._resetIME()}}_finalizeComposition(){let e=this._docImeInputManagerService.getActiveRange();e!=null&&this._docStateEmitService.emitStateChangeInfo({commandId:n.RichTextEditingMutation.id,unitId:this._context.unitId,segmentId:e.segmentId,trigger:Un.id,redoState:{actions:[],textRanges:[e]},undoState:{actions:[],textRanges:[e]},isCompositionEnd:!0})}_resetIME(){this._previousIMEContent=``,this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};Ju=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(Hn)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,(0,t.Inject)(n.DocStateEmitService)),k(5,t.ICommandService)],Ju);let Yu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSelectionRenderService=t,this._docSkeletonManagerService=n,this._commandService=r,this._docMenuStyleService=i,O(this,`_onInputSubscription`,void 0),this._init()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async e=>{var n,r;if(e==null)return;let{unitId:i}=this._context,{event:a,content:o=``,activeRange:s}=e,c=a,l=this._docSkeletonManagerService.getSkeleton();if(c.data==null||l==null||s==null)return;let{segmentId:u}=s,d=this._context.unit.getSelfOrHeaderFooterModel(u).getBody(),f=this._docMenuStyleService.getDefaultStyle(),p=this._docMenuStyleService.getStyleCache(),m=x((n=d==null?void 0:d.customRanges)==null?[]:n,s.endOffset,t.SHEET_EDITOR_UNITS.includes(i)),h=b(d,s.endOffset,f,p,t.SHEET_EDITOR_UNITS.includes(i)),g=S((r=d==null?void 0:d.customDecorations)==null?[]:r,s.endOffset);await this._commandService.executeCommand(xe.id,{unitId:i,body:{dataStream:o,textRuns:h?[{...h,st:0,ed:o.length}]:[],customRanges:m?[{...m,startIndex:0,endIndex:o.length-1}]:[],customDecorations:g.map(e=>({...e,startIndex:0,endIndex:o.length-1}))},range:s,segmentId:u}),o===` `&&await this._commandService.executeCommand(N.id)})}};Yu=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.ICommandService),k(4,(0,t.Inject)(I))],Yu);let Xu=class extends t.Disposable{constructor(e,n,r){super(),this._context=e,this._docPageLayoutService=n,this._textSelectionManagerService=r;let i=this._context.unitId;if((0,t.isInternalEditorID)(i)&&i!==t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)return this;this._initResize()}_initResize(){this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,o.throttleTime)(0,o.animationFrameScheduler)).subscribe(()=>{this._disposed||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}))}};Xu=A([k(1,(0,t.Inject)(yu)),k(2,(0,t.Inject)(n.DocSelectionManagerService))],Xu);let Zu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._commandService=t,this._editorService=n,this._instanceSrv=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._docSelectionManagerService=o,O(this,`_loadedMap`,new WeakSet),this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){let{unitId:e}=this._context,t=p(this._context);t==null||t.document==null||this._loadedMap.has(t.document)||(this._initialMain(e),this._loadedMap.add(t.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(e=>{if(e==null)return;let{unitId:t,docRanges:n,isEditing:r,options:i}=e;t===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(n,r,i))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(e=>{e!=null&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(e,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(e){let{document:n,scene:i}=p(this._context);this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(e)||(n.cursor=r.CURSOR_TYPE.TEXT)})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n.cursor=r.CURSOR_TYPE.DEFAULT,i.resetCursor()})),this.disposeWithMe(n.onPointerDown$.subscribeEvent((i,a)=>{if(this._isEditorReadOnly(e))return;let o=this._instanceSrv.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);(o==null?void 0:o.getUnitId())!==e&&this._instanceSrv.setCurrentUnitForType(e);let s=this._docSkeletonManagerService.getSkeleton(),{offsetX:c,offsetY:l}=i,u=this._getTransformCoordForDocumentOffset(c,l);if(u!=null){let{pageLayoutType:e=r.PageLayoutType.VERTICAL,pageMarginLeft:t,pageMarginTop:i}=n.getOffsetConfig(),{editArea:a}=s.findEditAreaByCoord(u,e,t,i),o=this._docSkeletonManagerService.getViewModel(),c=o.getEditArea();c!==r.DocumentEditArea.BODY&&a!==r.DocumentEditArea.BODY&&a!==c&&o.setEditArea(a)}if(this._docSelectionRenderService.__onPointDown(i),this._editorService.getEditor(e)){this._setEditorFocus(e);let{offsetX:t,offsetY:n}=i;setTimeout(()=>{e===this._editorService.getFocusId()||this._docSelectionRenderService.isOnPointerEvent||(this._setEditorFocus(e),this._docSelectionRenderService.setCursorManually(t,n))},0)}i.button!==2&&a.stopPropagation()})),this.disposeWithMe(n.onDblclick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleDblClick(t)})),this.disposeWithMe(n.onTripleClick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleTripleClick(t)}))}_getTransformCoordForDocumentOffset(e,t){let{document:n,scene:i}=p(this._context),{documentTransform:a}=n.getOffsetConfig(),o=i.getViewports()[0];if(o==null)return;let s=o.transformVector2SceneCoord(r.Vector2.FromArray([e,t]));return a.clone().invert().applyPoint(s)}_isEditorReadOnly(e){let t=this._editorService.getEditor(e);return t?t.isReadOnly():!1}_setEditorFocus(e){this._editorService.focus(e)}_commandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){var n;let{unitId:e}=t.params;if(e!==((n=this._docSelectionManagerService.__getCurrentSelection())==null?void 0:n.unitId))return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return;let{unitId:n}=this._context;if(!(0,t.isInternalEditorID)(n)){this._docSelectionRenderService.focus();let e=Ha(this._context.unit.getSnapshot());this._docSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:n,subUnitId:n},!1)}}))}};Zu=A([k(1,t.ICommandService),k(2,Z),k(3,t.IUniverInstanceService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,(0,t.Inject)(n.DocSelectionManagerService))],Zu);function Qu(e,t,n){return t&&(e.ctrlKey||e.metaKey)}let $u=class extends t.Disposable{constructor(e,n,r,i,a,o,s,c,l){super(),this._context=e,this._contextService=n,this._docSkeletonManagerService=r,this._univerInstanceService=i,this._commandService=a,this._textSelectionManagerService=o,this._editorService=s,this._docPageLayoutService=c,this._renderManagerService=l,O(this,`_isSheetEditor`,!1),O(this,`_initTimer`,void 0),O(this,`_updateTimer`,void 0),this._initSkeletonListener(),this._initCommandExecutedListener(),this._isSheetEditor=this._context.unitId===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY;let u=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u&&this._renderManagerService.getRenderById(u.getUnitId());this._initTimer=window.setTimeout(()=>this.updateViewZoom(d&&this._isSheetEditor?d.scene.scaleX:1,!0),20),(0,t.isInternalEditorID)(this._context.unitId)||this._initZoomEventListener()}dispose(){window.clearTimeout(this._initTimer),window.clearTimeout(this._updateTimer)}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)return;let n=this._univerInstanceService.getCurrentUniverDocInstance();n&&(this._updateTimer=window.setTimeout(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=e&&this._renderManagerService.getRenderById(e.getUnitId()),i=this._isSheetEditor?(r==null?void 0:r.scene.scaleX)||1:n.zoomRatio;this.updateViewZoom(i,!1)}))}))}_initCommandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)&&t.params.unitId===this._context.unitId){let e=this._context.unit.zoomRatio||1;this.updateViewZoom(e)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{var n;(e.id===Ui.id||e.id===Yo.id&&((n=e.params)==null?void 0:n.documentFlavor)===t.DocumentFlavor.MODERN)&&this._commandService.executeCommand(Kr.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(e,n=!0){var r;let i=p(this._context);i.scene.scale(e,e),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),n&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),!(0,t.isInternalEditorID)(this._context.unitId)&&((r=i.scene.getTransformer())==null||r.clearSelectedObjects())}_initZoomEventListener(){let e=this._context.scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(e=>{let n=this._univerInstanceService.getCurrentUniverDocInstance();if(!n)return;let{documentFlavor:i}=n.getSnapshot().documentStyle;if(!Qu(e,!!this._contextService.getContextValue(t.FOCUSING_DOC),i))return;let a=(0,r.getNextWheelZoomRatio)(n.zoomRatio||1,e);this._commandService.executeCommand(Kr.id,{zoomRatio:a,documentId:n.getUnitId()}),e.preventDefault()}))}};$u=A([k(1,t.IContextService),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.IUniverInstanceService),k(4,t.ICommandService),k(5,(0,t.Inject)(n.DocSelectionManagerService)),k(6,Z),k(7,(0,t.Inject)(yu)),k(8,r.IRenderManagerService)],$u);let ed=(0,t.createInterceptorKey)(`PRINTING_COMPONENT_COLLECT`),td=(0,t.createInterceptorKey)(`PRINTING_DOM_COLLECT`);var nd=class extends t.Disposable{constructor(){super(),O(this,`_printComponentMap`,new Map),O(this,`interceptor`,new t.InterceptorManager({PRINTING_COMPONENT_COLLECT:ed,PRINTING_DOM_COLLECT:td})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}};let rd=class extends t.RxDisposable{constructor(e,t,n,r,i){super(),this._undoRedoService=e,this._commandService=t,this._univerInstanceService=n,this._docStateEmitService=r,this._renderManagerService=i,O(this,`_docStateChange$`,new o.BehaviorSubject(null)),O(this,`docStateChange$`,this._docStateChange$.asObservable()),O(this,`_historyStateCache`,new Map),O(this,`_changeStateCache`,new Map),O(this,`_historyTimer`,null),O(this,`_changeStateCacheTimer`,null),this._initialize(),this._listenDocStateChange()}getStateCache(e){var t,n;return{history:(t=this._historyStateCache.get(e))==null?[]:t,collaboration:(n=this._changeStateCache.get(e))==null?[]:n}}setStateCache(e,t){this._historyStateCache.set(e,t.history),this._changeStateCache.set(e,t.collaboration)}_setChangeState(e){this._cacheChangeState(e,`history`),this._cacheChangeState(e,`collaboration`)}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===t.UndoCommandId||e.id===t.RedoCommandId){let e=this._univerInstanceService.getCurrentUniverDocInstance();if(e==null)return;let t=e.getUnitId();this._pushHistory(t),this._emitChangeState(t)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t;if(e==null)return;let{isCompositionEnd:n,isSync:r,syncer:i,...a}=e,o=(t=this._renderManagerService.getRenderById(r?i:e.unitId))==null?void 0:t.with(Hn);if(o!=null){if(n){let e=o.fetchComposedUndoRedoMutationParams();if(e==null)throw Error(`historyParams is null in RichTextEditingMutation`);let{undoMutationParams:t,redoMutationParams:n,previousActiveRange:r}=e;a.redoState.actions=n.actions,a.undoState.actions=t.actions,a.undoState.textRanges=[r]}this._setChangeState(a)}})}_cacheChangeState(e,n=`history`){let{trigger:r,unitId:i,noHistory:a,debounce:o=!1}=e;if(a||r==null||n===`history`&&(r===t.RedoCommandId||r===t.UndoCommandId))return;let s=n===`history`?this._historyStateCache:this._changeStateCache,c=n===`history`?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(s.has(i)){let t=s.get(i);t==null||t.push(e)}else s.set(i,[e]);o?n===`history`?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{c(i)},300)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{c(i)},300)):c(i)}_pushHistory(e){let n=this._undoRedoService,r=this._historyStateCache.get(e);if(!Array.isArray(r)||r.length===0)return;let i=r.length,a=r[0].commandId,o=r[0],s=r[i-1],c={unitId:e,actions:r.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:s.redoState.textRanges},l={unitId:e,actions:r.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:o.undoState.textRanges};n.pushUndoRedo({unitID:e,undoMutations:[{id:a,params:l}],redoMutations:[{id:a,params:c}]}),r.length=0}_emitChangeState(e){let n=this._changeStateCache.get(e);if(!Array.isArray(n)||n.length===0)return;let r=n.length,{commandId:i,trigger:a,segmentId:o,noHistory:s,debounce:c}=n[0],l=n[0],u=n[r-1],d={commandId:i,unitId:e,trigger:a,redoState:{unitId:e,actions:n.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:u.redoState.textRanges},undoState:{unitId:e,actions:n.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:l.undoState.textRanges},segmentId:o,noHistory:s,debounce:c};n.length=0,this._docStateChange$.next(d)}};rd=A([k(0,(0,t.Inject)(t.IUndoRedoService)),k(1,t.ICommandService),k(2,t.IUniverInstanceService),k(3,(0,t.Inject)(n.DocStateEmitService)),k(4,r.IRenderManagerService)],rd);let id={id:P.id,preconditions:Vl,binding:i.KeyCode.ENTER},ad={id:je.id,preconditions:$,binding:i.KeyCode.BACKSPACE},od={id:Me.id,preconditions:$,binding:i.KeyCode.DELETE},sd={id:oa.id,binding:i.KeyCode.ARROW_UP,preconditions:$,staticParameters:{direction:t.Direction.UP}},cd={id:oa.id,binding:i.KeyCode.ARROW_DOWN,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},ld={id:oa.id,binding:i.KeyCode.ARROW_LEFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},ud={id:oa.id,binding:i.KeyCode.ARROW_RIGHT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},dd={id:sa.id,binding:i.KeyCode.ARROW_UP|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.UP}},fd={id:sa.id,binding:i.KeyCode.ARROW_DOWN|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},pd={id:sa.id,binding:i.KeyCode.ARROW_LEFT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},md={id:sa.id,binding:i.KeyCode.ARROW_RIGHT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},hd={id:jn.id,binding:i.KeyCode.A|i.MetaKeys.CTRL_COMMAND,preconditions:e=>e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&(e.getContextValue(t.FOCUSING_DOC)||e.getContextValue(t.EDITOR_ACTIVATED))},gd=class extends t.Plugin{constructor(e=ru,n,r,i,a,o){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._commandService=i,this._logService=a,this._configService=o;let{menu:s,...c}=(0,t.merge)({},ru,this._config);s&&this._configService.setConfig(`menu`,s,{merge:!0}),this._configService.setConfig(nu,c),this._initDependencies(n),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),(0,t.touchDependencies)(this._injector,[[rd],[Su]])}onRendered(){this._initRenderModules(),(0,t.touchDependencies)(this._injector,[[Du],[Ru],[Lo],[Vu],[gu]])}_initCommand(){[je,Me,Gn,qn,Yn,Zn,$n,tr,rr,ar,sr,dr,lr,pr,B,xe,Se,Te,bn,Ce,Ee,De,q,Pr,jr,Dr,Vr,Hr,Ur,Br,Wr,kn,Wi,ea,Xi,Zi,ta,Qi,$i,Gi,Ki,qi,co,na,M,N,P,Ar,Or,Mr,Nr,Fr,Un,Ui,vo,me,ye,br,yr,xr,Kr,jn,Ro,oa,sa,Tr,wr,Er,J,Yr,Le,gn,vn,Zr,Qr,$r,ei,ti,ni,ri,ii,Lr,Rr,zr,An,Yo,Xo].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))}),[hn,_n,yn].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_initializeShortcut(){[sd,cd,ud,ld,dd,fd,pd,md,hd,ad,od,id,Ul].forEach(e=>{this._injector.get(i.IShortcutService).registerShortcut(e)})}_initDependencies(e){(0,t.mergeOverrideWithDependencies)([[nd],[Uu],[qu],[gu],[Du],[Vu],[Ru],[Lo],[Z,{useClass:Ga}],[dn,{useClass:fn}],[Oc],[Su],[rd],[j],[On],[I]],this._config.override).forEach(t=>e.add(t))}_markDocAsFocused(){let e=this._injector.get(t.IUniverInstanceService),n=this._injector.get(Z);try{let r=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!r)return;let i=r.getUnitId();n.isEditor(i)||e.focusUnit(r.getUnitId())}catch(e){this._logService.warn(e)}}_initRenderBasics(){[[n.DocSkeletonManagerService],[Y],[n.DocInterceptorService],[yu],[Hn],[Cu],[$u]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}_initRenderModules(){[[Fc],[Gc],[Yc],[vu],[Zu],[to],[Xu],[Gu],[Hu],[Uu],[Yu],[Ju],[qu]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}};O(gd,`pluginName`,`DOC_UI_PLUGIN`),O(gd,`packageName`,Tu),O(gd,`version`,Eu),gd=A([(0,t.DependentOn)(r.UniverRenderEnginePlugin),k(1,(0,t.Inject)(t.Injector)),k(2,r.IRenderManagerService),k(3,t.ICommandService),k(4,t.ILogService),k(5,t.IConfigService)],gd);function _d(e){let{editorId:n,initialValue:r,container:a,autoFocus:o,isSingle:c,canvasStyle:l}=e,u=(0,s.useMemo)(()=>o==null?!1:o,[]),[d,f]=(0,s.useState)(),p=(0,i.useDependency)(Z);return(0,s.useLayoutEffect)(()=>{if(a.current){let o=typeof r==`string`?void 0:t.Tools.deepClone(r),s={body:{dataStream:typeof r==`string`?`${r}\r\n`:`\r
|
|
53
|
+
`,style:{left:S.left,top:S.top,width:Math.max(60,S.right-S.left)}})]})};function _l(e,t){if(t.id===`doc.menu.insert-bellow`)return!0;let n=e.toLowerCase();return n.includes(`insert`)&&(n.includes(`below`)||n.includes(`bellow`))||n.includes(`insert`)&&n.includes(`image`)?!0:n===`doc.command.create-table`||n===`doc.operation.create-table`}function vl(){return(0,u.jsx)(`span`,{className:`univer-grid univer-h-3.5 univer-w-2 univer-grid-cols-2 univer-place-items-center univer-gap-x-0.5 univer-gap-y-px`,"aria-hidden":`true`,children:Array.from({length:6}).map((e,t)=>(0,u.jsx)(`span`,{className:`univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300`},t))})}let yl=e=>{let r=e.get(n.DocSelectionManagerService);return new o.Observable(e=>{let n=r.textSelection$.subscribe(()=>{r.getDocRanges().some(e=>e.collapsed===!1||e.rangeType===t.DOC_RANGE_TYPE.RECT)?e.next(!1):e.next(!0)});return()=>n.unsubscribe()})};function bl(e){if(e.length<2)return!0;let t=e.map(e=>e.tableId);return t.every(e=>e===t[0])}function xl(e,t,n){let r=t.getRectRanges(),i=t.getActiveTextRange();if(r&&r.length&&bl(r)&&i==null){e.next(!1);return}if(i&&(r==null||r.length===0)){var a;let{segmentId:t,startOffset:r,endOffset:o}=i,s=n.getCurrentUniverDocInstance(),c=s==null||(a=s.getSelfOrHeaderFooterModel(t).getBody())==null?void 0:a.tables;if(c&&c.length&&c.some(e=>{let{startIndex:t,endIndex:n}=e;return r>t&&r<n||o>t&&o<n})){e.next(!1);return}}e.next(!0)}let Sl=e=>{let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let t=r.textSelection$.subscribe(()=>{xl(e,r,i)});return xl(e,r,i),()=>t.unsubscribe()})},Cl=e=>({id:hn.name,commandId:hn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),wl=e=>({id:Ro.id,type:i.MenuItemType.BUTTON,icon:`MenuIcon`,title:`docs-ui.doc.menu.paragraphSetting`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Tl=e=>({id:_n.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.cut`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),El=e=>({id:yn.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.paste`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Dl=e=>({id:je.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.delete`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Ol=`doc.menu.table-insert`;function kl(e){return{id:Ol,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.insert`,icon:`InsertDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Al(e){return{id:Xi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowAbove`,icon:`InsertRowAboveDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function jl(e){return{id:Zi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowBelow`,icon:`InsertRowBelowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ml(e){return{id:Qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnLeft`,icon:`LeftInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Nl(e){return{id:$i.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnRight`,icon:`RightInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Pl=`doc.menu.table-delete`;function Fl(e){return{id:Pl,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.delete`,icon:`ReduceDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Il(e){return{id:Gi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteRows`,icon:`DeleteRowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ll(e){return{id:Ki.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteColumns`,icon:`DeleteColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Rl(e){return{id:qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteTable`,icon:`GridIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let zl={[fs]:{[ds]:{order:0,menuItemFactory:gs}}},Bl={...zl,[i.RibbonStartGroup.FORMAT]:{[Gn.id]:{order:0,menuItemFactory:ns},[qn.id]:{order:1,menuItemFactory:rs},[Yn.id]:{order:2,menuItemFactory:is},[Zn.id]:{order:3,menuItemFactory:as},[$n.id]:{order:4,menuItemFactory:os},[tr.id]:{order:5,menuItemFactory:ss},[J.id]:{order:5.5,menuItemFactory:us},[rr.id]:{order:6,menuItemFactory:ls},[ar.id]:{order:7,menuItemFactory:cs},[sr.id]:{order:8,menuItemFactory:_s},[lr.id]:{order:9,menuItemFactory:Ns,[dr.id]:{order:0,menuItemFactory:Ms}}},[i.RibbonStartGroup.LAYOUT]:{[Br.id]:{order:2,menuItemFactory:Ts},[Pr.id]:{order:7,menuItemFactory:Os},[jr.id]:{order:8,menuItemFactory:ks},[so.id]:{order:10,menuItemFactory:vs},[Ui.id]:{order:11,menuItemFactory:js},[Xo.id]:{order:12,menuItemFactory:Is}},[i.RibbonInsertGroup.MEDIA]:{[bs]:{order:2,menuItemFactory:xs,[aa.id]:{order:0,menuItemFactory:Ss}},[kn.id]:{order:3,menuItemFactory:Es},[Mr.id]:{order:4,menuItemFactory:As}},[i.ContextMenuPosition.MAIN_AREA]:{[i.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[hn.name]:{order:0,menuItemFactory:Cl},[_n.id]:{order:1,menuItemFactory:Tl},[yn.id]:{order:2,menuItemFactory:El}},[i.ContextMenuGroup.FORMAT]:{[je.id]:{order:0,menuItemFactory:Dl}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[Ol]:{order:1,menuItemFactory:kl,[Xi.id]:{order:1,menuItemFactory:Al},[Zi.id]:{order:2,menuItemFactory:jl},[Qi.id]:{order:3,menuItemFactory:Ml},[$i.id]:{order:4,menuItemFactory:Nl}},[Pl]:{order:2,menuItemFactory:Fl,[Gi.id]:{order:1,menuItemFactory:Il},[Ki.id]:{order:2,menuItemFactory:Ll},[qi.id]:{order:3,menuItemFactory:Rl}}}},[i.ContextMenuPosition.PARAGRAPH]:{[i.ContextMenuGroup.QUICK]:{[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ri.id]:{order:-1,menuItemFactory:Ys},[ii.id]:{order:-1,menuItemFactory:Xs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.FORMAT]:{[gn.id]:{order:0,menuItemFactory:lc},[vn.id]:{order:1,menuItemFactory:uc},[Le.id]:{order:2,menuItemFactory:dc}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[gc]:{order:1,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[_c]:{[i.ContextMenuGroup.QUICK]:{order:-2,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[Qs]:{[i.ContextMenuGroup.QUICK]:{order:-1,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:$s},[Qr.id]:{order:1,menuItemFactory:ec},[$r.id]:{order:2,menuItemFactory:tc},[ei.id]:{order:3,menuItemFactory:nc},[ti.id]:{order:4,menuItemFactory:rc},[ni.id]:{order:5,menuItemFactory:ic}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Ro.id]:{order:0,menuItemFactory:wl},[jr.id]:{order:1,menuItemFactory:oc},[Pr.id]:{order:2,menuItemFactory:ac},[Mr.id]:{order:3,menuItemFactory:sc},[kn.id]:{order:4,menuItemFactory:cc},[aa.id]:{order:5,menuItemFactory:Cs}}},[vc]:{[i.ContextMenuGroup.FORMAT]:{[hn.name]:{order:0,menuItemFactory:bc},[yn.id]:{order:1,menuItemFactory:xc},[qi.id]:{order:2,menuItemFactory:Sc}},[i.ContextMenuGroup.LAYOUT]:{[gc]:{order:0,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}}}}};function $(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}function Vl(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}let Hl={id:M.id,binding:i.KeyCode.TAB,preconditions:$},Ul={id:M.id,binding:i.KeyCode.TAB|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{shift:!0}},Wl={id:Gn.id,binding:i.KeyCode.B|i.MetaKeys.CTRL_COMMAND,preconditions:$},Gl={id:qn.id,binding:i.KeyCode.I|i.MetaKeys.CTRL_COMMAND,preconditions:$},Kl={id:Yn.id,binding:i.KeyCode.U|i.MetaKeys.CTRL_COMMAND,preconditions:$},ql={id:Zn.id,binding:i.KeyCode.X|i.MetaKeys.SHIFT|i.MetaKeys.CTRL_COMMAND,preconditions:$},Jl={id:$n.id,binding:i.KeyCode.COMMA|i.MetaKeys.CTRL_COMMAND,preconditions:$},Yl={id:tr.id,binding:i.KeyCode.PERIOD|i.MetaKeys.CTRL_COMMAND,preconditions:$},Xl={id:Vr.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Zl={id:Ur.id,binding:i.KeyCode.R|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Ql={id:Hr.id,binding:i.KeyCode.E|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},$l={id:Wr.id,binding:i.KeyCode.J|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},eu={id:Pr.id,binding:i.KeyCode.Digit7|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},tu={id:jr.id,binding:i.KeyCode.Digit8|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},nu=`docs-ui.config`,ru={toc:!1,footer:!0},iu=[50,80,100,130,150,170,200,400],au=[10,400];function ou(){let e=(0,i.useDependency)(t.ICommandService),n=(0,i.useDependency)(t.IUniverInstanceService),[r,a]=(0,s.useState)(null),[o,c]=(0,s.useState)(100),l=(0,s.useCallback)(()=>{var e,t;if(!r)return 100;let n=((e=(t=r.getSettings())==null?void 0:t.zoomRatio)==null?1:e)*100;return Math.round(n)},[r]);(0,s.useEffect)(()=>{let e=n.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).subscribe(e=>{e&&(a(e),c(l()))});return()=>{e.unsubscribe()}},[n,l]),(0,s.useEffect)(()=>e.onCommandExecuted(e=>{e.id===q.id&&c(l())}).dispose,[e,l]);function d(t){if(c(t),r==null)return;let n=t/100;e.executeCommand(q.id,{unitId:r.getUnitId(),zoomRatio:n})}return(0,u.jsx)(i.Slider,{min:au[0],value:o,shortcuts:iu,onChange:d})}function su(e){return(0,u.jsx)(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:(0,u.jsx)(ou,{})})}function cu(){var e;let t=(0,i.useConfigValue)(nu);return((e=t==null?void 0:t.footer)==null?!0:e)&&(0,u.jsxs)(`div`,{className:`univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5`,children:[(0,u.jsx)(`div`,{}),(0,u.jsx)(su,{})]})}function lu(){let e=(0,i.useDependency)(t.IUniverInstanceService),n=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]),r=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SLIDE),void 0,void 0,[]);return n||r?null:(0,u.jsx)(cu,{})}let uu=(0,s.forwardRef)((e,t)=>{let{menus:n,onClick:r,className:i,style:a,mode:o,maxHeight:c,activeId:d,open:f,onOpenChange:p,maxWidth:m,wrapperClass:h,wrapperStyle:g,iconClass:_,iconStyle:v}=e,y=o===`side-bar`,b=(0,s.useRef)(null),x=(0,s.useRef)(n);x.current=n;let S=(0,s.useMemo)(()=>({scrollTo:e=>{var t;if(!x.current||x.current.findIndex(t=>t.id===e)===-1||!b.current)return;let n=document.getElementById(`univer-side-menu-${e}`);if(!n)return;let r=n.offsetTop,i=b.current.clientHeight,a=b.current.scrollHeight-i,o=Math.max(0,Math.min(r-i/2+n.clientHeight/2,a));(t=b.current)==null||t.scrollTo({behavior:`smooth`,top:o})}}),[]);return(0,s.useImperativeHandle)(t,()=>S),(0,s.useEffect)(()=>{d&&S.scrollTo(d)},[d,S]),(0,u.jsxs)(`div`,{className:(0,l.clsx)(`univer-relative`,h),style:g,children:[(0,u.jsx)(`div`,{onClick:()=>p==null?void 0:p(!f),className:(0,l.clsx)(`univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200`,_),style:v,children:f?(0,u.jsx)(Na,{}):(0,u.jsx)(ha,{})}),(0,u.jsx)(`div`,{className:(0,l.clsx)(i,`univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300`,{"univer-rounded-r-2xl univer-bg-white univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900":y}),style:{...a,transform:f?`translateX(0)`:`translateX(-100%)`,maxHeight:c,opacity:+!!f,maxWidth:m==null?o===`side-bar`?320:180:m,paddingRight:o===`float`?void 0:0},children:(0,u.jsx)(`div`,{ref:b,className:(0,l.clsx)(`univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden`,l.scrollbarClassName),children:n==null?void 0:n.map(e=>(0,u.jsx)(`div`,{id:`univer-side-menu-${e.id}`,className:(0,l.clsx)(`univer-font-[500] univer-truncate univer-h-[24px] univer-mb-2 univer-leading-[24px] univer-cursor-pointer univer-pr-1 `,{"univer-text-base univer-font-semibold":e.isTitle,"univer-text-sm univer-font-semibold":e.level===1,"univer-text-sm":e.level>1,"univer-text-gray-500 dark:!univer-text-gray-400":e.id!==d,"univer-text-gray-800 dark:!univer-text-gray-200":e.id===d}),style:{paddingLeft:(e.level-1)*12},onClick:()=>{r==null||r(e)},children:e.text},e.id))})})]})}),du=e=>{switch(e){case t.NamedStyleType.HEADING_1:return 1;case t.NamedStyleType.HEADING_2:return 2;case t.NamedStyleType.HEADING_3:return 3;case t.NamedStyleType.HEADING_4:return 4;case t.NamedStyleType.HEADING_5:return 5;case t.NamedStyleType.TITLE:return 1;default:return 1}};function fu(e,t,n,r){if(!e)return;let i=Array.from(e.values()),a=i.findIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);if(a===-1)return;let o=i==null?void 0:i.findLastIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);for(let e=a;e<=o;e++){var s;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(s=r.paragraphStyle)==null)&&s.headingId)return r.paragraphStyle.headingId}for(let e=a;e>=0;e--){var c;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(c=r.paragraphStyle)==null)&&c.headingId)return r.paragraphStyle.headingId}}let pu=`__title`;function mu(){let e=(0,i.useConfigValue)(nu);return e!=null&&e.toc?(0,u.jsx)(hu,{}):null}function hu(){var e,a,c,l,d,f,p,m,h;let g=(0,i.useDependency)(t.ICommandService),_=(0,i.useDependency)(t.IUniverInstanceService),v=(0,i.useObservable)((0,s.useMemo)(()=>_.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[])),y=(0,i.useDependency)(r.IRenderManagerService),b=(e=v==null||(a=v.getBody())==null?void 0:a.dataStream)==null?``:e,[x,S]=(0,s.useState)(0),[C,w]=(0,s.useState)(void 0),T=(c=v==null?void 0:v.getUnitId())==null?``:c,E=y.getRenderById(T),D=v==null?void 0:v.getTitle(),O=E==null?void 0:E.with(Fc),k=O==null?void 0:O.paragraphBounds,A=(l=E==null||(d=E.mainComponent)==null?void 0:d.left)==null?0:l,j=(f=E==null?void 0:E.engine.height)==null?0:f,M=(p=E==null?void 0:E.scene.scaleY)==null?1:p,N=(m=v==null||(h=v.getBody())==null?void 0:h.paragraphs)==null?[]:m,P=(0,s.useMemo)(()=>{let e=new Map;return N.forEach(t=>{e.set(t.startIndex,t)}),e},[N]);(0,i.useObservable)((0,s.useMemo)(()=>E!=null&&E.engine.onTransformChange$?(0,t.fromEventSubject)(E==null?void 0:E.engine.onTransformChange$).pipe((0,o.throttleTime)(33)):(0,o.of)(null),[E==null?void 0:E.engine.onTransformChange$]));let F=A<180?`float`:`side-bar`,I=1/0,L=N==null?void 0:N.filter(e=>{var n;return((n=e.paragraphStyle)==null?void 0:n.namedStyleType)!==void 0&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.SUBTITLE&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.NORMAL_TEXT}).map(e=>{var n;let r=du(e.paragraphStyle.namedStyleType);I=Math.min(I,r);let i=k==null?void 0:k.get(e.startIndex);if(!i)return null;let{paragraphStart:a,paragraphEnd:o}=i;return{id:e.paragraphStyle.headingId,text:(0,t.getPlainText)(b.slice(a,o)),level:r,isTitle:((n=e.paragraphStyle)==null?void 0:n.namedStyleType)===t.NamedStyleType.TITLE}}).filter(e=>e==null?void 0:e.text),R=(0,i.useEvent)(e=>{let t=e.viewportScrollY,n=fu(k,P,t,t+j/M);n&&w(n)}),z=L!=null&&L.find(e=>e.isTitle)?L:[...D?[{id:pu,text:D,level:1,isTitle:!0}]:[],...L==null?[]:L].filter(Boolean),[B,V]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=(0,t.debounce)(S,100),r=g.onCommandExecuted(t=>{t.id===n.RichTextEditingMutation.id&&t.params.unitId===(v==null?void 0:v.getUnitId())&&e(e=>e+1)});return()=>{r.dispose()}},[g,v]),(0,s.useEffect)(()=>{let e=E==null?void 0:E.scene.getViewport(`viewMain`);if(!e)return;let n=(0,t.fromEventSubject)(e.onScrollAfter$).pipe((0,o.throttleTime)(33)).subscribe(R);return()=>{n.unsubscribe()}},[E]);let H=(0,i.useEvent)(e=>{let t=E==null?void 0:E.scene.getViewport(`viewMain`);if(!t)return;if(e.id===pu){t.scrollToViewportPos({viewportScrollY:0});return}let n=N.find(t=>{var n;return((n=t.paragraphStyle)==null?void 0:n.headingId)===e.id});if(!n)return;let r=k==null?void 0:k.get(n.startIndex);r&&(t.scrollToViewportPos({viewportScrollY:r.rect.top}),w(e.id))});return!v||(0,t.isInternalEditorID)(T)||!(z!=null&&z.length)?null:(0,u.jsx)(`div`,{className:`univer-absolute univer-bottom-0 univer-left-0 univer-top-0 univer-z-[100] univer-w-[0px]`,children:(0,u.jsx)(uu,{menus:z,open:B,onOpenChange:V,mode:F,maxWidth:F===`float`?void 0:Math.floor(A)-10,wrapperClass:`univer-mt-12`,activeId:C,onClick:H,maxHeight:j-48})})}let gu=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._injector=e,this._componentManager=t,this._commandService=n,this._layoutService=r,this._menuManagerService=i,this._uiPartsService=a,this._univerInstanceService=o,this._shortcutService=s,this._configService=c,this._init()}_initCustomComponents(){[[_o,ho],[go,po],[`TodoListDoubleIcon`,Va],[`doc.paragraph.menu`,gl],[`DeleteIcon`,_a],[Wo,Uo],[`DocumentSettingIcon`,ya]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiParts(){this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.FOOTER,()=>(0,i.connectInjector)(lu,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.CONTENT,()=>(0,i.connectInjector)(mu,this._injector)))}_initMenus(){this._menuManagerService.appendRootMenu(zl),this._menuManagerService.mergeMenu(Bl)}_initShortCut(){[Wl,Gl,Kl,ql,Jl,Yl,Ql,$l,Zl,Xl,eu,tu,Hl].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[oo,so,no].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(t.UniverInstanceType.UNIVER_DOC,e=>{this._injector.get(r.IRenderManagerService).getRenderById(e).with(Y).focus()}))}};gu=A([k(0,(0,t.Inject)(t.Injector)),k(1,(0,t.Inject)(i.ComponentManager)),k(2,t.ICommandService),k(3,i.ILayoutService),k(4,i.IMenuManagerService),k(5,i.IUIPartsService),k(6,t.IUniverInstanceService),k(7,i.IShortcutService),k(8,t.IConfigService)],gu);let _u=1.5,vu=class extends t.RxDisposable{constructor(e,t,n,r){super(),this._context=e,this._textSelectionManagerService=t,this._editorService=n,this._docSkeletonManagerService=r,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let{isEditing:n,unitId:r}=e;r!==this._context.unitId||!n||this._context.unitId!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._scrollToSelection()})}scrollToRange(e){let t=this._docSkeletonManagerService.getSkeleton();if(!t)return;let{startOffset:n}=e,r=t.findNodePositionByCharIndex(n);r&&this.scrollToNode(r)}scrollToNode(e){var t;let{unitId:n,scene:r,mainComponent:i}=this._context,a=this._docSkeletonManagerService.getSkeleton();if(i==null||a==null)return;let o=i.getOffsetConfig(),{docsLeft:s,docsTop:c}=o,{contentBoxPointGroup:l}=new fi(o,a).getRangePointData(e,e),{left:u,top:d,height:f}=Ai(l),p=u+s,m=d+c,h=r.getViewport(`viewMain`),g=this._editorService.getEditor(n);if(h==null)return;let{left:_,top:v,right:y,bottom:b}=h.getBounding().viewBound,x=0,S=0,C=g?(t=g.params.backScrollOffset)==null?0:t:100;m<v?x=m-v-C:m>b-f&&(x=m-b+f+C),p<_?S=p-_:p>y-_u&&(S=p-y+_u);let w=h.transViewportScroll2ScrollValue(S,x);h.scrollByBarDeltaValue(w)}_scrollToSelection(){let e=this._textSelectionManagerService.getActiveTextRange();if(e==null)return;let{collapsed:t,startNodePosition:n}=e;t&&this.scrollToNode(n)}};vu=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,Z),k(3,(0,t.Inject)(n.DocSkeletonManagerService))],vu);var yu=class extends t.Disposable{constructor(e){super(),this._context=e}calculatePagePosition(){var e,t;if(this._disposed)return;let n=p(this._context),r=(e=(t=this._context.unit.getSettings())==null?void 0:t.zoomRatio)==null?1:e,{document:i,scene:a,docBackground:o}=n,s=a==null?void 0:a.getParent(),{width:c,height:l,pageMarginLeft:u,pageMarginTop:d}=i;if(s==null||c===1/0||l===1/0)return;let{width:f,height:m}=s,h=0,g=d,_=0,v=0,y=1/0;f>(c+u*2)*r?(h=f/2-c*r/2,h/=r,_=(f-u*2)/r,y=0):(h=u,_=c+u*2,y=(_-f/r)/2),v=m>l?(m-d*2)/r:l+d*2,a.resize(_,v),f<=1&&(h=-1e4,g=-1e4),i.translate(h,g),o.translate(h,g);let b=a.getViewport(`viewMain`);return y!==1/0&&b!=null&&b.scrollToViewportPos({viewportScrollX:y}),this}};let bu=`univer-doc-main-canvas`;function xu(e){return e===t.DocumentFlavor.MODERN?`#fff`:`#fafafa`}let Su=class extends t.RxDisposable{constructor(e,t){super(),this._instanceSrv=e,this._renderManagerService=t,this._init()}_init(){this._renderManagerService.createRender$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderWithId(e)),this._instanceSrv.getAllUnitsForType(t.UniverInstanceType.UNIVER_DOC).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderer(e.unit)),this._instanceSrv.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){let t=e.getUnitId();this._renderManagerService.created$.subscribe(n=>{if(n.unitId===t){let t=e.getSnapshot().documentStyle.documentFlavor,r=n.engine.getCanvas();r.setId(bu),r.getContext().setId(bu),r.getCanvasEle().style.backgroundColor=xu(t)}}),this._renderManagerService.has(t)||this._createRenderWithId(t)}_createRenderWithId(e){this._renderManagerService.createRender(e)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}};Su=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService)],Su);let Cu=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._context=e,this._commandService=t,this._docSelectionRenderService=n,this._docSkeletonManagerService=r,this._editorService=i,this._renderManagerService=a,this._univerInstanceService=o,this._docPageLayoutService=s,this._textSelectionManagerService=c,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(e){var t;let r=(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(n.DocSkeletonManagerService),i=r==null?void 0:r.getSkeleton();if(!i||i.getViewModel().getDataModel().getSnapshot().disabled)return;i.calculate();let a=this._editorService.getEditor(e);if(this._editorService.isEditor(e)&&!(a!=null&&a.params.scrollBar)){var o;(o=this._context.mainComponent)==null||o.makeDirty();return}this._recalculateSizeBySkeleton(i),this._refreshPagePositionAndSelection()}_addNewRender(){let{scene:e,engine:n}=this._context,i=new r.Viewport(`viewMain`,e,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});e.attachControl(),e.onMouseWheel$.subscribeEvent((n,r)=>{let a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if((a==null?void 0:a.getUnitId())!==this._context.unitId)return;let o=n;if(o.ctrlKey){let t=Math.abs(o.deltaX),n=t<40?.2:t<80?.4:.2;n*=o.deltaY>0?-1:1,e.scaleX<1&&(n/=2),e.scaleX+n>4?e.scale(4,4):e.scaleX+n<.1?e.scale(.1,.1):o.preventDefault()}else i.onMouseWheel(o,r)}),new r.ScrollBar(i),e.addLayer(new r.Layer(e,[],2),new r.Layer(e,[],4)),this._addComponent();let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?n.runRenderLoop(a):n.stopRenderLoop(a)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){let{scene:e,unit:t,components:n}=this._context,i={pageMarginLeft:20,pageMarginTop:20,...this._getEditorBackgroundConfig()},a=new r.Documents(`__Document_Render_Main__`,void 0,i);a.zIndex=10;let o=new r.DocBackground(`__Document_Render_Background__`,void 0,i);o.zIndex=10,this._context.mainComponent=a,n.set(`__Document_Render_Main__`,a),n.set(`__Document_Render_Background__`,o),e.addObjects([a],2),e.addObjects([o],0),this._editorService.getEditor(t.getUnitId())==null&&e.enableLayerCache(2)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{this._create(e)})}_create(e){if(!e)return;let{mainComponent:t,components:n}=this._context,r=t,i=n.get(`__Document_Render_Background__`);r.changeSkeleton(e),i.changeSkeleton(e),this._syncCanvasBackground();let{unitId:a}=this._context,o=this._editorService.getEditor(a);if(this._editorService.isEditor(a)&&!(o!=null&&o.params.scrollBar)){var s;(s=this._context.mainComponent)==null||s.makeDirty();return}this._recalculateSizeBySkeleton(e),this._refreshPagePositionAndSelection()}_initCommandListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;this.reRender(e)}}))}_refreshPagePositionAndSelection(){this._editorService.isEditor(this._context.unitId)||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}_recalculateSizeBySkeleton(e){var n;let{mainComponent:i,scene:a,unitId:o,components:s}=this._context,c=i,l=s.get(`__Document_Render_Background__`),u=(n=e.getSkeletonData())==null?void 0:n.pages;if(u==null)return;let d=0,f=0,p=this._context.unit.getSnapshot().documentStyle.documentFlavor;this._syncCanvasBackground(p);for(let e=0,n=u.length;e<n;e++){let i=u[e],{pageWidth:a,pageHeight:o}=i;if(p===t.DocumentFlavor.MODERN){let e=wu(i);a=e.pageWidth,o=e.pageHeight}c.pageLayoutType===r.PageLayoutType.VERTICAL?(f+=o,f+=c.pageMarginTop,e===n-1&&(f+=c.pageMarginTop),d=Math.max(d,a)):c.pageLayoutType===r.PageLayoutType.HORIZONTAL&&(d+=a,e!==n-1&&(d+=c.pageMarginLeft),f=Math.max(f,o))}c.resize(d,f),l.resize(d,f);let m=this._editorService.getEditor(o);(!this._editorService.isEditor(o)||m!=null&&m.params.scrollBar)&&a.resize(d,f)}_syncCanvasBackground(e=this._context.unit.getSnapshot().documentStyle.documentFlavor){var t,n;let r=this._editorService.getEditor(this._context.unitId),i=r==null||(t=r.params.canvasStyle)==null?void 0:t.backgroundColor;this._context.engine.getCanvas().getCanvasEle().style.backgroundColor=i==null?xu(e):i;let a=this._context.components.get(`__Document_Render_Background__`);a==null||(n=a.setFillColors)==null||n.call(a,i,i,i,i)}_getEditorBackgroundConfig(){var e;let t=(e=this._editorService.getEditor(this._context.unitId))==null||(e=e.params.canvasStyle)==null?void 0:e.backgroundColor;return t==null?{}:{backgroundFillColor:t,pageFillColor:t,pageStrokeColor:t,marginStrokeColor:t}}};Cu=A([k(1,t.ICommandService),k(2,(0,t.Inject)(Y)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,Z),k(5,r.IRenderManagerService),k(6,t.IUniverInstanceService),k(7,(0,t.Inject)(yu)),k(8,(0,t.Inject)(n.DocSelectionManagerService))],Cu);function wu(e){let{pageWidth:t,pageHeight:n}=e,{marginLeft:r,marginRight:i,marginTop:a,marginBottom:o,skeDrawings:s,skeTables:c}=e;t===1/0&&(t=e.width+r+i),n===1/0&&(n=e.height+a+o);for(let e of s.values())t=Math.max(t,e.aLeft+e.width+r+i),n=Math.max(n,e.aTop+e.height+a+o);for(let e of c.values())t=Math.max(t,e.left+e.width+r+i),n=Math.max(n,e.top+e.height+a+o);return{pageWidth:t,pageHeight:n}}var Tu=`@univerjs/docs-ui`,Eu=`0.25.0`;let Du=class extends t.Disposable{constructor(e,t){super(),this._docAutoFormatService=e,this._renderManagerService=t,this._initListTabAutoFormat(),this._initSpaceAutoFormat(),this._initDefaultEnterFormat(),this._initExitListAutoFormat()}_initListTabAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,paragraphs:n,unit:r}=e;if(n.length===1&&t.startOffset===n[0].paragraphStart&&n[0].bullet){var i;let e=(i=r.getBody())==null?void 0:i.paragraphs,t=e==null?void 0:e.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listId)===n[0].bullet.listId});return(t==null?void 0:t.findIndex(e=>e.startIndex===n[0].startIndex))!==0}else if(n.length>1&&n.some(e=>e.bullet))return!0;return!1},getMutations(e){let t=e.commandParams;return[{id:Ar.id,params:{type:t!=null&&t.shift?-1:1}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,unit:r}=e,{startNodePosition:i,endNodePosition:a}=t,o=this._renderManagerService.getRenderById(r.getUnitId()),s=o==null?void 0:o.with(n.DocSkeletonManagerService).getSkeleton();return s==null?!1:!!(i&&a&&_i(s,i,a)||i&&!a&&i.path.indexOf(`cells`)>-1)},getMutations(e){let t=e.commandParams;return[{id:na.id,params:{shift:!!(t!=null&&t.shift)}}]},priority:99}))}_initSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:N.id,match:e=>{var n;let{selection:r,paragraphs:i,unit:a}=e;if(!r.collapsed||i.length!==1||!r.collapsed)return!1;let o=(n=a.getBody())==null?void 0:n.dataStream.slice(i[0].paragraphStart,r.startOffset-1);return!!(o&&(Object.keys(t.QuickListTypeMap).includes(o)||Object.keys(Xr).includes(o)))},getMutations(e){var n;let{paragraphs:r,unit:i,selection:a}=e,o=(n=i.getBody())==null?void 0:n.dataStream.slice(r[0].paragraphStart,a.startOffset-1);if(o&&Object.keys(t.QuickListTypeMap).includes(o)){let e=t.QuickListTypeMap[o];return[{id:Fr.id,params:{listType:e,paragraph:r[0]}}]}if(o&&Object.keys(Xr).includes(o)){let e=Xr[o];return[{id:Yr.id,params:{value:e}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:e=>{let{paragraphs:t}=e;return!!(t.length===1&&t[0].bullet&&t[0].paragraphStart===t[0].paragraphEnd)},getMutations:e=>{let t=e.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:Ar.id,params:{type:-1}}]:[{id:Dr.id,params:{listType:e.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:()=>!0,getMutations(){return[{id:B.id}]},priority:-9999}))}};Du=A([k(0,(0,t.Inject)(j)),k(1,r.IRenderManagerService)],Du);function Ou(e){return e.rows[0].cells[0].sections[0].columns[0].lines[0]}function ku(e){let t=e.rows[e.rows.length-1],n=t.cells[t.cells.length-1];return(0,r.getLastLine)(n)}function Au(e,t){let{ed:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.st===n+1){i=e;break}return i}function ju(e){let t=e==null?void 0:e.parent,n=null,i=null;if(e==null||t==null)return{lineBeforeTable:n,lineAfterTable:i};let{st:a,ed:o}=e;return(0,r.lineIterator)(t.type===r.DocumentSkeletonPageType.CELL?[t]:t.parent.pages,e=>{e.st===o+1?i=e:e.ed===a-1&&(n=e)}),{lineBeforeTable:n,lineAfterTable:i}}function Mu(e){return e.sections[0].columns[0].lines.length===0}function Nu(e){let t=e.parent,n=t==null?void 0:t.parent,r=n==null?void 0:n.tableId;if(t==null||n==null)return;let i=t.cells.indexOf(e),a=n.rows[n.rows.indexOf(t)+1];if(a==null&&r.indexOf(`#-#`)){var o;let[e,t]=r.split(`#-#`),i=(o=n.parent)==null||(o=o.parent)==null?void 0:o.pages,s=`${e}#-#${Number.parseInt(t)+1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(s)){let e=t.get(s);if(e!=null&&e.rows.length){a=e.rows.find(e=>!e.isRepeatRow);break}}}}if(a!=null){let e=a.cells[i];return Mu(e)?Nu(e):e}}function Pu(e){let t=e.parent,n=t==null?void 0:t.parent;if(t==null||n==null)return;let r=n.rows[n.rows.indexOf(t)-1],i=t.cells.indexOf(e);if((r==null||r.isRepeatRow)&&n.tableId.indexOf(`#-#`)){var a;let[e,t]=n.tableId.split(`#-#`),i=(a=n.parent)==null||(a=a.parent)==null?void 0:a.pages,o=`${e}#-#${Number.parseInt(t)-1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(o)){let e=t.get(o);if(e!=null&&e.rows.length){r=e.rows[e.rows.length-1];break}}}}if(r!=null){let e=r.cells[i];return Mu(e)?Pu(e):e}}function Fu(e,t){let{st:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.ed===n-1){i=e;break}return i}function Iu(e){return e.sections[0].columns[0].lines[0]}function Lu(e){let t=(0,r.getLastColumn)(e);return t.lines[t.lines.length-1]}let Ru=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._renderManagerService=t,this._textSelectionManagerService=n,this._commandService=r,O(this,`_onInputSubscription`,void 0),this._commandExecutedListener()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_commandExecutedListener(){let e=[oa.id,sa.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(!e.includes(t.id))return;let n=t.params;switch(t.id){case oa.id:return this._handleMoveCursor(n.direction);case sa.id:return this._handleShiftMoveSelection(n.direction);default:throw Error(`Unknown command`)}}))}_handleShiftMoveSelection(e){var r,i;let a=this._textSelectionManagerService.getActiveTextRange(),o=this._textSelectionManagerService.getTextRanges(),s=this._univerInstanceService.getCurrentUniverDocInstance();if(s==null)return;let c=(r=this._renderManagerService.getRenderById(s.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),l=this._getDocObject();if(a==null||c==null||l==null)return;let{startOffset:u,endOffset:d,style:f,collapsed:p,direction:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=a;if(o.length>1){let n=1/0,r=-1/0;for(let e of o)n=Math.min(n,e.startOffset),r=Math.max(r,e.endOffset);this._textSelectionManagerService.replaceTextRanges([{startOffset:e===t.Direction.LEFT||e===t.Direction.UP?r:n,endOffset:e===t.Direction.LEFT||e===t.Direction.UP?n:r,style:f}],!1);return}let y=p||m===t.RANGE_DIRECTION.FORWARD?u:d,b=p||m===t.RANGE_DIRECTION.FORWARD?d:u,x=(i=s.getSelfOrHeaderFooterModel(h).getBody().dataStream.length)==null?1/0:i;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){var S;let n=c.findNodeByCharIndex(b-1,h,v),r=c.findNodeByCharIndex(b,h,v);b=e===t.Direction.RIGHT?b+r.count:b-((S=n==null?void 0:n.count)==null?0:S),b=Math.min(x-2,Math.max(0,b)),this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:b,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),b)}else{let n=c.findNodeByCharIndex(b,h,v),r=l.document.getOffsetConfig(),i=p?g:m===t.RANGE_DIRECTION.FORWARD?_:g,a=this._getTopOrBottomPosition(c,n,i,e===t.Direction.DOWN,!0);if(a==null){let n=e===t.Direction.UP?0:x-2;if(n===b)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:n,style:f}],!1);return}let o=new fi(r,c).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:o.endOffset,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),o.endOffset)}}_handleMoveCursor(e){var r,i,a;let o=this._textSelectionManagerService.getActiveTextRange(),s=this._textSelectionManagerService.getTextRanges(),c=this._univerInstanceService.getCurrentUniverDocInstance();if(c==null)return!1;let l=(r=this._renderManagerService.getRenderById(c.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),u=this._getDocObject();if(o==null||l==null||u==null||s==null)return;let{startOffset:d,endOffset:f,style:p,collapsed:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=o,y=c.getSelfOrHeaderFooterModel(h).getBody();if(y==null)return;let b=(i=y.dataStream.length)==null?1/0:i,x=(a=c.getCustomRanges())==null?[]:a;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){let n;if(!o.collapsed||s.length>1){let r=1/0,i=-1/0;for(let e of s)r=Math.min(r,e.startOffset),i=Math.max(i,e.endOffset);n=e===t.Direction.LEFT?r:i}else{let r=l.findNodeByCharIndex(d-1,h,v),i=l.findNodeByCharIndex(d,h,v),a=l.findNodeByCharIndex(d+1,h,v);if(e===t.Direction.LEFT){var S;n=Math.max(0,d-((S=r==null?void 0:r.count)==null?1:S))}else n=Math.min(b-2,f+i.count+ +((a==null?void 0:a.streamType)===t.DataStreamTreeTokenType.SECTION_BREAK))}let r=[t.DataStreamTreeTokenType.TABLE_START,t.DataStreamTreeTokenType.TABLE_END,t.DataStreamTreeTokenType.TABLE_ROW_START,t.DataStreamTreeTokenType.TABLE_ROW_END,t.DataStreamTreeTokenType.TABLE_CELL_START,t.DataStreamTreeTokenType.TABLE_CELL_END,t.DataStreamTreeTokenType.SECTION_BREAK];if(e===t.Direction.LEFT)for(;r.includes(y.dataStream[n]);)n--;else for(;r.includes(y.dataStream[n]);)n++;x.filter(e=>e.wholeEntity&&e.startIndex<n&&e.endIndex>=n).forEach(r=>{n=e===t.Direction.LEFT?Math.min(r.startIndex,n):Math.max(r.endIndex+1,n)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),n)}else{let n=l.findNodeByCharIndex(d,h,v),r=l.findNodeByCharIndex(f,h,v),i=u.document.getOffsetConfig(),a=this._getTopOrBottomPosition(l,e===t.Direction.UP||m?n:r,e===t.Direction.UP||m?g:_,e===t.Direction.DOWN);if(a==null){let n;n=m?e===t.Direction.UP?0:b-2:e===t.Direction.UP?d:f,this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1);return}let o=new fi(i,l).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...o,style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),o.endOffset)}}_getTopOrBottomPosition(e,t,n,r,i=!1){if(t==null||n==null)return;let a=this._getGlyphLeftOffsetInLine(t),o=this._getNextOrPrevLine(t,r,i);if(o==null)return;let s=this._matchPositionByLeftOffset(e,o,a,n);if(s!=null)return{...s,isBack:!0}}_getGlyphLeftOffsetInLine(e){let t=e.parent;if(t==null)return-1/0;let n=t.left,{left:r}=e;return n+r}_matchPositionByLeftOffset(e,n,r,i){let a={distance:1/0};for(let e of n.divides){let n=e.left;for(let i of e.glyphGroup){if(i.streamType===t.DataStreamTreeTokenType.SECTION_BREAK)continue;let{left:e}=i,o=n+e,s=Math.abs(r-o);s<a.distance&&(a.glyph=i,a.distance=s)}}if(a.glyph==null)return;let{segmentPage:o}=i;return e.findPositionByGlyph(a.glyph,o)}_getNextOrPrevLine(e,t,n=!1){let i=e.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent;if(i==null||a==null||o==null||s==null||c==null)return;let l=o.lines.indexOf(a);if(l===-1)return;let u;if(c.type===r.DocumentSkeletonPageType.CELL&&n){let e=zu(c,t);if(e)return e}if(t===!0){u=o.lines[l+1];let e=Au(a,c);if(e){let t=Ou(e);t&&(u=t)}}else{u=o.lines[l-1];let e=Fu(a,c);if(e){let t=ku(e);t&&(u=t)}}if(u!=null)return u;let d=s.columns.indexOf(o);if(d===-1)return;if(t===!0){var f;u=(f=s.columns[d+1])==null?void 0:f.lines[0]}else{var p;let e=(p=s.columns)==null||(p=p[d-1])==null?void 0:p.lines;u=e==null?void 0:e[e.length-1]}if(u!=null)return u;let m=c.sections.indexOf(s);if(m===-1)return;if(t===!0){var h;u=(h=c.sections[m-1])==null||(h=h.columns[0])==null?void 0:h.lines[0]}else{var g;let e=(g=c.sections)==null||(g=g[m-1])==null?void 0:g.columns,t=e==null?void 0:e[e.length-1],n=t==null?void 0:t.lines;u=n==null?void 0:n[n.length-1]}if(u!=null)return u;if(c.type===r.DocumentSkeletonPageType.CELL)return zu(c,t);let _=c.parent;if(_==null)return;let v=_.pages.indexOf(c);if(v!==-1){if(t===!0){var y;u=(y=_.pages[v+1])==null||(y=y.sections[0])==null||(y=y.columns[0])==null?void 0:y.lines[0]}else{var b,x;let e=(b=_.pages[v-1])==null?void 0:b.sections;if(e==null)return;let t=(x=e[e.length-1])==null?void 0:x.columns,n=t[t.length-1],r=n==null?void 0:n.lines;u=r[r.length-1]}if(u!=null)return u}}_scrollToFocusNodePosition(e,t){var n;let r=(n=this._renderManagerService.getRenderById(e))==null?void 0:n.with(vu);r!=null&&r.scrollToRange({startOffset:t,endOffset:t,collapsed:!0})}_getDocObject(){return m(this._univerInstanceService,this._renderManagerService)}};Ru=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService),k(2,(0,t.Inject)(n.DocSelectionManagerService)),k(3,t.ICommandService)],Ru);function zu(e,t){let n=null;if(t===!0){let t=Nu(e);if(t)n=Iu(t);else{var r;let{lineAfterTable:t}=ju((r=e.parent)==null?void 0:r.parent);t&&(n=t)}}else{let t=Pu(e);if(t)n=Lu(t);else{var i;let{lineBeforeTable:t}=ju((i=e.parent)==null?void 0:i.parent);t&&(n=t)}}return n}let Bu=({handleRowColChange:e,tableCreateParams:n})=>{let r=(0,i.useDependency)(t.LocaleService),[a,o]=(0,s.useState)(3),[c,d]=(0,s.useState)(5);function f(t,n){o(t),d(n),e(t,n)}return(0,s.useEffect)(()=>{o(n.rowCount),d(n.colCount)},[n]),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.rowCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:a,onChange:e=>{f(e,c)}})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.colCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:c,onChange:e=>{f(a,e)}})]})]})},Vu=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[aa].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(ra,Bu))}_init(){}};Vu=A([k(0,t.ICommandService),k(1,(0,t.Inject)(i.ComponentManager))],Vu);let Hu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._docEventManagerService=r,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(e=>{let t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(Nr.id,{index:e.paragraph.startIndex,segmentId:e.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(e=>{e?this._context.mainComponent.setCursor(r.CURSOR_TYPE.POINTER):this._context.mainComponent.setCursor(r.CURSOR_TYPE.TEXT)}))}_getTransformCoordForDocumentOffset(e,t,n,i){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(r.Vector2.FromArray([n,i]));if(o)return a.clone().invert().applyPoint(o)}};Hu=A([k(1,(0,t.Inject)(n.DocSkeletonManagerService)),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService))],Hu);let Uu=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._commandService=t,this._docClipboardService=n,this._docSelectionRenderService=r,this._contextService=i,this._editorService=a,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var e;(e=this._docSelectionRenderService)==null||e.onPaste$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t,n,r,a,o;if(!mn(this._contextService))return;e.event.preventDefault();let s=e.event,c=(t=s.clipboardData)==null?void 0:t.getData(i.HTML_CLIPBOARD_MIME_TYPE),l=(n=s.clipboardData)==null?void 0:n.getData(`application/x-doc-fragment+json`),u=(r=s.clipboardData)==null?void 0:r.getData(i.PLAIN_TEXT_CLIPBOARD_MIME_TYPE),d=[...((a=s.clipboardData)==null?void 0:a.items)||[]].filter(e=>i.imageMimeTypeSet.has(e.type)).map(e=>e.getAsFile()).filter(e=>!!e);this._editorService.getEditor(this._context.unitId)&&((o=c)==null?``:o).indexOf(`</table>`)>-1&&(c=``),this._docClipboardService.legacyPaste({html:c,internalJson:l,text:u,files:d})})}};Uu=A([k(1,t.ICommandService),k(2,dn),k(3,(0,t.Inject)(Y)),k(4,t.IContextService),k(5,Z)],Uu);let Wu=[t.DEFAULT_EMPTY_DOCUMENT_VALUE,t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY],Gu=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._contextMenuService=t,this._commandService=n,this._docEventManagerService=r,this._docSelectionManagerService=i,this._univerInstanceService=a,Wu.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e;let t=((e=this._context)==null||(e=e.mainComponent)==null?void 0:e.onPointerDown$).subscribeEvent(e=>{if(e.button===2){if(this._docEventManagerService.isPointerOnBullet(e.offsetX,e.offsetY)||this._isSelectionInCodeBlock())return;this._contextMenuService.triggerContextMenu(e,i.ContextMenuPosition.MAIN_AREA)}});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===n.RichTextEditingMutation.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}_isSelectionInCodeBlock(){var e,n,r;let i=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),a=(e=i==null||(n=i.getBody())==null||(n=n.blockRanges)==null?void 0:n.filter(e=>e.blockType===`code`))==null?[]:e,o=(r=this._docSelectionManagerService.getTextRanges())==null?[]:r;return!a.length||!o.length?!1:a.some(e=>o.some(t=>Ku(t,e.startIndex,e.endIndex)))}};Gu=A([k(1,i.IContextMenuService),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService)),k(5,(0,t.Inject)(t.IUniverInstanceService))],Gu);function Ku(e,t,n){return Math.max(e.startOffset,t)<=Math.min(e.endOffset,n)}let qu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._univerInstanceService=t,this._editorService=n,this._commandService=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._renderManagerService=o,O(this,`_initialEditors`,new Set),this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(e=>{let t=e.getEditorId();t===this._context.unitId&&(this._initialEditors.has(t)||(this._initialEditors.add(t),this._resize(t)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(e){if(e==null)return;let t=this._editorService.getEditor(e);if((t==null?void 0:t.cancelDefaultResizeListener)===!0)return;let n=this._univerInstanceService.getUniverDocInstance(e);if(!n)return;let r=this._docSkeletonManagerService.getSkeleton();if(t==null||t.render==null||r==null||n==null)return;r.calculate();let{marginTop:i=0,marginBottom:a=0,marginLeft:o=0,marginRight:s=0}=n.getSnapshot().documentStyle,{scene:c,mainComponent:l}=t.render,{actualHeight:u,actualWidth:d}=r.getActualSize();u+=i+a,d+=o+s;let{width:f,height:p}=t.getBoundingClientRect(),m=Math.max(d,f),h=Math.max(u,p);c.transformByState({width:m,height:h}),l==null||l.resize(m,h)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{let{unitId:e}=this._context,t=this._editorService.getEditor(e),n=this._editorService.getFocusEditor();t==null||t.isSheetEditor()||n&&n.getEditorId()===e||e.includes(`range_selector`)||e.includes(`embedding_formula_editor`)||this._editorService.blur()}))}_initialFocus(){let e=[`univer-formula-search`,`univer-formula-help`,`formula-help-decorator`,`univer-formula-help-param`];this.disposeWithMe((0,o.fromEvent)(window,`mousedown`).subscribe(n=>{(0,t.checkForSubstrings)(n.target.classList[0]||``,e)&&n.stopPropagation()}));let n=new t.DisposableCollection;this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(n.dispose(),!e)return;let t=e.getUnitId(),r=this._renderManagerService.getRenderById(t),i=r==null?void 0:r.engine.getCanvas().getCanvasEle();if(i==null)return;let a=(0,o.fromEvent)(i,`mousedown`).subscribe(e=>{e.stopPropagation()});n.add(a)})),this.disposeWithMe(()=>n.dispose())}_commandExecutedListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;if(this._editorService.isSheetEditor(e)||e!==this._context.unitId)return;let n=this._editorService.getEditor(e);n&&!n.params.scrollBar&&this._resize(e)}}))}};qu=A([k(1,t.IUniverInstanceService),k(2,Z),k(3,t.ICommandService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,r.IRenderManagerService)],qu);let Ju=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._docSelectionRenderService=t,this._docImeInputManagerService=n,this._docSkeletonManagerService=r,this._docStateEmitService=i,this._commandService=a,O(this,`_previousIMEContent`,``),O(this,`_isCompositionStart`,!0),O(this,`_onStartSubscription`,void 0),O(this,`_onUpdateSubscription`,void 0),O(this,`_onEndSubscription`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._onStartSubscription)==null||e.unsubscribe(),(t=this._onUpdateSubscription)==null||t.unsubscribe(),(n=this._onEndSubscription)==null||n.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(e=>{if(e==null)return;this._resetIME();let{activeRange:n}=e;n!=null&&this._docImeInputManagerService.setActiveRange(t.Tools.deepClone(n))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(e=>{this._updateContent(e,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(e=>{this._updateContent(e,!1)})}async _updateContent(e,t){if(e==null)return;let n=this._context.unitId,r=this._docSkeletonManagerService.getSkeleton(),{event:i,activeRange:a}=e;if(r==null||a==null)return;let o=i.data;if(!(o===this._previousIMEContent&&t)){if(!t&&o===this._previousIMEContent){this._finalizeComposition(),this._resetIME();return}await this._commandService.executeCommand(Un.id,{unitId:n,newText:o,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!t}),t?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=o):this._resetIME()}}_finalizeComposition(){let e=this._docImeInputManagerService.getActiveRange();e!=null&&this._docStateEmitService.emitStateChangeInfo({commandId:n.RichTextEditingMutation.id,unitId:this._context.unitId,segmentId:e.segmentId,trigger:Un.id,redoState:{actions:[],textRanges:[e]},undoState:{actions:[],textRanges:[e]},isCompositionEnd:!0})}_resetIME(){this._previousIMEContent=``,this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};Ju=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(Hn)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,(0,t.Inject)(n.DocStateEmitService)),k(5,t.ICommandService)],Ju);let Yu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSelectionRenderService=t,this._docSkeletonManagerService=n,this._commandService=r,this._docMenuStyleService=i,O(this,`_onInputSubscription`,void 0),this._init()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async e=>{var n,r;if(e==null)return;let{unitId:i}=this._context,{event:a,content:o=``,activeRange:s}=e,c=a,l=this._docSkeletonManagerService.getSkeleton();if(c.data==null||l==null||s==null)return;let{segmentId:u}=s,d=this._context.unit.getSelfOrHeaderFooterModel(u).getBody(),f=this._docMenuStyleService.getDefaultStyle(),p=this._docMenuStyleService.getStyleCache(),m=x((n=d==null?void 0:d.customRanges)==null?[]:n,s.endOffset,t.SHEET_EDITOR_UNITS.includes(i)),h=b(d,s.endOffset,f,p,t.SHEET_EDITOR_UNITS.includes(i)),g=S((r=d==null?void 0:d.customDecorations)==null?[]:r,s.endOffset);await this._commandService.executeCommand(xe.id,{unitId:i,body:{dataStream:o,textRuns:h?[{...h,st:0,ed:o.length}]:[],customRanges:m?[{...m,startIndex:0,endIndex:o.length-1}]:[],customDecorations:g.map(e=>({...e,startIndex:0,endIndex:o.length-1}))},range:s,segmentId:u}),o===` `&&await this._commandService.executeCommand(N.id)})}};Yu=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.ICommandService),k(4,(0,t.Inject)(I))],Yu);let Xu=class extends t.Disposable{constructor(e,n,r){super(),this._context=e,this._docPageLayoutService=n,this._textSelectionManagerService=r;let i=this._context.unitId;if((0,t.isInternalEditorID)(i)&&i!==t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)return this;this._initResize()}_initResize(){this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,o.throttleTime)(0,o.animationFrameScheduler)).subscribe(()=>{this._disposed||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}))}};Xu=A([k(1,(0,t.Inject)(yu)),k(2,(0,t.Inject)(n.DocSelectionManagerService))],Xu);let Zu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._commandService=t,this._editorService=n,this._instanceSrv=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._docSelectionManagerService=o,O(this,`_loadedMap`,new WeakSet),this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){let{unitId:e}=this._context,t=p(this._context);t==null||t.document==null||this._loadedMap.has(t.document)||(this._initialMain(e),this._loadedMap.add(t.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(e=>{if(e==null)return;let{unitId:t,docRanges:n,isEditing:r,options:i}=e;t===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(n,r,i))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(e=>{e!=null&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(e,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(e){let{document:n,scene:i}=p(this._context);this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(e)||(n.cursor=r.CURSOR_TYPE.TEXT)})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n.cursor=r.CURSOR_TYPE.DEFAULT,i.resetCursor()})),this.disposeWithMe(n.onPointerDown$.subscribeEvent((i,a)=>{if(this._isEditorReadOnly(e))return;let o=this._instanceSrv.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);(o==null?void 0:o.getUnitId())!==e&&this._instanceSrv.setCurrentUnitForType(e);let s=this._docSkeletonManagerService.getSkeleton(),{offsetX:c,offsetY:l}=i,u=this._getTransformCoordForDocumentOffset(c,l);if(u!=null){let{pageLayoutType:e=r.PageLayoutType.VERTICAL,pageMarginLeft:t,pageMarginTop:i}=n.getOffsetConfig(),{editArea:a}=s.findEditAreaByCoord(u,e,t,i),o=this._docSkeletonManagerService.getViewModel(),c=o.getEditArea();c!==r.DocumentEditArea.BODY&&a!==r.DocumentEditArea.BODY&&a!==c&&o.setEditArea(a)}if(this._docSelectionRenderService.__onPointDown(i),this._editorService.getEditor(e)){this._setEditorFocus(e);let{offsetX:t,offsetY:n}=i;setTimeout(()=>{e===this._editorService.getFocusId()||this._docSelectionRenderService.isOnPointerEvent||(this._setEditorFocus(e),this._docSelectionRenderService.setCursorManually(t,n))},0)}i.button!==2&&a.stopPropagation()})),this.disposeWithMe(n.onDblclick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleDblClick(t)})),this.disposeWithMe(n.onTripleClick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleTripleClick(t)}))}_getTransformCoordForDocumentOffset(e,t){let{document:n,scene:i}=p(this._context),{documentTransform:a}=n.getOffsetConfig(),o=i.getViewports()[0];if(o==null)return;let s=o.transformVector2SceneCoord(r.Vector2.FromArray([e,t]));return a.clone().invert().applyPoint(s)}_isEditorReadOnly(e){let t=this._editorService.getEditor(e);return t?t.isReadOnly():!1}_setEditorFocus(e){this._editorService.focus(e)}_commandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){var n;let{unitId:e}=t.params;if(e!==((n=this._docSelectionManagerService.__getCurrentSelection())==null?void 0:n.unitId))return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return;let{unitId:n}=this._context;if(!(0,t.isInternalEditorID)(n)){this._docSelectionRenderService.focus();let e=Ha(this._context.unit.getSnapshot());this._docSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:n,subUnitId:n},!1)}}))}};Zu=A([k(1,t.ICommandService),k(2,Z),k(3,t.IUniverInstanceService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,(0,t.Inject)(n.DocSelectionManagerService))],Zu);function Qu(e,t,n){return t&&(e.ctrlKey||e.metaKey)}let $u=class extends t.Disposable{constructor(e,n,r,i,a,o,s,c,l){super(),this._context=e,this._contextService=n,this._docSkeletonManagerService=r,this._univerInstanceService=i,this._commandService=a,this._textSelectionManagerService=o,this._editorService=s,this._docPageLayoutService=c,this._renderManagerService=l,O(this,`_isSheetEditor`,!1),O(this,`_initTimer`,void 0),O(this,`_updateTimer`,void 0),this._initSkeletonListener(),this._initCommandExecutedListener(),this._isSheetEditor=this._context.unitId===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY;let u=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u&&this._renderManagerService.getRenderById(u.getUnitId());this._initTimer=window.setTimeout(()=>this.updateViewZoom(d&&this._isSheetEditor?d.scene.scaleX:1,!0),20),(0,t.isInternalEditorID)(this._context.unitId)||this._initZoomEventListener()}dispose(){window.clearTimeout(this._initTimer),window.clearTimeout(this._updateTimer)}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)return;let n=this._univerInstanceService.getCurrentUniverDocInstance();n&&(this._updateTimer=window.setTimeout(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=e&&this._renderManagerService.getRenderById(e.getUnitId()),i=this._isSheetEditor?(r==null?void 0:r.scene.scaleX)||1:n.zoomRatio;this.updateViewZoom(i,!1)}))}))}_initCommandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)&&t.params.unitId===this._context.unitId){let e=this._context.unit.zoomRatio||1;this.updateViewZoom(e)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{var n;(e.id===Ui.id||e.id===Yo.id&&((n=e.params)==null?void 0:n.documentFlavor)===t.DocumentFlavor.MODERN)&&this._commandService.executeCommand(Kr.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(e,n=!0){var r;let i=p(this._context);i.scene.scale(e,e),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),n&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),!(0,t.isInternalEditorID)(this._context.unitId)&&((r=i.scene.getTransformer())==null||r.clearSelectedObjects())}_initZoomEventListener(){let e=this._context.scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(e=>{let n=this._univerInstanceService.getCurrentUniverDocInstance();if(!n)return;let{documentFlavor:i}=n.getSnapshot().documentStyle;if(!Qu(e,!!this._contextService.getContextValue(t.FOCUSING_DOC),i))return;let a=(0,r.getNextWheelZoomRatio)(n.zoomRatio||1,e);this._commandService.executeCommand(Kr.id,{zoomRatio:a,documentId:n.getUnitId()}),e.preventDefault()}))}};$u=A([k(1,t.IContextService),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.IUniverInstanceService),k(4,t.ICommandService),k(5,(0,t.Inject)(n.DocSelectionManagerService)),k(6,Z),k(7,(0,t.Inject)(yu)),k(8,r.IRenderManagerService)],$u);let ed=(0,t.createInterceptorKey)(`PRINTING_COMPONENT_COLLECT`),td=(0,t.createInterceptorKey)(`PRINTING_DOM_COLLECT`);var nd=class extends t.Disposable{constructor(){super(),O(this,`_printComponentMap`,new Map),O(this,`interceptor`,new t.InterceptorManager({PRINTING_COMPONENT_COLLECT:ed,PRINTING_DOM_COLLECT:td})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}};let rd=class extends t.RxDisposable{constructor(e,t,n,r,i){super(),this._undoRedoService=e,this._commandService=t,this._univerInstanceService=n,this._docStateEmitService=r,this._renderManagerService=i,O(this,`_docStateChange$`,new o.BehaviorSubject(null)),O(this,`docStateChange$`,this._docStateChange$.asObservable()),O(this,`_historyStateCache`,new Map),O(this,`_changeStateCache`,new Map),O(this,`_historyTimer`,null),O(this,`_changeStateCacheTimer`,null),this._initialize(),this._listenDocStateChange()}getStateCache(e){var t,n;return{history:(t=this._historyStateCache.get(e))==null?[]:t,collaboration:(n=this._changeStateCache.get(e))==null?[]:n}}setStateCache(e,t){this._historyStateCache.set(e,t.history),this._changeStateCache.set(e,t.collaboration)}_setChangeState(e){this._cacheChangeState(e,`history`),this._cacheChangeState(e,`collaboration`)}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===t.UndoCommandId||e.id===t.RedoCommandId){let e=this._univerInstanceService.getCurrentUniverDocInstance();if(e==null)return;let t=e.getUnitId();this._pushHistory(t),this._emitChangeState(t)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t;if(e==null)return;let{isCompositionEnd:n,isSync:r,syncer:i,...a}=e,o=(t=this._renderManagerService.getRenderById(r?i:e.unitId))==null?void 0:t.with(Hn);if(o!=null){if(n){let e=o.fetchComposedUndoRedoMutationParams();if(e==null)throw Error(`historyParams is null in RichTextEditingMutation`);let{undoMutationParams:t,redoMutationParams:n,previousActiveRange:r}=e;a.redoState.actions=n.actions,a.undoState.actions=t.actions,a.undoState.textRanges=[r]}this._setChangeState(a)}})}_cacheChangeState(e,n=`history`){let{trigger:r,unitId:i,noHistory:a,debounce:o=!1}=e;if(a||r==null||n===`history`&&(r===t.RedoCommandId||r===t.UndoCommandId))return;let s=n===`history`?this._historyStateCache:this._changeStateCache,c=n===`history`?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(s.has(i)){let t=s.get(i);t==null||t.push(e)}else s.set(i,[e]);o?n===`history`?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{c(i)},300)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{c(i)},300)):c(i)}_pushHistory(e){let n=this._undoRedoService,r=this._historyStateCache.get(e);if(!Array.isArray(r)||r.length===0)return;let i=r.length,a=r[0].commandId,o=r[0],s=r[i-1],c={unitId:e,actions:r.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:s.redoState.textRanges},l={unitId:e,actions:r.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:o.undoState.textRanges};n.pushUndoRedo({unitID:e,undoMutations:[{id:a,params:l}],redoMutations:[{id:a,params:c}]}),r.length=0}_emitChangeState(e){let n=this._changeStateCache.get(e);if(!Array.isArray(n)||n.length===0)return;let r=n.length,{commandId:i,trigger:a,segmentId:o,noHistory:s,debounce:c}=n[0],l=n[0],u=n[r-1],d={commandId:i,unitId:e,trigger:a,redoState:{unitId:e,actions:n.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:u.redoState.textRanges},undoState:{unitId:e,actions:n.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:l.undoState.textRanges},segmentId:o,noHistory:s,debounce:c};n.length=0,this._docStateChange$.next(d)}};rd=A([k(0,(0,t.Inject)(t.IUndoRedoService)),k(1,t.ICommandService),k(2,t.IUniverInstanceService),k(3,(0,t.Inject)(n.DocStateEmitService)),k(4,r.IRenderManagerService)],rd);let id={id:P.id,preconditions:Vl,binding:i.KeyCode.ENTER},ad={id:je.id,preconditions:$,binding:i.KeyCode.BACKSPACE},od={id:Me.id,preconditions:$,binding:i.KeyCode.DELETE},sd={id:oa.id,binding:i.KeyCode.ARROW_UP,preconditions:$,staticParameters:{direction:t.Direction.UP}},cd={id:oa.id,binding:i.KeyCode.ARROW_DOWN,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},ld={id:oa.id,binding:i.KeyCode.ARROW_LEFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},ud={id:oa.id,binding:i.KeyCode.ARROW_RIGHT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},dd={id:sa.id,binding:i.KeyCode.ARROW_UP|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.UP}},fd={id:sa.id,binding:i.KeyCode.ARROW_DOWN|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},pd={id:sa.id,binding:i.KeyCode.ARROW_LEFT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},md={id:sa.id,binding:i.KeyCode.ARROW_RIGHT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},hd={id:jn.id,binding:i.KeyCode.A|i.MetaKeys.CTRL_COMMAND,preconditions:e=>e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&(e.getContextValue(t.FOCUSING_DOC)||e.getContextValue(t.EDITOR_ACTIVATED))},gd=class extends t.Plugin{constructor(e=ru,n,r,i,a,o){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._commandService=i,this._logService=a,this._configService=o;let{menu:s,...c}=(0,t.merge)({},ru,this._config);s&&this._configService.setConfig(`menu`,s,{merge:!0}),this._configService.setConfig(nu,c),this._initDependencies(n),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),(0,t.touchDependencies)(this._injector,[[rd],[Su]])}onRendered(){this._initRenderModules(),(0,t.touchDependencies)(this._injector,[[Du],[Ru],[Lo],[Vu],[gu]])}_initCommand(){[je,Me,Gn,qn,Yn,Zn,$n,tr,rr,ar,sr,dr,lr,pr,B,xe,Se,Te,bn,Ce,Ee,De,q,Pr,jr,Dr,Vr,Hr,Ur,Br,Wr,kn,Wi,ea,Xi,Zi,ta,Qi,$i,Gi,Ki,qi,co,na,M,N,P,Ar,Or,Mr,Nr,Fr,Un,Ui,vo,me,ye,br,yr,xr,Kr,jn,Ro,oa,sa,Tr,wr,Er,J,Yr,Le,gn,vn,Zr,Qr,$r,ei,ti,ni,ri,ii,Lr,Rr,zr,An,Yo,Xo].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))}),[hn,_n,yn].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_initializeShortcut(){[sd,cd,ud,ld,dd,fd,pd,md,hd,ad,od,id,Ul].forEach(e=>{this._injector.get(i.IShortcutService).registerShortcut(e)})}_initDependencies(e){(0,t.mergeOverrideWithDependencies)([[nd],[Uu],[qu],[gu],[Du],[Vu],[Ru],[Lo],[Z,{useClass:Ga}],[dn,{useClass:fn}],[Oc],[Su],[rd],[j],[On],[I]],this._config.override).forEach(t=>e.add(t))}_markDocAsFocused(){let e=this._injector.get(t.IUniverInstanceService),n=this._injector.get(Z);try{let r=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!r)return;let i=r.getUnitId();n.isEditor(i)||e.focusUnit(r.getUnitId())}catch(e){this._logService.warn(e)}}_initRenderBasics(){[[n.DocSkeletonManagerService],[Y],[n.DocInterceptorService],[yu],[Hn],[Cu],[$u]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}_initRenderModules(){[[Fc],[Gc],[Yc],[vu],[Zu],[to],[Xu],[Gu],[Hu],[Uu],[Yu],[Ju],[qu]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}};O(gd,`pluginName`,`DOC_UI_PLUGIN`),O(gd,`packageName`,Tu),O(gd,`version`,Eu),gd=A([(0,t.DependentOn)(r.UniverRenderEnginePlugin),k(1,(0,t.Inject)(t.Injector)),k(2,r.IRenderManagerService),k(3,t.ICommandService),k(4,t.ILogService),k(5,t.IConfigService)],gd);function _d(e){let{editorId:n,initialValue:r,container:a,autoFocus:o,isSingle:c,canvasStyle:l}=e,u=(0,s.useMemo)(()=>o==null?!1:o,[]),[d,f]=(0,s.useState)(),p=(0,i.useDependency)(Z);return(0,s.useLayoutEffect)(()=>{if(a.current){let o=typeof r==`string`?void 0:t.Tools.deepClone(r),s={body:{dataStream:typeof r==`string`?`${r}\r\n`:`\r
|
|
54
54
|
`,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[],paragraphs:[{startIndex:0}]},...o,documentStyle:{...o==null?void 0:o.documentStyle,pageSize:{width:c?1/0:a.current.clientWidth,height:1/0}},id:n},d=p.register({autofocus:!0,canvasStyle:l,editorUnitId:n,initialSnapshot:s},a.current),m=p.getEditor(n);if(f(m),u){var e,i;p.focus(n);let t=((e=(i=s.body)==null?void 0:i.dataStream.length)==null?2:e)-2;m.setSelectionRanges([{startOffset:t,endOffset:t}])}return()=>{d==null||d.dispose()}}},[]),d}let vd=(e,t,n)=>{let r=(0,i.useDependency)(Z);(0,s.useEffect)(()=>{let i=i=>{var a;r.getFocusId()===e&&((a=i.target)==null||(a=a.dataset)==null?void 0:a.editorid)!==e&&t.current&&!t.current.contains(i.target)&&(n==null||n())},a=setTimeout(()=>{document.addEventListener(`click`,i)},100);return()=>{document.removeEventListener(`click`,i),clearTimeout(a)}},[e,r,n,t])};function yd(e){var t;let n=(0,i.useDependency)(r.IRenderManagerService).getRenderById(e),a=n==null?void 0:n.with(Y),o=(0,i.useObservable)(a==null?void 0:a.textSelectionInner$);return!!((t=a==null?void 0:a.isFocusing)!=null&&t&&o!=null&&o.textRanges.some(e=>e.collapsed))}function bd(e,n,a){let o=(0,i.useDependency)(t.ICommandService),c=(0,i.useDependency)(i.IShortcutService),l=(0,s.useMemo)(()=>(0,t.generateRandomId)(4),[]);(0,s.useEffect)(()=>{if(!a||!e||!n)return;let i=`sheet.operation.editor-${a.getEditorId()}-keyboard-${l}`,s=new t.DisposableCollection;return s.add(o.registerCommand({id:i,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:r,metaKey:i}=t;n.handler(r,i)}})),n.keyCodes.map(e=>({id:i,binding:e.metaKey?e.keyCode|e.metaKey:e.keyCode,preconditions:()=>!0,priority:901,staticParameters:{eventType:r.DeviceInputEventType.Keyboard,keyCode:e.keyCode,metaKey:e.metaKey}})).forEach(e=>{s.add(c.registerShortcut(e))}),()=>{s.dispose()}},[o,n,a,e,l,c])}let xd=(e,n,a,o)=>{let c=(0,i.useDependency)(t.ICommandService),l=(0,i.useDependency)(i.IShortcutService),u=(0,s.useRef)(n);u.current=n;let d=(0,s.useRef)(o);d.current=o,(0,s.useEffect)(()=>{if(!a||!e)return;let n=`doc.rich-text-editor.${a.getEditorId()}`,o=new t.DisposableCollection,s=(e,n)=>{if(d.current){d.current(e,n);return}let r=t.Direction.LEFT;e===i.KeyCode.ARROW_DOWN?r=t.Direction.DOWN:e===i.KeyCode.ARROW_UP?r=t.Direction.UP:e===i.KeyCode.ARROW_RIGHT&&(r=t.Direction.RIGHT),n===i.MetaKeys.SHIFT?c.executeCommand(sa.id,{direction:r}):c.executeCommand(oa.id,{direction:r})};return o.add(c.registerCommand({id:n,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n}=t;s(n)}})),[{keyCode:i.KeyCode.ARROW_DOWN},{keyCode:i.KeyCode.ARROW_LEFT},{keyCode:i.KeyCode.ARROW_RIGHT},{keyCode:i.KeyCode.ARROW_UP},{keyCode:i.KeyCode.ARROW_DOWN,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_LEFT,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_RIGHT,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_UP,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_DOWN,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_LEFT,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_RIGHT,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_UP,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_DOWN,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_LEFT,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_RIGHT,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_UP,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT}].map(({keyCode:e,metaKey:t})=>({id:n,binding:t?e|t:e,preconditions:()=>!0,priority:900,staticParameters:{eventType:r.DeviceInputEventType.Keyboard,keyCode:e}})).forEach(e=>{o.add(l.registerShortcut(e))}),()=>{o.dispose()}},[c,a,e,l])};function Sd(e,r){let a=(0,i.useDependency)(t.ICommandService);(0,s.useEffect)(()=>{if(!e)return;let i=a.onCommandExecuted(i=>{if(i.id===n.RichTextEditingMutation.id){var a,o;if(i.params.unitId!==e.getEditorId())return;let n=e.getDocumentData();r(n,(0,t.getPlainText)((a=(o=n.body)==null?void 0:o.dataStream)==null?``:a))}});return()=>{i.dispose()}},[e,r,a])}let Cd=(e,i=!0,a,o)=>{let c=(0,s.useCallback)(()=>{if(e){var t;let{scene:r,mainComponent:a}=e.render,o=e.render.with(n.DocSkeletonManagerService),{width:s,height:c}=e.getBoundingClientRect();o.getViewModel().getDataModel().updateDocumentDataPageSize(i?1/0:s,1/0),r.transformByState({width:s,height:c}),a==null||a.resize(s,c),a==null||a.translate(0,0),(t=e.render.components.get(`__Document_Render_Background__`))==null||t.translate(0,0);let l=e.getSelectionRanges();l.length>0&&e.setSelectionRanges(l,!1)}},[e,i]),l=(0,s.useMemo)(()=>(0,t.debounce)(()=>{if(!a||!e||!a||e.render.isDisposed())return;let t=e.render.with(n.DocSkeletonManagerService).getSkeleton(),{scene:s,mainComponent:c}=e.render,l=s.getViewport(`viewMain`),{actualWidth:u,actualHeight:d}=t.getActualSize(),{width:f,height:p}=e.getBoundingClientRect(),m=l==null?void 0:l.getScrollBar(),h=Math.max(u,f),g=Math.max(d,p);if(s.transformByState({width:h,height:g}),c==null||c.resize(h,g),!i)if(d>p)m==null?l&&(m=new r.ScrollBar(l,{enableHorizontal:!1,enableVertical:!0,barSize:8,minThumbSizeV:8})):l==null||l.resetCanvasSizeAndUpdateScroll(),o&&(l==null||l.scrollToBarPos({x:0,y:1/0}));else{var _;m=null,l==null||l.scrollToBarPos({x:0,y:0}),l==null||(_=l.getScrollBar())==null||_.dispose()}else if(u>f)m==null?l&&new r.ScrollBar(l,{barSize:8,enableVertical:!1,enableHorizontal:!0,minThumbSizeV:8}):l==null||l.resetCanvasSizeAndUpdateScroll(),o&&(l==null||l.scrollToBarPos({x:1/0,y:0}));else{var v;m=null,l==null||l.scrollToBarPos({x:0,y:0}),l==null||(v=l.getScrollBar())==null||v.dispose()}},30),[e,a,i,o]);return(0,s.useEffect)(()=>{if(a&&e){let e=setTimeout(()=>{c(),l()},500);return()=>{clearTimeout(e)}}},[e,a,c,l]),(0,s.useEffect)(()=>{if(a&&e){let t=e.input$.subscribe(()=>{l()});return()=>{t.unsubscribe()}}},[e,a,l]),{resize:c,checkScrollBar:l}};e.AfterSpaceCommand=N,e.AlignCenterCommand=Hr,e.AlignJustifyCommand=Wr,e.AlignLeftCommand=Vr,e.AlignOperationCommand=Br,e.AlignRightCommand=Ur,e.BreakLineCommand=B,e.BulletListCommand=jr,e.ChangeListNestingLevelCommand=Ar,e.ChangeListNestingLevelType=kr,e.ChangeListTypeCommand=Or,e.CheckListCommand=Mr,e.CoverContentCommand=xr,e.CreateDocTableCommand=Wi,e.CutContentCommand=ye,e.DOCS_COMPONENT_BACKGROUND_LAYER_INDEX=0,e.DOCS_COMPONENT_DEFAULT_Z_INDEX=10,e.DOCS_COMPONENT_HEADER_LAYER_INDEX=4,e.DOCS_COMPONENT_MAIN_LAYER_INDEX=2,e.DOCS_VIEW_KEY=d,e.DOC_CONTENT_INSERT_MENU_ID=_c,e.DOC_VERTICAL_PADDING=4,e.DeleteCommand=Se,e.DeleteCustomBlockCommand=Te,e.DeleteLeftCommand=je,e.DeleteRightCommand=Me,Object.defineProperty(e,"DocAutoFormatService",{enumerable:!0,get:function(){return j}}),Object.defineProperty(e,"DocBackScrollRenderController",{enumerable:!0,get:function(){return vu}}),Object.defineProperty(e,"DocCanvasPopManagerService",{enumerable:!0,get:function(){return Oc}}),e.DocContentInsertService=On,e.DocCopyCommand=hn,e.DocCreateTableOperation=aa,e.DocCutCommand=_n,Object.defineProperty(e,"DocEventManagerService",{enumerable:!0,get:function(){return Fc}}),e.DocIMEInputManagerService=Hn,Object.defineProperty(e,"DocParagraphMenuService",{enumerable:!0,get:function(){return Yc}}),e.DocPasteCommand=yn,e.DocPrintInterceptorService=nd,Object.defineProperty(e,"DocRenderController",{enumerable:!0,get:function(){return Cu}}),e.DocSelectAllCommand=jn,Object.defineProperty(e,"DocSelectionRenderService",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(e,"DocStateChangeManagerService",{enumerable:!0,get:function(){return rd}}),e.DocTableDeleteColumnsCommand=Ki,e.DocTableDeleteRowsCommand=Gi,e.DocTableDeleteTableCommand=qi,e.DocTableInsertColumnCommand=ta,e.DocTableInsertColumnLeftCommand=Qi,e.DocTableInsertColumnRightCommand=$i,e.DocTableInsertRowAboveCommand=Xi,e.DocTableInsertRowBellowCommand=Zi,e.DocTableInsertRowCommand=ea,e.DocTableTabCommand=na,Object.defineProperty(e,"DocUIController",{enumerable:!0,get:function(){return gu}}),Object.defineProperty(e,"DocsRenderService",{enumerable:!0,get:function(){return Su}}),e.DocsUIMenuSchema=Bl,e.EMPTY_PARAGRAPH_MENU_ID=Qs,e.Editor=Ua,e.EditorInsertTextCommandId=be,Object.defineProperty(e,"EditorService",{enumerable:!0,get:function(){return Ga}}),e.EnterCommand=P,e.FLOAT_TEXT_STYLE_MENU_ID=ds,e.FLOAT_TOOLBAR_MENU_POSITION=fs,e.HorizontalLineCommand=kn,e.IDocClipboardService=dn,e.IEditorService=Z,e.IMEInputCommand=Un,e.INSERT_BELLOW_MENU_ID=gc,e.InnerPasteCommand=me,e.InsertCommand=xe,e.InsertCustomRangeCommand=Er,e.ListOperationCommand=Dr,e.MergeTwoParagraphCommand=Ee,e.MoveCursorOperation=oa,e.MoveDocBlockCommand=bn,e.MoveSelectionOperation=sa,e.NORMAL_TEXT_SELECTION_PLUGIN_NAME=`normalTextSelectionPluginName`,e.NodePositionConvertToCursor=fi,e.NodePositionConvertToRectRange=wi,e.OrderListCommand=Pr,e.PastePluginLark=ht,e.PastePluginUniver=vt,e.PastePluginWord=yt,e.QuickListCommand=Fr,e.RectRange=Pi,e.ReplaceContentCommand=br,e.ReplaceSelectionCommand=wr,e.ReplaceSnapshotCommand=yr,e.ReplaceTextRunsCommand=Tr,e.ResetInlineFormatTextBackgroundColorCommand=dr,e.RichTextEditor=e=>{let{className:a,autoFocus:o,onFocusChange:c,initialValue:d,onClickOutside:f,keyboardEventConfig:p,moveCursor:m=!0,style:h,isSingle:g,editorId:_,onHeightChange:v,onChange:y,defaultHeight:b=32,maxHeight:x=32,icon:S,editorRef:C,placeholder:w,noStyle:T}=e;(0,i.useDependency)(Z);let E=(0,i.useEvent)(c),D=(0,i.useEvent)(f),[O,k]=(0,s.useState)(b),A=(0,s.useRef)(null),j=(0,s.useMemo)(()=>_==null?(0,t.createInternalEditorID)(`RICH_TEXT_EDITOR-${(0,t.generateRandomId)(4)}`):_,[_]),M=_d({editorId:j,initialValue:d,container:A,autoFocus:o,isSingle:g}),N=(0,i.useDependency)(r.IRenderManagerService).getRenderById(j),P=yd(j),F=(0,s.useRef)(null),[I,L]=(0,s.useState)(()=>{var e,n;return!t.BuildTextUtils.transform.getPlainText((e=M==null||(n=M.getDocumentData().body)==null?void 0:n.dataStream)==null?``:e)}),{checkScrollBar:R}=Cd(M,g,!0,!0);(0,s.useLayoutEffect)(()=>{if(!(!C||!M)){if(typeof C==`function`){C(M);return}C.current=M}},[M]);let z=(0,i.useEvent)(e=>{var r,i;let a=N==null?void 0:N.with(n.DocSkeletonManagerService),o=a==null?void 0:a.getSkeleton().getActualSize();o&&(v==null||v(o.actualHeight),k(Math.max(b,Math.min(o.actualHeight+10,x)))),y==null||y(e,(0,t.getPlainText)((r=(i=e.body)==null?void 0:i.dataStream)==null?``:r)),R()});return(0,s.useEffect)(()=>{var e,n;L(!t.BuildTextUtils.transform.getPlainText((e=M==null||(n=M.getDocumentData().body)==null?void 0:n.dataStream)==null?``:e));let r=M==null?void 0:M.selectionChange$.subscribe(()=>{var e,n;L(!t.BuildTextUtils.transform.getPlainText((e=M==null||(n=M.getDocumentData().body)==null?void 0:n.dataStream)==null?``:e))});return()=>r==null?void 0:r.unsubscribe()},[M]),(0,i.useObservable)(M==null?void 0:M.blur$),(0,i.useObservable)(M==null?void 0:M.focus$),(0,s.useEffect)(()=>{var e,n;let r=M==null?void 0:M.getDocumentData();E==null||E(P,(0,t.getPlainText)((e=r==null||(n=r.body)==null?void 0:n.dataStream)==null?``:e))},[P,E]),vd(j,F,D),xd(P&&m,!1,M),bd(P,p,M),Sd(M,z),(0,u.jsx)(`div`,{className:a,style:h,children:(0,u.jsxs)(`div`,{className:(0,l.clsx)({"univer-border-primary-500":P&&!T,"\n univer-relative univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center\n univer-justify-around univer-gap-2 univer-rounded-md univer-pb-0.5 univer-pl-1.5 univer-pr-2\n univer-pt-1.5\n ":!T,"univer-size-full":T,[l.borderClassName]:!T}),style:{height:O},ref:F,children:[(0,u.jsx)(`div`,{ref:A,className:`univer-relative univer-size-full`,onMouseUp:()=>M==null?void 0:M.focus()}),S,I?(0,u.jsx)(`div`,{className:`univer-absolute univer-left-[5px] univer-top-[5px] univer-text-sm univer-text-gray-500`,children:w}):null]})})},e.SetDocZoomRatioCommand=Kr,e.SetDocZoomRatioOperation=q,e.SetInlineFormatBoldCommand=Gn,e.SetInlineFormatCommand=pr,e.SetInlineFormatFontFamilyCommand=ar,e.SetInlineFormatFontSizeCommand=rr,e.SetInlineFormatItalicCommand=qn,e.SetInlineFormatStrikethroughCommand=Zn,e.SetInlineFormatSubscriptCommand=$n,e.SetInlineFormatSuperscriptCommand=tr,e.SetInlineFormatTextBackgroundColorCommand=lr,e.SetInlineFormatTextColorCommand=sr,e.SetInlineFormatUnderlineCommand=Yn,e.SetParagraphNamedStyleCommand=J,e.SwitchDocModeCommand=Ui,e.TEXT_RANGE_LAYER_INDEX=3,e.TabCommand=M,e.TextRange=Mi,e.ToggleCheckListCommand=Nr,Object.defineProperty(e,"UniverDocsUIPlugin",{enumerable:!0,get:function(){return gd}}),e.UpdateCommand=Ce,e.VIEWPORT_KEY=f,e.addCustomDecorationBySelectionFactory=_,e.addCustomDecorationFactory=g,e.buildMoveDocBlockActions=xn,e.calcDocRangePositions=Dc,e.convertBodyToHtml=zt,e.convertPositionsToRectRanges=Ni,e.deleteCustomDecorationFactory=v,e.docDrawingPositionToTransform=C,e.genTableSource=ne,e.generateParagraphs=z,e.getAnchorBounding=Ai,e.getCanvasOffsetByEngine=zi,e.getCommandSkeleton=L,e.getCursorWhenDelete=Oe,e.getCustomBlockIdsInSelections=de,e.getCutActionsFromDocRanges=ve,e.getDocBlockRangeMenuId=yc,e.getDocObject=m,e.getDocObjectById=h,e.getEmptyTableCell=H,e.getEmptyTableRow=ee,e.getLineBounding=ji,e.getOneTextSelectionRange=li,e.getRichTextEditPath=R,e.getTableColumn=te,e.hasParagraphInTable=y,e.hideMenuWhenSelectionInBlockRange=ts,e.isInSameTableCell=gi,e.isTextRangeInAnyBlockRange=es,e.isValidRectRange=hi,e.neoGetDocObject=p,e.transformToDocDrawingPosition=w,e.useEditor=_d,e.useEditorClickOutside=vd,e.useIsFocusing=yd,e.useKeyboardEvent=bd,e.useLeftAndRightArrow=xd,e.useOnChange=Sd,e.useResize=Cd,e.whenDocAndEditorFocused=$});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/docs-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Editor UI layer for Univer Docs.",
|
|
6
6
|
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
|
@@ -69,12 +69,12 @@
|
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
71
|
"@univerjs/icons": "1.4.0",
|
|
72
|
-
"@univerjs/design": "0.
|
|
73
|
-
"@univerjs/
|
|
74
|
-
"@univerjs/drawing": "0.
|
|
75
|
-
"@univerjs/
|
|
76
|
-
"@univerjs/
|
|
77
|
-
"@univerjs/
|
|
72
|
+
"@univerjs/design": "0.25.0",
|
|
73
|
+
"@univerjs/docs": "0.25.0",
|
|
74
|
+
"@univerjs/drawing": "0.25.0",
|
|
75
|
+
"@univerjs/core": "0.25.0",
|
|
76
|
+
"@univerjs/engine-render": "0.25.0",
|
|
77
|
+
"@univerjs/ui": "0.25.0"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"jest-canvas-mock": "^2.5.2",
|
|
@@ -85,8 +85,8 @@
|
|
|
85
85
|
"tailwindcss": "3.4.18",
|
|
86
86
|
"typescript": "^6.0.3",
|
|
87
87
|
"vitest": "^4.1.7",
|
|
88
|
-
"@univerjs/
|
|
89
|
-
"@univerjs-
|
|
88
|
+
"@univerjs-infra/shared": "0.25.0",
|
|
89
|
+
"@univerjs/docs-drawing": "0.25.0"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
92
92
|
"test": "vitest run",
|