@wangeditor-next/core 1.7.1 → 1.7.2-beta.5

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.
@@ -6,7 +6,6 @@ import { DOMElement } from '../utils/dom';
6
6
  import { Element as SlateElement, Descendant } from 'slate';
7
7
  import { IDomEditor } from '../editor/interface';
8
8
  export declare const TEXT_TAGS: string[];
9
- export declare const MICROSOFT_WORD_TAGS: string[];
10
9
  export declare type PreParseHtmlFnType = ($node: DOMElement) => DOMElement;
11
10
  export interface IPreParseHtmlConf {
12
11
  selector: string;
@@ -1 +1,390 @@
1
- .w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.no-scroll{width:100%}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border-color:transparent transparent var(--w-e-toolbar-active-color) transparent;border-style:solid;border-width:5px;content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-color:transparent var(--w-e-toolbar-active-color) transparent transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}
1
+ .w-e-text-container *,
2
+ .w-e-toolbar * {
3
+ padding: 0;
4
+ margin: 0;
5
+ box-sizing: border-box;
6
+ outline: none;
7
+ }
8
+ .w-e-text-container p,
9
+ .w-e-text-container li,
10
+ .w-e-text-container td,
11
+ .w-e-text-container th,
12
+ .w-e-text-container blockquote {
13
+ line-height: 1.5;
14
+ }
15
+ .w-e-toolbar * {
16
+ line-height: 1.5;
17
+ }
18
+ .w-e-text-container {
19
+ color: var(--w-e-textarea-color);
20
+ background-color: var(--w-e-textarea-bg-color);
21
+ position: relative;
22
+ height: 100%;
23
+ }
24
+ .no-scroll {
25
+ width: 100%;
26
+ }
27
+ .w-e-text-container .w-e-scroll {
28
+ height: 100%;
29
+ -webkit-overflow-scrolling: touch;
30
+ }
31
+ .w-e-text-container [data-slate-editor] {
32
+ outline: 0;
33
+ white-space: pre-wrap;
34
+ /* 【重要】可以显示空格,在连续多空格的情况下 */
35
+ word-wrap: break-word;
36
+ padding: 0 10px;
37
+ border-top: 1px solid transparent;
38
+ min-height: 100%;
39
+ }
40
+ .w-e-text-container [data-slate-editor] p {
41
+ margin: 15px 0;
42
+ }
43
+ .w-e-text-container [data-slate-editor] h1,
44
+ .w-e-text-container [data-slate-editor] h2,
45
+ .w-e-text-container [data-slate-editor] h3,
46
+ .w-e-text-container [data-slate-editor] h4,
47
+ .w-e-text-container [data-slate-editor] h5 {
48
+ margin: 20px 0 20px 0;
49
+ }
50
+ .w-e-text-container [data-slate-editor] img {
51
+ max-width: 100%;
52
+ min-width: 20px;
53
+ min-height: 20px;
54
+ cursor: default;
55
+ display: inline !important;
56
+ }
57
+ .w-e-text-container [data-slate-editor] span {
58
+ text-indent: 0;
59
+ }
60
+ .w-e-text-container [data-slate-editor] [data-selected="true"] {
61
+ box-shadow: 0 0 0 2px var(--w-e-textarea-selected-border-color);
62
+ }
63
+ .w-e-text-placeholder {
64
+ color: var(--w-e-textarea-slight-color);
65
+ position: absolute;
66
+ font-style: italic;
67
+ width: 90%;
68
+ left: 10px;
69
+ top: 17px;
70
+ pointer-events: none;
71
+ -webkit-user-select: none;
72
+ -moz-user-select: none;
73
+ user-select: none;
74
+ }
75
+ .w-e-max-length-info {
76
+ position: absolute;
77
+ color: var(--w-e-textarea-slight-color);
78
+ bottom: 0.5em;
79
+ right: 1em;
80
+ pointer-events: none;
81
+ -webkit-user-select: none;
82
+ -moz-user-select: none;
83
+ user-select: none;
84
+ }
85
+ .w-e-bar {
86
+ background-color: var(--w-e-toolbar-bg-color);
87
+ padding: 0 5px;
88
+ font-size: 14px;
89
+ color: var(--w-e-toolbar-color);
90
+ }
91
+ .w-e-bar svg {
92
+ width: 14px;
93
+ height: 14px;
94
+ fill: var(--w-e-toolbar-color);
95
+ }
96
+ .w-e-bar-show {
97
+ display: flex;
98
+ }
99
+ .w-e-bar-hidden {
100
+ display: none;
101
+ }
102
+ .w-e-hover-bar {
103
+ position: absolute;
104
+ border: 1px solid var(--w-e-toolbar-border-color);
105
+ border-radius: 3px;
106
+ box-shadow: 0 2px 5px #0000001f;
107
+ }
108
+ .w-e-toolbar {
109
+ flex-wrap: wrap;
110
+ position: relative;
111
+ }
112
+ .w-e-bar-divider {
113
+ display: inline-flex;
114
+ width: 1px;
115
+ height: 40px;
116
+ background-color: var(--w-e-toolbar-border-color);
117
+ margin: 0 5px;
118
+ }
119
+ .w-e-bar-item {
120
+ position: relative;
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: center;
124
+ text-align: center;
125
+ padding: 4px;
126
+ height: 40px;
127
+ }
128
+ .w-e-bar-item button {
129
+ border: none;
130
+ background: transparent;
131
+ height: calc(40px - 8px);
132
+ padding: 0 8px;
133
+ cursor: pointer;
134
+ display: inline-flex;
135
+ justify-content: center;
136
+ align-items: center;
137
+ color: var(--w-e-toolbar-color);
138
+ white-space: nowrap;
139
+ /* 不换行 */
140
+ overflow: hidden;
141
+ }
142
+ .w-e-bar-item button:hover {
143
+ background-color: var(--w-e-toolbar-active-bg-color);
144
+ color: var(--w-e-toolbar-active-color);
145
+ }
146
+ .w-e-bar-item button .title {
147
+ margin-left: 5px;
148
+ }
149
+ .w-e-bar-item .active {
150
+ background-color: var(--w-e-toolbar-active-bg-color);
151
+ color: var(--w-e-toolbar-active-color);
152
+ }
153
+ .w-e-bar-item .disabled {
154
+ color: var(--w-e-toolbar-disabled-color);
155
+ cursor: not-allowed;
156
+ }
157
+ .w-e-bar-item .disabled svg {
158
+ fill: var(--w-e-toolbar-disabled-color);
159
+ }
160
+ .w-e-bar-item .disabled:hover {
161
+ background-color: var(--w-e-toolbar-bg-color);
162
+ color: var(--w-e-toolbar-disabled-color);
163
+ }
164
+ .w-e-bar-item .disabled:hover svg {
165
+ fill: var(--w-e-toolbar-disabled-color);
166
+ }
167
+ .w-e-menu-tooltip-v5:before {
168
+ content: attr(data-tooltip);
169
+ position: absolute;
170
+ background-color: var(--w-e-toolbar-active-color);
171
+ color: var(--w-e-toolbar-bg-color);
172
+ text-align: center;
173
+ padding: 5px 10px;
174
+ border-radius: 5px;
175
+ z-index: 1;
176
+ opacity: 0;
177
+ transition: opacity 0.6s;
178
+ font-size: 0.75em;
179
+ visibility: hidden;
180
+ top: 40px;
181
+ white-space: pre;
182
+ }
183
+ .w-e-menu-tooltip-v5:after {
184
+ content: "";
185
+ position: absolute;
186
+ border-width: 5px;
187
+ border-style: solid;
188
+ opacity: 0;
189
+ transition: opacity 0.6s;
190
+ border-color: transparent transparent var(--w-e-toolbar-active-color) transparent;
191
+ visibility: hidden;
192
+ top: 30px;
193
+ }
194
+ .w-e-menu-tooltip-v5:hover:before,
195
+ .w-e-menu-tooltip-v5:hover:after {
196
+ opacity: 1;
197
+ visibility: visible;
198
+ }
199
+ .w-e-menu-tooltip-v5.tooltip-right:before {
200
+ left: 100%;
201
+ top: 10px;
202
+ }
203
+ .w-e-menu-tooltip-v5.tooltip-right:after {
204
+ left: 100%;
205
+ margin-left: -10px;
206
+ top: 16px;
207
+ border-color: transparent var(--w-e-toolbar-active-color) transparent transparent;
208
+ }
209
+ .w-e-bar-item-group .w-e-bar-item-menus-container {
210
+ display: none;
211
+ /* 默认隐藏 */
212
+ z-index: 1;
213
+ background-color: var(--w-e-toolbar-bg-color);
214
+ position: absolute;
215
+ top: 0;
216
+ left: 0;
217
+ margin-top: 40px;
218
+ border: 1px solid var(--w-e-toolbar-border-color);
219
+ border-radius: 3px;
220
+ box-shadow: 0 2px 10px #0000001f;
221
+ }
222
+ .w-e-bar-item-group:hover {
223
+ /* hover 时显示下级菜单 */
224
+ }
225
+ .w-e-bar-item-group:hover .w-e-bar-item-menus-container {
226
+ display: block;
227
+ }
228
+ .w-e-select-list {
229
+ z-index: 1;
230
+ position: absolute;
231
+ left: 0;
232
+ top: 0;
233
+ background-color: var(--w-e-toolbar-bg-color);
234
+ margin-top: 40px;
235
+ min-width: 100px;
236
+ border: 1px solid var(--w-e-toolbar-border-color);
237
+ border-radius: 3px;
238
+ box-shadow: 0 2px 10px #0000001f;
239
+ max-height: 350px;
240
+ overflow-y: auto;
241
+ }
242
+ .w-e-select-list ul {
243
+ list-style: none;
244
+ line-height: 1;
245
+ }
246
+ .w-e-select-list ul .selected {
247
+ background-color: var(--w-e-toolbar-active-bg-color);
248
+ }
249
+ .w-e-select-list ul li {
250
+ cursor: pointer;
251
+ padding: 7px 0 7px 25px;
252
+ position: relative;
253
+ text-align: left;
254
+ white-space: nowrap;
255
+ /* 不换行 */
256
+ }
257
+ .w-e-select-list ul li:hover {
258
+ background-color: var(--w-e-toolbar-active-bg-color);
259
+ }
260
+ .w-e-select-list ul li svg {
261
+ position: absolute;
262
+ left: 0;
263
+ margin-left: 5px;
264
+ top: 50%;
265
+ margin-top: -7px;
266
+ }
267
+ .w-e-bar-bottom .w-e-select-list {
268
+ top: inherit;
269
+ bottom: 0;
270
+ margin-top: 0;
271
+ margin-bottom: 40px;
272
+ }
273
+ .w-e-drop-panel {
274
+ z-index: 1;
275
+ background-color: var(--w-e-toolbar-bg-color);
276
+ position: absolute;
277
+ top: 0;
278
+ border: 1px solid var(--w-e-toolbar-border-color);
279
+ border-radius: 3px;
280
+ box-shadow: 0 2px 10px #0000001f;
281
+ margin-top: 40px;
282
+ min-width: 200px;
283
+ padding: 10px;
284
+ }
285
+ .w-e-bar-bottom .w-e-drop-panel {
286
+ top: inherit;
287
+ bottom: 0;
288
+ margin-top: 0;
289
+ margin-bottom: 40px;
290
+ }
291
+ .w-e-modal {
292
+ z-index: 1;
293
+ background-color: var(--w-e-toolbar-bg-color);
294
+ position: absolute;
295
+ padding: 20px 15px 0 15px;
296
+ min-width: 100px;
297
+ min-height: 40px;
298
+ color: var(--w-e-toolbar-color);
299
+ text-align: left;
300
+ font-size: 14px;
301
+ border: 1px solid var(--w-e-toolbar-border-color);
302
+ border-radius: 3px;
303
+ box-shadow: 0 2px 10px #0000001f;
304
+ }
305
+ .w-e-modal .btn-close {
306
+ position: absolute;
307
+ right: 8px;
308
+ top: 7px;
309
+ cursor: pointer;
310
+ padding: 5px;
311
+ line-height: 1;
312
+ }
313
+ .w-e-modal .btn-close svg {
314
+ width: 10px;
315
+ height: 10px;
316
+ fill: var(--w-e-toolbar-color);
317
+ }
318
+ .w-e-modal .babel-container {
319
+ display: block;
320
+ margin-bottom: 15px;
321
+ }
322
+ .w-e-modal .babel-container span {
323
+ display: block;
324
+ margin-bottom: 10px;
325
+ }
326
+ .w-e-modal .button-container {
327
+ margin-bottom: 15px;
328
+ }
329
+ .w-e-modal button {
330
+ font-weight: 400;
331
+ white-space: nowrap;
332
+ cursor: pointer;
333
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
334
+ -webkit-user-select: none;
335
+ -moz-user-select: none;
336
+ user-select: none;
337
+ touch-action: manipulation;
338
+ height: 32px;
339
+ padding: 4.5px 15px;
340
+ color: var(--w-e-toolbar-color);
341
+ background-color: var(--w-e-modal-button-bg-color);
342
+ text-align: center;
343
+ border: 1px solid var(--w-e-modal-button-border-color);
344
+ border-radius: 4px;
345
+ }
346
+ .w-e-modal textarea,
347
+ .w-e-modal input[type="text"],
348
+ .w-e-modal input[type="number"] {
349
+ font-variant: tabular-nums;
350
+ font-feature-settings: "tnum";
351
+ padding: 4.5px 11px;
352
+ color: var(--w-e-toolbar-color);
353
+ background-color: var(--w-e-toolbar-bg-color);
354
+ border: 1px solid var(--w-e-modal-button-border-color);
355
+ border-radius: 4px;
356
+ transition: all 0.3s;
357
+ width: 100%;
358
+ }
359
+ .w-e-modal textarea {
360
+ min-height: 60px;
361
+ }
362
+ body .w-e-modal {
363
+ box-sizing: border-box;
364
+ }
365
+ body .w-e-modal * {
366
+ box-sizing: border-box;
367
+ }
368
+ .w-e-progress-bar {
369
+ position: absolute;
370
+ width: 0;
371
+ height: 1px;
372
+ background-color: var(--w-e-textarea-handler-bg-color);
373
+ transition: width 0.3s;
374
+ }
375
+ .w-e-full-screen-container {
376
+ position: fixed;
377
+ margin: 0 !important;
378
+ padding: 0 !important;
379
+ top: 0 !important;
380
+ left: 0 !important;
381
+ right: 0 !important;
382
+ bottom: 0 !important;
383
+ height: 100% !important;
384
+ width: 100% !important;
385
+ display: flex !important;
386
+ flex-direction: column !important;
387
+ }
388
+ .w-e-full-screen-container [data-w-e-textarea="true"] {
389
+ flex: 1 !important;
390
+ }