@ebl-vue/editor-full 1.0.8
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/.postcssrc.yml +33 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.mjs +2565 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +55 -0
- package/postcss.config.js +15 -0
- package/src/components/Editor/Editor.vue +209 -0
- package/src/components/index.ts +27 -0
- package/src/constants/index.ts +1 -0
- package/src/i18n/zh-cn.ts +151 -0
- package/src/icons/index.ts +78 -0
- package/src/index.ts +11 -0
- package/src/installer.ts +22 -0
- package/src/plugins/alert/index.css +150 -0
- package/src/plugins/alert/index.ts +463 -0
- package/src/plugins/block-alignment/index.css +9 -0
- package/src/plugins/block-alignment/index.ts +116 -0
- package/src/plugins/block-alignment/readme.md +1 -0
- package/src/plugins/code/LICENSE +21 -0
- package/src/plugins/code/index.css +120 -0
- package/src/plugins/code/index.ts +530 -0
- package/src/plugins/code/utils/string.ts +34 -0
- package/src/plugins/color-picker/index.ts +138 -0
- package/src/plugins/color-picker/styles.css +27 -0
- package/src/plugins/delimiter/index.css +14 -0
- package/src/plugins/delimiter/index.ts +122 -0
- package/src/plugins/drag-drop/index.css +19 -0
- package/src/plugins/drag-drop/index.ts +151 -0
- package/src/plugins/drag-drop/readme.md +1 -0
- package/src/plugins/header/H1.ts +405 -0
- package/src/plugins/header/H2.ts +403 -0
- package/src/plugins/header/H3.ts +404 -0
- package/src/plugins/header/H4.ts +405 -0
- package/src/plugins/header/H5.ts +405 -0
- package/src/plugins/header/H6.ts +406 -0
- package/src/plugins/header/index.css +20 -0
- package/src/plugins/header/index.ts +15 -0
- package/src/plugins/header/types.d.ts +46 -0
- package/src/plugins/indent/index.css +86 -0
- package/src/plugins/indent/index.ts +697 -0
- package/src/plugins/inline-code/index.css +11 -0
- package/src/plugins/inline-code/index.ts +205 -0
- package/src/plugins/list/ListRenderer/ChecklistRenderer.ts +211 -0
- package/src/plugins/list/ListRenderer/ListRenderer.ts +73 -0
- package/src/plugins/list/ListRenderer/OrderedListRenderer.ts +123 -0
- package/src/plugins/list/ListRenderer/UnorderedListRenderer.ts +123 -0
- package/src/plugins/list/ListRenderer/index.ts +6 -0
- package/src/plugins/list/ListTabulator/index.ts +1179 -0
- package/src/plugins/list/index.ts +502 -0
- package/src/plugins/list/styles/CssPrefix.ts +4 -0
- package/src/plugins/list/styles/icons/index.ts +10 -0
- package/src/plugins/list/styles/input.css +36 -0
- package/src/plugins/list/styles/list.css +165 -0
- package/src/plugins/list/types/Elements.ts +14 -0
- package/src/plugins/list/types/ItemMeta.ts +40 -0
- package/src/plugins/list/types/ListParams.ts +102 -0
- package/src/plugins/list/types/ListRenderer.ts +6 -0
- package/src/plugins/list/types/OlCounterType.ts +63 -0
- package/src/plugins/list/types/index.ts +14 -0
- package/src/plugins/list/utils/focusItem.ts +18 -0
- package/src/plugins/list/utils/getChildItems.ts +40 -0
- package/src/plugins/list/utils/getItemChildWrapper.ts +10 -0
- package/src/plugins/list/utils/getItemContentElement.ts +10 -0
- package/src/plugins/list/utils/getSiblings.ts +52 -0
- package/src/plugins/list/utils/isLastItem.ts +9 -0
- package/src/plugins/list/utils/itemHasSublist.ts +10 -0
- package/src/plugins/list/utils/normalizeData.ts +84 -0
- package/src/plugins/list/utils/removeChildWrapperIfEmpty.ts +31 -0
- package/src/plugins/list/utils/renderToolboxInput.ts +105 -0
- package/src/plugins/list/utils/stripNumbers.ts +7 -0
- package/src/plugins/list/utils/type-guards.ts +8 -0
- package/src/plugins/list.md +15 -0
- package/src/plugins/marker/index.css +4 -0
- package/src/plugins/marker/index.ts +187 -0
- package/src/plugins/paragraph/index.css +23 -0
- package/src/plugins/paragraph/index.ts +380 -0
- package/src/plugins/paragraph/types/icons.d.ts +4 -0
- package/src/plugins/paragraph/utils/makeFragment.ts +17 -0
- package/src/plugins/quote/index.css +26 -0
- package/src/plugins/quote/index.ts +206 -0
- package/src/plugins/table/index.ts +4 -0
- package/src/plugins/table/plugin.ts +254 -0
- package/src/plugins/table/style.css +388 -0
- package/src/plugins/table/table.ts +1192 -0
- package/src/plugins/table/toolbox.ts +165 -0
- package/src/plugins/table/utils/dom.ts +128 -0
- package/src/plugins/table/utils/popover.ts +172 -0
- package/src/plugins/table/utils/throttled.ts +22 -0
- package/src/plugins/underline/index.css +3 -0
- package/src/plugins/underline/index.ts +216 -0
- package/src/plugins/undo/index.ts +509 -0
- package/src/plugins/undo/observer.ts +101 -0
- package/src/style.css +89 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/install.ts +19 -0
- package/tsconfig.json +37 -0
- package/types/index.d.ts +13 -0
- package/types/plugins/index.d.ts +0 -0
- package/vite.config.ts +79 -0
|
@@ -0,0 +1,19 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
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/types/index.d.ts
ADDED
|
File without changes
|
package/vite.config.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
import vue from '@vitejs/plugin-vue'
|
|
4
|
+
import vueJsx from '@vitejs/plugin-vue-jsx'
|
|
5
|
+
import { defineConfig, UserConfig, ConfigEnv } from 'vite'
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import dts from "vite-plugin-dts";
|
|
8
|
+
import terser from '@rollup/plugin-terser'
|
|
9
|
+
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
plugins: [
|
|
16
|
+
cssInjectedByJsPlugin(),
|
|
17
|
+
vue(),
|
|
18
|
+
vueJsx(),
|
|
19
|
+
dts({
|
|
20
|
+
rollupTypes: true,
|
|
21
|
+
tsconfigPath: "./tsconfig.json",
|
|
22
|
+
insertTypesEntry: true,
|
|
23
|
+
pathsToAliases:true
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
],
|
|
27
|
+
resolve: {
|
|
28
|
+
alias: {
|
|
29
|
+
"@": path.resolve(__dirname, "src"),
|
|
30
|
+
'@/types': path.resolve(__dirname, './types'),
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
build: {
|
|
34
|
+
copyPublicDir: false,
|
|
35
|
+
target: 'es2018',
|
|
36
|
+
emptyOutDir: true,
|
|
37
|
+
sourcemap:true,
|
|
38
|
+
lib: {
|
|
39
|
+
entry: path.resolve(__dirname,"src","index.ts"),
|
|
40
|
+
name: '@ebl-vue/editor',
|
|
41
|
+
formats:['es'],
|
|
42
|
+
fileName: format => `index.mjs`,
|
|
43
|
+
cssFileName: 'style',
|
|
44
|
+
},
|
|
45
|
+
rollupOptions: {
|
|
46
|
+
plugins: [
|
|
47
|
+
terser({
|
|
48
|
+
compress: {
|
|
49
|
+
drop_console:true,
|
|
50
|
+
drop_debugger: true
|
|
51
|
+
},
|
|
52
|
+
format: {
|
|
53
|
+
comments:false
|
|
54
|
+
}
|
|
55
|
+
}),
|
|
56
|
+
|
|
57
|
+
],
|
|
58
|
+
external: [
|
|
59
|
+
'vue',
|
|
60
|
+
'@ebl-vue/editorjs',
|
|
61
|
+
'shiki',
|
|
62
|
+
'@editorjs/caret',
|
|
63
|
+
'@editorjs/dom',
|
|
64
|
+
'vanilla-caret-js'
|
|
65
|
+
|
|
66
|
+
],
|
|
67
|
+
output: [
|
|
68
|
+
{
|
|
69
|
+
exports: 'named',
|
|
70
|
+
globals: {
|
|
71
|
+
vue: 'Vue'
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|