@projectfive/v-richtext-vue2 0.0.0-stage → 3.0.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/Readme.md +69 -0
- package/dist/style.css +1 -0
- package/dist/types/richtext-vue/src/components/input-richtext/CharacterCount.vue.d.ts +19 -0
- package/dist/types/richtext-vue/src/components/input-richtext/InputRichtext.vue.d.ts +135 -0
- package/dist/types/richtext-vue/src/components/input-richtext/MediaControls.vue.d.ts +3 -0
- package/dist/types/richtext-vue/src/components/input-richtext/MentionMenu.vue.d.ts +21 -0
- package/dist/types/richtext-vue/src/components/input-richtext/TableMenu.vue.d.ts +19 -0
- package/dist/types/richtext-vue/src/components/input-richtext/TableOfContents.vue.d.ts +3 -0
- package/dist/types/richtext-vue/src/components/input-richtext/TemplatesMenu.vue.d.ts +18 -0
- package/dist/types/richtext-vue/src/components/input-richtext/UploadPopover.vue.d.ts +24 -0
- package/dist/types/richtext-vue/src/components/input-richtext/VisibilityConditionsMenu.vue.d.ts +20 -0
- package/dist/types/richtext-vue/src/components/input-richtext/YoutubePopover.vue.d.ts +4 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/file-drop.d.ts +22 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/file-node.d.ts +18 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/heading-id.d.ts +14 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/index.d.ts +36 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/link.d.ts +8 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/media-attributes.d.ts +8 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/mention-menu.d.ts +62 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/mention.d.ts +16 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/previews.d.ts +8 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/task-item.d.ts +8 -0
- package/dist/types/richtext-vue/src/components/input-richtext/extensions/visibility-conditions.d.ts +32 -0
- package/dist/types/richtext-vue/src/components/input-richtext/liquid.d.ts +11 -0
- package/dist/types/richtext-vue/src/components/input-richtext/types.d.ts +122 -0
- package/dist/types/richtext-vue/src/components/tiptap-icons/Icon.vue.d.ts +15 -0
- package/dist/types/richtext-vue/src/components/tiptap-icons/index.d.ts +40 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/CommandButton.vue.d.ts +36 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/blockquote-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/blockquote-button/use-blockquote.d.ts +12 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/code-block-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/code-block-button/use-code-block.d.ts +12 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/color-highlight-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/color-highlight-button/use-color-highlight.d.ts +125 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/color-highlight-popover/ColorHighlightPopover.vue.d.ts +3 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/color-highlight-popover/ColorHighlightPopoverButton.vue.d.ts +17 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/color-highlight-popover/ColorHighlightPopoverContent.vue.d.ts +183 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/color-highlight-popover/index.d.ts +3 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/command.d.ts +26 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/heading-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/heading-button/use-heading.d.ts +25 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/heading-dropdown-menu/HeadingDropdownMenu.vue.d.ts +32 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/heading-dropdown-menu/index.d.ts +2 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/heading-dropdown-menu/use-heading-dropdown-menu.d.ts +6 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/link-popover/LinkButton.vue.d.ts +17 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/link-popover/LinkContent.vue.d.ts +18 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/link-popover/LinkMain.vue.d.ts +28 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/link-popover/LinkPopover.vue.d.ts +62 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/link-popover/index.d.ts +4 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/link-popover/use-link-popover.d.ts +96 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/list-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/list-button/use-list.d.ts +22 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/list-dropdown-menu/ListDropdownMenu.vue.d.ts +32 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/list-dropdown-menu/index.d.ts +2 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/list-dropdown-menu/use-list-dropdown-menu.d.ts +15 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/mark-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/mark-button/use-mark.d.ts +29 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/text-align-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/text-align-button/use-text-align.d.ts +27 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/undo-redo-button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui/undo-redo-button/use-undo-redo.d.ts +17 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/button/Button.vue.d.ts +53 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/button/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/button-group/ButtonGroup.vue.d.ts +43 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/button-group/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/card/Card.vue.d.ts +16 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/card/CardBody.vue.d.ts +15 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/card/CardItemGroup.vue.d.ts +42 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/card/index.d.ts +3 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/dropdown-menu/DropdownMenu.vue.d.ts +66 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/dropdown-menu/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/input/Input.vue.d.ts +20 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/input/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/popover/Popover.vue.d.ts +65 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/popover/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/separator/Separator.vue.d.ts +35 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/separator/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/spacer/Spacer.vue.d.ts +31 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/spacer/index.d.ts +1 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/toolbar/Toolbar.vue.d.ts +45 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/toolbar/ToolbarGroup.vue.d.ts +15 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/toolbar/ToolbarSeparator.vue.d.ts +3 -0
- package/dist/types/richtext-vue/src/components/tiptap-ui-primitive/toolbar/index.d.ts +3 -0
- package/dist/types/richtext-vue/src/composables/use-editor-state.d.ts +32 -0
- package/dist/types/richtext-vue/src/composables/use-is-breakpoint.d.ts +10 -0
- package/dist/types/richtext-vue/src/composables/use-menu-navigation.d.ts +55 -0
- package/dist/types/richtext-vue/src/composables/use-popover.d.ts +45 -0
- package/dist/types/richtext-vue/src/composables/use-tiptap-editor.d.ts +16 -0
- package/dist/types/richtext-vue/src/composables/use-top-layer.d.ts +9 -0
- package/dist/types/richtext-vue/src/composables/use-translations.d.ts +7 -0
- package/dist/types/richtext-vue/src/composables/utils.d.ts +21 -0
- package/dist/types/richtext-vue/src/index.d.ts +14 -0
- package/dist/types/richtext-vue/src/lib/pointer.d.ts +6 -0
- package/dist/types/richtext-vue/src/lib/resize-image.d.ts +6 -0
- package/dist/types/richtext-vue/src/lib/shortcuts.d.ts +24 -0
- package/dist/types/richtext-vue/src/lib/throttle.d.ts +10 -0
- package/dist/types/richtext-vue/src/lib/tiptap-utils.d.ts +109 -0
- package/dist/types/richtext-vue/src/locales/en.d.ts +140 -0
- package/dist/types/richtext-vue/src/locales/index.d.ts +5 -0
- package/dist/types/richtext-vue/src/locales/nl.d.ts +2 -0
- package/dist/types/richtext-vue2/src/components/tiptap-ui-primitive/portal/Portal.vue.d.ts +15 -0
- package/dist/types/richtext-vue2/src/lib/tiptap-vue.d.ts +9 -0
- package/dist/v-richtext.js +3318 -0
- package/dist/v-richtext.js.map +1 -0
- package/package.json +64 -6
- package/README.md +0 -3
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { type HighlightColor } from "@/components/tiptap-ui/color-highlight-button";
|
|
2
|
+
import "@/components/tiptap-ui/color-highlight-button/color-highlight-button.scss";
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
/** Colors to offer. Defaults to a predefined set. */
|
|
5
|
+
colors?: HighlightColor[];
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
8
|
+
colors: () => ({
|
|
9
|
+
readonly name: "default";
|
|
10
|
+
readonly value: "var(--tt-bg-color)";
|
|
11
|
+
readonly colorValue: "#ffffff";
|
|
12
|
+
readonly border: "var(--tt-bg-color-contrast)";
|
|
13
|
+
} | {
|
|
14
|
+
readonly name: "gray";
|
|
15
|
+
readonly value: "var(--tt-color-highlight-gray)";
|
|
16
|
+
readonly colorValue: "#f8f8f7";
|
|
17
|
+
readonly border: "var(--tt-color-highlight-gray-contrast)";
|
|
18
|
+
} | {
|
|
19
|
+
readonly name: "brown";
|
|
20
|
+
readonly value: "var(--tt-color-highlight-brown)";
|
|
21
|
+
readonly colorValue: "#f4eeee";
|
|
22
|
+
readonly border: "var(--tt-color-highlight-brown-contrast)";
|
|
23
|
+
} | {
|
|
24
|
+
readonly name: "orange";
|
|
25
|
+
readonly value: "var(--tt-color-highlight-orange)";
|
|
26
|
+
readonly colorValue: "#fbecdd";
|
|
27
|
+
readonly border: "var(--tt-color-highlight-orange-contrast)";
|
|
28
|
+
} | {
|
|
29
|
+
readonly name: "yellow";
|
|
30
|
+
readonly value: "var(--tt-color-highlight-yellow)";
|
|
31
|
+
readonly colorValue: "#fef9c3";
|
|
32
|
+
readonly border: "var(--tt-color-highlight-yellow-contrast)";
|
|
33
|
+
} | {
|
|
34
|
+
readonly name: "green";
|
|
35
|
+
readonly value: "var(--tt-color-highlight-green)";
|
|
36
|
+
readonly colorValue: "#dcfce7";
|
|
37
|
+
readonly border: "var(--tt-color-highlight-green-contrast)";
|
|
38
|
+
} | {
|
|
39
|
+
readonly name: "blue";
|
|
40
|
+
readonly value: "var(--tt-color-highlight-blue)";
|
|
41
|
+
readonly colorValue: "#e0f2fe";
|
|
42
|
+
readonly border: "var(--tt-color-highlight-blue-contrast)";
|
|
43
|
+
} | {
|
|
44
|
+
readonly name: "purple";
|
|
45
|
+
readonly value: "var(--tt-color-highlight-purple)";
|
|
46
|
+
readonly colorValue: "#f3e8ff";
|
|
47
|
+
readonly border: "var(--tt-color-highlight-purple-contrast)";
|
|
48
|
+
} | {
|
|
49
|
+
readonly name: "pink";
|
|
50
|
+
readonly value: "var(--tt-color-highlight-pink)";
|
|
51
|
+
readonly colorValue: "#fcf1f6";
|
|
52
|
+
readonly border: "var(--tt-color-highlight-pink-contrast)";
|
|
53
|
+
} | {
|
|
54
|
+
readonly name: "red";
|
|
55
|
+
readonly value: "var(--tt-color-highlight-red)";
|
|
56
|
+
readonly colorValue: "#ffe4e6";
|
|
57
|
+
readonly border: "var(--tt-color-highlight-red-contrast)";
|
|
58
|
+
})[];
|
|
59
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
60
|
+
colors: () => ({
|
|
61
|
+
readonly name: "default";
|
|
62
|
+
readonly value: "var(--tt-bg-color)";
|
|
63
|
+
readonly colorValue: "#ffffff";
|
|
64
|
+
readonly border: "var(--tt-bg-color-contrast)";
|
|
65
|
+
} | {
|
|
66
|
+
readonly name: "gray";
|
|
67
|
+
readonly value: "var(--tt-color-highlight-gray)";
|
|
68
|
+
readonly colorValue: "#f8f8f7";
|
|
69
|
+
readonly border: "var(--tt-color-highlight-gray-contrast)";
|
|
70
|
+
} | {
|
|
71
|
+
readonly name: "brown";
|
|
72
|
+
readonly value: "var(--tt-color-highlight-brown)";
|
|
73
|
+
readonly colorValue: "#f4eeee";
|
|
74
|
+
readonly border: "var(--tt-color-highlight-brown-contrast)";
|
|
75
|
+
} | {
|
|
76
|
+
readonly name: "orange";
|
|
77
|
+
readonly value: "var(--tt-color-highlight-orange)";
|
|
78
|
+
readonly colorValue: "#fbecdd";
|
|
79
|
+
readonly border: "var(--tt-color-highlight-orange-contrast)";
|
|
80
|
+
} | {
|
|
81
|
+
readonly name: "yellow";
|
|
82
|
+
readonly value: "var(--tt-color-highlight-yellow)";
|
|
83
|
+
readonly colorValue: "#fef9c3";
|
|
84
|
+
readonly border: "var(--tt-color-highlight-yellow-contrast)";
|
|
85
|
+
} | {
|
|
86
|
+
readonly name: "green";
|
|
87
|
+
readonly value: "var(--tt-color-highlight-green)";
|
|
88
|
+
readonly colorValue: "#dcfce7";
|
|
89
|
+
readonly border: "var(--tt-color-highlight-green-contrast)";
|
|
90
|
+
} | {
|
|
91
|
+
readonly name: "blue";
|
|
92
|
+
readonly value: "var(--tt-color-highlight-blue)";
|
|
93
|
+
readonly colorValue: "#e0f2fe";
|
|
94
|
+
readonly border: "var(--tt-color-highlight-blue-contrast)";
|
|
95
|
+
} | {
|
|
96
|
+
readonly name: "purple";
|
|
97
|
+
readonly value: "var(--tt-color-highlight-purple)";
|
|
98
|
+
readonly colorValue: "#f3e8ff";
|
|
99
|
+
readonly border: "var(--tt-color-highlight-purple-contrast)";
|
|
100
|
+
} | {
|
|
101
|
+
readonly name: "pink";
|
|
102
|
+
readonly value: "var(--tt-color-highlight-pink)";
|
|
103
|
+
readonly colorValue: "#fcf1f6";
|
|
104
|
+
readonly border: "var(--tt-color-highlight-pink-contrast)";
|
|
105
|
+
} | {
|
|
106
|
+
readonly name: "red";
|
|
107
|
+
readonly value: "var(--tt-color-highlight-red)";
|
|
108
|
+
readonly colorValue: "#ffe4e6";
|
|
109
|
+
readonly border: "var(--tt-color-highlight-red-contrast)";
|
|
110
|
+
})[];
|
|
111
|
+
}>>>, {
|
|
112
|
+
colors: ({
|
|
113
|
+
readonly name: "default";
|
|
114
|
+
readonly value: "var(--tt-bg-color)";
|
|
115
|
+
readonly colorValue: "#ffffff";
|
|
116
|
+
readonly border: "var(--tt-bg-color-contrast)";
|
|
117
|
+
} | {
|
|
118
|
+
readonly name: "gray";
|
|
119
|
+
readonly value: "var(--tt-color-highlight-gray)";
|
|
120
|
+
readonly colorValue: "#f8f8f7";
|
|
121
|
+
readonly border: "var(--tt-color-highlight-gray-contrast)";
|
|
122
|
+
} | {
|
|
123
|
+
readonly name: "brown";
|
|
124
|
+
readonly value: "var(--tt-color-highlight-brown)";
|
|
125
|
+
readonly colorValue: "#f4eeee";
|
|
126
|
+
readonly border: "var(--tt-color-highlight-brown-contrast)";
|
|
127
|
+
} | {
|
|
128
|
+
readonly name: "orange";
|
|
129
|
+
readonly value: "var(--tt-color-highlight-orange)";
|
|
130
|
+
readonly colorValue: "#fbecdd";
|
|
131
|
+
readonly border: "var(--tt-color-highlight-orange-contrast)";
|
|
132
|
+
} | {
|
|
133
|
+
readonly name: "yellow";
|
|
134
|
+
readonly value: "var(--tt-color-highlight-yellow)";
|
|
135
|
+
readonly colorValue: "#fef9c3";
|
|
136
|
+
readonly border: "var(--tt-color-highlight-yellow-contrast)";
|
|
137
|
+
} | {
|
|
138
|
+
readonly name: "green";
|
|
139
|
+
readonly value: "var(--tt-color-highlight-green)";
|
|
140
|
+
readonly colorValue: "#dcfce7";
|
|
141
|
+
readonly border: "var(--tt-color-highlight-green-contrast)";
|
|
142
|
+
} | {
|
|
143
|
+
readonly name: "blue";
|
|
144
|
+
readonly value: "var(--tt-color-highlight-blue)";
|
|
145
|
+
readonly colorValue: "#e0f2fe";
|
|
146
|
+
readonly border: "var(--tt-color-highlight-blue-contrast)";
|
|
147
|
+
} | {
|
|
148
|
+
readonly name: "purple";
|
|
149
|
+
readonly value: "var(--tt-color-highlight-purple)";
|
|
150
|
+
readonly colorValue: "#f3e8ff";
|
|
151
|
+
readonly border: "var(--tt-color-highlight-purple-contrast)";
|
|
152
|
+
} | {
|
|
153
|
+
readonly name: "pink";
|
|
154
|
+
readonly value: "var(--tt-color-highlight-pink)";
|
|
155
|
+
readonly colorValue: "#fcf1f6";
|
|
156
|
+
readonly border: "var(--tt-color-highlight-pink-contrast)";
|
|
157
|
+
} | {
|
|
158
|
+
readonly name: "red";
|
|
159
|
+
readonly value: "var(--tt-color-highlight-red)";
|
|
160
|
+
readonly colorValue: "#ffe4e6";
|
|
161
|
+
readonly border: "var(--tt-color-highlight-red-contrast)";
|
|
162
|
+
})[];
|
|
163
|
+
}>;
|
|
164
|
+
declare const _default: typeof __VLS_export;
|
|
165
|
+
export default _default;
|
|
166
|
+
type __VLS_TypePropsToOption<T> = {
|
|
167
|
+
[K in keyof T & string]-?: {} extends Pick<T, K> ? {
|
|
168
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
169
|
+
} : {
|
|
170
|
+
type: import('vue').PropType<T[K]>;
|
|
171
|
+
required: true;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
type __VLS_WithDefaults<P, D> = {
|
|
175
|
+
[K in keyof P & string]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
176
|
+
default: D[K];
|
|
177
|
+
}> : P[K];
|
|
178
|
+
};
|
|
179
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
180
|
+
[K in keyof T]: T[K];
|
|
181
|
+
} : {
|
|
182
|
+
[K in keyof T as K]: T[K];
|
|
183
|
+
}) & {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/core";
|
|
2
|
+
import type { IconName } from "@/components/tiptap-icons";
|
|
3
|
+
import type { RichtextMessages } from "@/locales";
|
|
4
|
+
/**
|
|
5
|
+
* p5: a toolbar action, built from the template's framework-free helpers
|
|
6
|
+
* (canToggleMark, toggleHeading, …) and rendered by CommandButton.vue.
|
|
7
|
+
*
|
|
8
|
+
* Replaces the template's per-button component + hook pairs (MarkButton +
|
|
9
|
+
* useMark, HeadingButton + useHeading, …); see UPSTREAM.md.
|
|
10
|
+
*/
|
|
11
|
+
export interface EditorCommand {
|
|
12
|
+
/** Tooltip and aria-label, in the editor's locale */
|
|
13
|
+
label: (t: RichtextMessages) => string;
|
|
14
|
+
icon: IconName;
|
|
15
|
+
/** Shown in the tooltip. The shortcut itself is Tiptap's own keymap. */
|
|
16
|
+
shortcutKeys?: string;
|
|
17
|
+
/** Omitted for actions without an on/off state, like undo */
|
|
18
|
+
isActive?: (editor: Editor | null) => boolean;
|
|
19
|
+
canRun: (editor: Editor | null) => boolean;
|
|
20
|
+
run: (editor: Editor | null) => boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Commands never change, so each is created once. That keeps the `command`
|
|
24
|
+
* prop stable, so buttons don't recompute their state on every render.
|
|
25
|
+
*/
|
|
26
|
+
export declare function defineCommand(key: string, create: () => EditorCommand): EditorCommand;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./use-heading";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/core";
|
|
2
|
+
export type Level = 1 | 2 | 3 | 4 | 5 | 6;
|
|
3
|
+
export declare const headingIcons: {
|
|
4
|
+
1: "heading-one";
|
|
5
|
+
2: "heading-two";
|
|
6
|
+
3: "heading-three";
|
|
7
|
+
4: "heading-four";
|
|
8
|
+
5: "heading-five";
|
|
9
|
+
6: "heading-six";
|
|
10
|
+
};
|
|
11
|
+
export declare const HEADING_SHORTCUT_KEYS: Record<Level, string>;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if heading can be toggled in the current editor state
|
|
14
|
+
*/
|
|
15
|
+
export declare function canToggle(editor: Editor | null, level?: Level, turnInto?: boolean): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if heading is currently active
|
|
18
|
+
*/
|
|
19
|
+
export declare function isHeadingActive(editor: Editor | null, level?: Level | Level[]): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Toggles heading in the editor
|
|
22
|
+
*/
|
|
23
|
+
export declare function toggleHeading(editor: Editor | null, level: Level | Level[]): boolean;
|
|
24
|
+
/** p5: toolbar command, rendered by CommandButton (see ../command.ts) */
|
|
25
|
+
export declare const headingCommand: (level: Level) => import("@/components/tiptap-ui/command").EditorCommand;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type Level } from "@/components/tiptap-ui/heading-button";
|
|
2
|
+
/** Dropdown menu for choosing a heading level; the trigger shows the active one */
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
levels?: Level[];
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
7
|
+
levels: () => number[];
|
|
8
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
9
|
+
levels: () => number[];
|
|
10
|
+
}>>>, {
|
|
11
|
+
levels: Level[];
|
|
12
|
+
}>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
15
|
+
type __VLS_TypePropsToOption<T> = {
|
|
16
|
+
[K in keyof T & string]-?: {} extends Pick<T, K> ? {
|
|
17
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
18
|
+
} : {
|
|
19
|
+
type: import('vue').PropType<T[K]>;
|
|
20
|
+
required: true;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
type __VLS_WithDefaults<P, D> = {
|
|
24
|
+
[K in keyof P & string]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
25
|
+
default: D[K];
|
|
26
|
+
}> : P[K];
|
|
27
|
+
};
|
|
28
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
29
|
+
[K in keyof T]: T[K];
|
|
30
|
+
} : {
|
|
31
|
+
[K in keyof T as K]: T[K];
|
|
32
|
+
}) & {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/core";
|
|
2
|
+
import { type Level } from "@/components/tiptap-ui/heading-button";
|
|
3
|
+
/**
|
|
4
|
+
* Gets the currently active heading level from the available levels
|
|
5
|
+
*/
|
|
6
|
+
export declare function getActiveHeadingLevel(editor: Editor | null, levels?: Level[]): Level | undefined;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare const __VLS_template: () => {
|
|
2
|
+
__VLS_Slots: {
|
|
3
|
+
default?: (props: {}) => any;
|
|
4
|
+
};
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
7
|
+
declare const __VLS_base: import("vue").DefineComponent<{}, unknown, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
click: (event: MouseEvent) => void;
|
|
9
|
+
}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/core";
|
|
2
|
+
/**
|
|
3
|
+
* Link editing content for standalone use, e.g. in the mobile toolbar.
|
|
4
|
+
*/
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
editor?: Editor | null;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
11
|
+
type __VLS_TypePropsToOption<T> = {
|
|
12
|
+
[K in keyof T & string]-?: {} extends Pick<T, K> ? {
|
|
13
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
14
|
+
} : {
|
|
15
|
+
type: import('vue').PropType<T[K]>;
|
|
16
|
+
required: true;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import "@/components/tiptap-ui/link-popover/link-popover.scss";
|
|
2
|
+
/**
|
|
3
|
+
* The URL input and actions shown in the link popover (or mobile toolbar).
|
|
4
|
+
*/
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
url: string;
|
|
7
|
+
/** Whether the cursor is currently in a link */
|
|
8
|
+
isActive: boolean;
|
|
9
|
+
/** p5: whether the link opens in a new tab */
|
|
10
|
+
openInNewTab: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
|
+
"update:url": (value: string) => void;
|
|
14
|
+
"set-link": () => void;
|
|
15
|
+
"remove-link": () => void;
|
|
16
|
+
"open-link": () => void;
|
|
17
|
+
"toggle-new-tab": () => void;
|
|
18
|
+
}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_TypePropsToOption<T> = {
|
|
22
|
+
[K in keyof T & string]-?: {} extends Pick<T, K> ? {
|
|
23
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
24
|
+
} : {
|
|
25
|
+
type: import('vue').PropType<T[K]>;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/core";
|
|
2
|
+
/**
|
|
3
|
+
* Link button with a popover for editing the link.
|
|
4
|
+
* For custom popovers, use the `useLinkPopover` composable.
|
|
5
|
+
*
|
|
6
|
+
* The trigger toggles the popover natively (popovertarget), so unlike the
|
|
7
|
+
* React template there's no click handler that flips `isOpen`.
|
|
8
|
+
*
|
|
9
|
+
* p5: Ctrl+K / ⌘K opens it (InputRichtext clicks triggers with `data-rt-shortcut`)
|
|
10
|
+
* and closes it again from inside the popover.
|
|
11
|
+
*/
|
|
12
|
+
type __VLS_Props = {
|
|
13
|
+
editor?: Editor | null;
|
|
14
|
+
hideWhenUnavailable?: boolean;
|
|
15
|
+
/** Open the popover when the cursor moves into a link */
|
|
16
|
+
autoOpenOnLinkActive?: boolean;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_template: () => {
|
|
19
|
+
__VLS_Slots: {
|
|
20
|
+
default?: (props: {}) => any;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
24
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
25
|
+
hideWhenUnavailable: boolean;
|
|
26
|
+
autoOpenOnLinkActive: boolean;
|
|
27
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
28
|
+
"set-link": () => void;
|
|
29
|
+
"open-change": (isOpen: boolean) => void;
|
|
30
|
+
}, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
31
|
+
hideWhenUnavailable: boolean;
|
|
32
|
+
autoOpenOnLinkActive: boolean;
|
|
33
|
+
}>>>, {
|
|
34
|
+
hideWhenUnavailable: boolean;
|
|
35
|
+
autoOpenOnLinkActive: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
|
+
declare const _default: typeof __VLS_export;
|
|
39
|
+
export default _default;
|
|
40
|
+
type __VLS_TypePropsToOption<T> = {
|
|
41
|
+
[K in keyof T & string]-?: {} extends Pick<T, K> ? {
|
|
42
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
43
|
+
} : {
|
|
44
|
+
type: import('vue').PropType<T[K]>;
|
|
45
|
+
required: true;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
type __VLS_WithDefaults<P, D> = {
|
|
49
|
+
[K in keyof P & string]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
50
|
+
default: D[K];
|
|
51
|
+
}> : P[K];
|
|
52
|
+
};
|
|
53
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
54
|
+
new (): {
|
|
55
|
+
$slots: S;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
59
|
+
[K in keyof T]: T[K];
|
|
60
|
+
} : {
|
|
61
|
+
[K in keyof T as K]: T[K];
|
|
62
|
+
}) & {};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { type MaybeGetters } from "@/composables/utils";
|
|
2
|
+
import { type Ref } from "vue";
|
|
3
|
+
import type { Editor } from "@tiptap/core";
|
|
4
|
+
export declare const LINK_SHORTCUT_KEY = "mod+k";
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for the link popover functionality
|
|
7
|
+
*/
|
|
8
|
+
export interface UseLinkPopoverConfig {
|
|
9
|
+
/**
|
|
10
|
+
* The Tiptap editor instance.
|
|
11
|
+
*/
|
|
12
|
+
editor?: Editor | null;
|
|
13
|
+
/**
|
|
14
|
+
* Whether to hide the link popover when not available.
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
hideWhenUnavailable?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Callback function called when the link is set.
|
|
20
|
+
*/
|
|
21
|
+
onSetLink?: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Configuration for the link handler functionality
|
|
25
|
+
*/
|
|
26
|
+
export interface LinkHandlerProps {
|
|
27
|
+
/**
|
|
28
|
+
* The Tiptap editor instance.
|
|
29
|
+
*/
|
|
30
|
+
editor: Editor | null;
|
|
31
|
+
/**
|
|
32
|
+
* Callback function called when the link is set.
|
|
33
|
+
*/
|
|
34
|
+
onSetLink?: () => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Checks if a link can be set in the current editor state
|
|
38
|
+
*/
|
|
39
|
+
export declare function canSetLink(editor: Editor | null): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Checks if a link is currently active in the editor
|
|
42
|
+
*/
|
|
43
|
+
export declare function isLinkActive(editor: Editor | null): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Determines if the link button should be shown
|
|
46
|
+
*/
|
|
47
|
+
export declare function shouldShowLinkButton(props: {
|
|
48
|
+
editor: Editor | null;
|
|
49
|
+
hideWhenUnavailable: boolean;
|
|
50
|
+
}): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* URL state and link actions. The URL follows the link under the cursor.
|
|
53
|
+
*/
|
|
54
|
+
export declare function useLinkHandler(props: {
|
|
55
|
+
editor: Ref<Editor | null>;
|
|
56
|
+
onSetLink?: () => void;
|
|
57
|
+
}): {
|
|
58
|
+
/** Writable, so it can be used with v-model */
|
|
59
|
+
url: import("vue").WritableComputedRef<string>;
|
|
60
|
+
openInNewTab: import("vue").ComputedRef<boolean>;
|
|
61
|
+
toggleNewTab: () => void;
|
|
62
|
+
setLink: () => void;
|
|
63
|
+
removeLink: () => void;
|
|
64
|
+
openLink: (target?: string, features?: string) => void;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Link button state, plus whether the popover should open by itself because
|
|
68
|
+
* the cursor moved into a link while the editor has focus.
|
|
69
|
+
*/
|
|
70
|
+
export declare function useLinkState(props: {
|
|
71
|
+
editor: Ref<Editor | null>;
|
|
72
|
+
hideWhenUnavailable: () => boolean;
|
|
73
|
+
}): {
|
|
74
|
+
isVisible: import("vue").ComputedRef<boolean>;
|
|
75
|
+
canSet: import("vue").ComputedRef<boolean>;
|
|
76
|
+
isActive: import("vue").ComputedRef<boolean>;
|
|
77
|
+
isFocused: import("vue").ComputedRef<boolean>;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Link popover state and actions.
|
|
81
|
+
*/
|
|
82
|
+
export declare function useLinkPopover(config?: MaybeGetters<UseLinkPopoverConfig>): {
|
|
83
|
+
/** Writable, so it can be used with v-model */
|
|
84
|
+
url: import("vue").WritableComputedRef<string>;
|
|
85
|
+
openInNewTab: import("vue").ComputedRef<boolean>;
|
|
86
|
+
toggleNewTab: () => void;
|
|
87
|
+
setLink: () => void;
|
|
88
|
+
removeLink: () => void;
|
|
89
|
+
openLink: (target?: string, features?: string) => void;
|
|
90
|
+
shortcutKeys: string;
|
|
91
|
+
icon: "link";
|
|
92
|
+
isVisible: import("vue").ComputedRef<boolean>;
|
|
93
|
+
canSet: import("vue").ComputedRef<boolean>;
|
|
94
|
+
isActive: import("vue").ComputedRef<boolean>;
|
|
95
|
+
isFocused: import("vue").ComputedRef<boolean>;
|
|
96
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./use-list";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Editor } from "@tiptap/core";
|
|
2
|
+
export type ListType = "bulletList" | "orderedList" | "taskList";
|
|
3
|
+
export declare const listIcons: {
|
|
4
|
+
bulletList: "list";
|
|
5
|
+
orderedList: "list-ordered";
|
|
6
|
+
taskList: "list-todo";
|
|
7
|
+
};
|
|
8
|
+
export declare const LIST_SHORTCUT_KEYS: Record<ListType, string>;
|
|
9
|
+
/**
|
|
10
|
+
* Checks if a list can be toggled in the current editor state
|
|
11
|
+
*/
|
|
12
|
+
export declare function canToggleList(editor: Editor | null, type: ListType, turnInto?: boolean): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Checks if list is currently active
|
|
15
|
+
*/
|
|
16
|
+
export declare function isListActive(editor: Editor | null, type: ListType): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Toggles list in the editor
|
|
19
|
+
*/
|
|
20
|
+
export declare function toggleList(editor: Editor | null, type: ListType): boolean;
|
|
21
|
+
/** p5: toolbar command, rendered by CommandButton (see ../command.ts) */
|
|
22
|
+
export declare const listCommand: (type: ListType) => import("@/components/tiptap-ui/command").EditorCommand;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ListType } from "@/components/tiptap-ui/list-button";
|
|
2
|
+
/** Dropdown menu for choosing a list type; the trigger shows the active one */
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
types?: ListType[];
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
7
|
+
types: () => string[];
|
|
8
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_Props>, {
|
|
9
|
+
types: () => string[];
|
|
10
|
+
}>>>, {
|
|
11
|
+
types: ListType[];
|
|
12
|
+
}>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
15
|
+
type __VLS_TypePropsToOption<T> = {
|
|
16
|
+
[K in keyof T & string]-?: {} extends Pick<T, K> ? {
|
|
17
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
18
|
+
} : {
|
|
19
|
+
type: import('vue').PropType<T[K]>;
|
|
20
|
+
required: true;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
type __VLS_WithDefaults<P, D> = {
|
|
24
|
+
[K in keyof P & string]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
25
|
+
default: D[K];
|
|
26
|
+
}> : P[K];
|
|
27
|
+
};
|
|
28
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
29
|
+
[K in keyof T]: T[K];
|
|
30
|
+
} : {
|
|
31
|
+
[K in keyof T as K]: T[K];
|
|
32
|
+
}) & {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/core";
|
|
2
|
+
import type { IconName } from "@/components/tiptap-icons";
|
|
3
|
+
import { type ListType } from "@/components/tiptap-ui/list-button";
|
|
4
|
+
export interface ListOption {
|
|
5
|
+
type: ListType;
|
|
6
|
+
icon: IconName;
|
|
7
|
+
}
|
|
8
|
+
export declare const listOptions: ListOption[];
|
|
9
|
+
export declare function canToggleAnyList(editor: Editor | null, listTypes: ListType[]): boolean;
|
|
10
|
+
export declare function isAnyListActive(editor: Editor | null, listTypes: ListType[]): boolean;
|
|
11
|
+
export declare function getFilteredListOptions(availableTypes: ListType[]): typeof listOptions;
|
|
12
|
+
/**
|
|
13
|
+
* Gets the currently active list type from the available types
|
|
14
|
+
*/
|
|
15
|
+
export declare function getActiveListType(editor: Editor | null, availableTypes: ListType[]): ListType | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./use-mark";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Editor } from "@tiptap/core";
|
|
2
|
+
export type Mark = "bold" | "italic" | "strike" | "code" | "underline" | "superscript" | "subscript";
|
|
3
|
+
export declare const markIcons: {
|
|
4
|
+
bold: "bold";
|
|
5
|
+
italic: "italic";
|
|
6
|
+
underline: "underline";
|
|
7
|
+
strike: "strike";
|
|
8
|
+
code: "code2";
|
|
9
|
+
superscript: "superscript";
|
|
10
|
+
subscript: "subscript";
|
|
11
|
+
};
|
|
12
|
+
export declare const MARK_SHORTCUT_KEYS: Record<Mark, string>;
|
|
13
|
+
/**
|
|
14
|
+
* Checks if a mark can be toggled in the current editor state
|
|
15
|
+
*/
|
|
16
|
+
export declare function canToggleMark(editor: Editor | null, type: Mark): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if a mark is currently active
|
|
19
|
+
*/
|
|
20
|
+
export declare function isMarkActive(editor: Editor | null, type: Mark): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Toggles a mark in the editor
|
|
23
|
+
*/
|
|
24
|
+
export declare function toggleMark(editor: Editor | null, type: Mark): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the formatted mark name
|
|
27
|
+
*/
|
|
28
|
+
/** p5: toolbar command, rendered by CommandButton (see ../command.ts) */
|
|
29
|
+
export declare const markCommand: (type: Mark) => import("@/components/tiptap-ui/command").EditorCommand;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./use-text-align";
|