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.
Files changed (113) hide show
  1. package/dist/tiptapify.css +2 -1
  2. package/dist/tiptapify.mjs +68619 -55059
  3. package/dist/tiptapify.umd.js +90 -80
  4. package/index.d.ts +98 -40
  5. package/package.json +73 -67
  6. package/src/components/Footer.vue +4 -3
  7. package/src/components/MenuBubble.vue +16 -16
  8. package/src/components/MenuFloating.vue +13 -13
  9. package/src/components/Tiptapify.vue +19 -9
  10. package/src/components/Toolbar/Index.vue +21 -17
  11. package/src/components/Toolbar/Items.vue +2 -1
  12. package/src/components/Toolbar/actions.ts +3 -3
  13. package/src/components/Toolbar/alignment.ts +5 -5
  14. package/src/components/Toolbar/format.ts +5 -5
  15. package/src/components/Toolbar/formatExtra.ts +6 -6
  16. package/src/components/Toolbar/items.ts +8 -8
  17. package/src/components/Toolbar/list.ts +6 -6
  18. package/src/components/Toolbar/media.ts +8 -8
  19. package/src/components/Toolbar/misc.ts +8 -8
  20. package/src/components/Toolbar/style.ts +7 -7
  21. package/src/components/UI/TiptapifyDialog.vue +14 -13
  22. package/src/components/editorExtensions.ts +4 -2
  23. package/src/components/index.ts +6 -6
  24. package/src/constants/style.test.ts +49 -0
  25. package/src/constants/style.ts +4 -3
  26. package/src/extensions/PickerEventBus.test.ts +38 -0
  27. package/src/extensions/charmap/arrows.ts +700 -700
  28. package/src/extensions/charmap/box_drawing.ts +184 -184
  29. package/src/extensions/charmap/currency.ts +93 -93
  30. package/src/extensions/charmap/cyrillic.ts +368 -368
  31. package/src/extensions/charmap/diacritics.ts +60 -60
  32. package/src/extensions/charmap/extended_letters.ts +748 -748
  33. package/src/extensions/charmap/greek.ts +252 -252
  34. package/src/extensions/charmap/hebrew.ts +105 -105
  35. package/src/extensions/charmap/math.ts +1684 -1684
  36. package/src/extensions/charmap/punctuation.ts +68 -68
  37. package/src/extensions/charmap/symbols.ts +288 -288
  38. package/src/extensions/charmap/typography.ts +284 -284
  39. package/src/extensions/components/CodeBlockComponent.vue +2 -2
  40. package/src/extensions/components/actions/redo/Button.vue +12 -10
  41. package/src/extensions/components/actions/undo/Button.vue +12 -10
  42. package/src/extensions/components/alignment/center/Button.vue +11 -9
  43. package/src/extensions/components/alignment/justify/Button.vue +11 -9
  44. package/src/extensions/components/alignment/left/Button.vue +11 -9
  45. package/src/extensions/components/alignment/right/Button.vue +11 -9
  46. package/src/extensions/components/format/bold/Button.vue +12 -10
  47. package/src/extensions/components/format/italic/Button.vue +12 -10
  48. package/src/extensions/components/format/strike/Button.vue +12 -10
  49. package/src/extensions/components/format/underline/Button.vue +5 -3
  50. package/src/extensions/components/formatExtra/code/Button.vue +12 -10
  51. package/src/extensions/components/formatExtra/codeBlock/Button.vue +12 -10
  52. package/src/extensions/components/formatExtra/quote/Button.vue +12 -10
  53. package/src/extensions/components/formatExtra/sub/Button.vue +12 -10
  54. package/src/extensions/components/formatExtra/sup/Button.vue +12 -10
  55. package/src/extensions/components/list/bullet/Button.vue +21 -19
  56. package/src/extensions/components/list/bullet/index.ts +1 -1
  57. package/src/extensions/components/list/indent/Button.vue +13 -11
  58. package/src/extensions/components/list/numbered/Button.vue +12 -10
  59. package/src/extensions/components/list/outdent/Button.vue +13 -11
  60. package/src/extensions/components/list/task/Button.vue +12 -10
  61. package/src/extensions/components/media/charmap/Button.vue +8 -5
  62. package/src/extensions/components/media/charmap/Picker.vue +20 -18
  63. package/src/extensions/components/media/emoji/Button.vue +8 -6
  64. package/src/extensions/components/media/emoji/Picker.vue +20 -18
  65. package/src/extensions/components/media/iframe/Button.vue +13 -11
  66. package/src/extensions/components/media/iframe/IframeDialog.vue +27 -25
  67. package/src/extensions/components/media/image/Button.vue +12 -10
  68. package/src/extensions/components/media/image/ImageDialog.vue +46 -42
  69. package/src/extensions/components/media/link/Button.vue +12 -11
  70. package/src/extensions/components/media/link/LinkDialog.vue +39 -37
  71. package/src/extensions/components/media/link/index.ts +6 -7
  72. package/src/extensions/components/media/table/Button.vue +21 -19
  73. package/src/extensions/components/media/table/ColumnActions.vue +5 -4
  74. package/src/extensions/components/media/table/RowActions.vue +5 -4
  75. package/src/extensions/components/media/table/TableBuilder.vue +15 -13
  76. package/src/extensions/components/media/video/Button.vue +12 -10
  77. package/src/extensions/components/media/video/VideoDialog.vue +33 -15
  78. package/src/extensions/components/misc/break/Button.vue +8 -6
  79. package/src/extensions/components/misc/formatClear/Button.vue +12 -10
  80. package/src/extensions/components/misc/fullscreen/Button.vue +20 -18
  81. package/src/extensions/components/misc/invisibleChar/Button.vue +11 -9
  82. package/src/extensions/components/misc/line/Button.vue +11 -9
  83. package/src/extensions/components/misc/preview/Button.vue +11 -9
  84. package/src/extensions/components/misc/source/Button.vue +9 -7
  85. package/src/extensions/components/misc/source/ShowSourceDialog.vue +27 -25
  86. package/src/extensions/components/slashCommands/CommandsList.vue +3 -1
  87. package/src/extensions/components/style/StyleColor.vue +26 -22
  88. package/src/extensions/components/style/color/Button.vue +19 -17
  89. package/src/extensions/components/style/fontFamily/Button.vue +16 -14
  90. package/src/extensions/components/style/fontFamily/FontFamily.vue +3 -2
  91. package/src/extensions/components/style/fontSize/Button.vue +17 -15
  92. package/src/extensions/components/style/fontSize/FontSize.vue +4 -3
  93. package/src/extensions/components/style/heading/Button.vue +19 -16
  94. package/src/extensions/components/style/highlight/Button.vue +19 -17
  95. package/src/extensions/components/style/lineHeight/Button.vue +16 -14
  96. package/src/extensions/components/style/lineHeight/FontFamily.vue +3 -2
  97. package/src/extensions/components/style/lineHeight/LineHeight.vue +3 -2
  98. package/src/extensions/emoji/activities.ts +534 -534
  99. package/src/extensions/emoji/animals_and_nature.ts +978 -978
  100. package/src/extensions/emoji/component.ts +54 -54
  101. package/src/extensions/emoji/flags.ts +1644 -1644
  102. package/src/extensions/emoji/food_and_drink.ts +810 -810
  103. package/src/extensions/emoji/objects.ts +1608 -1608
  104. package/src/extensions/emoji/people_and_body.ts +2022 -2022
  105. package/src/extensions/emoji/smileys_and_emotion.ts +1038 -1038
  106. package/src/extensions/emoji/symbols.ts +1290 -1290
  107. package/src/extensions/emoji/travel_and_places.ts +1332 -1332
  108. package/src/index.ts +15 -5
  109. package/src/types/editor.ts +10 -0
  110. package/src/types/slashCommandsTypes.ts +1 -1
  111. package/src/types/toolbarTypes.ts +3 -1
  112. package/src/utils/helpers.test.ts +32 -0
  113. 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 { mdi }
32
- export { TipTapEditor }
33
- export { Node, mergeAttributes }
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
@@ -9,7 +9,7 @@ export type SlashCommand = {
9
9
  isPicker?: boolean
10
10
  }
11
11
 
12
- export type SlashCommandId =
12
+ export type SlashCommandId =
13
13
  | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
14
14
  | 'bulletList' | 'numberedList' | 'taskList'
15
15
  | 'code' | 'codeBlock' | 'quote'
@@ -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: any,
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
+ })
@@ -1,5 +1,5 @@
1
1
  export default {
2
- ucFirst: (string: String, snakeCaseToWords: Boolean = false, kebabCaseToWords: Boolean = false): String|any => {
2
+ ucFirst: (string: string, snakeCaseToWords: boolean = false, kebabCaseToWords: boolean = false): string|any => {
3
3
  if (!string) {
4
4
  return string
5
5
  }