@ebl-vue/editor-render 2.31.25 → 2.31.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.mjs +120 -101
  3. package/dist/index.mjs.map +1 -1
  4. package/dist/style.css +1 -1
  5. package/dist/styles/list.css +184 -164
  6. package/dist/styles/quote.css +1 -1
  7. package/package.json +1 -1
  8. package/src/EditorRender.vue +0 -43
  9. package/src/components/List.vue +0 -40
  10. package/src/components/alert.vue +0 -21
  11. package/src/components/code.vue +0 -114
  12. package/src/components/delimiter.vue +0 -19
  13. package/src/components/h1.vue +0 -19
  14. package/src/components/h2.vue +0 -19
  15. package/src/components/h3.vue +0 -19
  16. package/src/components/h4.vue +0 -19
  17. package/src/components/h5.vue +0 -19
  18. package/src/components/h6.vue +0 -19
  19. package/src/components/image.vue +0 -31
  20. package/src/components/index.ts +0 -54
  21. package/src/components/paragraph.vue +0 -19
  22. package/src/components/quote.vue +0 -21
  23. package/src/components/table.vue +0 -46
  24. package/src/constants/index.ts +0 -1
  25. package/src/i18n/zh-cn.ts +0 -158
  26. package/src/icons/index.ts +0 -93
  27. package/src/index.ts +0 -12
  28. package/src/installer.ts +0 -21
  29. package/src/styles/alert.css +0 -151
  30. package/src/styles/block-alignment.css +0 -9
  31. package/src/styles/code.css +0 -214
  32. package/src/styles/color.css +0 -27
  33. package/src/styles/delimiter.css +0 -14
  34. package/src/styles/header.css +0 -20
  35. package/src/styles/image.css +0 -156
  36. package/src/styles/indent.css +0 -86
  37. package/src/styles/index.css +0 -68
  38. package/src/styles/inline-code.css +0 -11
  39. package/src/styles/list.css +0 -202
  40. package/src/styles/marker.css +0 -4
  41. package/src/styles/outline.css +0 -52
  42. package/src/styles/paragraph.css +0 -23
  43. package/src/styles/quote.css +0 -26
  44. package/src/styles/table.css +0 -388
  45. package/src/styles/underline.css +0 -3
  46. package/src/types.ts +0 -5
  47. package/src/utils/index.ts +0 -15
  48. package/src/utils/install.ts +0 -19
  49. package/tsconfig.json +0 -37
  50. package/vite.config.ts +0 -80
@@ -1,388 +0,0 @@
1
- .tc-wrap {
2
- --color-background: #f9f9fb;
3
- --color-text-secondary: #7b7e89;
4
- --color-border: #e8e8eb;
5
- --cell-size: 34px;
6
- --toolbox-icon-size: 18px;
7
- --toolbox-padding: 6px;
8
- --toolbox-aiming-field-size: calc(var(--toolbox-icon-size) + var(--toolbox-padding)*2);
9
- --col-width: 100px 100px 100px;
10
- position: relative;
11
- height: 100%;
12
- /* width: 100%; */
13
- margin-top: var(--toolbox-icon-size);
14
- box-sizing: border-box;
15
- display: inline-grid;
16
-
17
- z-index: 0
18
- }
19
-
20
- .tc-wrap--readonly {
21
-
22
- }
23
-
24
- .tc-wrap svg {
25
- vertical-align: top
26
- }
27
-
28
- @media print {
29
- .tc-wrap {
30
- border-left-color: var(--color-border);
31
- border-left-style: solid;
32
- border-left-width: 1px;
33
-
34
- }
35
- }
36
-
37
- @media print {
38
- .tc-wrap .tc-row:after {
39
- display: none
40
- }
41
- }
42
-
43
- .tc-table {
44
- position: relative;
45
- width: 100%;
46
- height: 100%;
47
- display: grid;
48
- font-size: 14px;
49
- border-top: 1px solid var(--color-border);
50
- border-left: 1px solid var(--color-border);
51
- line-height: 1.4;
52
- overflow-x: auto;
53
- }
54
-
55
- .tc-table:after {
56
- width: calc(var(--cell-size));
57
- height: 100%;
58
- left: calc(var(--cell-size)*-1);
59
- top: 0
60
- }
61
-
62
- .tc-table:after,
63
- .tc-table:before {
64
- position: absolute;
65
- content: ""
66
- }
67
-
68
- .tc-table:before {
69
- width: 100%;
70
- height: var(--toolbox-aiming-field-size);
71
- top: calc(var(--toolbox-aiming-field-size)*-1);
72
- left: 0
73
- }
74
-
75
- .tc-table--heading .tc-row:first-child {
76
- font-weight: 600;
77
- border-bottom: 2px solid var(--color-border);
78
- position: sticky;
79
- top: 0;
80
- z-index: 2;
81
- background: var(--color-background)
82
- }
83
-
84
- .tc-table--heading .tc-row:first-child [contenteditable]:empty:before {
85
- content: attr(heading);
86
- color: var(--color-text-secondary)
87
- }
88
-
89
- .tc-table--heading .tc-row:first-child:after {
90
- bottom: -2px;
91
- border-bottom: 2px solid var(--color-border)
92
- }
93
-
94
- .tc-add-column,
95
- .tc-add-row {
96
- display: flex;
97
- color: var(--color-text-secondary)
98
- }
99
-
100
- @media print {
101
- .tc-add {
102
- display: none
103
- }
104
- }
105
-
106
- .tc-add-column {
107
- display: grid;
108
- border-top: 1px solid var(--color-border);
109
-
110
- grid-auto-rows: var(--cell-size);
111
- place-items: center
112
- }
113
-
114
- .tc-add-column svg {
115
- padding: 5px;
116
- position: sticky;
117
- top: 0;
118
- background-color: var(--color-background)
119
- }
120
-
121
- .tc-add-column--disabled {
122
- visibility: hidden
123
- }
124
-
125
- @media print {
126
- .tc-add-column {
127
- display: none
128
- }
129
- }
130
-
131
- .tc-add-row {
132
- height: var(--cell-size);
133
- align-items: center;
134
- padding-left: 4px;
135
- position: relative
136
- }
137
-
138
- .tc-add-row--disabled {
139
- display: none
140
- }
141
-
142
- .tc-add-row:before {
143
- content: "";
144
- position: absolute;
145
- right: calc(var(--cell-size)*-1);
146
- width: var(--cell-size);
147
- height: 100%
148
- }
149
-
150
- @media print {
151
- .tc-add-row {
152
- display: none
153
- }
154
- }
155
-
156
- .tc-add-column,
157
- .tc-add-row {
158
- transition: 0s;
159
- cursor: pointer;
160
- will-change: background-color
161
- }
162
-
163
- .tc-add-column:hover,
164
- .tc-add-row:hover {
165
- transition: background-color .1s ease;
166
- background-color: var(--color-background)
167
- }
168
-
169
- .tc-add-row {
170
- margin-top: 1px
171
- }
172
-
173
- .tc-add-row:hover:before {
174
- transition: .1s;
175
- background-color: var(--color-background)
176
- }
177
-
178
- .tc-row {
179
- display: grid;
180
- /* grid-template-columns: repeat(auto-fit, minmax(50px, 1fr)); */
181
- /* grid-template-columns: 100px 100px 100px; */
182
- grid-template-columns:var(--col-width);
183
- position: relative;
184
- border-bottom: 1px solid var(--color-border)
185
- }
186
-
187
- /* .tc-row:after {
188
- content: "";
189
- pointer-events: none;
190
- position: absolute;
191
- width: var(--cell-size);
192
- height: 100%;
193
- bottom: -1px;
194
- right: calc(var(--cell-size)*-1);
195
- border-bottom: 1px solid var(--color-border)
196
- } */
197
-
198
- .tc-row--selected {
199
- background: var(--color-background)
200
- }
201
-
202
- .tc-row--selected:after {
203
- background: var(--color-background)
204
- }
205
-
206
- .tc-cell {
207
- border-right: 1px solid var(--color-border);
208
- padding: 6px 12px;
209
- overflow: hidden;
210
- outline: none;
211
- line-break: normal
212
- }
213
-
214
- .tc-cell--selected {
215
- background: var(--color-background)
216
- }
217
-
218
- .tc-wrap--readonly .tc-row:after {
219
- display: none
220
- }
221
-
222
- .tc-toolbox {
223
- --toolbox-padding: 6px;
224
- --popover-margin: 30px;
225
- --toggler-click-zone-size: 30px;
226
- --toggler-dots-color: #7b7e89;
227
- --toggler-dots-color-hovered: #1d202b;
228
- position: absolute;
229
- cursor: pointer;
230
- z-index: 1;
231
- opacity: 0;
232
- transition: opacity .1s;
233
- will-change: left, opacity
234
- }
235
-
236
- .tc-toolbox--column {
237
- top: calc(var(--toggler-click-zone-size)*-1);
238
- transform: translate(calc(var(--toggler-click-zone-size)*-1/2));
239
- will-change: left, opacity
240
- }
241
-
242
- .tc-toolbox--row {
243
- left: calc(var(--popover-margin)*-1);
244
- transform: translateY(calc(var(--toggler-click-zone-size)*-1/2));
245
- margin-top: -1px;
246
- will-change: top, opacity
247
- }
248
-
249
- .tc-toolbox--showed {
250
- opacity: 1
251
- }
252
-
253
- .tc-toolbox .tc-popover {
254
- position: absolute;
255
- top: 0;
256
- left: var(--popover-margin)
257
- }
258
-
259
- .tc-toolbox__toggler {
260
- display: flex;
261
- align-items: center;
262
- justify-content: center;
263
- width: var(--toggler-click-zone-size);
264
- height: var(--toggler-click-zone-size);
265
- color: var(--toggler-dots-color);
266
- opacity: 0;
267
- transition: opacity .15s ease;
268
- will-change: opacity
269
- }
270
-
271
- .tc-toolbox__toggler:hover {
272
- color: var(--toggler-dots-color-hovered)
273
- }
274
-
275
- .tc-toolbox__toggler svg {
276
- fill: currentColor
277
- }
278
-
279
- .tc-wrap:hover .tc-toolbox__toggler {
280
- opacity: 1
281
- }
282
-
283
- .tc-settings .cdx-settings-button {
284
- width: 50%;
285
- margin: 0
286
- }
287
-
288
- .tc-popover {
289
- --color-border: #eaeaea;
290
- --color-background: #fff;
291
- --color-background-hover: rgba(232, 232, 235, .49);
292
- --color-background-confirm: #e24a4a;
293
- --color-background-confirm-hover: #d54040;
294
- --color-text-confirm: #fff;
295
- background: var(--color-background);
296
- border: 1px solid var(--color-border);
297
- box-shadow: 0 3px 15px -3px #0d142121;
298
- border-radius: 6px;
299
- padding: 6px;
300
- display: none;
301
- will-change: opacity, transform
302
- }
303
-
304
- .tc-popover--opened {
305
- display: flex;
306
- animation: menuShowing .1s cubic-bezier(.215, .61, .355, 1) forwards
307
- }
308
-
309
- .tc-popover__item {
310
- display: flex;
311
- align-items: center;
312
- padding: 2px 14px 2px 2px;
313
- border-radius: 5px;
314
- cursor: pointer;
315
- white-space: nowrap;
316
- -webkit-user-select: none;
317
- -moz-user-select: none;
318
- user-select: none
319
- }
320
-
321
- .tc-popover__item:hover {
322
- background: var(--color-background-hover)
323
- }
324
-
325
- .tc-popover__item:not(:last-of-type) {
326
- margin-bottom: 2px
327
- }
328
-
329
- .tc-popover__item-icon {
330
- display: inline-flex;
331
- width: 26px;
332
- height: 26px;
333
- align-items: center;
334
- justify-content: center;
335
- background: var(--color-background);
336
- border-radius: 5px;
337
- border: 1px solid var(--color-border);
338
- margin-right: 8px
339
- }
340
-
341
- .tc-popover__item-label {
342
- line-height: 22px;
343
- font-size: 14px;
344
- font-weight: 500
345
- }
346
-
347
- .tc-popover__item--confirm {
348
- background: var(--color-background-confirm);
349
- color: var(--color-text-confirm)
350
- }
351
-
352
- .tc-popover__item--confirm:hover {
353
- background-color: var(--color-background-confirm-hover)
354
- }
355
-
356
- .tc-popover__item--confirm .tc-popover__item-icon {
357
- background: var(--color-background-confirm);
358
- border-color: #0000001a
359
- }
360
-
361
- .tc-popover__item--confirm .tc-popover__item-icon svg {
362
- transition: transform .2s ease-in;
363
- transform: rotate(90deg) scale(1.2)
364
- }
365
-
366
- .tc-popover__item--hidden {
367
- display: none
368
- }
369
-
370
- @keyframes menuShowing {
371
- 0% {
372
- opacity: 0;
373
- transform: translateY(-8px) scale(.9)
374
- }
375
-
376
- 70% {
377
- opacity: 1;
378
- transform: translateY(2px)
379
- }
380
-
381
- to {
382
- transform: translateY(0)
383
- }
384
- }
385
-
386
- .cell-resizable {
387
- cursor: col-resize;
388
- }
@@ -1,3 +0,0 @@
1
- .cdx-underline {
2
- text-decoration: underline;
3
- }
package/src/types.ts DELETED
@@ -1,5 +0,0 @@
1
- export interface IBlock{
2
- id: string;
3
- type: string;
4
- data: any;
5
- }
@@ -1,15 +0,0 @@
1
-
2
-
3
- export default {
4
- copy: (o: any) => {
5
- return JSON.parse(JSON.stringify(o));
6
- },
7
- createUniqueString: () => {
8
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
9
- const r = Math.random() * 16 | 0;
10
- const v = c === 'x' ? r : (r & 0x3 | 0x8);
11
- console.log(v)
12
- return v.toString(16);
13
- });
14
- }
15
- }
@@ -1,19 +0,0 @@
1
- import type { SFCWithInstall } from 'types'
2
- import type {App} from 'vue'
3
- export const withInstall = <T, E extends Record<string, any>>(
4
- main: T,
5
- extra?: E
6
- ) => {
7
- ;(main as SFCWithInstall<T>).install = (app:App): void => {
8
- for (const comp of [main, ...Object.values(extra ?? {})]) {
9
- app.component(comp.name, comp)
10
- }
11
- }
12
-
13
- if (extra) {
14
- for (const [key, comp] of Object.entries(extra)) {
15
- ;(main as any)[key] = comp
16
- }
17
- }
18
- return main as SFCWithInstall<T> & E
19
- }
package/tsconfig.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "dist",
4
- "target": "es2018",
5
- "module": "esnext",
6
- "moduleResolution": "node",
7
- "strict": true,
8
- "sourceMap": false,
9
- "allowJs": true,
10
- "noUnusedLocals": true,
11
- "resolveJsonModule": true,
12
- "esModuleInterop": true,
13
- "removeComments": false,
14
- "jsx": "preserve",
15
- "baseUrl": "./",
16
- "declaration":true,
17
- "declarationDir": "./types",
18
- "skipLibCheck":true,
19
- "rootDir": ".",
20
- "lib": [
21
- "ES2017",
22
- "ES2018",
23
- "ES2019",
24
- "DOM"
25
- ],
26
- "paths": {
27
- "@/*": ["./src/*"],
28
- "@/types": [ "./types/" ],
29
- "@/types/*": [ "./types/*" ],
30
- }
31
- },
32
- "include": [
33
- "./src/index.ts",
34
- "./src/**/*",
35
- "./types/index.d.ts"
36
- ]
37
- }
package/vite.config.ts DELETED
@@ -1,80 +0,0 @@
1
- import vue from '@vitejs/plugin-vue'
2
- import vueJsx from '@vitejs/plugin-vue-jsx'
3
- import { defineConfig, UserConfig, ConfigEnv } from 'vite'
4
- import path from 'path';
5
- import dts from "vite-plugin-dts";
6
- import terser from '@rollup/plugin-terser'
7
- import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';
8
- import { viteStaticCopy } from 'vite-plugin-static-copy'
9
-
10
- export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
11
-
12
- return {
13
- plugins: [
14
- //cssInjectedByJsPlugin(),
15
- vue(),
16
- vueJsx(),
17
- dts({
18
- rollupTypes: true,
19
- tsconfigPath: "./tsconfig.json",
20
- insertTypesEntry: true,
21
- pathsToAliases:true
22
- }),
23
- viteStaticCopy({
24
- targets: [
25
- {
26
- src: 'src/styles/*',
27
- dest: 'styles/',
28
- },
29
- ],
30
- }),
31
-
32
- ],
33
- resolve: {
34
- alias: {
35
- "@": path.resolve(__dirname, "src"),
36
-
37
- },
38
- },
39
- build: {
40
-
41
- target: 'es2018',
42
- emptyOutDir: true,
43
- sourcemap:true,
44
- lib: {
45
- entry: path.resolve(__dirname,"src","index.ts"),
46
- name: '@ebl-vue/editor-render',
47
- formats:['es'],
48
- fileName: format => `index.mjs`,
49
- cssFileName: 'style',
50
- },
51
- rollupOptions: {
52
- plugins: [
53
- terser({
54
- compress: {
55
- drop_console:true,
56
- drop_debugger: true
57
- },
58
- format: {
59
- comments:false
60
- }
61
- }),
62
-
63
- ],
64
- external: [
65
- 'vue',
66
- 'shiki',
67
- ],
68
- output: [
69
- {
70
- exports: 'named',
71
- globals: {
72
- vue: 'Vue'
73
- }
74
- }
75
- ],
76
- },
77
-
78
- }
79
- }
80
- });