tiptapify 0.0.16 → 0.0.18

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 (127) hide show
  1. package/README.md +2 -2
  2. package/dist/tiptapify.css +1 -1
  3. package/dist/tiptapify.mjs +25493 -25148
  4. package/dist/tiptapify.umd.js +38 -38
  5. package/index.d.ts +2 -2
  6. package/package.json +1 -1
  7. package/src/components/Tiptapify.vue +3 -3
  8. package/src/components/Toolbar/Index.vue +9 -30
  9. package/src/components/Toolbar/Items.vue +14 -29
  10. package/src/components/Toolbar/actions.ts +18 -0
  11. package/src/components/Toolbar/alignment.ts +28 -0
  12. package/src/components/Toolbar/format.ts +28 -0
  13. package/src/components/Toolbar/formatExtra.ts +33 -0
  14. package/src/components/Toolbar/items.ts +19 -114
  15. package/src/components/Toolbar/list.ts +33 -0
  16. package/src/components/Toolbar/media.ts +33 -0
  17. package/src/components/Toolbar/misc.ts +38 -0
  18. package/src/components/Toolbar/style.ts +38 -0
  19. package/src/components/editorExtensions.ts +8 -6
  20. package/src/components/index.ts +2 -2
  21. package/src/extensions/components/actions/redo/Button.vue +29 -0
  22. package/src/extensions/components/actions/undo/Button.vue +29 -0
  23. package/src/extensions/components/alignment/center/Button.vue +29 -0
  24. package/src/extensions/components/alignment/justify/Button.vue +29 -0
  25. package/src/extensions/components/alignment/left/Button.vue +29 -0
  26. package/src/extensions/components/alignment/right/Button.vue +29 -0
  27. package/src/extensions/components/format/bold/Button.vue +30 -0
  28. package/src/extensions/components/format/italic/Button.vue +30 -0
  29. package/src/extensions/components/format/strike/Button.vue +30 -0
  30. package/src/extensions/components/format/underline/Button.vue +30 -0
  31. package/src/extensions/components/formatExtra/code/Button.vue +30 -0
  32. package/src/extensions/components/formatExtra/codeBlock/Button.vue +30 -0
  33. package/src/extensions/components/formatExtra/quote/Button.vue +30 -0
  34. package/src/extensions/components/formatExtra/sub/Button.vue +30 -0
  35. package/src/extensions/components/formatExtra/sup/Button.vue +30 -0
  36. package/src/extensions/components/list/bullet/Button.vue +30 -0
  37. package/src/extensions/components/list/indent/Button.vue +30 -0
  38. package/src/extensions/components/list/numbered/Button.vue +30 -0
  39. package/src/extensions/components/list/outdent/Button.vue +30 -0
  40. package/src/extensions/components/list/task/Button.vue +30 -0
  41. package/src/extensions/components/{Emoji.vue → media/emoji/Button.vue} +65 -62
  42. package/src/extensions/components/media/image/Button.vue +32 -0
  43. package/src/extensions/components/media/link/Button.vue +34 -0
  44. package/src/extensions/components/media/table/Button.vue +119 -0
  45. package/src/extensions/components/media/table/ColumnActions.vue +52 -0
  46. package/src/extensions/components/media/table/RowActions.vue +52 -0
  47. package/src/extensions/components/media/video/Button.vue +32 -0
  48. package/src/extensions/components/media/video/index.ts +32 -0
  49. package/src/extensions/components/misc/break/Button.vue +25 -0
  50. package/src/extensions/components/misc/formatClear/Button.vue +29 -0
  51. package/src/extensions/components/misc/invisibleChar/Button.vue +30 -0
  52. package/src/extensions/components/misc/line/Button.vue +25 -0
  53. package/src/extensions/components/misc/preview/Button.vue +36 -0
  54. package/src/extensions/components/misc/source/Button.vue +31 -0
  55. package/src/extensions/components/{ShowSourceDialog.vue → misc/source/ShowSourceDialog.vue} +5 -14
  56. package/src/extensions/components/{StyleColor.vue → style/StyleColor.vue} +5 -8
  57. package/src/extensions/components/style/color/Button.vue +57 -0
  58. package/src/extensions/components/style/fontFamily/Button.vue +60 -0
  59. package/src/extensions/components/style/fontFamily/FontFamily.vue +76 -0
  60. package/src/extensions/components/style/fontSize/Button.vue +64 -0
  61. package/src/extensions/components/{FontSize.vue → style/fontSize/FontSize.vue} +0 -5
  62. package/src/extensions/components/style/heading/Button.vue +61 -0
  63. package/src/extensions/components/style/highlight/Button.vue +57 -0
  64. package/src/extensions/components/style/lineHeight/Button.vue +60 -0
  65. package/src/extensions/components/{LineHeight.vue → style/lineHeight/LineHeight.vue} +0 -4
  66. package/src/types/toolbarSections.ts +16 -2
  67. package/src/components/Toolbar/Group.vue +0 -42
  68. package/src/components/Toolbar/GroupBtn.vue +0 -32
  69. package/src/components/Toolbar/GroupDropdown.vue +0 -67
  70. package/src/components/Toolbar/defaultExtensionComponents.ts +0 -65
  71. package/src/composables/Toolbar/Actions/useRedo.ts +0 -22
  72. package/src/composables/Toolbar/Actions/useUndo.ts +0 -22
  73. package/src/composables/Toolbar/Alignment/useAlignmentCenter.ts +0 -23
  74. package/src/composables/Toolbar/Alignment/useAlignmentJustify.ts +0 -23
  75. package/src/composables/Toolbar/Alignment/useAlignmentLeft.ts +0 -23
  76. package/src/composables/Toolbar/Alignment/useAlignmentRight.ts +0 -23
  77. package/src/composables/Toolbar/Format/useBold.ts +0 -23
  78. package/src/composables/Toolbar/Format/useItalic.ts +0 -23
  79. package/src/composables/Toolbar/Format/useStrike.ts +0 -23
  80. package/src/composables/Toolbar/Format/useUnderline.ts +0 -23
  81. package/src/composables/Toolbar/FormatExtra/useBlockquote.ts +0 -23
  82. package/src/composables/Toolbar/FormatExtra/useCode.ts +0 -23
  83. package/src/composables/Toolbar/FormatExtra/useCodeBlock.ts +0 -23
  84. package/src/composables/Toolbar/FormatExtra/useSub.ts +0 -23
  85. package/src/composables/Toolbar/FormatExtra/useSup.ts +0 -23
  86. package/src/composables/Toolbar/List/useBullet.ts +0 -22
  87. package/src/composables/Toolbar/List/useIndent.ts +0 -23
  88. package/src/composables/Toolbar/List/useNumbered.ts +0 -22
  89. package/src/composables/Toolbar/List/useOutdent.ts +0 -23
  90. package/src/composables/Toolbar/List/useTask.ts +0 -22
  91. package/src/composables/Toolbar/Media/useEmoji.ts +0 -19
  92. package/src/composables/Toolbar/Media/useImage.ts +0 -23
  93. package/src/composables/Toolbar/Media/useLink.ts +0 -23
  94. package/src/composables/Toolbar/Media/useTable.ts +0 -187
  95. package/src/composables/Toolbar/Media/useVideo.ts +0 -22
  96. package/src/composables/Toolbar/Misc/useBreak.ts +0 -20
  97. package/src/composables/Toolbar/Misc/useFormatClear.ts +0 -22
  98. package/src/composables/Toolbar/Misc/useInvisibleCharacters.ts +0 -22
  99. package/src/composables/Toolbar/Misc/useLine.ts +0 -20
  100. package/src/composables/Toolbar/Misc/usePreview.ts +0 -19
  101. package/src/composables/Toolbar/Misc/useSource.ts +0 -20
  102. package/src/composables/Toolbar/Style/useColor.ts +0 -35
  103. package/src/composables/Toolbar/Style/useFontFamily.ts +0 -48
  104. package/src/composables/Toolbar/Style/useFontSize.ts +0 -49
  105. package/src/composables/Toolbar/Style/useHeading.ts +0 -63
  106. package/src/composables/Toolbar/Style/useHighlight.ts +0 -35
  107. package/src/composables/Toolbar/Style/useLineHeight.ts +0 -48
  108. package/src/composables/Toolbar/useActionsItems.ts +0 -9
  109. package/src/composables/Toolbar/useAlignmentItems.ts +0 -13
  110. package/src/composables/Toolbar/useFormatExtraItems.ts +0 -15
  111. package/src/composables/Toolbar/useFormatItems.ts +0 -13
  112. package/src/composables/Toolbar/useListItems.ts +0 -15
  113. package/src/composables/Toolbar/useMediaItems.ts +0 -15
  114. package/src/composables/Toolbar/useMiscItems.ts +0 -17
  115. package/src/composables/Toolbar/useStyleItems.ts +0 -17
  116. package/src/extensions/components/PreviewDialog.vue +0 -43
  117. package/src/types/extensionComponents.ts +0 -22
  118. package/src/types/toolbarItems.ts +0 -41
  119. /package/src/extensions/components/{ImageDialog.vue → media/image/ImageDialog.vue} +0 -0
  120. /package/src/extensions/{image.ts → components/media/image/index.ts} +0 -0
  121. /package/src/extensions/components/{LinkDialog.vue → media/link/LinkDialog.vue} +0 -0
  122. /package/src/extensions/{link.ts → components/media/link/index.ts} +0 -0
  123. /package/src/extensions/components/{TableBuilder.vue → media/table/TableBuilder.vue} +0 -0
  124. /package/src/extensions/components/{VideoDialog.vue → media/video/VideoDialog.vue} +0 -0
  125. /package/src/extensions/{preview.ts → components/misc/preview/index.ts} +0 -0
  126. /package/src/extensions/{view-source.ts → components/misc/source/index.ts} +0 -0
  127. /package/src/extensions/components/{FontFamily.vue → style/lineHeight/FontFamily.vue} +0 -0
@@ -1,48 +0,0 @@
1
- import * as mdi from "@mdi/js";
2
- import { Editor } from "@tiptap/vue-3";
3
- import { lineHeights } from "@tiptapify/constants/style";
4
- import LineHeight from "@tiptapify/extensions/components/LineHeight.vue";
5
- import { computed, inject, markRaw, Ref } from "vue";
6
-
7
- export function useLineHeight() {
8
- const { t } = inject('tiptapifyI18n') as any
9
-
10
- const editor = inject('tiptapifyEditor') as Ref<Editor>
11
-
12
- return {
13
- name: 'line-height',
14
- tooltip: computed(() => t('style.lineHeight')),
15
- icon: `mdiSvg:${mdi.mdiFormatLineHeight}`,
16
- modelValue: null,
17
- enabled: true,
18
- props: {
19
- disabled: computed(() => !editor.value.can().chain().focus().unsetLineHeight().run()),
20
- color: computed(() => {
21
- let color = ''
22
- for (const height of lineHeights) {
23
- if (editor.value.isActive('textStyle', { lineHeight: height.toString() })) {
24
- color = 'primary'
25
- break;
26
- }
27
- }
28
-
29
- return color
30
- }),
31
- },
32
- component: markRaw(LineHeight),
33
- componentProps: {
34
- lineHeights,
35
- lineHeight: computed(() => {
36
- let lineHeight = null
37
- for (const height of lineHeights) {
38
- if (editor.value.isActive('textStyle', { lineHeight: height.toString() })) {
39
- lineHeight = height
40
- break;
41
- }
42
- }
43
-
44
- return lineHeight
45
- }),
46
- }
47
- }
48
- }
@@ -1,9 +0,0 @@
1
- import { useRedo } from "@tiptapify/composables/Toolbar/Actions/useRedo";
2
- import { useUndo } from "@tiptapify/composables/Toolbar/Actions/useUndo";
3
-
4
- export function useActionsItems() {
5
- return {
6
- undo: useUndo(),
7
- redo: useRedo()
8
- }
9
- }
@@ -1,13 +0,0 @@
1
- import { useAlignmentCenter } from "@tiptapify/composables/Toolbar/Alignment/useAlignmentCenter";
2
- import { useAlignmentJustify } from "@tiptapify/composables/Toolbar/Alignment/useAlignmentJustify";
3
- import { useAlignmentLeft } from "@tiptapify/composables/Toolbar/Alignment/useAlignmentLeft";
4
- import { useAlignmentRight } from "@tiptapify/composables/Toolbar/Alignment/useAlignmentRight";
5
-
6
- export function useAlignmentItems() {
7
- return {
8
- alignmentLeft: useAlignmentLeft(),
9
- alignmentCenter: useAlignmentCenter(),
10
- alignmentRight: useAlignmentRight(),
11
- alignmentJustify: useAlignmentJustify()
12
- }
13
- }
@@ -1,15 +0,0 @@
1
- import { useBlockquote } from "@tiptapify/composables/Toolbar/FormatExtra/useBlockquote";
2
- import { useCode } from "@tiptapify/composables/Toolbar/FormatExtra/useCode";
3
- import { useCodeBlock } from "@tiptapify/composables/Toolbar/FormatExtra/useCodeBlock";
4
- import { useSub } from "@tiptapify/composables/Toolbar/FormatExtra/useSub";
5
- import { useSup } from "@tiptapify/composables/Toolbar/FormatExtra/useSup";
6
-
7
- export function useFormatExtraItems() {
8
- return {
9
- sup: useSup(),
10
- sub: useSub(),
11
- code: useCode(),
12
- codeBlock: useCodeBlock(),
13
- blockquote: useBlockquote()
14
- }
15
- }
@@ -1,13 +0,0 @@
1
- import { useBold } from "@tiptapify/composables/Toolbar/Format/useBold";
2
- import { useItalic } from "@tiptapify/composables/Toolbar/Format/useItalic";
3
- import { useStrike } from "@tiptapify/composables/Toolbar/Format/useStrike";
4
- import { useUnderline } from "@tiptapify/composables/Toolbar/Format/useUnderline";
5
-
6
- export function useFormatItems() {
7
- return {
8
- bold: useBold(),
9
- italic: useItalic(),
10
- underline: useUnderline(),
11
- strike: useStrike()
12
- }
13
- }
@@ -1,15 +0,0 @@
1
- import { useBullet } from "@tiptapify/composables/Toolbar/List/useBullet";
2
- import { useIndent } from "@tiptapify/composables/Toolbar/List/useIndent";
3
- import { useNumbered } from "@tiptapify/composables/Toolbar/List/useNumbered";
4
- import { useOutdent } from "@tiptapify/composables/Toolbar/List/useOutdent";
5
- import { useTask } from "@tiptapify/composables/Toolbar/List/useTask";
6
-
7
- export function useListItems() {
8
- return {
9
- listBullet: useBullet(),
10
- listNumbered: useNumbered(),
11
- listTask: useTask(),
12
- listIndent: useIndent(),
13
- listOutdent: useOutdent()
14
- }
15
- }
@@ -1,15 +0,0 @@
1
- import { useImage } from "@tiptapify/composables/Toolbar/Media/useImage";
2
- import { useEmoji } from "@tiptapify/composables/Toolbar/Media/useEmoji";
3
- import { useLink } from "@tiptapify/composables/Toolbar/Media/useLink";
4
- import { useTable } from "@tiptapify/composables/Toolbar/Media/useTable";
5
- import { useVideo } from "@tiptapify/composables/Toolbar/Media/useVideo";
6
-
7
- export function useMediaItems() {
8
- return {
9
- link: useLink(),
10
- image: useImage(),
11
- video: useVideo(),
12
- emoji: useEmoji(),
13
- table: useTable()
14
- }
15
- }
@@ -1,17 +0,0 @@
1
- import { useBreak } from "@tiptapify/composables/Toolbar/Misc/useBreak";
2
- import { useFormatClear } from "@tiptapify/composables/Toolbar/Misc/useFormatClear";
3
- import { useInvisibleCharacters } from "@tiptapify/composables/Toolbar/Misc/useInvisibleCharacters";
4
- import { useLine } from "@tiptapify/composables/Toolbar/Misc/useLine";
5
- import { usePreview } from "@tiptapify/composables/Toolbar/Misc/usePreview";
6
- import { useSource } from "@tiptapify/composables/Toolbar/Misc/useSource";
7
-
8
- export function useMiscItems() {
9
- return {
10
- line: useLine(),
11
- break: useBreak(),
12
- source: useSource(),
13
- preview: usePreview(),
14
- formatClear: useFormatClear(),
15
- invisibleCharacters: useInvisibleCharacters(),
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- import { useColor } from "@tiptapify/composables/Toolbar/Style/useColor";
2
- import { useFontFamily } from "@tiptapify/composables/Toolbar/Style/useFontFamily";
3
- import { useFontSize } from "@tiptapify/composables/Toolbar/Style/useFontSize";
4
- import { useHeading } from "@tiptapify/composables/Toolbar/Style/useHeading";
5
- import { useHighlight } from "@tiptapify/composables/Toolbar/Style/useHighlight";
6
- import { useLineHeight } from "@tiptapify/composables/Toolbar/Style/useLineHeight";
7
-
8
- export function useStyleItems(theme: any, fontMeasure: string, customHeadingLevels: Array<number> = []) {
9
- return {
10
- heading: useHeading(customHeadingLevels),
11
- fontFamily: useFontFamily(),
12
- fontSize: useFontSize(fontMeasure),
13
- lineHeight: useLineHeight(),
14
- highlight: useHighlight(theme),
15
- color: useColor(theme)
16
- }
17
- }
@@ -1,43 +0,0 @@
1
- <script setup lang="ts">
2
- import { Editor } from "@tiptap/vue-3";
3
- import TiptapifyDialog from "@tiptapify/components/UI/TiptapifyDialog.vue";
4
- import { ref, onMounted, onUnmounted, inject, Ref } from 'vue'
5
-
6
- const content = ref()
7
-
8
- const editor = inject('tiptapifyEditor') as Ref<Editor>
9
-
10
- const dialog = ref(null)
11
-
12
- const showDialog = (event: CustomEvent) => {
13
- if (event.detail.editorId !== editor.value.instanceId) {
14
- return
15
- }
16
-
17
- content.value = event.detail.html
18
-
19
- dialog.value.open()
20
- }
21
-
22
- onMounted(() => {
23
- window.addEventListener('tiptapify-show-preview', showDialog as EventListener)
24
- })
25
-
26
- onUnmounted(() => {
27
- window.removeEventListener('tiptapify-show-preview', showDialog as EventListener)
28
- })
29
- </script>
30
-
31
- <template>
32
- <TiptapifyDialog ref="dialog" module="preview" fullscreen>
33
- <template #content>
34
- <VCardItem>
35
- <div class="tiptap" v-html="content"></div>
36
- </VCardItem>
37
- </template>
38
- </TiptapifyDialog>
39
- </template>
40
-
41
- <style lang="scss">
42
-
43
- </style>
@@ -1,22 +0,0 @@
1
- import { ToolbarSections } from "@tiptapify/types/toolbarSections";
2
- import { ComputedRef } from "vue";
3
-
4
- export enum ToolbarItemType {
5
- dropdown = 'dropdown',
6
- modal = 'modal',
7
- }
8
-
9
- export type extensionComponents = {
10
- [key: string]: {
11
- type: ToolbarItemType,
12
- component: any,
13
- extensions?: Array<any>,
14
- componentProps?: any
15
- props?: any
16
- attrs?: any
17
- section: ToolbarSections,
18
- name: ComputedRef|string,
19
- tooltip: ComputedRef|string,
20
- icon: ComputedRef|string,
21
- }
22
- }
@@ -1,41 +0,0 @@
1
- import { ComputedRef } from "vue";
2
-
3
- type ToolbarItemAttrs = {
4
- [key: string]: Function | any
5
- }
6
-
7
- type ToolbarItemProps = {
8
- [key: string]: any
9
- }
10
-
11
- export type ToolbarItem = {
12
- // type: ToolbarItemType,
13
- name: string|number|ComputedRef<string>,
14
- tooltip: string|ComputedRef<string>,
15
- icon: string|ComputedRef<string>,
16
- icon2?: string|ComputedRef<string>,
17
- svg?: boolean,
18
- noI18n?: boolean,
19
- enabled: boolean,
20
- component?: any,
21
- modelValue?: any,
22
- group?: boolean,
23
- icon2Props?: ToolbarItemProps,
24
- componentProps?: ToolbarItemProps,
25
- props?: ToolbarItemProps,
26
- attrs?: ToolbarItemAttrs,
27
- children?: ToolbarItems|ToolbarItem[],
28
- }
29
-
30
- export type ToolbarItems = {
31
- [key: string]: ToolbarItem
32
- }
33
-
34
- export type ToolbarItemSection = {
35
- group?: boolean,
36
- items: ToolbarItems | {},
37
- }
38
-
39
- export type ToolbarItemSections = {
40
- [key: string]: ToolbarItemSection
41
- }