tiptapify 0.1.4 → 0.1.6
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/dist/tiptapify.css +2 -1
- package/dist/tiptapify.mjs +68619 -55059
- package/dist/tiptapify.umd.js +90 -80
- package/index.d.ts +98 -40
- package/package.json +73 -67
- package/src/components/Footer.vue +4 -3
- package/src/components/MenuBubble.vue +16 -16
- package/src/components/MenuFloating.vue +13 -13
- package/src/components/Tiptapify.vue +19 -9
- package/src/components/Toolbar/Index.vue +21 -17
- package/src/components/Toolbar/Items.vue +2 -1
- package/src/components/Toolbar/actions.ts +3 -3
- package/src/components/Toolbar/alignment.ts +5 -5
- package/src/components/Toolbar/format.ts +5 -5
- package/src/components/Toolbar/formatExtra.ts +6 -6
- package/src/components/Toolbar/items.ts +8 -8
- package/src/components/Toolbar/list.ts +6 -6
- package/src/components/Toolbar/media.ts +8 -8
- package/src/components/Toolbar/misc.ts +8 -8
- package/src/components/Toolbar/style.ts +7 -7
- package/src/components/UI/TiptapifyDialog.vue +14 -13
- package/src/components/editorExtensions.ts +4 -2
- package/src/components/index.ts +6 -6
- package/src/constants/style.test.ts +49 -0
- package/src/constants/style.ts +4 -3
- package/src/extensions/PickerEventBus.test.ts +38 -0
- package/src/extensions/charmap/arrows.ts +700 -700
- package/src/extensions/charmap/box_drawing.ts +184 -184
- package/src/extensions/charmap/currency.ts +93 -93
- package/src/extensions/charmap/cyrillic.ts +368 -368
- package/src/extensions/charmap/diacritics.ts +60 -60
- package/src/extensions/charmap/extended_letters.ts +748 -748
- package/src/extensions/charmap/greek.ts +252 -252
- package/src/extensions/charmap/hebrew.ts +105 -105
- package/src/extensions/charmap/math.ts +1684 -1684
- package/src/extensions/charmap/punctuation.ts +68 -68
- package/src/extensions/charmap/symbols.ts +288 -288
- package/src/extensions/charmap/typography.ts +284 -284
- package/src/extensions/components/CodeBlockComponent.vue +2 -2
- package/src/extensions/components/actions/redo/Button.vue +12 -10
- package/src/extensions/components/actions/undo/Button.vue +12 -10
- package/src/extensions/components/alignment/center/Button.vue +11 -9
- package/src/extensions/components/alignment/justify/Button.vue +11 -9
- package/src/extensions/components/alignment/left/Button.vue +11 -9
- package/src/extensions/components/alignment/right/Button.vue +11 -9
- package/src/extensions/components/format/bold/Button.vue +12 -10
- package/src/extensions/components/format/italic/Button.vue +12 -10
- package/src/extensions/components/format/strike/Button.vue +12 -10
- package/src/extensions/components/format/underline/Button.vue +5 -3
- package/src/extensions/components/formatExtra/code/Button.vue +12 -10
- package/src/extensions/components/formatExtra/codeBlock/Button.vue +12 -10
- package/src/extensions/components/formatExtra/quote/Button.vue +12 -10
- package/src/extensions/components/formatExtra/sub/Button.vue +12 -10
- package/src/extensions/components/formatExtra/sup/Button.vue +12 -10
- package/src/extensions/components/list/bullet/Button.vue +21 -19
- package/src/extensions/components/list/bullet/index.ts +1 -1
- package/src/extensions/components/list/indent/Button.vue +13 -11
- package/src/extensions/components/list/numbered/Button.vue +12 -10
- package/src/extensions/components/list/outdent/Button.vue +13 -11
- package/src/extensions/components/list/task/Button.vue +12 -10
- package/src/extensions/components/media/charmap/Button.vue +8 -5
- package/src/extensions/components/media/charmap/Picker.vue +20 -18
- package/src/extensions/components/media/emoji/Button.vue +8 -6
- package/src/extensions/components/media/emoji/Picker.vue +20 -18
- package/src/extensions/components/media/iframe/Button.vue +13 -11
- package/src/extensions/components/media/iframe/IframeDialog.vue +27 -25
- package/src/extensions/components/media/image/Button.vue +12 -10
- package/src/extensions/components/media/image/ImageDialog.vue +46 -42
- package/src/extensions/components/media/link/Button.vue +12 -11
- package/src/extensions/components/media/link/LinkDialog.vue +39 -37
- package/src/extensions/components/media/link/index.ts +6 -7
- package/src/extensions/components/media/table/Button.vue +21 -19
- package/src/extensions/components/media/table/ColumnActions.vue +5 -4
- package/src/extensions/components/media/table/RowActions.vue +5 -4
- package/src/extensions/components/media/table/TableBuilder.vue +15 -13
- package/src/extensions/components/media/video/Button.vue +12 -10
- package/src/extensions/components/media/video/VideoDialog.vue +33 -15
- package/src/extensions/components/misc/break/Button.vue +8 -6
- package/src/extensions/components/misc/formatClear/Button.vue +12 -10
- package/src/extensions/components/misc/fullscreen/Button.vue +20 -18
- package/src/extensions/components/misc/invisibleChar/Button.vue +11 -9
- package/src/extensions/components/misc/line/Button.vue +11 -9
- package/src/extensions/components/misc/preview/Button.vue +11 -9
- package/src/extensions/components/misc/source/Button.vue +9 -7
- package/src/extensions/components/misc/source/ShowSourceDialog.vue +27 -25
- package/src/extensions/components/slashCommands/CommandsList.vue +3 -1
- package/src/extensions/components/style/StyleColor.vue +26 -22
- package/src/extensions/components/style/color/Button.vue +19 -17
- package/src/extensions/components/style/fontFamily/Button.vue +16 -14
- package/src/extensions/components/style/fontFamily/FontFamily.vue +3 -2
- package/src/extensions/components/style/fontSize/Button.vue +17 -15
- package/src/extensions/components/style/fontSize/FontSize.vue +4 -3
- package/src/extensions/components/style/heading/Button.vue +19 -16
- package/src/extensions/components/style/highlight/Button.vue +19 -17
- package/src/extensions/components/style/lineHeight/Button.vue +16 -14
- package/src/extensions/components/style/lineHeight/FontFamily.vue +3 -2
- package/src/extensions/components/style/lineHeight/LineHeight.vue +3 -2
- package/src/extensions/emoji/activities.ts +534 -534
- package/src/extensions/emoji/animals_and_nature.ts +978 -978
- package/src/extensions/emoji/component.ts +54 -54
- package/src/extensions/emoji/flags.ts +1644 -1644
- package/src/extensions/emoji/food_and_drink.ts +810 -810
- package/src/extensions/emoji/objects.ts +1608 -1608
- package/src/extensions/emoji/people_and_body.ts +2022 -2022
- package/src/extensions/emoji/smileys_and_emotion.ts +1038 -1038
- package/src/extensions/emoji/symbols.ts +1290 -1290
- package/src/extensions/emoji/travel_and_places.ts +1332 -1332
- package/src/index.ts +15 -5
- package/src/types/editor.ts +10 -0
- package/src/types/slashCommandsTypes.ts +1 -1
- package/src/types/toolbarTypes.ts +3 -1
- package/src/utils/helpers.test.ts +32 -0
- package/src/utils/helpers.ts +1 -1
package/src/index.ts
CHANGED
|
@@ -3,7 +3,8 @@ import Tiptapify from '@tiptapify/components/Tiptapify.vue'
|
|
|
3
3
|
import TiptapifyDialog from '@tiptapify/components/UI/TiptapifyDialog.vue'
|
|
4
4
|
|
|
5
5
|
import { Editor as TipTapEditor } from '@tiptap/vue-3'
|
|
6
|
-
import { Node, mergeAttributes } from '@tiptap/core'
|
|
6
|
+
import { Node, Mark, markInputRule, markPasteRule, mergeAttributes } from '@tiptap/core'
|
|
7
|
+
import type { CommandProps, InputRuleMatch, PasteRuleMatch } from '@tiptap/core'
|
|
7
8
|
|
|
8
9
|
import * as mdi from '@mdi/js'
|
|
9
10
|
|
|
@@ -25,9 +26,18 @@ const TiptapifyPlugin: Plugin = {
|
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
export { Tiptapify, TiptapifyDialog }
|
|
29
29
|
export default TiptapifyPlugin
|
|
30
30
|
|
|
31
|
-
export {
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
export {
|
|
32
|
+
mdi,
|
|
33
|
+
TipTapEditor,
|
|
34
|
+
Tiptapify,
|
|
35
|
+
TiptapifyDialog,
|
|
36
|
+
Node,
|
|
37
|
+
Mark,
|
|
38
|
+
markInputRule,
|
|
39
|
+
markPasteRule,
|
|
40
|
+
mergeAttributes,
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export type { CommandProps, InputRuleMatch, PasteRuleMatch }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/vue-3'
|
|
2
|
+
|
|
3
|
+
declare class TiptapifyEditor extends Editor {
|
|
4
|
+
interactiveStyles: boolean | undefined
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export { TiptapifyEditor }
|
|
8
|
+
|
|
9
|
+
export type variantBtnTypes = 'outlined' | 'plain' | 'flat' | 'text' | 'elevated' | 'tonal' | undefined
|
|
10
|
+
export type variantFieldTypes = 'outlined' | 'plain' | 'filled' | 'solo' | 'solo-filled' | 'solo-inverted' | 'underlined' | undefined
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Component } from 'vue'
|
|
2
|
+
|
|
1
3
|
export enum ToolbarSectionsEnum {
|
|
2
4
|
actions = 'actions',
|
|
3
5
|
alignment = 'alignment',
|
|
@@ -12,7 +14,7 @@ export enum ToolbarSectionsEnum {
|
|
|
12
14
|
|
|
13
15
|
export type sectionComponent = {
|
|
14
16
|
name: string,
|
|
15
|
-
component:
|
|
17
|
+
component: Component,
|
|
16
18
|
props?: { [key: string]: any }
|
|
17
19
|
}
|
|
18
20
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import helpers from './helpers'
|
|
3
|
+
|
|
4
|
+
describe('ucFirst', () => {
|
|
5
|
+
it('capitalizes the first character of a string', () => {
|
|
6
|
+
expect(helpers.ucFirst('hello')).toBe('Hello')
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
it('returns empty string for empty input', () => {
|
|
10
|
+
expect(helpers.ucFirst('')).toBe('')
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
it('converts snake_case to words and capitalizes', () => {
|
|
14
|
+
expect(helpers.ucFirst('hello_world', true)).toBe('Hello world')
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('converts kebab-case to words and capitalizes', () => {
|
|
18
|
+
expect(helpers.ucFirst('hello-world', false, true)).toBe('Hello world')
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
it('converts both snake_case and kebab-case', () => {
|
|
22
|
+
expect(helpers.ucFirst('hello_world-test', true, true)).toBe('Hello world test')
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('handles already capitalized string', () => {
|
|
26
|
+
expect(helpers.ucFirst('Hello')).toBe('Hello')
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('handles single character', () => {
|
|
30
|
+
expect(helpers.ucFirst('a')).toBe('A')
|
|
31
|
+
})
|
|
32
|
+
})
|
package/src/utils/helpers.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
|
-
ucFirst: (string:
|
|
2
|
+
ucFirst: (string: string, snakeCaseToWords: boolean = false, kebabCaseToWords: boolean = false): string|any => {
|
|
3
3
|
if (!string) {
|
|
4
4
|
return string
|
|
5
5
|
}
|