vue-editify 0.2.16 → 0.2.18
Sign up to get free protection for your applications and to get access to all the features.
- package/examples/App.vue +289 -5
- package/lib/components/colors/colors.vue.d.ts +9 -0
- package/lib/components/colors/props.d.ts +4 -0
- package/lib/core/function.d.ts +120 -45
- package/lib/core/rule.d.ts +23 -17
- package/lib/core/tool.d.ts +1 -13
- package/lib/editify/editify.vue.d.ts +10 -1
- package/lib/editify/props.d.ts +1 -1
- package/lib/editify/toolbar/props.d.ts +1 -1
- package/lib/editify/toolbar/toolbar.vue.d.ts +3 -3
- package/lib/editify.es.js +13640 -13799
- package/lib/editify.umd.js +2 -2
- package/lib/feature/align.d.ts +0 -14
- package/lib/feature/heading.d.ts +0 -14
- package/lib/feature/lineHeight.d.ts +0 -14
- package/lib/feature/orderList.d.ts +1 -3
- package/lib/feature/task.d.ts +0 -14
- package/lib/feature/unorderList.d.ts +1 -3
- package/lib/index.d.ts +12 -3
- package/package.json +2 -2
- package/src/components/button/button.vue +3 -3
- package/src/components/checkbox/checkbox.vue +1 -1
- package/src/components/colors/colors.vue +4 -4
- package/src/components/colors/props.ts +6 -1
- package/src/components/insertAttachment/insertAttachment.vue +1 -1
- package/src/components/insertImage/insertImage.vue +1 -1
- package/src/components/insertLink/insertLink.vue +1 -1
- package/src/components/insertVideo/insertVideo.vue +1 -1
- package/src/components/layer/layer.vue +9 -3
- package/src/components/tooltip/tooltip.vue +1 -1
- package/src/components/updateLink/updateLink.vue +1 -1
- package/src/core/function.ts +961 -475
- package/src/core/rule.ts +85 -367
- package/src/core/tool.ts +8 -114
- package/src/editify/editify.less +88 -14
- package/src/editify/editify.vue +117 -65
- package/src/editify/props.ts +1 -1
- package/src/editify/toolbar/props.ts +2 -2
- package/src/editify/toolbar/toolbar.vue +12 -12
- package/src/feature/align.ts +1 -61
- package/src/feature/attachment.ts +13 -26
- package/src/feature/backColor.ts +1 -0
- package/src/feature/foreColor.ts +1 -0
- package/src/feature/heading.ts +2 -73
- package/src/feature/infoBlock.ts +4 -35
- package/src/feature/lineHeight.ts +1 -77
- package/src/feature/mathformula.ts +3 -50
- package/src/feature/orderList.ts +166 -35
- package/src/feature/panel.ts +4 -49
- package/src/feature/sub.ts +1 -1
- package/src/feature/super.ts +1 -1
- package/src/feature/task.ts +1 -55
- package/src/feature/unorderList.ts +106 -35
- package/src/feature/video.ts +1 -1
- package/src/icon/iconfont.css +40 -0
- package/src/icon/iconfont.ttf +0 -0
- package/src/icon/iconfont.woff +0 -0
- package/src/index.ts +14 -8
- package/src/locale/en_US.ts +112 -110
- package/src/locale/zh_CN.ts +11 -9
package/lib/feature/align.d.ts
CHANGED
@@ -1,19 +1,5 @@
|
|
1
1
|
import { MenuSelectButtonType } from '../core/tool';
|
2
2
|
|
3
|
-
/**
|
4
|
-
* 工具栏 - 对齐方式
|
5
|
-
*/
|
6
|
-
export declare const AlignToolbarButton: import('vue').DefineSetupFnComponent<{
|
7
|
-
color: string;
|
8
|
-
zIndex: number;
|
9
|
-
config: MenuSelectButtonType;
|
10
|
-
tooltip: boolean;
|
11
|
-
}, {}, {}, {
|
12
|
-
color: string;
|
13
|
-
zIndex: number;
|
14
|
-
config: MenuSelectButtonType;
|
15
|
-
tooltip: boolean;
|
16
|
-
} & {}, import('vue').PublicProps>;
|
17
3
|
/**
|
18
4
|
* 菜单栏 - 对齐方式
|
19
5
|
*/
|
package/lib/feature/heading.d.ts
CHANGED
@@ -1,19 +1,5 @@
|
|
1
1
|
import { MenuDisplayButtonType } from '../core/tool';
|
2
2
|
|
3
|
-
/**
|
4
|
-
* 工具栏 - 标题
|
5
|
-
*/
|
6
|
-
export declare const HeadingToolbarButton: import('vue').DefineSetupFnComponent<{
|
7
|
-
color: string;
|
8
|
-
zIndex: number;
|
9
|
-
config: MenuDisplayButtonType;
|
10
|
-
tooltip: boolean;
|
11
|
-
}, {}, {}, {
|
12
|
-
color: string;
|
13
|
-
zIndex: number;
|
14
|
-
config: MenuDisplayButtonType;
|
15
|
-
tooltip: boolean;
|
16
|
-
} & {}, import('vue').PublicProps>;
|
17
3
|
/**
|
18
4
|
* 菜单栏 - 标题
|
19
5
|
*/
|
@@ -1,19 +1,5 @@
|
|
1
1
|
import { MenuDisplayButtonType } from '../core/tool';
|
2
2
|
|
3
|
-
/**
|
4
|
-
* 工具栏 - 行高
|
5
|
-
*/
|
6
|
-
export declare const LineHeightToolbarButton: import('vue').DefineSetupFnComponent<{
|
7
|
-
color: string;
|
8
|
-
zIndex: number;
|
9
|
-
config: MenuDisplayButtonType;
|
10
|
-
tooltip: boolean;
|
11
|
-
}, {}, {}, {
|
12
|
-
color: string;
|
13
|
-
zIndex: number;
|
14
|
-
config: MenuDisplayButtonType;
|
15
|
-
tooltip: boolean;
|
16
|
-
} & {}, import('vue').PublicProps>;
|
17
3
|
/**
|
18
4
|
* 菜单栏 - 行高
|
19
5
|
*/
|
@@ -3,15 +3,13 @@ import { MenuButtonType } from '../core/tool';
|
|
3
3
|
/**
|
4
4
|
* 工具栏 - 有序列表
|
5
5
|
*/
|
6
|
-
export declare const
|
6
|
+
export declare const OrderListToolbar: import('vue').DefineSetupFnComponent<{
|
7
7
|
color: string;
|
8
8
|
zIndex: number;
|
9
|
-
config: MenuButtonType;
|
10
9
|
tooltip: boolean;
|
11
10
|
}, {}, {}, {
|
12
11
|
color: string;
|
13
12
|
zIndex: number;
|
14
|
-
config: MenuButtonType;
|
15
13
|
tooltip: boolean;
|
16
14
|
} & {}, import('vue').PublicProps>;
|
17
15
|
/**
|
package/lib/feature/task.d.ts
CHANGED
@@ -1,19 +1,5 @@
|
|
1
1
|
import { MenuButtonType } from '../core/tool';
|
2
2
|
|
3
|
-
/**
|
4
|
-
* 工具栏 - 任务列表
|
5
|
-
*/
|
6
|
-
export declare const TaskToolbarButton: import('vue').DefineSetupFnComponent<{
|
7
|
-
color: string;
|
8
|
-
zIndex: number;
|
9
|
-
config: MenuButtonType;
|
10
|
-
tooltip: boolean;
|
11
|
-
}, {}, {}, {
|
12
|
-
color: string;
|
13
|
-
zIndex: number;
|
14
|
-
config: MenuButtonType;
|
15
|
-
tooltip: boolean;
|
16
|
-
} & {}, import('vue').PublicProps>;
|
17
3
|
/**
|
18
4
|
* 菜单栏 - 任务列表
|
19
5
|
*/
|
@@ -3,15 +3,13 @@ import { MenuButtonType } from '../core/tool';
|
|
3
3
|
/**
|
4
4
|
* 工具栏 - 无序列表
|
5
5
|
*/
|
6
|
-
export declare const
|
6
|
+
export declare const UnorderListToolbar: import('vue').DefineSetupFnComponent<{
|
7
7
|
color: string;
|
8
8
|
zIndex: number;
|
9
|
-
config: MenuButtonType;
|
10
9
|
tooltip: boolean;
|
11
10
|
}, {}, {}, {
|
12
11
|
color: string;
|
13
12
|
zIndex: number;
|
14
|
-
config: MenuButtonType;
|
15
13
|
tooltip: boolean;
|
16
14
|
} & {}, import('vue').PublicProps>;
|
17
15
|
/**
|
package/lib/index.d.ts
CHANGED
@@ -437,7 +437,9 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
|
|
437
437
|
};
|
438
438
|
} | null;
|
439
439
|
__guid: number;
|
440
|
-
__events:
|
440
|
+
__events: {
|
441
|
+
[key: string]: ((...args: any) => void)[];
|
442
|
+
};
|
441
443
|
__oldStack: {
|
442
444
|
key: number;
|
443
445
|
type: import('alex-editor').AlexElementType;
|
@@ -484,6 +486,12 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
|
|
484
486
|
__isInputChinese: boolean;
|
485
487
|
__innerSelectionChange: boolean;
|
486
488
|
__chineseInputTimer: any;
|
489
|
+
__domObserver: {
|
490
|
+
disconnect: () => void;
|
491
|
+
observe: (target: Node, options?: MutationObserverInit) => void;
|
492
|
+
takeRecords: () => MutationRecord[];
|
493
|
+
} | null;
|
494
|
+
__illegalDoms: Node[];
|
487
495
|
initRange: () => void;
|
488
496
|
delete: () => void;
|
489
497
|
insertText: (data: string) => void;
|
@@ -509,6 +517,7 @@ declare const Editify: import('./core/tool').SFCWithInstall<import('vue').Define
|
|
509
517
|
setEnabled: () => void;
|
510
518
|
emit: (eventName: string, ...value: any) => boolean;
|
511
519
|
on: (eventName: string, eventHandle: (...args: any) => void) => void;
|
520
|
+
off: (eventName: string, eventHandle?: (...args: any) => void) => void;
|
512
521
|
destroy: () => void;
|
513
522
|
} | null>;
|
514
523
|
isSourceView: import('vue').Ref<boolean>;
|
@@ -804,7 +813,7 @@ export type * from './core/tool';
|
|
804
813
|
export type * from './core/function';
|
805
814
|
export type * from './editify/menu';
|
806
815
|
export type * from './editify/toolbar';
|
807
|
-
export { elementIsMatch, getMatchElementByElement, getMatchElementByRange, elementIsList, getListByElement, hasListInRange, rangeIsInList, elementIsTask, getTaskByElement, hasTaskInRange, rangeIsInTask, elementIsAttachment, hasAttachmentInRange, elementIsMathformula, getMathformulaByElement, hasMathformulaInRange, elementIsPanel, getPanelByElement, hasPanelInRange, elementIsInfoBlock, getInfoBlockByElement, hasInfoBlockInRange, rangeIsInInfoBlock, hasPreInRange, hasQuoteInRange,
|
816
|
+
export { elementIsMatch, getMatchElementByElement, getMatchElementByRange, elementIsList, getListByElement, hasListInRange, rangeIsInList, elementIsTask, getTaskByElement, hasTaskInRange, rangeIsInTask, elementIsAttachment, hasAttachmentInRange, elementIsMathformula, getMathformulaByElement, hasMathformulaInRange, elementIsPanel, getPanelByElement, hasPanelInRange, elementIsInfoBlock, getInfoBlockByElement, hasInfoBlockInRange, rangeIsInInfoBlock, hasPreInRange, hasTableInRange, hasQuoteInRange, rangeIsInQuote, hasLinkInRange, hasImageInRange, hasVideoInRange, queryTextStyle, setTextStyle, removeTextStyle, queryTextMark, setTextMark, removeTextMark, getRangeText, addSpaceTextToBothSides, setHeading, setIndentIncrease, setIndentDecrease, setQuote, setAlign, setList, setTask, setLineHeight, insertLink, insertImage, insertVideo, insertTable, insertCodeBlock, insertSeparator, insertAttachment, insertMathformula, insertInfoBlock, insertPanel } from './core/function';
|
808
817
|
declare const install: (app: App) => void;
|
809
|
-
declare const version = "0.2.
|
818
|
+
declare const version = "0.2.18";
|
810
819
|
export { Editify as default, Editify, install, AlexElement, version };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "vue-editify",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.18",
|
4
4
|
"private": false,
|
5
5
|
"sideEffects": [
|
6
6
|
"*.css"
|
@@ -17,7 +17,7 @@
|
|
17
17
|
"lib": "vue-tsc && vite build"
|
18
18
|
},
|
19
19
|
"dependencies": {
|
20
|
-
"alex-editor": "^1.4.
|
20
|
+
"alex-editor": "^1.4.30",
|
21
21
|
"dap-util": "^1.5.8",
|
22
22
|
"highlight.js": "^11.8.0",
|
23
23
|
"katex": "^0.16.10",
|
@@ -31,9 +31,9 @@
|
|
31
31
|
import { computed, ref } from 'vue'
|
32
32
|
import { common as DapCommon, color as DapColor } from 'dap-util'
|
33
33
|
import { ObjectType } from '@/core/tool'
|
34
|
-
import { Tooltip } from '
|
35
|
-
import { Layer } from '
|
36
|
-
import { Icon } from '
|
34
|
+
import { Tooltip } from '../tooltip'
|
35
|
+
import { Layer } from '../layer'
|
36
|
+
import { Icon } from '../icon'
|
37
37
|
import { ButtonOptionsItemType, ButtonParseDisplayConfigType, ButtonParseSelectConfigType, ButtonProps } from './props'
|
38
38
|
|
39
39
|
defineOptions({
|
@@ -12,8 +12,8 @@
|
|
12
12
|
<script setup lang="ts">
|
13
13
|
import { computed } from 'vue'
|
14
14
|
import { common as DapCommon } from 'dap-util'
|
15
|
-
import { Icon } from '@/components/icon'
|
16
15
|
import { ObjectType } from '@/core/tool'
|
16
|
+
import { Icon } from '../icon'
|
17
17
|
import { CheckboxProps } from './props'
|
18
18
|
|
19
19
|
defineOptions({
|
@@ -6,7 +6,7 @@
|
|
6
6
|
</div>
|
7
7
|
<div class="editify-colors-list">
|
8
8
|
<div class="editify-color" :class="{ 'editify-active': value == item.value }" v-for="item in data" :style="{ borderColor: value == item.value ? color || '' : '' }">
|
9
|
-
<Tooltip block :content="
|
9
|
+
<Tooltip block :content="`${item.label}`" :disabled="!tooltip" :z-index="zIndex">
|
10
10
|
<div @click="selectColor(item)" class="editify-color-el" :style="{ background: item.value }"></div>
|
11
11
|
</Tooltip>
|
12
12
|
</div>
|
@@ -15,9 +15,9 @@
|
|
15
15
|
</template>
|
16
16
|
<script setup lang="ts">
|
17
17
|
import { inject } from 'vue'
|
18
|
-
import { Icon } from '
|
19
|
-
import { Tooltip } from '
|
20
|
-
import { ButtonOptionsItemType } from '
|
18
|
+
import { Icon } from '../icon'
|
19
|
+
import { Tooltip } from '../tooltip'
|
20
|
+
import { ButtonOptionsItemType } from '../button'
|
21
21
|
import { ColorsProps } from './props'
|
22
22
|
|
23
23
|
defineOptions({
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ExtractPublicPropTypes, PropType } from 'vue'
|
2
|
-
import { ButtonOptionsItemType } from '
|
2
|
+
import { ButtonOptionsItemType } from '../button'
|
3
3
|
|
4
4
|
export const ColorsProps = {
|
5
5
|
//颜色数组
|
@@ -23,6 +23,11 @@ export const ColorsProps = {
|
|
23
23
|
tooltip: {
|
24
24
|
type: Boolean,
|
25
25
|
default: false
|
26
|
+
},
|
27
|
+
//层级
|
28
|
+
zIndex: {
|
29
|
+
type: Number,
|
30
|
+
default: 1
|
26
31
|
}
|
27
32
|
}
|
28
33
|
|
@@ -27,7 +27,7 @@
|
|
27
27
|
import { computed, inject, ref, watch } from 'vue'
|
28
28
|
import { file as DapFile } from 'dap-util'
|
29
29
|
import { ObjectType } from '@/core/tool'
|
30
|
-
import { Icon } from '
|
30
|
+
import { Icon } from '../icon'
|
31
31
|
import { InsertAttachmentProps } from './props'
|
32
32
|
|
33
33
|
defineOptions({
|
@@ -23,7 +23,7 @@
|
|
23
23
|
import { computed, inject, ref, watch } from 'vue'
|
24
24
|
import { file as DapFile } from 'dap-util'
|
25
25
|
import { ObjectType } from '@/core/tool'
|
26
|
-
import { Icon } from '
|
26
|
+
import { Icon } from '../icon'
|
27
27
|
import { InsertImageProps } from './props'
|
28
28
|
|
29
29
|
defineOptions({
|
@@ -23,7 +23,7 @@
|
|
23
23
|
import { computed, inject, ref, watch } from 'vue'
|
24
24
|
import { file as DapFile } from 'dap-util'
|
25
25
|
import { ObjectType } from '@/core/tool'
|
26
|
-
import { Icon } from '
|
26
|
+
import { Icon } from '../icon'
|
27
27
|
import { InsertVideoProps } from './props'
|
28
28
|
|
29
29
|
defineOptions({
|
@@ -14,7 +14,7 @@
|
|
14
14
|
import { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
|
15
15
|
import { element as DapElement, event as DapEvent } from 'dap-util'
|
16
16
|
import { ObjectType } from '@/core/tool'
|
17
|
-
import { Triangle, TrianglePlacementType } from '
|
17
|
+
import { Triangle, TrianglePlacementType } from '../triangle'
|
18
18
|
import { LayerPlacementType, LayerProps } from './props'
|
19
19
|
|
20
20
|
defineOptions({
|
@@ -583,7 +583,10 @@ const handleScroll = () => {
|
|
583
583
|
setScroll(el.parentNode as HTMLElement)
|
584
584
|
}
|
585
585
|
}
|
586
|
-
|
586
|
+
const node = getNode() || getScrollNode()
|
587
|
+
if (node) {
|
588
|
+
setScroll(node)
|
589
|
+
}
|
587
590
|
}
|
588
591
|
//移除上述滚动事件的监听
|
589
592
|
const removeScrollHandle = () => {
|
@@ -593,7 +596,10 @@ const removeScrollHandle = () => {
|
|
593
596
|
removeScroll(el.parentNode as HTMLElement)
|
594
597
|
}
|
595
598
|
}
|
596
|
-
|
599
|
+
const node = getNode() || getScrollNode()
|
600
|
+
if (node) {
|
601
|
+
removeScroll(node)
|
602
|
+
}
|
597
603
|
}
|
598
604
|
//点击定位元素和自身以外的元素关闭浮层
|
599
605
|
const handleClick = (e: Event) => {
|
@@ -13,7 +13,7 @@
|
|
13
13
|
</template>
|
14
14
|
<script setup lang="ts">
|
15
15
|
import { inject, onBeforeUnmount, ref, watch } from 'vue'
|
16
|
-
import { Checkbox } from '
|
16
|
+
import { Checkbox } from '../checkbox'
|
17
17
|
import { UpdateLinkProps } from './props'
|
18
18
|
|
19
19
|
defineOptions({
|