Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ueberdosis/tiptap
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: @tiptap/extension-bold@2.5.7
Choose a base ref
...
head repository: ueberdosis/tiptap
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: @tiptap/extension-bold@2.5.8
Choose a head ref
  • 9 commits
  • 177 files changed
  • 8 contributors

Commits on Jul 26, 2024

  1. fix(vue-3): copy missing provided parent values (#5396)

    Co-authored-by: relchapt <reynald.lechapt@getmayday.co>
    Rirax and relchapt authored Jul 26, 2024
    Copy the full SHA
    940f9d5 View commit details

Commits on Jul 27, 2024

  1. Shared rollup config (#5403)

    * add one shared rollup config
    
    * rename to baseConfig
    bdbch authored Jul 27, 2024
    Copy the full SHA
    44e4eca View commit details

Commits on Jul 29, 2024

  1. chore: package-lock

    nperez0111 committed Jul 29, 2024
    Copy the full SHA
    5fb71f6 View commit details
  2. fix: do not consider text content as atoms resolve #5405 (#5407)

    nperez0111 authored Jul 29, 2024
    Copy the full SHA
    a08bf85 View commit details
  3. fix(vue-3): set editor's appContext.provide to forward inject chain (#…

    …5397)
    
    Vue internally uses prototype chain to preserve injects across the entire component chain. Thus should avoid Object.assign or spread operator as it won't copy the prototype. All correct provides will be already present on `instance.provides`.
    romansp authored Jul 29, 2024
    Copy the full SHA
    f7f644f View commit details
  4. chore(extension-table): remove unnecessary @ts-ignore, update view ty…

    …pe (#5387)
    martinboksa authored Jul 29, 2024
    Copy the full SHA
    ce141c2 View commit details

Commits on Jul 30, 2024

  1. Copy the full SHA
    99d7820 View commit details
  2. chore: cleanup

    nperez0111 committed Jul 30, 2024
    Copy the full SHA
    4b9d8a3 View commit details
  3. chore(release): publish a new version 2.5.8 (#5408)

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
    github-actions[bot] and github-actions[bot] authored Jul 30, 2024
    Copy the full SHA
    7d6c939 View commit details
Showing with 1,452 additions and 3,703 deletions.
  1. +6 −1 demos/setup/vue.ts
  2. +50 −0 demos/src/Examples/InteractivityComponentProvideInject/Vue/Component.vue
  3. +144 −0 demos/src/Examples/InteractivityComponentProvideInject/Vue/Editor.vue
  4. +36 −0 demos/src/Examples/InteractivityComponentProvideInject/Vue/Extension.js
  5. +20 −0 demos/src/Examples/InteractivityComponentProvideInject/Vue/ValidateInject.vue
  6. 0 demos/src/Examples/InteractivityComponentProvideInject/Vue/index.html
  7. +29 −0 demos/src/Examples/InteractivityComponentProvideInject/Vue/index.spec.js
  8. +24 −0 demos/src/Examples/InteractivityComponentProvideInject/Vue/index.vue
  9. +241 −233 package-lock.json
  10. +1 −0 package.json
  11. +7 −0 packages/core/CHANGELOG.md
  12. +3 −3 packages/core/package.json
  13. +2 −58 packages/core/rollup.config.js
  14. +1 −1 packages/core/src/helpers/getTextContentFromNodes.ts
  15. +7 −0 packages/extension-blockquote/CHANGELOG.md
  16. +3 −3 packages/extension-blockquote/package.json
  17. +2 −58 packages/extension-blockquote/rollup.config.js
  18. +7 −0 packages/extension-bold/CHANGELOG.md
  19. +3 −3 packages/extension-bold/package.json
  20. +2 −58 packages/extension-bold/rollup.config.js
  21. +8 −0 packages/extension-bubble-menu/CHANGELOG.md
  22. +5 −5 packages/extension-bubble-menu/package.json
  23. +2 −58 packages/extension-bubble-menu/rollup.config.js
  24. +7 −0 packages/extension-bullet-list/CHANGELOG.md
  25. +3 −3 packages/extension-bullet-list/package.json
  26. +2 −58 packages/extension-bullet-list/rollup.config.js
  27. +8 −0 packages/extension-character-count/CHANGELOG.md
  28. +5 −5 packages/extension-character-count/package.json
  29. +2 −58 packages/extension-character-count/rollup.config.js
  30. +9 −0 packages/extension-code-block-lowlight/CHANGELOG.md
  31. +7 −7 packages/extension-code-block-lowlight/package.json
  32. +2 −58 packages/extension-code-block-lowlight/rollup.config.js
  33. +8 −0 packages/extension-code-block/CHANGELOG.md
  34. +5 −5 packages/extension-code-block/package.json
  35. +2 −58 packages/extension-code-block/rollup.config.js
  36. +7 −0 packages/extension-code/CHANGELOG.md
  37. +3 −3 packages/extension-code/package.json
  38. +2 −58 packages/extension-code/rollup.config.js
  39. +7 −0 packages/extension-collaboration-cursor/CHANGELOG.md
  40. +3 −3 packages/extension-collaboration-cursor/package.json
  41. +2 −58 packages/extension-collaboration-cursor/rollup.config.js
  42. +8 −0 packages/extension-collaboration/CHANGELOG.md
  43. +5 −5 packages/extension-collaboration/package.json
  44. +2 −58 packages/extension-collaboration/rollup.config.js
  45. +8 −0 packages/extension-color/CHANGELOG.md
  46. +5 −5 packages/extension-color/package.json
  47. +2 −58 packages/extension-color/rollup.config.js
  48. +7 −0 packages/extension-document/CHANGELOG.md
  49. +3 −3 packages/extension-document/package.json
  50. +2 −58 packages/extension-document/rollup.config.js
  51. +8 −0 packages/extension-dropcursor/CHANGELOG.md
  52. +5 −5 packages/extension-dropcursor/package.json
  53. +2 −58 packages/extension-dropcursor/rollup.config.js
  54. +8 −0 packages/extension-floating-menu/CHANGELOG.md
  55. +5 −5 packages/extension-floating-menu/package.json
  56. +2 −58 packages/extension-floating-menu/rollup.config.js
  57. +8 −0 packages/extension-focus/CHANGELOG.md
  58. +5 −5 packages/extension-focus/package.json
  59. +2 −58 packages/extension-focus/rollup.config.js
  60. +8 −0 packages/extension-font-family/CHANGELOG.md
  61. +5 −5 packages/extension-font-family/package.json
  62. +2 −58 packages/extension-font-family/rollup.config.js
  63. +8 −0 packages/extension-gapcursor/CHANGELOG.md
  64. +5 −5 packages/extension-gapcursor/package.json
  65. +2 −58 packages/extension-gapcursor/rollup.config.js
  66. +7 −0 packages/extension-hard-break/CHANGELOG.md
  67. +3 −3 packages/extension-hard-break/package.json
  68. +2 −58 packages/extension-hard-break/rollup.config.js
  69. +7 −0 packages/extension-heading/CHANGELOG.md
  70. +3 −3 packages/extension-heading/package.json
  71. +2 −58 packages/extension-heading/rollup.config.js
  72. +7 −0 packages/extension-highlight/CHANGELOG.md
  73. +3 −3 packages/extension-highlight/package.json
  74. +2 −58 packages/extension-highlight/rollup.config.js
  75. +8 −0 packages/extension-history/CHANGELOG.md
  76. +5 −5 packages/extension-history/package.json
  77. +2 −58 packages/extension-history/rollup.config.js
  78. +8 −0 packages/extension-horizontal-rule/CHANGELOG.md
  79. +5 −5 packages/extension-horizontal-rule/package.json
  80. +2 −58 packages/extension-horizontal-rule/rollup.config.js
  81. +7 −0 packages/extension-image/CHANGELOG.md
  82. +3 −3 packages/extension-image/package.json
  83. +2 −58 packages/extension-image/rollup.config.js
  84. +7 −0 packages/extension-italic/CHANGELOG.md
  85. +3 −3 packages/extension-italic/package.json
  86. +2 −58 packages/extension-italic/rollup.config.js
  87. +8 −0 packages/extension-link/CHANGELOG.md
  88. +5 −5 packages/extension-link/package.json
  89. +2 −58 packages/extension-link/rollup.config.js
  90. +7 −0 packages/extension-list-item/CHANGELOG.md
  91. +3 −3 packages/extension-list-item/package.json
  92. +2 −58 packages/extension-list-item/rollup.config.js
  93. +7 −0 packages/extension-list-keymap/CHANGELOG.md
  94. +3 −3 packages/extension-list-keymap/package.json
  95. +2 −58 packages/extension-list-keymap/rollup.config.js
  96. +9 −0 packages/extension-mention/CHANGELOG.md
  97. +7 −7 packages/extension-mention/package.json
  98. +2 −58 packages/extension-mention/rollup.config.js
  99. +7 −0 packages/extension-ordered-list/CHANGELOG.md
  100. +3 −3 packages/extension-ordered-list/package.json
  101. +2 −58 packages/extension-ordered-list/rollup.config.js
  102. +7 −0 packages/extension-paragraph/CHANGELOG.md
  103. +3 −3 packages/extension-paragraph/package.json
  104. +2 −58 packages/extension-paragraph/rollup.config.js
  105. +8 −0 packages/extension-placeholder/CHANGELOG.md
  106. +5 −5 packages/extension-placeholder/package.json
  107. +2 −58 packages/extension-placeholder/rollup.config.js
  108. +7 −0 packages/extension-strike/CHANGELOG.md
  109. +3 −3 packages/extension-strike/package.json
  110. +2 −58 packages/extension-strike/rollup.config.js
  111. +7 −0 packages/extension-subscript/CHANGELOG.md
  112. +3 −3 packages/extension-subscript/package.json
  113. +2 −58 packages/extension-subscript/rollup.config.js
  114. +7 −0 packages/extension-superscript/CHANGELOG.md
  115. +3 −3 packages/extension-superscript/package.json
  116. +2 −58 packages/extension-superscript/rollup.config.js
  117. +7 −0 packages/extension-table-cell/CHANGELOG.md
  118. +3 −3 packages/extension-table-cell/package.json
  119. +2 −58 packages/extension-table-cell/rollup.config.js
  120. +7 −0 packages/extension-table-header/CHANGELOG.md
  121. +3 −3 packages/extension-table-header/package.json
  122. +2 −58 packages/extension-table-header/rollup.config.js
  123. +7 −0 packages/extension-table-row/CHANGELOG.md
  124. +3 −3 packages/extension-table-row/package.json
  125. +2 −58 packages/extension-table-row/rollup.config.js
  126. +8 −0 packages/extension-table/CHANGELOG.md
  127. +5 −5 packages/extension-table/package.json
  128. +2 −58 packages/extension-table/rollup.config.js
  129. +9 −12 packages/extension-table/src/table.ts
  130. +8 −0 packages/extension-task-item/CHANGELOG.md
  131. +5 −5 packages/extension-task-item/package.json
  132. +2 −58 packages/extension-task-item/rollup.config.js
  133. +7 −0 packages/extension-task-list/CHANGELOG.md
  134. +3 −3 packages/extension-task-list/package.json
  135. +2 −58 packages/extension-task-list/rollup.config.js
  136. +7 −0 packages/extension-text-align/CHANGELOG.md
  137. +3 −3 packages/extension-text-align/package.json
  138. +2 −58 packages/extension-text-align/rollup.config.js
  139. +7 −0 packages/extension-text-style/CHANGELOG.md
  140. +3 −3 packages/extension-text-style/package.json
  141. +2 −58 packages/extension-text-style/rollup.config.js
  142. +7 −0 packages/extension-text/CHANGELOG.md
  143. +3 −3 packages/extension-text/package.json
  144. +2 −58 packages/extension-text/rollup.config.js
  145. +7 −0 packages/extension-typography/CHANGELOG.md
  146. +3 −3 packages/extension-typography/package.json
  147. +2 −58 packages/extension-typography/rollup.config.js
  148. +7 −0 packages/extension-underline/CHANGELOG.md
  149. +3 −3 packages/extension-underline/package.json
  150. +2 −58 packages/extension-underline/rollup.config.js
  151. +7 −0 packages/extension-youtube/CHANGELOG.md
  152. +3 −3 packages/extension-youtube/package.json
  153. +2 −58 packages/extension-youtube/rollup.config.js
  154. +8 −0 packages/html/CHANGELOG.md
  155. +5 −5 packages/html/package.json
  156. +2 −58 packages/html/rollup.config.js
  157. +2 −0 packages/pm/CHANGELOG.md
  158. +1 −1 packages/pm/package.json
  159. +11 −0 packages/react/CHANGELOG.md
  160. +7 −7 packages/react/package.json
  161. +2 −58 packages/react/rollup.config.js
  162. +56 −144 packages/react/src/useEditor.ts
  163. +25 −0 packages/starter-kit/CHANGELOG.md
  164. +20 −20 packages/starter-kit/package.json
  165. +2 −58 packages/starter-kit/rollup.config.js
  166. +8 −0 packages/suggestion/CHANGELOG.md
  167. +5 −5 packages/suggestion/package.json
  168. +2 −58 packages/suggestion/rollup.config.js
  169. +10 −0 packages/vue-2/CHANGELOG.md
  170. +7 −7 packages/vue-2/package.json
  171. +2 −58 packages/vue-2/rollup.config.js
  172. +11 −0 packages/vue-3/CHANGELOG.md
  173. +7 −7 packages/vue-3/package.json
  174. +2 −58 packages/vue-3/rollup.config.js
  175. +4 −5 packages/vue-3/src/EditorContent.ts
  176. +62 −0 shared/rollup-config/index.js
  177. +6 −0 shared/rollup-config/package.json
7 changes: 6 additions & 1 deletion demos/setup/vue.ts
Original file line number Diff line number Diff line change
@@ -14,7 +14,12 @@ export default function init(name: string, source: any) {

import(`../src/${demoCategory}/${demoName}/${frameworkName}/index.vue`)
.then(module => {
createApp(module.default).mount('#app')
const app = createApp(module.default)

if (typeof module.configureApp === 'function') {
module.configureApp(app)
}
app.mount('#app')
debug()
})
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<template>
<node-view-wrapper class="vue-component">
<label>Vue Component</label>
<ValidateInject />
</node-view-wrapper>
</template>

<script>
import { nodeViewProps, NodeViewWrapper } from '@tiptap/vue-3'
import ValidateInject from './ValidateInject.vue'
export default {
components: {
NodeViewWrapper,
ValidateInject,
},
props: nodeViewProps,
}
</script>

<style lang="scss">
.tiptap {
/* Vue component */
.vue-component {
background-color: var(--purple-light);
border: 2px solid var(--purple);
border-radius: 0.5rem;
margin: 2rem 0;
position: relative;
label {
background-color: var(--purple);
border-radius: 0 0 0.5rem 0;
color: var(--white);
font-size: 0.75rem;
font-weight: bold;
padding: 0.25rem 0.5rem;
position: absolute;
top: 0;
}
.content {
margin-top: 1.5rem;
padding: 1rem;
}
}
}
</style>
144 changes: 144 additions & 0 deletions demos/src/Examples/InteractivityComponentProvideInject/Vue/Editor.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
<template>
<editor-content :editor="editor" />
</template>

<script>
import StarterKit from '@tiptap/starter-kit'
import { Editor, EditorContent } from '@tiptap/vue-3'
import VueComponent from './Extension.js'
export default {
components: {
EditorContent,
},
data() {
return {
editor: null,
}
},
provide() {
return {
editorValue: 'editorValue',
}
},
mounted() {
this.editor = new Editor({
extensions: [
StarterKit,
VueComponent,
],
content: `
<p>
This is still the text editor you’re used to, but enriched with node views.
</p>
<vue-component count="0"></vue-component>
<p>
Did you see that? That’s a Vue component. We are really living in the future.
</p>
`,
})
},
beforeUnmount() {
this.editor.destroy()
},
}
</script>

<style lang="scss">
/* Basic editor styles */
.tiptap {
:first-child {
margin-top: 0;
}
/* List styles */
ul,
ol {
padding: 0 1rem;
margin: 1.25rem 1rem 1.25rem 0.4rem;
li p {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
}
/* Heading styles */
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.1;
margin-top: 2.5rem;
text-wrap: pretty;
}
h1,
h2 {
margin-top: 3.5rem;
margin-bottom: 1.5rem;
}
h1 {
font-size: 1.4rem;
}
h2 {
font-size: 1.2rem;
}
h3 {
font-size: 1.1rem;
}
h4,
h5,
h6 {
font-size: 1rem;
}
/* Code and preformatted text styles */
code {
background-color: var(--purple-light);
border-radius: 0.4rem;
color: var(--black);
font-size: 0.85rem;
padding: 0.25em 0.3em;
}
pre {
background: var(--black);
border-radius: 0.5rem;
color: var(--white);
font-family: 'JetBrainsMono', monospace;
margin: 1.5rem 0;
padding: 0.75rem 1rem;
code {
background: none;
color: inherit;
font-size: 0.8rem;
padding: 0;
}
}
blockquote {
border-left: 3px solid var(--gray-3);
margin: 1.5rem 0;
padding-left: 1rem;
}
hr {
border: none;
border-top: 1px solid var(--gray-2);
margin: 2rem 0;
}
}
</style>
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { mergeAttributes, Node } from '@tiptap/core'
import { VueNodeViewRenderer } from '@tiptap/vue-3'

import Component from './Component.vue'

export default Node.create({
name: 'vueComponent',

group: 'block',

atom: true,

addAttributes() {
return {
count: {
default: 0,
},
}
},

parseHTML() {
return [
{
tag: 'vue-component',
},
]
},

renderHTML({ HTMLAttributes }) {
return ['vue-component', mergeAttributes(HTMLAttributes)]
},

addNodeView() {
return VueNodeViewRenderer(Component)
},
})
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<template>
<div class="validate-inject">
<p>{{ globalValue }}</p>
<p>{{ appValue }} </p>
<p>{{ indexValue }}</p>
<p>{{ editorValue }}</p>
</div>
</template>

<script>
export default {
inject: ['appValue', 'indexValue', 'editorValue'],
}
</script>

<style lang="scss">
.validate-inject {
margin-top: 2rem;
}
</style>
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
context('/src/Examples/InteractivityComponentProvideInject/Vue/', () => {
beforeEach(() => {
cy.visit('/src/Examples/InteractivityComponentProvideInject/Vue/')
})

it('should have a working tiptap instance', () => {
cy.get('.tiptap').then(([{ editor }]) => {
// eslint-disable-next-line
expect(editor).to.not.be.null
})
})

it('should render a custom node', () => {
cy.get('.tiptap .vue-component').should('have.length', 1)
})

it('should have global and all injected values', () => {
const expectedTexts = [
'globalValue',
'appValue',
'indexValue',
'editorValue',
]

cy.get('.tiptap .vue-component p').each((p, index) => {
cy.wrap(p).should('have.text', expectedTexts[index])
})
})
})
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<template>
<Editor />
</template>

<script>
import Editor from './Editor.vue'
export default {
components: {
Editor,
},
provide() {
return {
indexValue: 'indexValue',
}
},
}
export function configureApp(app) {
app.config.globalProperties.globalValue = 'globalValue'
app.provide('appValue', 'appValue')
}
</script>
Loading