Compare commits

..

8 Commits

Author SHA1 Message Date
renovate 3b4718fb79 fix(deps): update dependency floating-vue to v5.1.0
continuous-integration/drone/pr Build is passing Details
2024-01-16 11:37:16 +00:00
renovate 01089f4f3d fix(deps): update tiptap to v2.1.16 (#3892)
continuous-integration/drone/push Build was killed Details
Reviewed-on: #3892
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2024-01-16 11:17:28 +00:00
kolaente a7461d1ddd
chore(deps): increase renovate timeout
continuous-integration/drone/push Build is passing Details
2024-01-16 12:15:04 +01:00
kolaente a451189bb6
fix(test): make date assertion not brittle
continuous-integration/drone/push Build is passing Details
2024-01-16 10:36:29 +01:00
kolaente bf9af27fc3
fix(task): update due date when marking a task done
continuous-integration/drone/push Build is failing Details
2024-01-15 23:33:02 +01:00
kolaente 5619fda0f2
fix(task): bubble date changes from the picker up
continuous-integration/drone/push Build is failing Details
Resolves https://github.com/go-vikunja/frontend/issues/142
2024-01-15 23:23:57 +01:00
kolaente 167953b26b
fix(editor): use higher-contrast colors for links and code
continuous-integration/drone/push Build is passing Details
2024-01-15 22:11:24 +01:00
kolaente 664bf0a5f4
fix(tasks): make sure tasks show up if their parent task is not available in the current view
continuous-integration/drone/push Build is passing Details
Related https://github.com/go-vikunja/frontend/issues/136
Related https://community.vikunja.io/t/subtasks-are-hidden-when-parent-tasks-are-moved/1911
2024-01-15 21:46:47 +01:00
12 changed files with 378 additions and 277 deletions

View File

@ -541,6 +541,86 @@ describe('Task', () => {
.should('contain', 'Success')
})
it('Can set a due date to a specific date for a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
done: false,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Set Due Date')
.click()
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input .datepicker .show')
.click()
cy.get('.datepicker-popup .flatpickr-innerContainer .flatpickr-days .flatpickr-day.today')
.click()
cy.get('[data-cy="closeDatepicker"]')
.contains('Confirm')
.click()
const today = new Date()
const day = today.toLocaleString('default', {day: '2-digit'})
const month = today.toLocaleString('default', {month: 'short'})
const year = today.toLocaleString('default', {year: 'numeric'})
const date = `${day} ${month} ${year}, 12:00:00`
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input .datepicker-popup')
.should('not.exist')
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input')
.should('contain.text', date)
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Can change a due date to a specific date for a task', () => {
const dueDate = new Date()
dueDate.setHours(12)
dueDate.setMinutes(0)
dueDate.setSeconds(0)
dueDate.setDate(1)
const tasks = TaskFactory.create(1, {
id: 1,
done: false,
due_date: dueDate.toISOString(),
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Set Due Date')
.click()
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input .datepicker .show')
.click()
cy.get('.datepicker-popup .flatpickr-innerContainer .flatpickr-days .flatpickr-day.today')
.click()
cy.get('[data-cy="closeDatepicker"]')
.contains('Confirm')
.click()
const today = new Date()
const day = today.toLocaleString('default', {day: '2-digit'})
const month = today.toLocaleString('default', {month: 'short'})
const year = today.toLocaleString('default', {year: 'numeric'})
const date = `${day} ${month} ${year}, 12:00:00`
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input .datepicker-popup')
.should('not.exist')
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input')
.should('contain.text', date)
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Can set a reminder', () => {
TaskReminderFactory.truncate()
const tasks = TaskFactory.create(1, {
@ -645,7 +725,7 @@ describe('Task', () => {
.click()
cy.get('.reminder-options-popup .card-content .reminder-period input')
.first()
.type('10')
.type('{selectall}10')
cy.get('.reminder-options-popup .card-content .reminder-period select')
.first()
.select('days')
@ -771,7 +851,7 @@ describe('Task', () => {
.should('exist')
})
it.only('Can check items off a checklist', () => {
it('Can check items off a checklist', () => {
const tasks = TaskFactory.create(1, {
id: 1,
description: `
@ -858,7 +938,7 @@ describe('Task', () => {
method: 'PUT',
url: `${Cypress.env('API_URL')}/tasks/${tasks[0].id}/attachments`,
headers: {
'Authorization': `Bearer ${window.localStorage.getItem('token')}`,
'Authorization': `Bearer ${window.localStorage.getItem('token')}`,
'Content-Type': 'multipart/form-data',
},
body: formData,

View File

@ -55,39 +55,39 @@
"@kyvg/vue3-notification": "3.1.3",
"@sentry/tracing": "7.93.0",
"@sentry/vue": "7.93.0",
"@tiptap/core": "2.1.15",
"@tiptap/extension-blockquote": "2.1.15",
"@tiptap/extension-bold": "2.1.15",
"@tiptap/extension-bullet-list": "2.1.15",
"@tiptap/extension-code": "2.1.15",
"@tiptap/extension-code-block-lowlight": "2.1.15",
"@tiptap/extension-document": "2.1.15",
"@tiptap/extension-dropcursor": "2.1.15",
"@tiptap/extension-gapcursor": "2.1.15",
"@tiptap/extension-hard-break": "2.1.15",
"@tiptap/extension-heading": "2.1.15",
"@tiptap/extension-history": "2.1.15",
"@tiptap/extension-horizontal-rule": "2.1.15",
"@tiptap/extension-image": "2.1.15",
"@tiptap/extension-italic": "2.1.15",
"@tiptap/extension-link": "2.1.15",
"@tiptap/extension-list-item": "2.1.15",
"@tiptap/extension-ordered-list": "2.1.15",
"@tiptap/extension-paragraph": "2.1.15",
"@tiptap/extension-placeholder": "2.1.15",
"@tiptap/extension-strike": "2.1.15",
"@tiptap/extension-table": "2.1.15",
"@tiptap/extension-table-cell": "2.1.15",
"@tiptap/extension-table-header": "2.1.15",
"@tiptap/extension-table-row": "2.1.15",
"@tiptap/extension-task-item": "2.1.15",
"@tiptap/extension-task-list": "2.1.15",
"@tiptap/extension-text": "2.1.15",
"@tiptap/extension-typography": "2.1.15",
"@tiptap/extension-underline": "2.1.15",
"@tiptap/pm": "2.1.15",
"@tiptap/suggestion": "2.1.15",
"@tiptap/vue-3": "2.1.15",
"@tiptap/core": "2.1.16",
"@tiptap/extension-blockquote": "2.1.16",
"@tiptap/extension-bold": "2.1.16",
"@tiptap/extension-bullet-list": "2.1.16",
"@tiptap/extension-code": "2.1.16",
"@tiptap/extension-code-block-lowlight": "2.1.16",
"@tiptap/extension-document": "2.1.16",
"@tiptap/extension-dropcursor": "2.1.16",
"@tiptap/extension-gapcursor": "2.1.16",
"@tiptap/extension-hard-break": "2.1.16",
"@tiptap/extension-heading": "2.1.16",
"@tiptap/extension-history": "2.1.16",
"@tiptap/extension-horizontal-rule": "2.1.16",
"@tiptap/extension-image": "2.1.16",
"@tiptap/extension-italic": "2.1.16",
"@tiptap/extension-link": "2.1.16",
"@tiptap/extension-list-item": "2.1.16",
"@tiptap/extension-ordered-list": "2.1.16",
"@tiptap/extension-paragraph": "2.1.16",
"@tiptap/extension-placeholder": "2.1.16",
"@tiptap/extension-strike": "2.1.16",
"@tiptap/extension-table": "2.1.16",
"@tiptap/extension-table-cell": "2.1.16",
"@tiptap/extension-table-header": "2.1.16",
"@tiptap/extension-table-row": "2.1.16",
"@tiptap/extension-task-item": "2.1.16",
"@tiptap/extension-task-list": "2.1.16",
"@tiptap/extension-text": "2.1.16",
"@tiptap/extension-typography": "2.1.16",
"@tiptap/extension-underline": "2.1.16",
"@tiptap/pm": "2.1.16",
"@tiptap/suggestion": "2.1.16",
"@tiptap/vue-3": "2.1.16",
"@types/is-touch-device": "1.0.2",
"@types/lodash.clonedeep": "4.5.9",
"@vueuse/core": "10.7.1",

View File

@ -41,104 +41,104 @@ dependencies:
specifier: 7.93.0
version: 7.93.0(vue@3.4.8)
'@tiptap/core':
specifier: 2.1.15
version: 2.1.15(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/extension-blockquote':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-bold':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-bullet-list':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-code':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-code-block-lowlight':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.16)
'@tiptap/extension-document':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-dropcursor':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-gapcursor':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-hard-break':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-heading':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-history':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-horizontal-rule':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-image':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-italic':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-link':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-list-item':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-ordered-list':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-paragraph':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-placeholder':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-strike':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-table':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-table-cell':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-table-header':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-table-row':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-task-item':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-task-list':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-text':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-typography':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/extension-underline':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)
'@tiptap/pm':
specifier: 2.1.15
version: 2.1.15
specifier: 2.1.16
version: 2.1.16
'@tiptap/suggestion':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/vue-3':
specifier: 2.1.15
version: 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)(vue@3.4.8)
specifier: 2.1.16
version: 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)(vue@3.4.8)
'@types/is-touch-device':
specifier: 1.0.2
version: 1.0.2
@ -182,8 +182,8 @@ dependencies:
specifier: 0.7.31
version: 0.7.31(patch_hash=bfn3sngfuhktmdj7jgl3ejl35y)
floating-vue:
specifier: 5.0.3
version: 5.0.3(vue@3.4.8)
specifier: 5.1.0
version: 5.1.0(vue@3.4.8)
is-touch-device:
specifier: 1.0.1
version: 1.0.1
@ -4369,301 +4369,301 @@ packages:
defer-to-connect: 1.1.3
dev: true
/@tiptap/core@2.1.15(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-bsSUOQ9/OrQ3O4OFrMzjbCcShwHUS0w71DZoZTkOElnUFK2fu6IjDh8kbZyIxMW+sWuvLK/KePLdHOKOl1l/3Q==}
/@tiptap/core@2.1.16(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-nKnV603UyzbcrqhCXTWxDN22Ujb4VNfmKkACms1JOMGo7BVARmMCp2nBsLW8fmgCxmf8AS0LXY63tU7ILWYc5g==}
peerDependencies:
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/pm': 2.1.15
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-blockquote@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-H7zKKL85ZefhXS0ye3YYCUemStcs3PQLuSznR/T/KX3ds7AMhHbfRx3nRbMYYUT2dHd0DVVrhgdQPu4HhwbZVQ==}
/@tiptap/extension-blockquote@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-1OMk8cBrL0VnbnzD3XHx7U4oMDCiXRR7Spfl9JqwC9pS4RosOUBySNxpEBwhSegB0pK6sd7m44qLqj00If+cHA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-bold@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-bGaRXldgZaf7fGwuD0nFuwhxOPLhSa9cqkq4zOUHEQ0LAdXAqAtOe7ftF2Er7bHTd9kp6bvVvcNSWKi+PTTApw==}
/@tiptap/extension-bold@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-gz2VrBkRRsGBiOHx1qB++VUfpuRdhJp6jlgNqqHFbIkjKr2NB+u7oiH5SbjlL4eG0wlam1QA4jAkXhZgdvkA4g==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-bubble-menu@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-nHTeIYKruau6KL7fh1pvWBrzVXH1YE7S96RPPQ6dNwZjb9F3tXNVrIpPhR3Pafhy4LGHYvWYiZekc3Ir0dM4aQ==}
/@tiptap/extension-bubble-menu@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-MwKCmu2kU7+Xln/BvlrolU2hCXgoCoTr4NXJ+3v8A9w7tIq8leADoWacfEee2t3VNnGdXw/Xjza+DAr77JWjGg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
tippy.js: 6.3.7
dev: false
/@tiptap/extension-bullet-list@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-xRJK7s2Nr47VgCfCzhQ5X5uYZPIARWS9HddFyDzlUK5fJbW9ISQ0HEl2y1eEAUqG+l0l/1o6HuBu4A4EkGMUQA==}
/@tiptap/extension-bullet-list@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-Cheaep5JShO9TtRslrOObSVKtRQFKozou2ZWDas5sIeef/A/GWPfVTzusfBGE/ItHwZNaDXwJOoVnSUPT8ulfw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-code-block-lowlight@2.1.15(@tiptap/core@2.1.15)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-/CvqgGrLz6gFacWfLbBrh6fBYCcr/nXXSWiAql68YofntjAzKjnrpVHmn9xriyrFnsRLRuhD+yNXaZAvt9U/VA==}
/@tiptap/extension-code-block-lowlight@2.1.16(@tiptap/core@2.1.16)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-tudlWkCcd+wrVot9yWQJLMd3Y6u5ma4tVDju3EEruzC/Tpf/Uoxj/HBoPIGT2L+l/O3Qq1OPeSkmeaW6qAdpPA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/extension-code-block': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/extension-code-block': 2.1.12(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/extension-code-block': 2.1.12(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-code-block@2.1.12(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
/@tiptap/extension-code-block@2.1.12(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-RXtSYCVsnk8D+K80uNZShClfZjvv1EgO42JlXLVGWQdIgaNyuOv/6I/Jdf+ZzhnpsBnHufW+6TJjwP5vJPSPHA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-code@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-0IMHsTEuJ0AUXGLwJm60MdDSbflN2J8z/8ahFpw4qBGgJELXCSFCdGVW4QBd3A5QkAYsMZHfSOXhF1sTBIgM9Q==}
/@tiptap/extension-code@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-2+fVfh3qQORgMRSZ6hn+yW5/rLzlulCzMhdL07G0lWY8/eWEv3p9DCfgw9AOHrrHFim8/MVWyRkrkBM/yHX9FA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-document@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-rqlpCaVxjUmCqZhc8KYm3/21z8jhg3gphG0AO2MX78zyT0Wgw/EEDii1kFzFbTVj8VUV3JfaU1HWNVjK8hbDNQ==}
/@tiptap/extension-document@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-VSOrzGnpI9dJDffFn3ZjmPKYkH/YtYeDl6nqLu7TafRqyLMSEqxxxq/+Qs/7j8jbzq6osslY0sySckSulroIOg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-dropcursor@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-VTod6dGC2M1hy0suReUJu7f1raSAyROSKE+Hp1zTaRaEjnE8mW+2PtPLQ5CRHmdLgAD2k1dGRNnxnsO6aqX2jg==}
/@tiptap/extension-dropcursor@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-voWEIAmxV3f9Q0gc3K89HRq8KFeOVtHJBRHYihZwxMnvq2aMIwdpCx0GbiCd4slQaBLd1ASJHz1uAigVhR2+uA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-floating-menu@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-2qrRE2HpF2vgYK72+CbT6xrhlShw4dS2xPV6kuXaYuBHR7tiyeGusCg7CXr7mZxIdTVj/+nNj3GCtST/+A7d5w==}
/@tiptap/extension-floating-menu@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-VBT4HBhkKr9S1VExyTb/qfQyZ5F0VJLasUoH8E4kdq3deCeifmTTIOukuXK5QbicFHVQmY2epeU6+w5c/bAcHQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
tippy.js: 6.3.7
dev: false
/@tiptap/extension-gapcursor@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-92Vdnr7UHAjCNJXa1J61PVu7K68OW44o7pRPVwBujlPWZK9MgEJAOC0DNW3u4u+dqJu8fdrfnUXSrzzB/DCoLg==}
/@tiptap/extension-gapcursor@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-Bgjo0da0W1QOhtnT3NR7GHPmVBZykNRekNGsTA3+nxCjkqh1G32Jt58TBKP3vdLBaww3lhrii0SYVErlFgIJnA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-hard-break@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-vQvP6Nzc6KE1mmKZdwNAlB12/1HeBmgUFSJPevnDLVvnaxla1tri/GtBIYONhZK3zPPY2PPj4Dt+4JWgK0rn1g==}
/@tiptap/extension-hard-break@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-H3Bk8Gu5pV7xH8TrzH0WAoXrJVEKsDA6Evyl7H7aCAMAvotQL0ehuuX88bjPMCSAvBXZE39wYnJCJshGbVx0BA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-heading@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-3ck2+Xkke8IvLXDzYP1fw/GlWr0SZ1AnaNQvywobG4+WKc2HjhgBnHG9mZiCNvL3dXrSqSs2spBraoKYrMYBfA==}
/@tiptap/extension-heading@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-vFQuAAnIxDwKjTV+ScSwIaeG4Uhm1cZddnbLTru1EJfIz9VvpHDZKEyL4ZJvWuKMAhCzlw54TQhBCVHqalXyaA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-history@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-KhCElkZJvNdOPxtCt+CzgxE2vIk+r4mnTay9+hC/6iVRcs24JTaDUihSwiC+lW0ot5zB1OxWUCLpgRnpJ9qdkA==}
/@tiptap/extension-history@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-9YHPf8Xqqp5CQy1hJonkBzROj0ZHR1ZaIk9IaLlAPTpdkrUDXV9SC7qp3lozQsMg4vmU3K6H5VQo4ADpnR00OQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-horizontal-rule@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-vywkBeGMOe6Duk3aInVPF6iHjoHWTNVYK5DCrUVyegb+XKqDIuiRN5UjOZ/3fqAZ6lvuuIMF58ZsW5c+skrXNg==}
/@tiptap/extension-horizontal-rule@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-Q+Zp0lJF7212YIuZnbMmn4KC1MZoZjQIuvSd+DOgCwKSeUcTXBbljDjOiN8yrY134r+A4fFM7KHTXWYqZGZQug==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-image@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-hAtCwSBP1F+I/kvDDV/fmLMlF7Xx1FmMZOekgQwMtbgMYGpgttpYUFqMxMFYN7ldsSOXzmxGEtlfc1Jq3f741w==}
/@tiptap/extension-image@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-idvmJzdG/u9YDt/GOCvgQMB1p/GZbBqb2Spk8BhXHoBGHR4zFo609ExccXYKR4UWs0iTACDq80VwJvfHa8XYKw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-italic@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-8bNDAv3kvIb+bIsGq5az/rd5oIN3E3NSIx2x/FZ1LqMTVhBJ/mWRVZf8etV4O2oCRXiVPlUDXCEMWqDRxCzYgg==}
/@tiptap/extension-italic@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-6mFGPBGxd2aICJ5Q3zYxuXO8slKoOP/PsSjEQn1bjs3h8Q3mPxHX290ePVp728o5F0myM9sxKSz2V6/VeuS/Yw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-link@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-mqjZws+8VyOl++pUeB2t4E/sCKhsxutLGVZY7yGRNdl30SfJirTf9hdcJRSpVkmI+9fiQ6Xnx081kCs7oaKZLw==}
/@tiptap/extension-link@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-QIXYwxHi2kKU2sqDXngTpggO4ZmLm4vMxDlbWT9so1iUPAqQJW2ZRbdygFYy1txirWcoaJKocPwSJemyAeUzmw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
linkifyjs: 4.1.1
dev: false
/@tiptap/extension-list-item@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-71/9rJ3gJPUt1lAf31FvpcYB8tvKyC93wKngl/GOfL5VSjOqrsNMne8hqsHzuEgu+uPElVHgSG3b5MLhxUU9TA==}
/@tiptap/extension-list-item@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-RLUodzFispIe1adarCEzf+OfaGZna/WR/k/HqPnbflSiJ6/I2P5MqI+ELjGGvc53eanf3+KpsHlB2Pganp8sMA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-ordered-list@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-AyhxEpc+7/TDeK4kK1kAVhmsNGEekmd3pa+Xfrajr+3w93QKJwwTdoXz9rFLj6rP8/2JWPMpxVF4DTO67olFWg==}
/@tiptap/extension-ordered-list@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-6QLUm90wz2lfzWGV4fX5NOOFA8zKlcDBNrTeOd0V7H4fcafLmANqU/5o4LLNJmK8y8f1YAvmHr9xgciqggGJJA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-paragraph@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-QPpv+PR3LfOcRpWTDXvQ904yJ4+3AGNOCXAoW/I0qzW/rb0h1vTSUrknGGR6gzxaDwPsUqewVmxL/ZejO/EKfQ==}
/@tiptap/extension-paragraph@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-JwCKSFjBLd9xAmxLe7hf1h4AucDvkGTfDb/wA1jId64g+uf0/tm6RDjnk/QD+D2YzoLGFLjQm0GAdPXTmyTPdA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-placeholder@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-a6jtylXlUUl/GmPfbBf2pVHcm60RnZWVO5V2H/WTLzzzl+jUuPKeXyS3ISyaueCOSq9zEsvOQz+DQjiFsUEhdw==}
/@tiptap/extension-placeholder@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-C6xgWKn6LT7yhvz0RCHjzFxpstFCHUw2eXisrHlOz36SP/1EmGIBiKqJUP7ySSSQMgl4hzHDhj6W1KyGdsyYaA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-strike@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-rGt/A8H5H1fFaxKFI7J8vNJOzUpgThDMSewuaHngGZN0+8Dd5opmXWUjwEEVqWWVP43L3uO8i8+d8V1/WPMV+Q==}
/@tiptap/extension-strike@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-Z1hmBK1QWMMGDV2MJ3KBDiMuzcScjyx88cP5ln5G7626Zxeqywf84KF+2WyHBzJWfwMWpAouzwHKe9ld39Vu1w==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-table-cell@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-s2hO3ZW+iszjBgKJlGapNY5N4DIcVVUpHrZngNzGmv0EbbLYCyFoGQKAaJhq0z335rW5Hq+k19BE0HKI3jc1pQ==}
/@tiptap/extension-table-cell@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-qHKQAfPSLaTb4A9f/++YPX4uC+F8LFxuNfgOIMzEJbPxSJ00KJp56YM1w0ctAJIZoxHWN7USRW6RYm995aLblg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-table-header@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-5MmoT6ZmRzYZorXdqkiWaph02ZQBecoHd/vTpYMD1CwD7sEP+2Oij11jJq6URbvVDLEZU8LqT0wlC+Fo4O7J8A==}
/@tiptap/extension-table-header@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-RIyHNPTUhLHSNMQnqGG1rd53qxIwVbnb3AIANDV/KWpaACDgAOLJvdH/+oRiVe5C9BlAw6l9kGDr8iBAhBdnWw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-table-row@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-fKqXouDfHVZrpcbCPEluHiJOqkSfNHyqS+IA1DQvM/3kWpqfh8GMs7ZQJI2RGXmgqUul0sbDpB7jT3OD3cPhmw==}
/@tiptap/extension-table-row@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-fVoNuef+YX7HyGpgljdphYdoxmbRjs/WJZDYsbXSmNaNc6I1jT9gpeBmRcVaB8oqrtIaE1GaR7u6Ricp4tpkVA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-table@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-7mEytHrY7eLaJHyHNwC5l7IXHMTBF2HydCX/sF5Z3oNh63bCGWo/5NjvW6fjJd9B6KQ5yH5ec+gO7uPaf/555w==}
/@tiptap/extension-table@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-Xvi0GyHYKBL3KQ5CiayDxjMecEIdokZDTjczPzDB1VYiHwM1/PFFWqJlhmSSOzGgcyjwV8/Pn6eumqM3rCqKFw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-task-item@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-0jjVlhDhfkfXN78310BAk9w+9q7+Xkvi53LsCyQGxaGkypDOjTdPLY94vmaopmjwkKhBRJFGYmGzc9zENMAWhA==}
/@tiptap/extension-task-item@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-kqeoAPAh3TGhAiJMkFlVcRzI765MB4KzGL9fJEQY7oeZF8FG9mYcMlqD7SkpdmV5UOJ+uWByIca4yWwHoyBIUg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/extension-task-list@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-E9YYoyRjJZRIZPDGaq7LIoz1loQ6Tz8Ri+EeObkf2GIKTohzLQz3GQk8mpuoLFWAr3P+VGEq2857aQFj2P9mNQ==}
/@tiptap/extension-task-list@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-NZzjK8SN3LZcjnwHLiCYPrNRs4nqax+b36GqB1o4GC1Vqmkt8ynW+MII09i08LhBYVJSX2yzRKPE2RDhCeAWig==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-text@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-TpYbSmJOItU0OkydnRgKFT0BpZpS4E1GC/rlpc7R3f+lL8VMuS7AnZKFQj8A7F8mEEWAWZtDIjLPvY3SztVtVg==}
/@tiptap/extension-text@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-XzSJmAj32uYpaL/9FX3tRSU52DwZ9w+3yEffIcSN9MSwioqLsSolXOz7TuJfW6lSTar1ml9UPlRqX4dpayUTDQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-typography@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-oZ3KLj6VDHlFGhDHMGbj2u6JL3Svk3E3xMQD/ON3/WyHm0gv8L0i373cn1DgBddnLJTcYvQIDl/q1i1y3lCSng==}
/@tiptap/extension-typography@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-1lQzgcnviYV/wm78YB4CIuVI4is0bLGxxEjrDjOexEYINbBJAEESYeUZjwVyU7VKJRWO/0rpwtFJ7D/BVibMkQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/extension-underline@2.1.15(@tiptap/core@2.1.15):
resolution: {integrity: sha512-GennZVVC0QI7An7CRsnHykYPZnHAQWG8o8l+4Stg3UcGym7xH9tUv3JNxiDbjijw/jHDQVf7FJtjTNH749+4NA==}
/@tiptap/extension-underline@2.1.16(@tiptap/core@2.1.16):
resolution: {integrity: sha512-OXGzIlKz5fA9BRdqC+HOkLFfJULfq2kOXc0ipKLoUq5sNoMGvmxnJbgv+mczKCDoJR/F3NsDCHQXLmaW7AYvcw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
dev: false
/@tiptap/pm@2.1.15:
resolution: {integrity: sha512-iQYr1XBWqrILzNYKWeCTmF83AhYKuONukIKf09QD2kLwlR2ZRca3NM4U3KFs3oHYt5xjdFrT95U8nmCIs10VEQ==}
/@tiptap/pm@2.1.16:
resolution: {integrity: sha512-yibLkjtgbBSnWCXbDyKM5kgIGLfMvfbRfFzb8T0uz4PI/L54o0a4fiWSW5Fg10B5+o+NAXW2wMxoId8/Tw91lQ==}
dependencies:
prosemirror-changeset: 2.2.1
prosemirror-collab: 1.3.1
@ -4685,27 +4685,27 @@ packages:
prosemirror-view: 1.32.1
dev: false
/@tiptap/suggestion@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15):
resolution: {integrity: sha512-m2Hv4nOBKd1LTDCZFxRz8v9KSW+WmA0Z1XZTRRu4M8YkDlgTuzLuOTHwITa+zpUAHzuESgEATK+Pl2NyOqUv6g==}
/@tiptap/suggestion@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16):
resolution: {integrity: sha512-3kYgpT1oTSgjLesAU3rV3lkcqVRV9K520/tA1IhXAC+UsofUEkflXftoMnaJjwgEfKM3n87uJlyPFEUBiC7xYg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
dev: false
/@tiptap/vue-3@2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)(vue@3.4.8):
resolution: {integrity: sha512-EubApxGbpAVD7+fQ9h0xSd/hbyDI+fF91LGHeBHEZA2gLX8XX3cSXRlPWcEYvvB1VeTfUfxnY912uVAGRm9m9Q==}
/@tiptap/vue-3@2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)(vue@3.4.8):
resolution: {integrity: sha512-pvfIsBAyFeZVllnl38DFX8X11XMvFcT2/vViAtkDwJpX2W/m/nmxOSlEnqmOEzC+sbFqk7bhKpBVElaROV+U0w==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
vue: ^3.0.0
dependencies:
'@tiptap/core': 2.1.15(@tiptap/pm@2.1.15)
'@tiptap/extension-bubble-menu': 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
'@tiptap/extension-floating-menu': 2.1.15(@tiptap/core@2.1.15)(@tiptap/pm@2.1.15)
'@tiptap/pm': 2.1.15
'@tiptap/core': 2.1.16(@tiptap/pm@2.1.16)
'@tiptap/extension-bubble-menu': 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/extension-floating-menu': 2.1.16(@tiptap/core@2.1.16)(@tiptap/pm@2.1.16)
'@tiptap/pm': 2.1.16
vue: 3.4.8(typescript@5.3.3)
dev: false
@ -7241,8 +7241,8 @@ packages:
dev: false
patched: true
/floating-vue@5.0.3(vue@3.4.8):
resolution: {integrity: sha512-AM7yczIuFACI6T2l8z0ozpTSqHDagcxiQCCanUqvm7Zxtk4CUJNyF6nSuBkkeEYX6hDyTAcmNHe2NJ5x54qnnw==}
/floating-vue@5.1.0(vue@3.4.8):
resolution: {integrity: sha512-tk2Y9pbsmfaMc15JhA3JYPRDT+DSOJ2fm7kYIRks0HRga8HtOYDfU4nPh95SRqFOk+OQWHdaE41FYq/wYKztuA==}
peerDependencies:
'@nuxt/kit': ^3.2.0
vue: ^3.2.0

View File

@ -4,6 +4,11 @@
"extends": [
"config:js-app"
],
"hostRules": [
{
"timeout": 600000
}
],
"packageRules": [
{
"matchPackageNames": ["happy-dom"],

View File

@ -128,9 +128,11 @@ const flatPickrDate = computed({
return
}
const oldDate = formatDate(date.value, 'yyy-LL-dd H:mm')
if (oldDate !== newValue) {
return
if (date.value !== null) {
const oldDate = formatDate(date.value, 'yyy-LL-dd H:mm')
if (oldDate === newValue) {
return
}
}
date.value = createDateFromString(newValue)
updateData()

View File

@ -671,36 +671,17 @@ watch(
line-height: 1.1;
}
a {
color: #68cef8;
}
code {
background-color: rgba(#616161, 0.1);
color: #616161;
background-color: var(--grey-200);
color: var(--grey-700);
}
pre {
background: #0d0d0d;
color: #fff;
background: var(--grey-200);
color: var(--grey-700);
font-family: 'JetBrainsMono', monospace;
padding: 0.75rem 1rem;
border-radius: 0.5rem;
code {
color: inherit;
padding: 0;
background: none;
font-size: 0.8rem;
}
}
pre {
background: #0d0d0d;
color: #fff;
font-family: 'JetBrainsMono', monospace;
padding: 0.75rem 1rem;
border-radius: 0.5rem;
border-radius: $radius;
code {
color: inherit;
@ -711,7 +692,7 @@ watch(
.hljs-comment,
.hljs-quote {
color: #616161;
color: var(--grey-500);
}
.hljs-variable,
@ -724,7 +705,7 @@ watch(
.hljs-name,
.hljs-selector-id,
.hljs-selector-class {
color: #f98181;
color: var(--code-variable);
}
.hljs-number,
@ -734,23 +715,23 @@ watch(
.hljs-literal,
.hljs-type,
.hljs-params {
color: #fbbc88;
color: var(--code-literal);
}
.hljs-string,
.hljs-symbol,
.hljs-bullet {
color: #b9f18d;
color: var(--code-symbol);
}
.hljs-title,
.hljs-section {
color: #faf594;
color: var(--code-section);
}
.hljs-keyword,
.hljs-selector-tag {
color: #70cff8;
color: var(--code-keyword);
}
.hljs-emphasis {

View File

@ -1,5 +1,5 @@
<template>
<slot name="trigger" :isOpen="open" :toggle="toggle"></slot>
<slot name="trigger" :isOpen="open" :toggle="toggle" :close="close"></slot>
<div
class="popup"
:class="{
@ -8,7 +8,7 @@
}"
ref="popup"
>
<slot name="content" :isOpen="open" :toggle="toggle"/>
<slot name="content" :isOpen="open" :toggle="toggle" :close="close"/>
</div>
</template>

View File

@ -9,7 +9,7 @@
{{ reminderText }}
</SimpleButton>
</template>
<template #content="{isOpen, toggle}">
<template #content="{isOpen, close}">
<Card class="reminder-options-popup" :class="{'is-open': isOpen}" :padding="false">
<div class="options" v-if="activeForm === null">
<SimpleButton
@ -17,7 +17,7 @@
:key="k"
class="option-button"
:class="{'currently-active': p.relativePeriod === modelValue?.relativePeriod && modelValue?.relativeTo === p.relativeTo}"
@click="setReminderFromPreset(p, toggle)"
@click="setReminderFromPreset(p, close)"
>
{{ formatReminder(p) }}
</SimpleButton>
@ -40,20 +40,20 @@
<ReminderPeriod
v-if="activeForm === 'relative'"
v-model="reminder"
@update:modelValue="updateDataAndMaybeClose(toggle)"
@update:modelValue="updateDataAndMaybeClose(close)"
/>
<DatepickerInline
v-if="activeForm === 'absolute'"
v-model="reminderDate"
@update:modelValue="setReminderDate(toggle)"
@update:modelValue="setReminderDate(close)"
/>
<x-button
v-if="showFormSwitch !== null"
class="reminder__close-button"
:shadow="false"
@click="toggle"
@click="updateDataAndMaybeClose(close)"
>
{{ $t('misc.confirm') }}
</x-button>
@ -148,25 +148,26 @@ function updateData() {
}
}
function setReminderDate(toggle) {
function setReminderDate(close) {
reminder.value.reminder = reminderDate.value === null
? null
: new Date(reminderDate.value)
reminder.value.relativeTo = null
reminder.value.relativePeriod = 0
updateDataAndMaybeClose(toggle)
updateDataAndMaybeClose(close)
}
function setReminderFromPreset(preset, toggle) {
function setReminderFromPreset(preset, close) {
reminder.value = preset
updateData()
toggle()
close()
}
function updateDataAndMaybeClose(toggle) {
function updateDataAndMaybeClose(close) {
updateData()
if (clearAfterUpdate) {
toggle()
close()
}
}

View File

@ -55,6 +55,7 @@ import TaskReminderModel from '@/models/taskReminder'
import type {ITaskReminder} from '@/modelTypes/ITaskReminder'
import {REMINDER_PERIOD_RELATIVE_TO_TYPES, type IReminderPeriodRelativeTo} from '@/types/IReminderPeriodRelativeTo'
import {useDebounceFn} from '@vueuse/core'
const {
modelValue,
@ -105,7 +106,7 @@ function updateData() {
reminder.value.relativeTo = period.value.relativeTo
reminder.value.reminder = null
emit('update:modelValue', reminder.value)
useDebounceFn(() => emit('update:modelValue', reminder.value), 1000)
}
</script>

View File

@ -288,6 +288,7 @@ async function markAsDone(checked: boolean) {
title: t('task.undo'),
callback: () => undoDone(checked),
}])
updateDueDate()
}
if (checked) {

View File

@ -256,6 +256,13 @@
--card-border-color: var(--grey-200);
--logo-text-color: hsl(180, 1%, 15%);
// Code colors
--code-variable: #da2222;
--code-literal: #fd8a09;
--code-symbol: #0ead69;
--code-section: #3a86ff;
--code-keyword: #8338ec;
&.dark {
@media screen {
// Light mode colours reversed for dark mode
@ -311,6 +318,13 @@
--scheme-invert: var(--grey-900);
--scheme-invert-bis: var(--grey-900);
--scheme-invert-ter: var(--grey-800);
// Code colors
--code-variable: #f98181;
--code-literal: #fbbc88;
--code-symbol: #b9f18d;
--code-section: #faf594;
--code-keyword: #70cff8;
}
}
}

View File

@ -179,7 +179,23 @@ watch(
if (projectId < 0) {
return
}
tasks.value = tasks.value.filter(t => typeof t.relatedTasks?.parenttask === 'undefined')
const tasksById = {}
tasks.value.forEach(t => tasksById[t.id] = true)
tasks.value = tasks.value.filter(t => {
if (typeof t.relatedTasks?.parenttask === 'undefined') {
return true
}
// If the task is a subtask, make sure the parent task is available in the current view as well
for (const pt of t.relatedTasks.parenttask) {
if(typeof tasksById[pt.id] === 'undefined') {
return true
}
}
return false
})
},
)