diff --git a/.idea/lychen.iml b/.idea/lychen.iml index b039203..3f5e566 100644 --- a/.idea/lychen.iml +++ b/.idea/lychen.iml @@ -12,30 +12,10 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/libs/php/util-tiptap/.gitignore b/libs/php/util-tiptap/.gitignore new file mode 100644 index 0000000..42cd73d --- /dev/null +++ b/libs/php/util-tiptap/.gitignore @@ -0,0 +1 @@ +/vendor/ \ No newline at end of file diff --git a/libs/php/util-tiptap/composer.json b/libs/php/util-tiptap/composer.json new file mode 100644 index 0000000..69b559b --- /dev/null +++ b/libs/php/util-tiptap/composer.json @@ -0,0 +1,22 @@ +{ + "name": "lychen/util-tiptap", + "type": "library", + "autoload": { + "psr-4": { + "Lychen\\UtilTiptap\\": "src/" + } + }, + "authors": [ + { + "name": "Nathan De Pachtere", + "email": "nathan.depachtere@alpsify.com" + } + ], + "minimum-stability": "stable", + "require": { + "ueberdosis/tiptap-php": "1.4.*" + }, + "require-dev": { + "zenstruck/foundry": "2.2.*" + } +} diff --git a/libs/php/util-tiptap/moon.yml b/libs/php/util-tiptap/moon.yml new file mode 100644 index 0000000..bb08d83 --- /dev/null +++ b/libs/php/util-tiptap/moon.yml @@ -0,0 +1,5 @@ +id: lychen-php-util-tiptap + +language: php + +type: library diff --git a/libs/php/util-tiptap/src/Service/TipTapFaker.php b/libs/php/util-tiptap/src/Service/TipTapFaker.php new file mode 100644 index 0000000..d4ea498 --- /dev/null +++ b/libs/php/util-tiptap/src/Service/TipTapFaker.php @@ -0,0 +1,49 @@ +boolean ? TipTapFaker::sentences() : TipTapFaker::paragraphs(); + } + + public static function sentences($min = 1, $max = 3, $random = true): ?array + { + return (!$random || faker()->boolean(70)) ? [ + 'type' => 'doc', + 'content' => [ + [ + 'type' => 'paragraph', + 'content' => [ + [ + 'type' => 'text', + 'text' => faker()->sentences(faker()->biasedNumberBetween($min, $max), asText: true), + ], + ], + ], + ], + ] : null; + } + + public static function paragraphs($min = 1, $max = 3, $random = true): ?array + { + return (!$random || faker()->boolean(70)) ? [ + 'type' => 'doc', + 'content' => [ + [ + 'type' => 'paragraph', + 'content' => [ + [ + 'type' => 'text', + 'text' => faker()->paragraph(faker()->biasedNumberBetween($min, $max)), + ], + ], + ], + ], + ] : null; + } +} diff --git a/libs/tera/land-task/ui-components/card-tera-land-task/CardTeraLandTask.vue b/libs/tera/land-task/ui-components/card-tera-land-task/CardTeraLandTask.vue new file mode 100644 index 0000000..b4ba183 --- /dev/null +++ b/libs/tera/land-task/ui-components/card-tera-land-task/CardTeraLandTask.vue @@ -0,0 +1,53 @@ + + + diff --git a/libs/tera/land-task/ui-components/card-tera-land-task/index.ts b/libs/tera/land-task/ui-components/card-tera-land-task/index.ts new file mode 100644 index 0000000..be56863 --- /dev/null +++ b/libs/tera/land-task/ui-components/card-tera-land-task/index.ts @@ -0,0 +1,7 @@ +import type { ObjectValues } from '@lychen/typescript-util-object/Object'; + +export const VARIANT = { + Default: 'default', +} as const; + +export type Variant = ObjectValues; diff --git a/libs/tera/land-task/ui-components/moon.yml b/libs/tera/land-task/ui-components/moon.yml new file mode 100644 index 0000000..f2a02d1 --- /dev/null +++ b/libs/tera/land-task/ui-components/moon.yml @@ -0,0 +1,9 @@ +dependsOn: + - tera-land-task-ui-i18n + - tera-util-api-sdk + - typescript-util-object + - ui-components + +id: tera-land-task-ui-components +language: typescript +type: library diff --git a/libs/tera/land-task/ui-components/package.json b/libs/tera/land-task/ui-components/package.json new file mode 100644 index 0000000..fed265d --- /dev/null +++ b/libs/tera/land-task/ui-components/package.json @@ -0,0 +1,11 @@ +{ + "name": "@lychen/tera-land-task-ui-components", + "version": "0.0.0", + "license": "UNLICENSED", + "dependencies": { + "@lychen/tera-land-task-ui-i18n": "workspace:*", + "@lychen/tera-util-api-sdk": "workspace:*", + "@lychen/typescript-util-object": "workspace:*", + "@lychen/ui-components": "workspace:*" + } +} diff --git a/libs/tera/land-task/ui-components/tsconfig.json b/libs/tera/land-task/ui-components/tsconfig.json new file mode 100644 index 0000000..4150716 --- /dev/null +++ b/libs/tera/land-task/ui-components/tsconfig.json @@ -0,0 +1,33 @@ +{ + "extends": "../../../../tsconfig.options.json", + "include": [ + "../../../typescript/util-object/**/*", + "../../../ui-components/**/*", + "../../util-api-sdk/**/*", + "../ui-i18n/**/*", + "**/*" + ], + "references": [ + { + "path": "../../../typescript/util-object" + }, + { + "path": "../../../ui-components" + }, + { + "path": "../../util-api-sdk" + }, + { + "path": "../ui-i18n" + } + ], + "compilerOptions": { + "outDir": "../../../../.moon/cache/types/libs/tera/land-task/ui-components", + "paths": { + "@lychen/ui-components/*": ["../../../ui-components/*"], + "@lychen/tera-util-api-sdk/*": ["../../util-api-sdk/*"], + "@lychen/typescript-util-object/*": ["../../../typescript/util-object/*"], + "@lychen/tera-land-task-ui-i18n/*": ["../ui-i18n/*"] + } + } +} diff --git a/libs/tera/land-task/ui-i18n/moon.yml b/libs/tera/land-task/ui-i18n/moon.yml new file mode 100644 index 0000000..f7ae953 --- /dev/null +++ b/libs/tera/land-task/ui-i18n/moon.yml @@ -0,0 +1,3 @@ +id: tera-land-task-ui-i18n +language: typescript +type: library diff --git a/libs/tera/land-task/ui-i18n/package.json b/libs/tera/land-task/ui-i18n/package.json new file mode 100644 index 0000000..bc5810b --- /dev/null +++ b/libs/tera/land-task/ui-i18n/package.json @@ -0,0 +1,5 @@ +{ + "name": "@lychen/tera-land-task-ui-i18n", + "version": "0.0.0", + "license": "UNLICENSED" +} diff --git a/libs/tera/land-task/ui-i18n/property/en-US.ts b/libs/tera/land-task/ui-i18n/property/en-US.ts new file mode 100644 index 0000000..7a2a0e5 --- /dev/null +++ b/libs/tera/land-task/ui-i18n/property/en-US.ts @@ -0,0 +1,22 @@ +export default { + land_areas: { + default: 'no area | 1 area | {count} areas', + }, + kind: { + label: 'Type of space', + individual: { + default: 'Individual', + }, + market_garden: { + default: 'Market garden', + }, + shared_garden: { + default: 'Shared garden', + }, + }, + surface: { + label: 'Surface area', + suffix: 'in m²', + default: '{count} m²', + }, +}; diff --git a/libs/tera/land-task/ui-i18n/property/fr-FR.ts b/libs/tera/land-task/ui-i18n/property/fr-FR.ts new file mode 100644 index 0000000..c4907b3 --- /dev/null +++ b/libs/tera/land-task/ui-i18n/property/fr-FR.ts @@ -0,0 +1,22 @@ +export default { + land_areas: { + default: 'aucune zone | 1 zone | {count} zones', + }, + kind: { + label: "Type d'espace", + individual: { + default: 'Particulier', + }, + market_garden: { + default: 'Maraîcher', + }, + shared_garden: { + default: 'Jardin partagé', + }, + }, + surface: { + label: 'Surface', + suffix: 'en m²', + default: '{count} m²', + }, +}; diff --git a/libs/tera/land-task/ui-i18n/property/index.ts b/libs/tera/land-task/ui-i18n/property/index.ts new file mode 100644 index 0000000..2b2693d --- /dev/null +++ b/libs/tera/land-task/ui-i18n/property/index.ts @@ -0,0 +1,10 @@ +import enUs from './en-US'; +import frFr from './fr-FR'; + +export const messages = { + 'fr-FR': frFr, + 'en-US': enUs, + 'en-GB': enUs, +}; + +export const TRANSLATION_KEY = 'lychen_tera_land_property'; diff --git a/libs/tera/land-task/ui-i18n/tsconfig.json b/libs/tera/land-task/ui-i18n/tsconfig.json new file mode 100644 index 0000000..b954677 --- /dev/null +++ b/libs/tera/land-task/ui-i18n/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../../tsconfig.options.json", + "include": ["**/*"], + "references": [], + "compilerOptions": { + "outDir": "../../../../.moon/cache/types/libs/tera/land-task/ui-i18n", + "paths": {} + } +} diff --git a/libs/tera/land-task/util-composables/moon.yml b/libs/tera/land-task/util-composables/moon.yml new file mode 100644 index 0000000..cc50db8 --- /dev/null +++ b/libs/tera/land-task/util-composables/moon.yml @@ -0,0 +1,3 @@ +id: tera-land-task-util-composables +language: typescript +type: library diff --git a/libs/tera/land-task/util-composables/tsconfig.json b/libs/tera/land-task/util-composables/tsconfig.json new file mode 100644 index 0000000..23bf44b --- /dev/null +++ b/libs/tera/land-task/util-composables/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../../tsconfig.options.json", + "include": ["**/*"], + "references": [], + "compilerOptions": { + "outDir": "../../../../.moon/cache/types/libs/tera/land-task/util-composables", + "paths": {} + } +} diff --git a/libs/tera/util-api-sdk/model/LandTask.ts b/libs/tera/util-api-sdk/model/LandTask.ts new file mode 100644 index 0000000..e70afa8 --- /dev/null +++ b/libs/tera/util-api-sdk/model/LandTask.ts @@ -0,0 +1,18 @@ +import type { Resource } from '@lychen/typescript-util-json-ld-hydra/types/Resource'; +import { instanceOfResource } from '@lychen/typescript-util-json-ld-hydra/types/Resource'; + +export interface LandTask extends Resource { + '@type': 'LandTask'; + title: string; + content?: JSON; + dueDate?: string; + startDate?: string; +} + +export function instanceOfLandTask(object: unknown): object is LandTask { + if (!instanceOfResource(object)) { + return false; + } + + return object['@type'] === 'LandTask'; +} diff --git a/libs/tera/util-api-sdk/repositories/LandTaskRepository.ts b/libs/tera/util-api-sdk/repositories/LandTaskRepository.ts new file mode 100644 index 0000000..c7fe1ee --- /dev/null +++ b/libs/tera/util-api-sdk/repositories/LandTaskRepository.ts @@ -0,0 +1,8 @@ +import { Repository } from '@lychen/typescript-util-api/classes/Repository'; +import axiosInstance from '@lychen/typescript-util-api/ZitadelBearerTokenAxiosInstance'; +import type { Resource } from '@lychen/typescript-util-json-ld-hydra/types/Resource'; +import type { LandTask } from '../model/LandTask'; + +class LandTaskRepository extends Repository {} + +export default new LandTaskRepository(axiosInstance, 'land_tasks'); diff --git a/libs/typescript/util-types/Utility.ts b/libs/typescript/util-types/Utility.ts new file mode 100644 index 0000000..281b736 --- /dev/null +++ b/libs/typescript/util-types/Utility.ts @@ -0,0 +1 @@ +export type OrNullUndefined = T | null | undefined; diff --git a/libs/typescript/util-types/moon.yml b/libs/typescript/util-types/moon.yml new file mode 100644 index 0000000..affba54 --- /dev/null +++ b/libs/typescript/util-types/moon.yml @@ -0,0 +1,3 @@ +id: typescript-util-types +language: typescript +type: library diff --git a/libs/typescript/util-types/package.json b/libs/typescript/util-types/package.json new file mode 100644 index 0000000..aa0fc33 --- /dev/null +++ b/libs/typescript/util-types/package.json @@ -0,0 +1,5 @@ +{ + "name": "@lychen/typescript-util-types", + "version": "0.0.0", + "license": "UNLICENSED" +} diff --git a/libs/typescript/util-types/tsconfig.json b/libs/typescript/util-types/tsconfig.json new file mode 100644 index 0000000..7a2abdb --- /dev/null +++ b/libs/typescript/util-types/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../tsconfig.options.json", + "include": ["**/*"], + "references": [], + "compilerOptions": { + "outDir": "../../../.moon/cache/types/libs/typescript/util-types", + "paths": {} + } +} diff --git a/libs/ui-components/icon/AppLoader.ts b/libs/ui-components/icon/AppLoader.ts index 8239081..38a4cca 100644 --- a/libs/ui-components/icon/AppLoader.ts +++ b/libs/ui-components/icon/AppLoader.ts @@ -36,6 +36,7 @@ import { faMicrophone } from '@fortawesome/pro-light-svg-icons/faMicrophone'; import { faKeyboard } from '@fortawesome/pro-light-svg-icons/faKeyboard'; import { faCamera } from '@fortawesome/pro-light-svg-icons/faCamera'; import { faEllipsisVertical } from '@fortawesome/pro-light-svg-icons/faEllipsisVertical'; +import { faCalendarCircleExclamation } from '@fortawesome/pro-light-svg-icons/faCalendarCircleExclamation'; import { library } from '@fortawesome/fontawesome-svg-core'; @@ -75,6 +76,7 @@ export function loadFontAwesomeStyles() { faKeyboard, faCamera, faEllipsisVertical, + faCalendarCircleExclamation, ]); library.add(faGithub); library.add(faDiscord); diff --git a/libs/vue/tiptap/ui-components/TipTapEditor.component.ts b/libs/vue/tiptap/ui-components/TipTapEditor.component.ts new file mode 100644 index 0000000..6f7db3c --- /dev/null +++ b/libs/vue/tiptap/ui-components/TipTapEditor.component.ts @@ -0,0 +1 @@ +export type NoStylingProps = { noStyling?: boolean }; diff --git a/libs/vue/tiptap/ui-components/TipTapEditor.vue b/libs/vue/tiptap/ui-components/TipTapEditor.vue new file mode 100644 index 0000000..80baf9e --- /dev/null +++ b/libs/vue/tiptap/ui-components/TipTapEditor.vue @@ -0,0 +1,203 @@ + + + + + + + diff --git a/libs/vue/tiptap/ui-components/moon.yml b/libs/vue/tiptap/ui-components/moon.yml new file mode 100644 index 0000000..3c525b5 --- /dev/null +++ b/libs/vue/tiptap/ui-components/moon.yml @@ -0,0 +1,8 @@ +dependsOn: + - vue-tiptap-util-composables + +id: vue-tiptap-ui-components + +language: typescript + +type: library diff --git a/libs/vue/tiptap/ui-components/package.json b/libs/vue/tiptap/ui-components/package.json new file mode 100644 index 0000000..b50ce4c --- /dev/null +++ b/libs/vue/tiptap/ui-components/package.json @@ -0,0 +1,33 @@ +{ + "name": "@lychen/vue-tiptap-ui-components", + "version": "0.0.0", + "license": "UNLICENSED", + "dependencies": { + "@lychen/vue-tiptap-util-composables": "workspace:*", + "@tiptap/core": "^2.11.5", + "@tiptap/extension-bold": "^2.11.5", + "@tiptap/extension-bullet-list": "^2.11.5", + "@tiptap/extension-character-count": "^2.11.5", + "@tiptap/extension-code": "^2.11.5", + "@tiptap/extension-document": "^2.11.5", + "@tiptap/extension-dropcursor": "^2.11.5", + "@tiptap/extension-gapcursor": "^2.11.5", + "@tiptap/extension-hard-break": "^2.11.5", + "@tiptap/extension-heading": "^2.11.5", + "@tiptap/extension-highlight": "^2.11.5", + "@tiptap/extension-horizontal-rule": "^2.11.5", + "@tiptap/extension-italic": "^2.11.5", + "@tiptap/extension-list-item": "^2.11.5", + "@tiptap/extension-ordered-list": "^2.11.5", + "@tiptap/extension-paragraph": "^2.11.5", + "@tiptap/extension-placeholder": "^2.11.5", + "@tiptap/extension-strike": "^2.11.5", + "@tiptap/extension-text": "^2.11.5", + "@tiptap/extension-text-align": "^2.11.5", + "@tiptap/extension-underline": "^2.11.5", + "@tiptap/pm": "^2.11.5", + "@tiptap/suggestion": "^2.11.5", + "@tiptap/vue-3": "^2.11.5", + "vue": "^3.5.13" + } +} diff --git a/libs/vue/tiptap/ui-components/tsconfig.json b/libs/vue/tiptap/ui-components/tsconfig.json new file mode 100644 index 0000000..12497e4 --- /dev/null +++ b/libs/vue/tiptap/ui-components/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../../tsconfig.options.json", + "include": ["../util-composables/**/*", "**/*"], + "references": [ + { + "path": "../util-composables" + } + ], + "compilerOptions": { + "outDir": "../../../../.moon/cache/types/libs/vue/tiptap/ui-components", + "paths": { + "@lychen/vue-tiptap-util-composables/*": ["../util-composables/*"] + } + } +} diff --git a/libs/vue/tiptap/util-composables/moon.yml b/libs/vue/tiptap/util-composables/moon.yml new file mode 100644 index 0000000..1c6de61 --- /dev/null +++ b/libs/vue/tiptap/util-composables/moon.yml @@ -0,0 +1,8 @@ +dependsOn: + - typescript-util-types + +id: vue-tiptap-util-composables + +language: typescript + +type: library diff --git a/libs/vue/tiptap/util-composables/package.json b/libs/vue/tiptap/util-composables/package.json new file mode 100644 index 0000000..c2d114e --- /dev/null +++ b/libs/vue/tiptap/util-composables/package.json @@ -0,0 +1,8 @@ +{ + "name": "@lychen/vue-tiptap-util-composables", + "version": "0.0.0", + "license": "UNLICENSED", + "dependencies": { + "@lychen/typescript-util-types": "workspace:*" + } +} diff --git a/libs/vue/tiptap/util-composables/tsconfig.json b/libs/vue/tiptap/util-composables/tsconfig.json new file mode 100644 index 0000000..5b37ed6 --- /dev/null +++ b/libs/vue/tiptap/util-composables/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../../tsconfig.options.json", + "include": ["../../../typescript/util-types/**/*", "**/*"], + "references": [ + { + "path": "../../../typescript/util-types" + } + ], + "compilerOptions": { + "outDir": "../../../../.moon/cache/types/libs/vue/tiptap/util-composables", + "paths": { + "@lychen/typescript-util-types/*": ["../../../typescript/util-types/*"] + } + } +} diff --git a/libs/vue/tiptap/util-composables/useEditor.ts b/libs/vue/tiptap/util-composables/useEditor.ts new file mode 100644 index 0000000..df93064 --- /dev/null +++ b/libs/vue/tiptap/util-composables/useEditor.ts @@ -0,0 +1,111 @@ +import { type OrNullUndefined } from '@lychen/typescript-util-types/Utility'; +import { type JSONContent } from '@tiptap/core'; +import Bold from '@tiptap/extension-bold'; +import BulletList from '@tiptap/extension-bullet-list'; +import Document from '@tiptap/extension-document'; +import DropCursor from '@tiptap/extension-dropcursor'; +import GapCursor from '@tiptap/extension-gapcursor'; +import HardBreak from '@tiptap/extension-hard-break'; +import Heading from '@tiptap/extension-heading'; +import Highlight from '@tiptap/extension-highlight'; +import HorizontalRule from '@tiptap/extension-horizontal-rule'; +import Italic from '@tiptap/extension-italic'; +import ListItem from '@tiptap/extension-list-item'; +import OrderedList from '@tiptap/extension-ordered-list'; +import Paragraph from '@tiptap/extension-paragraph'; +import Strike from '@tiptap/extension-strike'; +import Text from '@tiptap/extension-text'; +import TextAlign from '@tiptap/extension-text-align'; +import Underline from '@tiptap/extension-underline'; +import { type AnyExtension, Editor, useEditor as useTipTapEditor } from '@tiptap/vue-3'; +import { computed, type ComputedRef, type Ref, watch } from 'vue'; + +export type EditorProps = { + placeholder?: string; + oneLine?: boolean; + modelValue: EditorModelValue; +}; + +export type EditorModelValue = OrNullUndefined; +export type EditorEmit = { + (e: 'update:modelValue', value: EditorModelValue): void; +}; + +type UseEditor = { + editor: Ref; + defaultExtensions: ComputedRef; +}; + +export function useEditor( + props: EditorProps, + emit: EditorEmit, + extensions?: AnyExtension[], +): UseEditor { + const defaultExtensions = computed(() => { + const exts: AnyExtension[] = [ + TextAlign.configure({ + types: ['heading', 'paragraph'], + }), + Document, + Paragraph, + Heading, + HorizontalRule, + Text, + OrderedList, + BulletList, + ListItem, + Highlight, + Italic, + Bold, + Strike, + DropCursor, + Underline, + GapCursor, + HardBreak, + ]; + if (props.oneLine) { + const CustomDocument = Document.extend({ + content: 'block', + }); + exts.push(CustomDocument); + } + return exts; + }); + + function options() { + return { + extensions: extensions ? extensions : defaultExtensions.value, + content: props.modelValue, + onUpdate: () => { + if (!editor.value) { + return; + } + + emit('update:modelValue', editor.value.getJSON()); + }, + }; + } + + const editor = useTipTapEditor(options()); + + watch( + () => props.modelValue, + (value: EditorModelValue) => { + if (!editor.value) { + return; + } + const isSame = JSON.stringify(editor.value.getJSON()) === JSON.stringify(value); + + if (isSame || !value) { + return; + } + + editor.value.commands.setContent(value, false); + }, + ); + + return { + defaultExtensions, + editor, + }; +} diff --git a/projects/tera/api/composer.json b/projects/tera/api/composer.json index 30217d6..7522b4e 100644 --- a/projects/tera/api/composer.json +++ b/projects/tera/api/composer.json @@ -25,6 +25,7 @@ "league/flysystem-aws-s3-v3": "3.29.*", "lychen/util-model": "*", "lychen/util-zitadel": "*", + "lychen/util-tiptap": "*", "nelmio/cors-bundle": "2.5.*", "oneup/flysystem-bundle": "4.12.*", "phpdocumentor/reflection-docblock": "5.6.*", @@ -90,7 +91,8 @@ "symlink": true, "versions": { "lychen/util-model": "0.0.0", - "lychen/util-zitadel": "0.0.0" + "lychen/util-zitadel": "0.0.0", + "lychen/util-tiptap": "0.0.0" } } } diff --git a/projects/tera/api/composer.lock b/projects/tera/api/composer.lock index a45d7d8..f74a073 100644 --- a/projects/tera/api/composer.lock +++ b/projects/tera/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f757b3730cc75da6e2df6c01f64930dc", + "content-hash": "05de3360a140829d8fdd5156cd783d8a", "packages": [ { "name": "api-platform/core", @@ -2696,7 +2696,7 @@ "dist": { "type": "path", "url": "../packages/util-model", - "reference": "0c9e0c15461a25f0436978baa78fb57677bd0900" + "reference": "9655ade8620017572666c9314ca71328d703a0ba" }, "require": { "api-platform/core": "^4.0", @@ -2721,13 +2721,44 @@ "relative": true } }, + { + "name": "lychen/util-tiptap", + "version": "0.0.0", + "dist": { + "type": "path", + "url": "../packages/util-tiptap", + "reference": "d889f7ac9070f8badfaf065c090bdbeb31b5102c" + }, + "require": { + "ueberdosis/tiptap-php": "1.4.*" + }, + "require-dev": { + "zenstruck/foundry": "2.2.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Lychen\\UtilTiptap\\": "src/" + } + }, + "authors": [ + { + "name": "Nathan De Pachtere", + "email": "nathan.depachtere@alpsify.com" + } + ], + "transport-options": { + "symlink": true, + "relative": true + } + }, { "name": "lychen/util-zitadel", "version": "0.0.0", "dist": { "type": "path", "url": "../packages/util-zitadel", - "reference": "fa94c5e8d518833d2189146d8c9001ddee058708" + "reference": "4ffa72334988b1e8d984e28d3dd50267f5b8fddb" }, "require": { "doctrine/annotations": "^2.0", @@ -3991,6 +4022,84 @@ }, "time": "2024-11-08T12:33:19+00:00" }, + { + "name": "scrivo/highlight.php", + "version": "v9.18.1.10", + "source": { + "type": "git", + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/850f4b44697a2552e892ffe71490ba2733c2fc6e", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "sabberworm/php-css-parser": "^8.3", + "symfony/finder": "^2.8|^3.4|^5.4", + "symfony/var-dumper": "^2.8|^3.4|^5.4" + }, + "suggest": { + "ext-mbstring": "Allows highlighting code with unicode characters and supports language with unicode keywords" + }, + "type": "library", + "autoload": { + "files": [ + "HighlightUtilities/functions.php" + ], + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Maintainer" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" + } + ], + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "keywords": [ + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" + ], + "support": { + "issues": "https://github.com/scrivo/highlight.php/issues", + "source": "https://github.com/scrivo/highlight.php" + }, + "funding": [ + { + "url": "https://github.com/allejo", + "type": "github" + } + ], + "time": "2022-12-17T21:53:22+00:00" + }, { "name": "sentry/sentry", "version": "4.10.0", @@ -4273,6 +4382,71 @@ }, "time": "2024-08-19T19:00:02+00:00" }, + { + "name": "spatie/shiki-php", + "version": "2.2.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/shiki-php.git", + "reference": "05cbdd79180fdc71488047c27cfaf73be2b6c5fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/shiki-php/zipball/05cbdd79180fdc71488047c27cfaf73be2b6c5fc", + "reference": "05cbdd79180fdc71488047c27cfaf73be2b6c5fc", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.4|^8.0", + "symfony/process": "^5.4|^6.4|^7.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v3.0", + "pestphp/pest": "^1.8", + "phpunit/phpunit": "^9.5", + "spatie/pest-plugin-snapshots": "^1.1", + "spatie/ray": "^1.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ShikiPhp\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rias Van der Veken", + "email": "rias@spatie.be", + "role": "Developer" + }, + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "Highlight code using Shiki in PHP", + "homepage": "https://github.com/spatie/shiki-php", + "keywords": [ + "shiki", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/shiki-php/tree/2.2.2" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-11-06T09:52:06+00:00" + }, { "name": "stripe/stripe-php", "version": "v16.3.0", @@ -4334,16 +4508,16 @@ }, { "name": "symfony/amqp-messenger", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/amqp-messenger.git", - "reference": "60a2a62f951dccf4bb9d29ed82abd66ef257cf87" + "reference": "a90a95cef8e8290157aa97a74e4f03c34b575e12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/amqp-messenger/zipball/60a2a62f951dccf4bb9d29ed82abd66ef257cf87", - "reference": "60a2a62f951dccf4bb9d29ed82abd66ef257cf87", + "url": "https://api.github.com/repos/symfony/amqp-messenger/zipball/a90a95cef8e8290157aa97a74e4f03c34b575e12", + "reference": "a90a95cef8e8290157aa97a74e4f03c34b575e12", "shasum": "" }, "require": { @@ -4383,7 +4557,7 @@ "description": "Symfony AMQP extension Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/amqp-messenger/tree/v7.2.0" + "source": "https://github.com/symfony/amqp-messenger/tree/v7.2.3" }, "funding": [ { @@ -4399,7 +4573,7 @@ "type": "tidelift" } ], - "time": "2024-10-03T12:20:01+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/asset", @@ -4541,16 +4715,16 @@ }, { "name": "symfony/cache", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20" + "reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/e7e983596b744c4539f31e79b0350a6cf5878a20", - "reference": "e7e983596b744c4539f31e79b0350a6cf5878a20", + "url": "https://api.github.com/repos/symfony/cache/zipball/8d773a575e446de220dca03d600b2d8e1c1c10ec", + "reference": "8d773a575e446de220dca03d600b2d8e1c1c10ec", "shasum": "" }, "require": { @@ -4619,7 +4793,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.2.1" + "source": "https://github.com/symfony/cache/tree/v7.2.3" }, "funding": [ { @@ -4635,7 +4809,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:08:50+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/cache-contracts", @@ -4789,16 +4963,16 @@ }, { "name": "symfony/config", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "bcd3c4adf0144dee5011bb35454728c38adec055" + "reference": "7716594aaae91d9141be080240172a92ecca4d44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/bcd3c4adf0144dee5011bb35454728c38adec055", - "reference": "bcd3c4adf0144dee5011bb35454728c38adec055", + "url": "https://api.github.com/repos/symfony/config/zipball/7716594aaae91d9141be080240172a92ecca4d44", + "reference": "7716594aaae91d9141be080240172a92ecca4d44", "shasum": "" }, "require": { @@ -4844,7 +5018,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v7.2.0" + "source": "https://github.com/symfony/config/tree/v7.2.3" }, "funding": [ { @@ -4860,7 +5034,7 @@ "type": "tidelift" } ], - "time": "2024-11-04T11:36:24+00:00" + "time": "2025-01-22T12:07:01+00:00" }, { "name": "symfony/console", @@ -4957,16 +5131,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "a475747af1a1c98272a5471abc35f3da81197c5d" + "reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a475747af1a1c98272a5471abc35f3da81197c5d", - "reference": "a475747af1a1c98272a5471abc35f3da81197c5d", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc", + "reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc", "shasum": "" }, "require": { @@ -5017,7 +5191,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.2.0" + "source": "https://github.com/symfony/dependency-injection/tree/v7.2.3" }, "funding": [ { @@ -5033,7 +5207,7 @@ "type": "tidelift" } ], - "time": "2024-11-25T15:45:00+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5104,21 +5278,21 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "f12195479a55b77bc8427b48443b966622f4a18b" + "reference": "7a183fdfb472c5487480baa128a41ed47367723e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/f12195479a55b77bc8427b48443b966622f4a18b", - "reference": "f12195479a55b77bc8427b48443b966622f4a18b", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/7a183fdfb472c5487480baa128a41ed47367723e", + "reference": "7a183fdfb472c5487480baa128a41ed47367723e", "shasum": "" }, "require": { "doctrine/event-manager": "^2", - "doctrine/persistence": "^3.1", + "doctrine/persistence": "^3.1|^4", "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", @@ -5193,7 +5367,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v7.2.2" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.2.3" }, "funding": [ { @@ -5209,20 +5383,20 @@ "type": "tidelift" } ], - "time": "2024-12-19T14:25:03+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/doctrine-messenger", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-messenger.git", - "reference": "1abbc58849847e6b43c042b17046371ef397be19" + "reference": "55cd0f79415b3ae18587df903926c8e5d2b51f25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/1abbc58849847e6b43c042b17046371ef397be19", - "reference": "1abbc58849847e6b43c042b17046371ef397be19", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/55cd0f79415b3ae18587df903926c8e5d2b51f25", + "reference": "55cd0f79415b3ae18587df903926c8e5d2b51f25", "shasum": "" }, "require": { @@ -5265,7 +5439,7 @@ "description": "Symfony Doctrine Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-messenger/tree/v7.2.2" + "source": "https://github.com/symfony/doctrine-messenger/tree/v7.2.3" }, "funding": [ { @@ -5281,7 +5455,7 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2025-01-07T09:39:55+00:00" }, { "name": "symfony/dotenv", @@ -5359,16 +5533,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "6150b89186573046167796fa5f3f76601d5145f8" + "reference": "959a74d044a6db21f4caa6d695648dcb5584cb49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/6150b89186573046167796fa5f3f76601d5145f8", - "reference": "6150b89186573046167796fa5f3f76601d5145f8", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/959a74d044a6db21f4caa6d695648dcb5584cb49", + "reference": "959a74d044a6db21f4caa6d695648dcb5584cb49", "shasum": "" }, "require": { @@ -5414,7 +5588,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.2.1" + "source": "https://github.com/symfony/error-handler/tree/v7.2.3" }, "funding": [ { @@ -5430,7 +5604,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2025-01-07T09:39:55+00:00" }, { "name": "symfony/event-dispatcher", @@ -5852,16 +6026,16 @@ }, { "name": "symfony/form", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "264cff30f52f12149aff92bbc23e78160a45c2f3" + "reference": "092a89345db25f8e4fc1804a4d3f184766e36e69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/264cff30f52f12149aff92bbc23e78160a45c2f3", - "reference": "264cff30f52f12149aff92bbc23e78160a45c2f3", + "url": "https://api.github.com/repos/symfony/form/zipball/092a89345db25f8e4fc1804a4d3f184766e36e69", + "reference": "092a89345db25f8e4fc1804a4d3f184766e36e69", "shasum": "" }, "require": { @@ -5929,7 +6103,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v7.2.0" + "source": "https://github.com/symfony/form/tree/v7.2.3" }, "funding": [ { @@ -5945,20 +6119,20 @@ "type": "tidelift" } ], - "time": "2024-11-27T11:55:00+00:00" + "time": "2024-12-24T12:02:08+00:00" }, { "name": "symfony/framework-bundle", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "aaf86f38b483ce101c7e60be050bc0140431cfe2" + "reference": "d37a43dd0b2079605fcab3056dac71934f06dc0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/aaf86f38b483ce101c7e60be050bc0140431cfe2", - "reference": "aaf86f38b483ce101c7e60be050bc0140431cfe2", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/d37a43dd0b2079605fcab3056dac71934f06dc0f", + "reference": "d37a43dd0b2079605fcab3056dac71934f06dc0f", "shasum": "" }, "require": { @@ -6079,7 +6253,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v7.2.2" + "source": "https://github.com/symfony/framework-bundle/tree/v7.2.3" }, "funding": [ { @@ -6095,20 +6269,20 @@ "type": "tidelift" } ], - "time": "2024-12-19T14:25:03+00:00" + "time": "2025-01-29T07:13:55+00:00" }, { "name": "symfony/http-client", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "339ba21476eb184290361542f732ad12c97591ec" + "reference": "7ce6078c79a4a7afff931c413d2959d3bffbfb8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/339ba21476eb184290361542f732ad12c97591ec", - "reference": "339ba21476eb184290361542f732ad12c97591ec", + "url": "https://api.github.com/repos/symfony/http-client/zipball/7ce6078c79a4a7afff931c413d2959d3bffbfb8d", + "reference": "7ce6078c79a4a7afff931c413d2959d3bffbfb8d", "shasum": "" }, "require": { @@ -6174,7 +6348,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.2.2" + "source": "https://github.com/symfony/http-client/tree/v7.2.3" }, "funding": [ { @@ -6190,7 +6364,7 @@ "type": "tidelift" } ], - "time": "2024-12-30T18:35:15+00:00" + "time": "2025-01-28T15:51:35+00:00" }, { "name": "symfony/http-client-contracts", @@ -6272,16 +6446,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588" + "reference": "ee1b504b8926198be89d05e5b6fc4c3810c090f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62d1a43796ca3fea3f83a8470dfe63a4af3bc588", - "reference": "62d1a43796ca3fea3f83a8470dfe63a4af3bc588", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ee1b504b8926198be89d05e5b6fc4c3810c090f0", + "reference": "ee1b504b8926198be89d05e5b6fc4c3810c090f0", "shasum": "" }, "require": { @@ -6330,7 +6504,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.2" + "source": "https://github.com/symfony/http-foundation/tree/v7.2.3" }, "funding": [ { @@ -6346,20 +6520,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306" + "reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3c432966bd8c7ec7429663105f5a02d7e75b4306", - "reference": "3c432966bd8c7ec7429663105f5a02d7e75b4306", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b", + "reference": "caae9807f8e25a9b43ce8cc6fafab6cf91f0cc9b", "shasum": "" }, "require": { @@ -6444,7 +6618,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.2.2" + "source": "https://github.com/symfony/http-kernel/tree/v7.2.3" }, "funding": [ { @@ -6460,7 +6634,7 @@ "type": "tidelift" } ], - "time": "2024-12-31T14:59:40+00:00" + "time": "2025-01-29T07:40:13+00:00" }, { "name": "symfony/intl", @@ -6550,16 +6724,16 @@ }, { "name": "symfony/mailer", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc" + "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e4d358702fb66e4c8a2af08e90e7271a62de39cc", - "reference": "e4d358702fb66e4c8a2af08e90e7271a62de39cc", + "url": "https://api.github.com/repos/symfony/mailer/zipball/f3871b182c44997cf039f3b462af4a48fb85f9d3", + "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3", "shasum": "" }, "require": { @@ -6610,7 +6784,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.2.0" + "source": "https://github.com/symfony/mailer/tree/v7.2.3" }, "funding": [ { @@ -6626,20 +6800,20 @@ "type": "tidelift" } ], - "time": "2024-11-25T15:21:05+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/messenger", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "cc0e820c02a0a887a88ddb52b7c4de4634677ce6" + "reference": "8e5b72deb81e57c8868eb9fe7b1dcb4af694ef10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/cc0e820c02a0a887a88ddb52b7c4de4634677ce6", - "reference": "cc0e820c02a0a887a88ddb52b7c4de4634677ce6", + "url": "https://api.github.com/repos/symfony/messenger/zipball/8e5b72deb81e57c8868eb9fe7b1dcb4af694ef10", + "reference": "8e5b72deb81e57c8868eb9fe7b1dcb4af694ef10", "shasum": "" }, "require": { @@ -6697,7 +6871,7 @@ "description": "Helps applications send and receive messages to/from other applications or via message queues", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/messenger/tree/v7.2.1" + "source": "https://github.com/symfony/messenger/tree/v7.2.3" }, "funding": [ { @@ -6713,20 +6887,20 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:08:50+00:00" + "time": "2025-01-17T10:17:27+00:00" }, { "name": "symfony/mime", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283" + "reference": "2fc3b4bd67e4747e45195bc4c98bea4628476204" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7f9617fcf15cb61be30f8b252695ed5e2bfac283", - "reference": "7f9617fcf15cb61be30f8b252695ed5e2bfac283", + "url": "https://api.github.com/repos/symfony/mime/zipball/2fc3b4bd67e4747e45195bc4c98bea4628476204", + "reference": "2fc3b4bd67e4747e45195bc4c98bea4628476204", "shasum": "" }, "require": { @@ -6781,7 +6955,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.1" + "source": "https://github.com/symfony/mime/tree/v7.2.3" }, "funding": [ { @@ -6797,7 +6971,7 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/monolog-bridge", @@ -7877,16 +8051,16 @@ }, { "name": "symfony/property-access", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "3ae42efba01e45aaedecf5c93c8d6a3ab3a82276" + "reference": "b28732e315d81fbec787f838034de7d6c9b2b902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/3ae42efba01e45aaedecf5c93c8d6a3ab3a82276", - "reference": "3ae42efba01e45aaedecf5c93c8d6a3ab3a82276", + "url": "https://api.github.com/repos/symfony/property-access/zipball/b28732e315d81fbec787f838034de7d6c9b2b902", + "reference": "b28732e315d81fbec787f838034de7d6c9b2b902", "shasum": "" }, "require": { @@ -7933,7 +8107,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v7.2.0" + "source": "https://github.com/symfony/property-access/tree/v7.2.3" }, "funding": [ { @@ -7949,20 +8123,20 @@ "type": "tidelift" } ], - "time": "2024-09-26T12:28:35+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/property-info", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf" + "reference": "dedb118fd588a92f226b390250b384d25f4192fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf", - "reference": "1dfeb0dac7a99f7b3be42db9ccc299c5a6483fcf", + "url": "https://api.github.com/repos/symfony/property-info/zipball/dedb118fd588a92f226b390250b384d25f4192fe", + "reference": "dedb118fd588a92f226b390250b384d25f4192fe", "shasum": "" }, "require": { @@ -7973,7 +8147,9 @@ "conflict": { "phpdocumentor/reflection-docblock": "<5.2", "phpdocumentor/type-resolver": "<1.5.1", - "symfony/dependency-injection": "<6.4" + "symfony/cache": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/serializer": "<6.4" }, "require-dev": { "phpdocumentor/reflection-docblock": "^5.2", @@ -8016,7 +8192,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.2.2" + "source": "https://github.com/symfony/property-info/tree/v7.2.3" }, "funding": [ { @@ -8032,7 +8208,7 @@ "type": "tidelift" } ], - "time": "2024-12-31T11:04:50+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -8189,16 +8365,16 @@ }, { "name": "symfony/routing", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e" + "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/e10a2450fa957af6c448b9b93c9010a4e4c0725e", - "reference": "e10a2450fa957af6c448b9b93c9010a4e4c0725e", + "url": "https://api.github.com/repos/symfony/routing/zipball/ee9a67edc6baa33e5fae662f94f91fd262930996", + "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996", "shasum": "" }, "require": { @@ -8250,7 +8426,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.2.0" + "source": "https://github.com/symfony/routing/tree/v7.2.3" }, "funding": [ { @@ -8266,20 +8442,20 @@ "type": "tidelift" } ], - "time": "2024-11-25T11:08:51+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/runtime", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "2c350568f3eaccb25fbbbf962bd67cde273121a7" + "reference": "8e8d09bd69b7f6c0260dd3d58f37bd4fbdeab5ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/2c350568f3eaccb25fbbbf962bd67cde273121a7", - "reference": "2c350568f3eaccb25fbbbf962bd67cde273121a7", + "url": "https://api.github.com/repos/symfony/runtime/zipball/8e8d09bd69b7f6c0260dd3d58f37bd4fbdeab5ad", + "reference": "8e8d09bd69b7f6c0260dd3d58f37bd4fbdeab5ad", "shasum": "" }, "require": { @@ -8329,7 +8505,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v7.2.0" + "source": "https://github.com/symfony/runtime/tree/v7.2.3" }, "funding": [ { @@ -8345,20 +8521,20 @@ "type": "tidelift" } ], - "time": "2024-11-06T11:43:25+00:00" + "time": "2024-12-29T21:39:47+00:00" }, { "name": "symfony/security-bundle", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "e7b04b503a4eb49307b9997ac9370f403c2f5198" + "reference": "721de227035c6e4c322fb7dd4839586d58bc0cf5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/e7b04b503a4eb49307b9997ac9370f403c2f5198", - "reference": "e7b04b503a4eb49307b9997ac9370f403c2f5198", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/721de227035c6e4c322fb7dd4839586d58bc0cf5", + "reference": "721de227035c6e4c322fb7dd4839586d58bc0cf5", "shasum": "" }, "require": { @@ -8435,7 +8611,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v7.2.2" + "source": "https://github.com/symfony/security-bundle/tree/v7.2.3" }, "funding": [ { @@ -8451,20 +8627,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T18:55:54+00:00" + "time": "2025-01-07T09:39:55+00:00" }, { "name": "symfony/security-core", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "fdbf318b939a86f89b0c071f60b9d551261d3cc1" + "reference": "466784ffcd0b5a16e05394335897f790b17d07e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/fdbf318b939a86f89b0c071f60b9d551261d3cc1", - "reference": "fdbf318b939a86f89b0c071f60b9d551261d3cc1", + "url": "https://api.github.com/repos/symfony/security-core/zipball/466784ffcd0b5a16e05394335897f790b17d07e4", + "reference": "466784ffcd0b5a16e05394335897f790b17d07e4", "shasum": "" }, "require": { @@ -8522,7 +8698,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v7.2.0" + "source": "https://github.com/symfony/security-core/tree/v7.2.3" }, "funding": [ { @@ -8538,20 +8714,20 @@ "type": "tidelift" } ], - "time": "2024-11-27T09:50:52+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/security-csrf", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "a2031e57dc02002163770a5cc02fafdd70decf1d" + "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/a2031e57dc02002163770a5cc02fafdd70decf1d", - "reference": "a2031e57dc02002163770a5cc02fafdd70decf1d", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/2b4b0c46c901729e4e90719eacd980381f53e0a3", + "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3", "shasum": "" }, "require": { @@ -8592,7 +8768,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v7.2.2" + "source": "https://github.com/symfony/security-csrf/tree/v7.2.3" }, "funding": [ { @@ -8608,20 +8784,20 @@ "type": "tidelift" } ], - "time": "2024-12-20T09:56:48+00:00" + "time": "2025-01-02T18:42:10+00:00" }, { "name": "symfony/security-http", - "version": "v7.2.1", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "125844598d9cef4fe72a9f6c4a78ac7c59c3f532" + "reference": "d185c4126ef2ca8b89b6e81d67bf14a52532657f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/125844598d9cef4fe72a9f6c4a78ac7c59c3f532", - "reference": "125844598d9cef4fe72a9f6c4a78ac7c59c3f532", + "url": "https://api.github.com/repos/symfony/security-http/zipball/d185c4126ef2ca8b89b6e81d67bf14a52532657f", + "reference": "d185c4126ef2ca8b89b6e81d67bf14a52532657f", "shasum": "" }, "require": { @@ -8680,7 +8856,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v7.2.1" + "source": "https://github.com/symfony/security-http/tree/v7.2.3" }, "funding": [ { @@ -8696,20 +8872,20 @@ "type": "tidelift" } ], - "time": "2024-12-07T08:50:44+00:00" + "time": "2025-01-28T15:51:35+00:00" }, { "name": "symfony/serializer", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "3f5ed9f5e6c02e3853109190ba38408f5e1d2dd0" + "reference": "320f30beb419ce4f96363ada5e225c41f1ef08ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/3f5ed9f5e6c02e3853109190ba38408f5e1d2dd0", - "reference": "3f5ed9f5e6c02e3853109190ba38408f5e1d2dd0", + "url": "https://api.github.com/repos/symfony/serializer/zipball/320f30beb419ce4f96363ada5e225c41f1ef08ab", + "reference": "320f30beb419ce4f96363ada5e225c41f1ef08ab", "shasum": "" }, "require": { @@ -8778,7 +8954,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v7.2.0" + "source": "https://github.com/symfony/serializer/tree/v7.2.3" }, "funding": [ { @@ -8794,7 +8970,7 @@ "type": "tidelift" } ], - "time": "2024-11-25T15:21:05+00:00" + "time": "2025-01-29T07:13:55+00:00" }, { "name": "symfony/service-contracts", @@ -9546,16 +9722,16 @@ }, { "name": "symfony/validator", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5c01f00fed258a987ef35f0fefcc069f84111cb4" + "reference": "6faf9f671d522b76ce87e46a1d2d7740b4385c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5c01f00fed258a987ef35f0fefcc069f84111cb4", - "reference": "5c01f00fed258a987ef35f0fefcc069f84111cb4", + "url": "https://api.github.com/repos/symfony/validator/zipball/6faf9f671d522b76ce87e46a1d2d7740b4385c6f", + "reference": "6faf9f671d522b76ce87e46a1d2d7740b4385c6f", "shasum": "" }, "require": { @@ -9623,7 +9799,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.2.2" + "source": "https://github.com/symfony/validator/tree/v7.2.3" }, "funding": [ { @@ -9639,20 +9815,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T18:35:15+00:00" + "time": "2025-01-28T15:51:35+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c" + "reference": "82b478c69745d8878eb60f9a049a4d584996f73a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6a22929407dec8765d6e2b6ff85b800b245879c", - "reference": "c6a22929407dec8765d6e2b6ff85b800b245879c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82b478c69745d8878eb60f9a049a4d584996f73a", + "reference": "82b478c69745d8878eb60f9a049a4d584996f73a", "shasum": "" }, "require": { @@ -9706,7 +9882,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.0" + "source": "https://github.com/symfony/var-dumper/tree/v7.2.3" }, "funding": [ { @@ -9722,7 +9898,7 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:48:14+00:00" + "time": "2025-01-17T11:39:41+00:00" }, { "name": "symfony/var-exporter", @@ -9972,16 +10148,16 @@ }, { "name": "symfony/yaml", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "099581e99f557e9f16b43c5916c26380b54abb22" + "reference": "ac238f173df0c9c1120f862d0f599e17535a87ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", - "reference": "099581e99f557e9f16b43c5916c26380b54abb22", + "url": "https://api.github.com/repos/symfony/yaml/zipball/ac238f173df0c9c1120f862d0f599e17535a87ec", + "reference": "ac238f173df0c9c1120f862d0f599e17535a87ec", "shasum": "" }, "require": { @@ -10024,7 +10200,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.2.0" + "source": "https://github.com/symfony/yaml/tree/v7.2.3" }, "funding": [ { @@ -10040,20 +10216,20 @@ "type": "tidelift" } ], - "time": "2024-10-23T06:56:12+00:00" + "time": "2025-01-07T12:55:42+00:00" }, { "name": "twig/twig", - "version": "v3.18.0", + "version": "v3.19.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50" + "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50", - "reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e", + "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e", "shasum": "" }, "require": { @@ -10108,7 +10284,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.18.0" + "source": "https://github.com/twigphp/Twig/tree/v3.19.0" }, "funding": [ { @@ -10120,7 +10296,76 @@ "type": "tidelift" } ], - "time": "2024-12-29T10:51:50+00:00" + "time": "2025-01-29T07:06:14+00:00" + }, + { + "name": "ueberdosis/tiptap-php", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/ueberdosis/tiptap-php.git", + "reference": "640667176da4cdfaa84c32093171e0674c3c807f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ueberdosis/tiptap-php/zipball/640667176da4cdfaa84c32093171e0674c3c807f", + "reference": "640667176da4cdfaa84c32093171e0674c3c807f", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "scrivo/highlight.php": "^9.18", + "spatie/shiki-php": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.5", + "pestphp/pest": "^1.21", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Tiptap\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Hans Pagel", + "email": "humans@tiptap.dev", + "role": "Developer" + } + ], + "description": "A PHP package to work with Tiptap output", + "homepage": "https://github.com/ueberdosis/tiptap-php", + "keywords": [ + "prosemirror", + "tiptap", + "ueberdosis" + ], + "support": { + "issues": "https://github.com/ueberdosis/tiptap-php/issues", + "source": "https://github.com/ueberdosis/tiptap-php/tree/1.4.0" + }, + "funding": [ + { + "url": "https://tiptap.dev/pricing", + "type": "custom" + }, + { + "url": "https://github.com/ueberdosis", + "type": "github" + }, + { + "url": "https://opencollective.com/tiptap", + "type": "open_collective" + } + ], + "time": "2024-08-12T08:25:45+00:00" }, { "name": "webmozart/assert", @@ -10240,16 +10485,16 @@ "packages-dev": [ { "name": "dama/doctrine-test-bundle", - "version": "v8.2.0", + "version": "v8.2.2", "source": { "type": "git", "url": "https://github.com/dmaicher/doctrine-test-bundle.git", - "reference": "1f81a280ea63f049d24e9c8ce00e557b18e0ff2f" + "reference": "eefe54fdf00d910f808efea9cfce9cc261064a0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/1f81a280ea63f049d24e9c8ce00e557b18e0ff2f", - "reference": "1f81a280ea63f049d24e9c8ce00e557b18e0ff2f", + "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/eefe54fdf00d910f808efea9cfce9cc261064a0a", + "reference": "eefe54fdf00d910f808efea9cfce9cc261064a0a", "shasum": "" }, "require": { @@ -10263,9 +10508,9 @@ "require-dev": { "behat/behat": "^3.0", "friendsofphp/php-cs-fixer": "^3.27", - "phpstan/phpstan": "^1.2", + "phpstan/phpstan": "^2.0", "phpunit/phpunit": "^8.0 || ^9.0 || ^10.0 || ^11.0", - "symfony/phpunit-bridge": "^6.3", + "symfony/phpunit-bridge": "^7.2", "symfony/process": "^5.4 || ^6.3 || ^7.0", "symfony/yaml": "^5.4 || ^6.3 || ^7.0" }, @@ -10301,9 +10546,9 @@ ], "support": { "issues": "https://github.com/dmaicher/doctrine-test-bundle/issues", - "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.2.0" + "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.2.2" }, - "time": "2024-05-28T15:41:06+00:00" + "time": "2025-02-04T14:37:36+00:00" }, { "name": "doctrine/data-fixtures", @@ -11556,16 +11801,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.3", + "version": "11.5.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "30e319e578a7b5da3543073e30002bf82042f701" + "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/30e319e578a7b5da3543073e30002bf82042f701", - "reference": "30e319e578a7b5da3543073e30002bf82042f701", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3c3ae14c90f244cdda95028c3e469028e8d1c02c", + "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c", "shasum": "" }, "require": { @@ -11637,7 +11882,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.3" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.6" }, "funding": [ { @@ -11653,7 +11898,7 @@ "type": "tidelift" } ], - "time": "2025-01-13T09:36:00+00:00" + "time": "2025-01-31T07:03:30+00:00" }, { "name": "sebastian/cli-parser", @@ -12842,16 +13087,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b" + "reference": "700a880e5089280c7cf3ca1ccf9d9de6630f5d25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b176e1f1f550ef44c94eb971bf92488de08f7c6b", - "reference": "b176e1f1f550ef44c94eb971bf92488de08f7c6b", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/700a880e5089280c7cf3ca1ccf9d9de6630f5d25", + "reference": "700a880e5089280c7cf3ca1ccf9d9de6630f5d25", "shasum": "" }, "require": { @@ -12889,7 +13134,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.2.0" + "source": "https://github.com/symfony/dom-crawler/tree/v7.2.3" }, "funding": [ { @@ -12905,7 +13150,7 @@ "type": "tidelift" } ], - "time": "2024-11-13T16:15:23+00:00" + "time": "2025-01-27T11:08:17+00:00" }, { "name": "symfony/maker-bundle", @@ -13083,16 +13328,16 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v7.2.2", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "5d37d9bd86ab49bd94c57e18e601e27fb6760f2c" + "reference": "cd60cb3664954a1593872f6f199bffac99e8c11e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/5d37d9bd86ab49bd94c57e18e601e27fb6760f2c", - "reference": "5d37d9bd86ab49bd94c57e18e601e27fb6760f2c", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/cd60cb3664954a1593872f6f199bffac99e8c11e", + "reference": "cd60cb3664954a1593872f6f199bffac99e8c11e", "shasum": "" }, "require": { @@ -13145,7 +13390,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.2.2" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.2.3" }, "funding": [ { @@ -13161,7 +13406,7 @@ "type": "tidelift" } ], - "time": "2024-12-11T15:34:14+00:00" + "time": "2025-01-07T09:39:55+00:00" }, { "name": "theseer/tokenizer", diff --git a/projects/tera/api/config/services.yml b/projects/tera/api/config/services.yml index 2bf2510..c1c4e40 100644 --- a/projects/tera/api/config/services.yml +++ b/projects/tera/api/config/services.yml @@ -31,3 +31,10 @@ services: autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. autowire: true # Automatically injects dependencies in your services. bind: + + land_task.order_filter: + arguments: + $orderParameterName: order + $properties: { dueDate: ~ } + parent: 'api_platform.doctrine.orm.order_filter' + tags: ['api_platform.filter'] diff --git a/projects/tera/api/migrations/Version20250204163403.php b/projects/tera/api/migrations/Version20250204163403.php new file mode 100644 index 0000000..9151b5f --- /dev/null +++ b/projects/tera/api/migrations/Version20250204163403.php @@ -0,0 +1,35 @@ +addSql('ALTER TABLE land_task ADD content JSON DEFAULT NULL'); + $this->addSql('ALTER TABLE land_task ADD due_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL'); + $this->addSql('ALTER TABLE land_task ADD start_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE land_task DROP content'); + $this->addSql('ALTER TABLE land_task DROP due_date'); + $this->addSql('ALTER TABLE land_task DROP start_date'); + } +} diff --git a/projects/tera/api/src/Entity/LandTask.php b/projects/tera/api/src/Entity/LandTask.php index 1a2dd1c..e8c7ff9 100644 --- a/projects/tera/api/src/Entity/LandTask.php +++ b/projects/tera/api/src/Entity/LandTask.php @@ -2,15 +2,27 @@ namespace App\Entity; +use ApiPlatform\Doctrine\Common\Filter\SearchFilterInterface; +use ApiPlatform\Doctrine\Orm\Filter\SearchFilter; +use ApiPlatform\Metadata\ApiFilter; use ApiPlatform\Metadata\ApiResource; +use ApiPlatform\Metadata\GetCollection; +use ApiPlatform\Metadata\QueryParameter; use App\Repository\LandTaskRepository; +use DateTimeInterface; +use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; use Lychen\UtilModel\Abstract\AbstractIdOrmAndUlidApiIdentified; use Lychen\UtilModel\Trait\CreatedAtTrait; use Lychen\UtilModel\Trait\UpdatedAtTrait; +use Symfony\Component\Validator\Constraints as Assert; #[ORM\Entity(repositoryClass: LandTaskRepository::class)] -#[ApiResource] +#[ApiResource(operations: [ + new GetCollection(parameters: [ + 'order[:property]' => new QueryParameter(filter: 'land_task.order_filter'), + ]) +])] #[ORM\HasLifecycleCallbacks] class LandTask extends AbstractIdOrmAndUlidApiIdentified { @@ -22,8 +34,19 @@ class LandTask extends AbstractIdOrmAndUlidApiIdentified #[ORM\ManyToOne(inversedBy: 'landTasks')] #[ORM\JoinColumn(nullable: false)] + #[ApiFilter(SearchFilter::class, strategy: SearchFilterInterface::STRATEGY_EXACT)] private ?Land $land = null; + #[ORM\Column(nullable: true)] + private ?array $content = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)] + #[Assert\GreaterThanOrEqual(propertyPath: "startDate")] + private ?DateTimeInterface $dueDate = null; + + #[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)] + private ?DateTimeInterface $startDate = null; + public function getTitle(): ?string { return $this->title; @@ -47,4 +70,40 @@ public function setLand(?Land $land): static return $this; } + + public function getContent(): ?array + { + return $this->content; + } + + public function setContent(?array $content): static + { + $this->content = $content; + + return $this; + } + + public function getDueDate(): ?DateTimeInterface + { + return $this->dueDate; + } + + public function setDueDate(?DateTimeInterface $dueDate): static + { + $this->dueDate = $dueDate; + + return $this; + } + + public function getStartDate(): ?DateTimeInterface + { + return $this->startDate; + } + + public function setStartDate(?DateTimeInterface $startDate): static + { + $this->startDate = $startDate; + + return $this; + } } diff --git a/projects/tera/api/src/Factory/LandTaskFactory.php b/projects/tera/api/src/Factory/LandTaskFactory.php index 4fb7a02..035e89e 100644 --- a/projects/tera/api/src/Factory/LandTaskFactory.php +++ b/projects/tera/api/src/Factory/LandTaskFactory.php @@ -3,6 +3,7 @@ namespace App\Factory; use App\Entity\LandTask; +use Lychen\UtilTiptap\Service\TipTapFaker; use Zenstruck\Foundry\Persistence\PersistentProxyObjectFactory; /** @@ -27,8 +28,12 @@ public static function class(): string */ protected function defaults(): array|callable { + $startDate = self::faker()->boolean() ? self::faker()->dateTimeBetween('-1 years', 'now') : null; return [ - 'title' => self::faker()->text(255), + 'title' => self::faker()->text(100), + 'content' => TipTapFaker::randomContent(), + 'dueDate' => self::faker()->boolean() ? self::faker()->dateTimeBetween($startDate, '+1 year') : null, + 'startDate' => $startDate ]; } diff --git a/projects/tera/app/moon.yml b/projects/tera/app/moon.yml index ae2eae9..15da3de 100644 --- a/projects/tera/app/moon.yml +++ b/projects/tera/app/moon.yml @@ -1,4 +1,5 @@ dependsOn: + - tera-land-task-ui-components - tera-land-ui-components - tera-ui-i18n - tera-util-api-sdk @@ -6,6 +7,7 @@ dependsOn: - ui-components - ui-css - vue-i18n-util-composables + - vue-i18n-util-configs - vue-util-composables env: diff --git a/projects/tera/app/package.json b/projects/tera/app/package.json index c2b04be..941e47f 100644 --- a/projects/tera/app/package.json +++ b/projects/tera/app/package.json @@ -9,6 +9,7 @@ "preview": "vite preview" }, "dependencies": { + "@lychen/tera-land-task-ui-components": "workspace:*", "@lychen/tera-land-ui-components": "workspace:*", "@lychen/tera-ui-i18n": "workspace:*", "@lychen/tera-util-api-sdk": "workspace:*", @@ -16,6 +17,7 @@ "@lychen/ui-components": "workspace:*", "@lychen/ui-css": "workspace:*", "@lychen/vue-i18n-util-composables": "workspace:*", + "@lychen/vue-i18n-util-configs": "workspace:*", "@lychen/vue-util-composables": "workspace:*", "ol": "^10.3.1", "ol-contextmenu": "^5.5.0", diff --git a/projects/tera/app/src/main.ts b/projects/tera/app/src/main.ts index 405bd90..8c735c4 100644 --- a/projects/tera/app/src/main.ts +++ b/projects/tera/app/src/main.ts @@ -1,10 +1,10 @@ import './stylesheet/main.css'; import { createApp } from 'vue'; -import { createI18n } from 'vue-i18n'; import { loadFontAwesomeStyles } from '@lychen/ui-components/icon/AppLoader'; import zitadelAuth from '@lychen/typescript-util-zitadel/ZitadelAuth'; +import { useI18n } from '@lychen/vue-i18n-util-configs/useI18n'; import App from './App.vue'; import router from './router'; @@ -18,13 +18,7 @@ loadFontAwesomeStyles(); app.use(router); /* i18n */ -const i18n = createI18n({ - globalInjection: false, - legacy: false, - fallbackLocale: navigator.languages[0], - locale: navigator.languages[0], -}); -app.use(i18n); +useI18n(app); /* Zitadel */ declare module 'vue' { diff --git a/projects/tera/app/src/pages/dashboard/PageDashboard.vue b/projects/tera/app/src/pages/dashboard/PageDashboard.vue index 774d799..3954b3a 100644 --- a/projects/tera/app/src/pages/dashboard/PageDashboard.vue +++ b/projects/tera/app/src/pages/dashboard/PageDashboard.vue @@ -9,18 +9,18 @@ >
@@ -51,12 +51,12 @@ Vos espaces de culture
@@ -72,7 +72,9 @@ :key="index" class="basis-3/5 md:basis-1/2 lg:basis-1/4 h-[200px]" > - + + + @@ -85,8 +87,8 @@ Dîte nous ce que vous recherchez on s'occupe du reste @@ -129,6 +131,7 @@ import headerImg from './assets/header.webp'; import LandRepository from '@lychen/tera-util-api-sdk/repositories/LandRepository'; import CardTeraLand from '@lychen/tera-land-ui-components/card-tera-land/CardTeraLand.vue'; import { VARIANT } from '@lychen/tera-land-ui-components/card-tera-land'; +import { RoutePageLand } from '@pages/land'; const LychenTitle = defineAsyncComponent( () => import('@lychen/ui-components/title/LychenTitle.vue'), diff --git a/projects/tera/app/src/pages/land/PageLand.vue b/projects/tera/app/src/pages/land/PageLand.vue new file mode 100644 index 0000000..d6a0503 --- /dev/null +++ b/projects/tera/app/src/pages/land/PageLand.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/projects/tera/app/src/pages/land/index.ts b/projects/tera/app/src/pages/land/index.ts new file mode 100644 index 0000000..ce37831 --- /dev/null +++ b/projects/tera/app/src/pages/land/index.ts @@ -0,0 +1,7 @@ +export { default as PageLand } from './PageLand.vue'; + +export const RoutePageLand = { + path: '/land/:ulid', + component: () => import('./PageLand.vue'), + name: 'land', +}; diff --git a/projects/tera/app/src/router/routes.ts b/projects/tera/app/src/router/routes.ts index 2245b9e..4a99af7 100644 --- a/projects/tera/app/src/router/routes.ts +++ b/projects/tera/app/src/router/routes.ts @@ -3,6 +3,7 @@ import type { RouteRecordRaw } from 'vue-router'; import zitadelAuth from '@lychen/typescript-util-zitadel/ZitadelAuth'; import { RoutePageDashboard } from '@pages/dashboard'; import { RoutePageOnboarding } from '@pages/onboarding'; +import { RoutePageLand } from '@pages/land'; const routes: RouteRecordRaw[] = [ { @@ -11,7 +12,7 @@ const routes: RouteRecordRaw[] = [ meta: { authName: zitadelAuth.oidcAuth.authName, }, - children: [RoutePageDashboard], + children: [RoutePageDashboard, RoutePageLand], }, RoutePageOnboarding, ]; diff --git a/projects/tera/app/tsconfig.json b/projects/tera/app/tsconfig.json index 50d9203..7ff93e1 100644 --- a/projects/tera/app/tsconfig.json +++ b/projects/tera/app/tsconfig.json @@ -2,12 +2,14 @@ "extends": "../../../tsconfig.options.json", "include": [ "../../../libs/tera/land/ui-components/**/*", + "../../../libs/tera/land-task/ui-components/**/*", "../../../libs/tera/ui-i18n/**/*", "../../../libs/tera/util-api-sdk/**/*", "../../../libs/typescript/util-zitadel/**/*", "../../../libs/ui-components/**/*", "../../../libs/ui-css/**/*", "../../../libs/vue/i18n/util-composables/**/*", + "../../../libs/vue/i18n/util-configs/**/*", "../../../libs/vue/util-composables/**/*", "**/*" ], @@ -15,6 +17,9 @@ { "path": "../../../libs/tera/land/ui-components" }, + { + "path": "../../../libs/tera/land-task/ui-components" + }, { "path": "../../../libs/tera/ui-i18n" }, @@ -33,6 +38,9 @@ { "path": "../../../libs/vue/i18n/util-composables" }, + { + "path": "../../../libs/vue/i18n/util-configs" + }, { "path": "../../../libs/vue/util-composables" } @@ -52,7 +60,9 @@ "@lychen/ui-css/*": ["../../../libs/ui-css/*"], "@lychen/typescript-util-zitadel/*": ["../../../libs/typescript/util-zitadel/*"], "@lychen/tera-land-ui-components/*": ["../../../libs/tera/land/ui-components/*"], - "@lychen/tera-util-api-sdk/*": ["../../../libs/tera/util-api-sdk/*"] + "@lychen/tera-util-api-sdk/*": ["../../../libs/tera/util-api-sdk/*"], + "@lychen/tera-land-task-ui-components/*": ["../../../libs/tera/land-task/ui-components/*"], + "@lychen/vue-i18n-util-configs/*": ["../../../libs/vue/i18n/util-configs/*"] } } } diff --git a/tsconfig.json b/tsconfig.json index 9687227..d0edaae 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -115,6 +115,15 @@ { "path": "libs/tera/land/util-composables" }, + { + "path": "libs/tera/land-task/ui-components" + }, + { + "path": "libs/tera/land-task/ui-i18n" + }, + { + "path": "libs/tera/land-task/util-composables" + }, { "path": "libs/tera/ui-i18n" }, @@ -142,6 +151,9 @@ { "path": "libs/typescript/util-tailwind" }, + { + "path": "libs/typescript/util-types" + }, { "path": "libs/typescript/util-zitadel" }, @@ -184,6 +196,12 @@ { "path": "libs/vue/router/util-configs" }, + { + "path": "libs/vue/tiptap/ui-components" + }, + { + "path": "libs/vue/tiptap/util-composables" + }, { "path": "libs/vue/unhead/util-composables" }, diff --git a/yarn.lock b/yarn.lock index 90ac01a..c543807 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2307,6 +2307,7 @@ __metadata: version: 0.0.0-use.local resolution: "@lychen/tera-app@workspace:projects/tera/app" dependencies: + "@lychen/tera-land-task-ui-components": "workspace:*" "@lychen/tera-land-ui-components": "workspace:*" "@lychen/tera-ui-i18n": "workspace:*" "@lychen/tera-util-api-sdk": "workspace:*" @@ -2314,6 +2315,7 @@ __metadata: "@lychen/ui-components": "workspace:*" "@lychen/ui-css": "workspace:*" "@lychen/vue-i18n-util-composables": "workspace:*" + "@lychen/vue-i18n-util-configs": "workspace:*" "@lychen/vue-util-composables": "workspace:*" "@tailwindcss/vite": "npm:^4.0.0" "@vitejs/plugin-vue": "npm:^5.2.1" @@ -2330,6 +2332,23 @@ __metadata: languageName: unknown linkType: soft +"@lychen/tera-land-task-ui-components@workspace:*, @lychen/tera-land-task-ui-components@workspace:libs/tera/land-task/ui-components": + version: 0.0.0-use.local + resolution: "@lychen/tera-land-task-ui-components@workspace:libs/tera/land-task/ui-components" + dependencies: + "@lychen/tera-land-task-ui-i18n": "workspace:*" + "@lychen/tera-util-api-sdk": "workspace:*" + "@lychen/typescript-util-object": "workspace:*" + "@lychen/ui-components": "workspace:*" + languageName: unknown + linkType: soft + +"@lychen/tera-land-task-ui-i18n@workspace:*, @lychen/tera-land-task-ui-i18n@workspace:libs/tera/land-task/ui-i18n": + version: 0.0.0-use.local + resolution: "@lychen/tera-land-task-ui-i18n@workspace:libs/tera/land-task/ui-i18n" + languageName: unknown + linkType: soft + "@lychen/tera-land-ui-components@workspace:*, @lychen/tera-land-ui-components@workspace:libs/tera/land/ui-components": version: 0.0.0-use.local resolution: "@lychen/tera-land-ui-components@workspace:libs/tera/land/ui-components" @@ -2456,6 +2475,12 @@ __metadata: languageName: unknown linkType: soft +"@lychen/typescript-util-types@workspace:*, @lychen/typescript-util-types@workspace:libs/typescript/util-types": + version: 0.0.0-use.local + resolution: "@lychen/typescript-util-types@workspace:libs/typescript/util-types" + languageName: unknown + linkType: soft + "@lychen/typescript-util-zitadel@workspace:*, @lychen/typescript-util-zitadel@workspace:libs/typescript/util-zitadel": version: 0.0.0-use.local resolution: "@lychen/typescript-util-zitadel@workspace:libs/typescript/util-zitadel" @@ -2630,6 +2655,47 @@ __metadata: languageName: unknown linkType: soft +"@lychen/vue-tiptap-ui-components@workspace:libs/vue/tiptap/ui-components": + version: 0.0.0-use.local + resolution: "@lychen/vue-tiptap-ui-components@workspace:libs/vue/tiptap/ui-components" + dependencies: + "@lychen/vue-tiptap-util-composables": "workspace:*" + "@tiptap/core": "npm:^2.11.5" + "@tiptap/extension-bold": "npm:^2.11.5" + "@tiptap/extension-bullet-list": "npm:^2.11.5" + "@tiptap/extension-character-count": "npm:^2.11.5" + "@tiptap/extension-code": "npm:^2.11.5" + "@tiptap/extension-document": "npm:^2.11.5" + "@tiptap/extension-dropcursor": "npm:^2.11.5" + "@tiptap/extension-gapcursor": "npm:^2.11.5" + "@tiptap/extension-hard-break": "npm:^2.11.5" + "@tiptap/extension-heading": "npm:^2.11.5" + "@tiptap/extension-highlight": "npm:^2.11.5" + "@tiptap/extension-horizontal-rule": "npm:^2.11.5" + "@tiptap/extension-italic": "npm:^2.11.5" + "@tiptap/extension-list-item": "npm:^2.11.5" + "@tiptap/extension-ordered-list": "npm:^2.11.5" + "@tiptap/extension-paragraph": "npm:^2.11.5" + "@tiptap/extension-placeholder": "npm:^2.11.5" + "@tiptap/extension-strike": "npm:^2.11.5" + "@tiptap/extension-text": "npm:^2.11.5" + "@tiptap/extension-text-align": "npm:^2.11.5" + "@tiptap/extension-underline": "npm:^2.11.5" + "@tiptap/pm": "npm:^2.11.5" + "@tiptap/suggestion": "npm:^2.11.5" + "@tiptap/vue-3": "npm:^2.11.5" + vue: "npm:^3.5.13" + languageName: unknown + linkType: soft + +"@lychen/vue-tiptap-util-composables@workspace:*, @lychen/vue-tiptap-util-composables@workspace:libs/vue/tiptap/util-composables": + version: 0.0.0-use.local + resolution: "@lychen/vue-tiptap-util-composables@workspace:libs/vue/tiptap/util-composables" + dependencies: + "@lychen/typescript-util-types": "workspace:*" + languageName: unknown + linkType: soft + "@lychen/vue-unhead-util-composables@workspace:*, @lychen/vue-unhead-util-composables@workspace:libs/vue/unhead/util-composables": version: 0.0.0-use.local resolution: "@lychen/vue-unhead-util-composables@workspace:libs/vue/unhead/util-composables" @@ -2918,6 +2984,20 @@ __metadata: languageName: node linkType: hard +"@popperjs/core@npm:^2.9.0": + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 + languageName: node + linkType: hard + +"@remirror/core-constants@npm:3.0.0": + version: 3.0.0 + resolution: "@remirror/core-constants@npm:3.0.0" + checksum: 10c0/15909dd00a2d90cf1f65583bb03ff97c27bb3ec3e22467cdaec3e9cfdae50c687d044df342b985a951d28306cc94cf9188bf7742c7a811ebbb62fd9c5a16ed44 + languageName: node + linkType: hard + "@rollup/plugin-babel@npm:^5.2.0": version: 5.3.1 resolution: "@rollup/plugin-babel@npm:5.3.1" @@ -3150,6 +3230,76 @@ __metadata: languageName: node linkType: hard +"@shikijs/core@npm:1.29.2": + version: 1.29.2 + resolution: "@shikijs/core@npm:1.29.2" + dependencies: + "@shikijs/engine-javascript": "npm:1.29.2" + "@shikijs/engine-oniguruma": "npm:1.29.2" + "@shikijs/types": "npm:1.29.2" + "@shikijs/vscode-textmate": "npm:^10.0.1" + "@types/hast": "npm:^3.0.4" + hast-util-to-html: "npm:^9.0.4" + checksum: 10c0/b1bb0567babcee64608224d652ceb4076d387b409fb8ee767f7684c68f03cfaab0e17f42d0a3372fc7be1fe165af9a3a349efc188f6e7c720d4df1108c1ab78c + languageName: node + linkType: hard + +"@shikijs/engine-javascript@npm:1.29.2": + version: 1.29.2 + resolution: "@shikijs/engine-javascript@npm:1.29.2" + dependencies: + "@shikijs/types": "npm:1.29.2" + "@shikijs/vscode-textmate": "npm:^10.0.1" + oniguruma-to-es: "npm:^2.2.0" + checksum: 10c0/b61f9e9079493c19419ff64af6454c4360a32785d47f49b41e87752e66ddbf7466dd9cce67f4d5d4a8447e31d96b4f0a39330e9f26e8bd2bc2f076644e78dff7 + languageName: node + linkType: hard + +"@shikijs/engine-oniguruma@npm:1.29.2": + version: 1.29.2 + resolution: "@shikijs/engine-oniguruma@npm:1.29.2" + dependencies: + "@shikijs/types": "npm:1.29.2" + "@shikijs/vscode-textmate": "npm:^10.0.1" + checksum: 10c0/87d77e05af7fe862df40899a7034cbbd48d3635e27706873025e5035be578584d012f850208e97ca484d5e876bf802d4e23d0394d25026adb678eeb1d1f340ff + languageName: node + linkType: hard + +"@shikijs/langs@npm:1.29.2": + version: 1.29.2 + resolution: "@shikijs/langs@npm:1.29.2" + dependencies: + "@shikijs/types": "npm:1.29.2" + checksum: 10c0/137af52ec19ab10bb167ec67e2dc6888d77dedddb3be37708569cb8e8d54c057d09df335261276012d11ac38366ba57b9eae121cc0b7045859638c25648b0563 + languageName: node + linkType: hard + +"@shikijs/themes@npm:1.29.2": + version: 1.29.2 + resolution: "@shikijs/themes@npm:1.29.2" + dependencies: + "@shikijs/types": "npm:1.29.2" + checksum: 10c0/1f7d3fc8615890d83b50c73c13e5182438dee579dd9a121d605bbdcc2dc877cafc9f7e23a3e1342345cd0b9161e3af6425b0fbfac949843f22b2a60527a8fb69 + languageName: node + linkType: hard + +"@shikijs/types@npm:1.29.2": + version: 1.29.2 + resolution: "@shikijs/types@npm:1.29.2" + dependencies: + "@shikijs/vscode-textmate": "npm:^10.0.1" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/37b4ac315effc03e7185aca1da0c2631ac55bdf613897476bd1d879105c41f86ccce6ebd0b78779513d88cc2ee371039f7efd95d604f77f21f180791978822b3 + languageName: node + linkType: hard + +"@shikijs/vscode-textmate@npm:^10.0.1": + version: 10.0.1 + resolution: "@shikijs/vscode-textmate@npm:10.0.1" + checksum: 10c0/acdbcf1b00d2503620ab50c2a23c7876444850ae0610c8e8b85a29587a333be40c9b98406ff17b9f87cbc64674dac6a2ada680374bde3e51a890e16cf1407490 + languageName: node + linkType: hard + "@surma/rollup-plugin-off-main-thread@npm:^2.2.3": version: 2.2.3 resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" @@ -3333,6 +3483,274 @@ __metadata: languageName: node linkType: hard +"@tiptap/core@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/core@npm:2.11.5" + peerDependencies: + "@tiptap/pm": ^2.7.0 + checksum: 10c0/3af99854ad7c993c7abf569f611b0f29ebc46493006e14f1831bc83e9b985691a622d604707b7d1954b510f26a49122f46dc74aa8b681a32c231c9d5ec5e5614 + languageName: node + linkType: hard + +"@tiptap/extension-bold@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-bold@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/3542a162a89c2bbe4dbae8e5828c008fbcb3893b1e5a2b8e12f3e0c27295ae4c40f004b6fd1a502c42d443cc89e85cce8e5335c751abe522d968449e8c757c8e + languageName: node + linkType: hard + +"@tiptap/extension-bubble-menu@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-bubble-menu@npm:2.11.5" + dependencies: + tippy.js: "npm:^6.3.7" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/a9112df35a19c875085c4065cee36228aec68c2336ddcff25a4e741e25625397325762abce045ede53c18b58df9235216ef909a099f9ac8f5783d137615e3252 + languageName: node + linkType: hard + +"@tiptap/extension-bullet-list@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-bullet-list@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/5e123f5a19d7ba2f92ef9db686f1339e3972d5bc2f1c94906b35ba48fc884ef9e54ea2330e158a74cb1a923686b5e9a16aff0f7071c6186007362dcd7d8cfd3d + languageName: node + linkType: hard + +"@tiptap/extension-character-count@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-character-count@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/571f20763e65a31768d65e39ee8bd5f7e9ef8fd8394dcc842f3dc585511980afab9cbca3fae237d2172961f9dd20cf4f98b108543869594d019d7daf3df3fb6d + languageName: node + linkType: hard + +"@tiptap/extension-code@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-code@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/c0291296f55ad0b8a6188a669a4edeaa97984ca774271a6d065c00f224c904e12fd9cf3a061f71b634729ac2230169c63d0ad65969f0fb4b59449dbd4c04ed16 + languageName: node + linkType: hard + +"@tiptap/extension-document@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-document@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/6feb78d97fcf8c6fd083c613dbc2a896cbcb05e838041071b841413ce56d00298beff69153eb177de6a3775f020685cacac7cc0987b94beb55dc23389a77e22e + languageName: node + linkType: hard + +"@tiptap/extension-dropcursor@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-dropcursor@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/ab59efc9f6f2a4077ea6972451c33eb206241d6a1b1a1af4246dc49a5ab0042648924dec010f33849b26de9c2d9d5ef888058c50bc5c5940a11d161b98935b45 + languageName: node + linkType: hard + +"@tiptap/extension-floating-menu@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-floating-menu@npm:2.11.5" + dependencies: + tippy.js: "npm:^6.3.7" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/45013b8e7ea13950a76bf62498d48b0d681aeaa88e49b3027f45ec42a42b5006e9f8af25251712cb6ed73a732989e2f95d293b905ba83aa82e2c17aabcfed0b0 + languageName: node + linkType: hard + +"@tiptap/extension-gapcursor@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-gapcursor@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/9e55c99ea2e8f1d9caf0120ee7467d6538b30cfa0df70d4844c5fe591bc7b9907af796f893f8d71b77373ee3e8cd4d243262b4c024add3797f90d1b0dcd45f88 + languageName: node + linkType: hard + +"@tiptap/extension-hard-break@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-hard-break@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/89af2a4db1dcc4408e621c317d42de1dbd0a90283752a586e9a1ee5d411d6f700cab05a35641cbb9e08d8e222f5a99030b7fec87b54ca94ed58e67162f3e2637 + languageName: node + linkType: hard + +"@tiptap/extension-heading@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-heading@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/7bbef018e9eb70857b363cd443bc8989ee3933c0e58ee7114688faaf99f749e667398fbd229669d39d540900e8dd58bc34d65e53e66c8976b512bc078ae2459a + languageName: node + linkType: hard + +"@tiptap/extension-highlight@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-highlight@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/a0bad322565be1744bf48d86ddaeeb0ae9dd175ab0ef8908e28cf1dc274c60da094948db43be22bdf54817bb0dd9c412714ceabf274128912219c16d4396078f + languageName: node + linkType: hard + +"@tiptap/extension-horizontal-rule@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-horizontal-rule@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/1f9078ce442ec6b7cdc6a7a9e018cba86d9435ed3f059dab63e6a0535e4c329fe8c1783b6f093215d77610d2f69161a298c3c02991b44e8e12f5728605cfe196 + languageName: node + linkType: hard + +"@tiptap/extension-italic@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-italic@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/7a071fe6cb53442767b8c4ecf5fb4ff4e4fa1502afa3edcf8813988642a57023e9ce3c696aa5822987c65920a8011e324a8ec2f2db8cfd0209a477d0f5cd7b6e + languageName: node + linkType: hard + +"@tiptap/extension-list-item@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-list-item@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/08f77cf1ee5605a6e19d526e579a8d991cf0e591ef82f80facf23c49c57309acc6748ac2bbe097f3ddffa0809246f45f304a6ab9135e49436b25547050b71f49 + languageName: node + linkType: hard + +"@tiptap/extension-ordered-list@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-ordered-list@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/abac267639b53d391082b72833aa653de5d516db960712df8aa1bd9c7e210987899fda1d39528618d5fa6ec91f186d52a91a53efdc6b3dcdab935cfdf5940d08 + languageName: node + linkType: hard + +"@tiptap/extension-paragraph@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-paragraph@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/c9b41ad5e6e188b0a3754dcb5c6731ca368caea0647c81ae82110ccd3e8d870b743ef94d55cf20268095699ec4e05e8edc4433a92922af043f9f84bb2b024364 + languageName: node + linkType: hard + +"@tiptap/extension-placeholder@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-placeholder@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/7072f9d27cdf14e187a017fedbd9ecfce0926a4fff6fd78a33a0673496f787edd0542f7519c97f4e53b3c89845854f2c0fd50c8af869ee39f1fd14e595df2da7 + languageName: node + linkType: hard + +"@tiptap/extension-strike@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-strike@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/f8f8643840413c036326ed265e17236b1a7aff5c5e18af251343102c57b6b7ed7201c070441f5011e4dbc41fb5b5451a9122e5b92a5d6c5ae7d8359438e8cb24 + languageName: node + linkType: hard + +"@tiptap/extension-text-align@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-text-align@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/26db002a2662e889b3b2e11e4ec5b9fb764d49a1dec443c87bde6c2f3b1d90f994edbb84f815e8c1cdf40fb0ec43b8f7894e342496c8c25cd23cfe21148ac1c0 + languageName: node + linkType: hard + +"@tiptap/extension-text@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-text@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/31afa7ced539f561fb5e2d24d96ea6ed495a333cba86cf82fe3dcf7d2a757499801ab1bf212f7927a558160f0784cdad76bb9f06af086ea2b54827697281b442 + languageName: node + linkType: hard + +"@tiptap/extension-underline@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/extension-underline@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + checksum: 10c0/cf72391e0e207cb2385aeb3ff2067b45c6eb3f0de7fa9631bf8924b50a3b5af9fa53415dc022c72e5be3c2bf45a5c61e52e3259404077659d76312faf9990e07 + languageName: node + linkType: hard + +"@tiptap/pm@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/pm@npm:2.11.5" + dependencies: + prosemirror-changeset: "npm:^2.2.1" + prosemirror-collab: "npm:^1.3.1" + prosemirror-commands: "npm:^1.6.2" + prosemirror-dropcursor: "npm:^1.8.1" + prosemirror-gapcursor: "npm:^1.3.2" + prosemirror-history: "npm:^1.4.1" + prosemirror-inputrules: "npm:^1.4.0" + prosemirror-keymap: "npm:^1.2.2" + prosemirror-markdown: "npm:^1.13.1" + prosemirror-menu: "npm:^1.2.4" + prosemirror-model: "npm:^1.23.0" + prosemirror-schema-basic: "npm:^1.2.3" + prosemirror-schema-list: "npm:^1.4.1" + prosemirror-state: "npm:^1.4.3" + prosemirror-tables: "npm:^1.6.3" + prosemirror-trailing-node: "npm:^3.0.0" + prosemirror-transform: "npm:^1.10.2" + prosemirror-view: "npm:^1.37.0" + checksum: 10c0/31f21f1c58873e32fa76a7dc5d9a5b2315f12989194a08a2a97c65ece299967c26790d57ae8ebe07902a5e2b8a73434fb9961837e08895faa59b5ab98b283ae8 + languageName: node + linkType: hard + +"@tiptap/suggestion@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/suggestion@npm:2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + checksum: 10c0/5fa63a3115171f3430b590060e83c57db04d331f8eb7dbbc151102486ebfb325be1fcafdf5d2c618bc771e5f718d97f9733b16f9f1a4906fdf0f69a0512e1a0d + languageName: node + linkType: hard + +"@tiptap/vue-3@npm:^2.11.5": + version: 2.11.5 + resolution: "@tiptap/vue-3@npm:2.11.5" + dependencies: + "@tiptap/extension-bubble-menu": "npm:^2.11.5" + "@tiptap/extension-floating-menu": "npm:^2.11.5" + peerDependencies: + "@tiptap/core": ^2.7.0 + "@tiptap/pm": ^2.7.0 + vue: ^3.0.0 + checksum: 10c0/dba45c24fa56d5785e115f58b3b7e3a9018a081ec896f59b475856aba2c0099719021957f2f8fda573b34d170a1a58c7c102d2a3519f6645739904d7dd6973d4 + languageName: node + linkType: hard + "@turf/bbox@npm:^7.2.0": version: 7.2.0 resolution: "@turf/bbox@npm:7.2.0" @@ -3466,6 +3884,15 @@ __metadata: languageName: node linkType: hard +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -3480,6 +3907,23 @@ __metadata: languageName: node linkType: hard +"@types/linkify-it@npm:^5": + version: 5.0.0 + resolution: "@types/linkify-it@npm:5.0.0" + checksum: 10c0/7bbbf45b9dde17bf3f184fee585aef0e7342f6954f0377a24e4ff42ab5a85d5b806aaa5c8d16e2faf2a6b87b2d94467a196b7d2b85c9c7de2f0eaac5487aaab8 + languageName: node + linkType: hard + +"@types/markdown-it@npm:^14.0.0": + version: 14.1.2 + resolution: "@types/markdown-it@npm:14.1.2" + dependencies: + "@types/linkify-it": "npm:^5" + "@types/mdurl": "npm:^2" + checksum: 10c0/34f709f0476bd4e7b2ba7c3341072a6d532f1f4cb6f70aef371e403af8a08a7c372ba6907ac426bc618d356dab660c5b872791ff6c1ead80c483e0d639c6f127 + languageName: node + linkType: hard + "@types/mdast@npm:^4.0.0": version: 4.0.4 resolution: "@types/mdast@npm:4.0.4" @@ -3489,6 +3933,13 @@ __metadata: languageName: node linkType: hard +"@types/mdurl@npm:^2": + version: 2.0.0 + resolution: "@types/mdurl@npm:2.0.0" + checksum: 10c0/cde7bb571630ed1ceb3b92a28f7b59890bb38b8f34cd35326e2df43eebfc74985e6aa6fd4184e307393bad8a9e0783a519a3f9d13c8e03788c0f98e5ec869c5e + languageName: node + linkType: hard + "@types/ms@npm:*": version: 0.7.34 resolution: "@types/ms@npm:0.7.34" @@ -3666,6 +4117,13 @@ __metadata: languageName: node linkType: hard +"@ungap/structured-clone@npm:^1.0.0": + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a + languageName: node + linkType: hard + "@unhead/dom@npm:1.11.14, @unhead/dom@npm:^1.11.14": version: 1.11.14 resolution: "@unhead/dom@npm:1.11.14" @@ -4394,6 +4852,20 @@ __metadata: languageName: node linkType: hard +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 + languageName: node + linkType: hard + +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 + languageName: node + linkType: hard + "character-entities@npm:^2.0.0": version: 2.0.2 resolution: "character-entities@npm:2.0.2" @@ -4532,6 +5004,13 @@ __metadata: languageName: node linkType: hard +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 + languageName: node + linkType: hard + "commander@npm:^10.0.0": version: 10.0.1 resolution: "commander@npm:10.0.1" @@ -4583,6 +5062,13 @@ __metadata: languageName: node linkType: hard +"crelt@npm:^1.0.0": + version: 1.0.6 + resolution: "crelt@npm:1.0.6" + checksum: 10c0/e0fb76dff50c5eb47f2ea9b786c17f9425c66276025adee80876bdbf4a84ab72e899e56d3928431ab0cb057a105ef704df80fe5726ef0f7b1658f815521bdf09 + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" @@ -4913,6 +5399,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex-xs@npm:^1.0.0": + version: 1.0.0 + resolution: "emoji-regex-xs@npm:1.0.0" + checksum: 10c0/1082de006991eb05a3324ef0efe1950c7cdf66efc01d4578de82b0d0d62add4e55e97695a8a7eeda826c305081562dc79b477ddf18d886da77f3ba08c4b940a0 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -6042,6 +6535,34 @@ __metadata: languageName: node linkType: hard +"hast-util-to-html@npm:^9.0.4": + version: 9.0.4 + resolution: "hast-util-to-html@npm:9.0.4" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/5eba69554c41d036105b9cedd61df26fd9046b64172aa6b61c143c8c539b43fe27bc7e04e50099564e5a3a501aa6c6719620365120eedf1b09eca51cb8b4dc40 + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 + languageName: node + linkType: hard + "hookable@npm:^5.5.3": version: 5.5.3 resolution: "hookable@npm:5.5.3" @@ -6082,6 +6603,13 @@ __metadata: languageName: node linkType: hard +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 + languageName: node + linkType: hard + "html2canvas@npm:^1.0.0-rc.5": version: 1.4.1 resolution: "html2canvas@npm:1.4.1" @@ -6840,6 +7368,15 @@ __metadata: languageName: node linkType: hard +"linkify-it@npm:^5.0.0": + version: 5.0.0 + resolution: "linkify-it@npm:5.0.0" + dependencies: + uc.micro: "npm:^2.0.0" + checksum: 10c0/ff4abbcdfa2003472fc3eb4b8e60905ec97718e11e33cca52059919a4c80cc0e0c2a14d23e23d8c00e5402bc5a885cdba8ca053a11483ab3cc8b3c7a52f88e2d + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -6984,6 +7521,22 @@ __metadata: languageName: node linkType: hard +"markdown-it@npm:^14.0.0": + version: 14.1.0 + resolution: "markdown-it@npm:14.1.0" + dependencies: + argparse: "npm:^2.0.1" + entities: "npm:^4.4.0" + linkify-it: "npm:^5.0.0" + mdurl: "npm:^2.0.0" + punycode.js: "npm:^2.3.1" + uc.micro: "npm:^2.1.0" + bin: + markdown-it: bin/markdown-it.mjs + checksum: 10c0/9a6bb444181d2db7016a4173ae56a95a62c84d4cbfb6916a399b11d3e6581bf1cc2e4e1d07a2f022ae72c25f56db90fbe1e529fca16fbf9541659dc53480d4b4 + languageName: node + linkType: hard + "markdown-table@npm:^3.0.0": version: 3.0.4 resolution: "markdown-table@npm:3.0.4" @@ -7110,6 +7663,23 @@ __metadata: languageName: node linkType: hard +"mdast-util-to-hast@npm:^13.0.0": + version: 13.2.0 + resolution: "mdast-util-to-hast@npm:13.2.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + trim-lines: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/9ee58def9287df8350cbb6f83ced90f9c088d72d4153780ad37854f87144cadc6f27b20347073b285173b1649b0723ddf0b9c78158608a804dcacb6bda6e1816 + languageName: node + linkType: hard + "mdast-util-to-markdown@npm:^2.0.0": version: 2.1.0 resolution: "mdast-util-to-markdown@npm:2.1.0" @@ -7135,6 +7705,13 @@ __metadata: languageName: node linkType: hard +"mdurl@npm:^2.0.0": + version: 2.0.0 + resolution: "mdurl@npm:2.0.0" + checksum: 10c0/633db522272f75ce4788440669137c77540d74a83e9015666a9557a152c02e245b192edc20bc90ae953bbab727503994a53b236b4d9c99bdaee594d0e7dd2ce0 + languageName: node + linkType: hard + "merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -7877,6 +8454,17 @@ __metadata: languageName: node linkType: hard +"oniguruma-to-es@npm:^2.2.0": + version: 2.3.0 + resolution: "oniguruma-to-es@npm:2.3.0" + dependencies: + emoji-regex-xs: "npm:^1.0.0" + regex: "npm:^5.1.1" + regex-recursion: "npm:^5.1.1" + checksum: 10c0/57ad95f3e9a50be75e7d54e582d8d4da4003f983fd04d99ccc9d17d2dc04e30ea64126782f2e758566bcef2c4c55db0d6a3d344f35ca179dd92ea5ca92fc0313 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -7891,6 +8479,13 @@ __metadata: languageName: node linkType: hard +"orderedmap@npm:^2.0.0": + version: 2.1.1 + resolution: "orderedmap@npm:2.1.1" + checksum: 10c0/8d7d266659d1828937046e8b2a7b5f75914e0391db985da0ca75cd2246cccbf6d6f3a0886aa2034da15ee4923e8c45f95f8b588f575f535f0adecdefccc54634 + languageName: node + linkType: hard + "p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -8192,6 +8787,207 @@ __metadata: languageName: node linkType: hard +"property-information@npm:^6.0.0": + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef + languageName: node + linkType: hard + +"prosemirror-changeset@npm:^2.2.1": + version: 2.2.1 + resolution: "prosemirror-changeset@npm:2.2.1" + dependencies: + prosemirror-transform: "npm:^1.0.0" + checksum: 10c0/0a16092149ca0021a44ab5eb6a0c6dc425525507bde9e3772fbd3944b6cfa601d38492198b5410f2637694aedf7478d121b0744f430a8b7a5eb1d0fb9fbd49d1 + languageName: node + linkType: hard + +"prosemirror-collab@npm:^1.3.1": + version: 1.3.1 + resolution: "prosemirror-collab@npm:1.3.1" + dependencies: + prosemirror-state: "npm:^1.0.0" + checksum: 10c0/5d7553c136929cfd847b8781be599561d0f21e78fae80d930eb5f1d4d644307bc779cdfaeae86dd31a8be8f562c28dee19f1a06a2900e9b591b02957151fe90c + languageName: node + linkType: hard + +"prosemirror-commands@npm:^1.0.0, prosemirror-commands@npm:^1.6.2": + version: 1.6.2 + resolution: "prosemirror-commands@npm:1.6.2" + dependencies: + prosemirror-model: "npm:^1.0.0" + prosemirror-state: "npm:^1.0.0" + prosemirror-transform: "npm:^1.10.2" + checksum: 10c0/3504d884d40aeb1f05857b562fe73f60cac2cac6b25b8127f03b40a795303090117cafbaefff399109b5ef3945404c8cdb118586a48ff74aeda927c985993613 + languageName: node + linkType: hard + +"prosemirror-dropcursor@npm:^1.8.1": + version: 1.8.1 + resolution: "prosemirror-dropcursor@npm:1.8.1" + dependencies: + prosemirror-state: "npm:^1.0.0" + prosemirror-transform: "npm:^1.1.0" + prosemirror-view: "npm:^1.1.0" + checksum: 10c0/2948cac48efb32757b212bd7cc5a50697ea6c3f6e4cd7752a2696c56b758fa0a16a5a6e288174a649544a0260a6b70d29e0fcb8839a05926c1c3a02f8de03aed + languageName: node + linkType: hard + +"prosemirror-gapcursor@npm:^1.3.2": + version: 1.3.2 + resolution: "prosemirror-gapcursor@npm:1.3.2" + dependencies: + prosemirror-keymap: "npm:^1.0.0" + prosemirror-model: "npm:^1.0.0" + prosemirror-state: "npm:^1.0.0" + prosemirror-view: "npm:^1.0.0" + checksum: 10c0/2e3f6f17ecd02392dd567019a5c69798cc7c2f09c950b59882ae37159f92e94a193440722715052ca92ea9914b85b8b0bcf693ea9daeb5271914b846acae1f91 + languageName: node + linkType: hard + +"prosemirror-history@npm:^1.0.0, prosemirror-history@npm:^1.4.1": + version: 1.4.1 + resolution: "prosemirror-history@npm:1.4.1" + dependencies: + prosemirror-state: "npm:^1.2.2" + prosemirror-transform: "npm:^1.0.0" + prosemirror-view: "npm:^1.31.0" + rope-sequence: "npm:^1.3.0" + checksum: 10c0/fd2dfae5fb956a8710bb1a4131e9b6d8b92e846bf88fa643bc59ba595c8a835f6695574d5e33bcea9a6e7fbf2eafc7c1b1003abf11326e8571e196cd0f16dcd8 + languageName: node + linkType: hard + +"prosemirror-inputrules@npm:^1.4.0": + version: 1.4.0 + resolution: "prosemirror-inputrules@npm:1.4.0" + dependencies: + prosemirror-state: "npm:^1.0.0" + prosemirror-transform: "npm:^1.0.0" + checksum: 10c0/8ec72b6c2982bbd9fd378e51d67c6424119d081a4dcdeff430ab58055596cf67b691a890f46f135746f4de9bc6a6afb6ef1c0596df13bd633997e32ba0a25ddf + languageName: node + linkType: hard + +"prosemirror-keymap@npm:^1.0.0, prosemirror-keymap@npm:^1.2.2": + version: 1.2.2 + resolution: "prosemirror-keymap@npm:1.2.2" + dependencies: + prosemirror-state: "npm:^1.0.0" + w3c-keyname: "npm:^2.2.0" + checksum: 10c0/7aa28c731e00962c90c91361a3c9f7000f960870a1300f7477da8afa8fd1b9cce0b3b7ca483aaa5832fd0bf88b5ff081defc184592997b08980b9ab67eeddcb7 + languageName: node + linkType: hard + +"prosemirror-markdown@npm:^1.13.1": + version: 1.13.1 + resolution: "prosemirror-markdown@npm:1.13.1" + dependencies: + "@types/markdown-it": "npm:^14.0.0" + markdown-it: "npm:^14.0.0" + prosemirror-model: "npm:^1.20.0" + checksum: 10c0/518cad5d4e7b1c1b2abf43995c837392b76b9f7757e814de42885a20d427dfaa2308be6fea39828ae65225a768976cb914825f78138850a282b06ba571aaea3d + languageName: node + linkType: hard + +"prosemirror-menu@npm:^1.2.4": + version: 1.2.4 + resolution: "prosemirror-menu@npm:1.2.4" + dependencies: + crelt: "npm:^1.0.0" + prosemirror-commands: "npm:^1.0.0" + prosemirror-history: "npm:^1.0.0" + prosemirror-state: "npm:^1.0.0" + checksum: 10c0/7c12e618f99c0ca4de5b117a40c6df4b321607e7b4395e181de8cfcd5cb803784363c1bb4ef8603f6e2f7f6fc7859cb165bd33d43d6c1b211b00d868144f8361 + languageName: node + linkType: hard + +"prosemirror-model@npm:^1.0.0, prosemirror-model@npm:^1.19.0, prosemirror-model@npm:^1.20.0, prosemirror-model@npm:^1.21.0, prosemirror-model@npm:^1.23.0, prosemirror-model@npm:^1.24.1": + version: 1.24.1 + resolution: "prosemirror-model@npm:1.24.1" + dependencies: + orderedmap: "npm:^2.0.0" + checksum: 10c0/d09e1aac3cbd451e6a8f3927df487869b1ce0b7f21836c0c6966d401f4ab2d5984988f74d3ff98c72484a78498b9c0c3ad62cf2a06ac869664f1820c97313054 + languageName: node + linkType: hard + +"prosemirror-schema-basic@npm:^1.2.3": + version: 1.2.3 + resolution: "prosemirror-schema-basic@npm:1.2.3" + dependencies: + prosemirror-model: "npm:^1.19.0" + checksum: 10c0/99bac902ccf046e2dd165a3c124c6458be8041f3e4322f64fd9d37e6ee164e0d4284cc17691734665a62431f35045798cf417b7d174aa1af6dc2a48dc51468ac + languageName: node + linkType: hard + +"prosemirror-schema-list@npm:^1.4.1": + version: 1.5.0 + resolution: "prosemirror-schema-list@npm:1.5.0" + dependencies: + prosemirror-model: "npm:^1.0.0" + prosemirror-state: "npm:^1.0.0" + prosemirror-transform: "npm:^1.7.3" + checksum: 10c0/38754b9061d16d454c0a189bdc13faa6cf048fb3e35fe541f89fc70d0865d2d00949f164169bae4d393138ed8b3efe5a2fde0039528a10618efe83b35e4cffa9 + languageName: node + linkType: hard + +"prosemirror-state@npm:^1.0.0, prosemirror-state@npm:^1.2.2, prosemirror-state@npm:^1.4.3": + version: 1.4.3 + resolution: "prosemirror-state@npm:1.4.3" + dependencies: + prosemirror-model: "npm:^1.0.0" + prosemirror-transform: "npm:^1.0.0" + prosemirror-view: "npm:^1.27.0" + checksum: 10c0/e34dc9b1a6b23c23265569b2c246aaef4a61353a5fd33e933b62528917603382271d9f7d5212094e8928dee9bb4827e25a583104d43745e6ab3b8cbde12170f5 + languageName: node + linkType: hard + +"prosemirror-tables@npm:^1.6.3": + version: 1.6.3 + resolution: "prosemirror-tables@npm:1.6.3" + dependencies: + prosemirror-keymap: "npm:^1.2.2" + prosemirror-model: "npm:^1.24.1" + prosemirror-state: "npm:^1.4.3" + prosemirror-transform: "npm:^1.10.2" + prosemirror-view: "npm:^1.37.1" + checksum: 10c0/09ded9ffae5c2a9e274cf89c2ff1ba6400bd3d0ad9e68a0de9a4154c9b9210239c90db50e3081487615899eae3b2c7228e097df73acd42150d9cc91076da239b + languageName: node + linkType: hard + +"prosemirror-trailing-node@npm:^3.0.0": + version: 3.0.0 + resolution: "prosemirror-trailing-node@npm:3.0.0" + dependencies: + "@remirror/core-constants": "npm:3.0.0" + escape-string-regexp: "npm:^4.0.0" + peerDependencies: + prosemirror-model: ^1.22.1 + prosemirror-state: ^1.4.2 + prosemirror-view: ^1.33.8 + checksum: 10c0/d512054543a872c667bcd661f207c54a38287a8e62a2ff4aa87d65aefbad0bf3a6315cc7531d9c63cc7a7ef93504966b6c9496af90287a710914688feba72454 + languageName: node + linkType: hard + +"prosemirror-transform@npm:^1.0.0, prosemirror-transform@npm:^1.1.0, prosemirror-transform@npm:^1.10.2, prosemirror-transform@npm:^1.7.3": + version: 1.10.2 + resolution: "prosemirror-transform@npm:1.10.2" + dependencies: + prosemirror-model: "npm:^1.21.0" + checksum: 10c0/4b63879bab3faf4e266a58ae00760f20d87e1fc9a342788276cccba6bdd6cb7b5cfd089f17d975200c0715e07b503126aa752ffe42e8c50761369dc6ff920b05 + languageName: node + linkType: hard + +"prosemirror-view@npm:^1.0.0, prosemirror-view@npm:^1.1.0, prosemirror-view@npm:^1.27.0, prosemirror-view@npm:^1.31.0, prosemirror-view@npm:^1.37.0, prosemirror-view@npm:^1.37.1": + version: 1.37.2 + resolution: "prosemirror-view@npm:1.37.2" + dependencies: + prosemirror-model: "npm:^1.20.0" + prosemirror-state: "npm:^1.0.0" + prosemirror-transform: "npm:^1.1.0" + checksum: 10c0/a64cf4acca6e199f06ef3cbfe27953eda2c1cec63f55c68b93bb56d6222ab8f51a4ec082f07a89b3c603bfa167e185b9c2a4890457738e6b4de31ad6066c9dec + languageName: node + linkType: hard + "protocol-buffers-schema@npm:^3.3.1": version: 3.6.0 resolution: "protocol-buffers-schema@npm:3.6.0" @@ -8206,6 +9002,13 @@ __metadata: languageName: node linkType: hard +"punycode.js@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode.js@npm:2.3.1" + checksum: 10c0/1d12c1c0e06127fa5db56bd7fdf698daf9a78104456a6b67326877afc21feaa821257b171539caedd2f0524027fa38e67b13dd094159c8d70b6d26d2bea4dfdb + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -8365,6 +9168,32 @@ __metadata: languageName: node linkType: hard +"regex-recursion@npm:^5.1.1": + version: 5.1.1 + resolution: "regex-recursion@npm:5.1.1" + dependencies: + regex: "npm:^5.1.1" + regex-utilities: "npm:^2.3.0" + checksum: 10c0/c61c284bc41f2b271dfa0549d657a5a26397108b860d7cdb15b43080196681c0092bf8cf920a8836213e239d1195c4ccf6db9be9298bce4e68c9daab1febeab9 + languageName: node + linkType: hard + +"regex-utilities@npm:^2.3.0": + version: 2.3.0 + resolution: "regex-utilities@npm:2.3.0" + checksum: 10c0/78c550a80a0af75223244fff006743922591bd8f61d91fef7c86b9b56cf9bbf8ee5d7adb6d8991b5e304c57c90103fc4818cf1e357b11c6c669b782839bd7893 + languageName: node + linkType: hard + +"regex@npm:^5.1.1": + version: 5.1.1 + resolution: "regex@npm:5.1.1" + dependencies: + regex-utilities: "npm:^2.3.0" + checksum: 10c0/314e032f0fe09497ce7a160b99675c4a16c7524f0a24833f567cbbf3a2bebc26bf59737dc5c23f32af7c74aa7a6bd3f809fc72c90c49a05faf8be45677db508a + languageName: node + linkType: hard + "regexp-tree@npm:^0.1.27": version: 0.1.27 resolution: "regexp-tree@npm:0.1.27" @@ -8599,6 +9428,13 @@ __metadata: languageName: node linkType: hard +"rope-sequence@npm:^1.3.0": + version: 1.3.4 + resolution: "rope-sequence@npm:1.3.4" + checksum: 10c0/caa90be3d7a7cad155fb354a4679a1280dc9819c81bd319542a0d893a64e152284abb9cc1631d4351b328016a8d6c35a48c912234edfaf5173daef44b2e3609b + languageName: node + linkType: hard + "rrweb-cssom@npm:^0.7.1": version: 0.7.1 resolution: "rrweb-cssom@npm:0.7.1" @@ -8748,6 +9584,30 @@ __metadata: languageName: node linkType: hard +"shiki-php@workspace:projects/tera/api/vendor/spatie/shiki-php": + version: 0.0.0-use.local + resolution: "shiki-php@workspace:projects/tera/api/vendor/spatie/shiki-php" + dependencies: + shiki: "npm:^1.22.2" + languageName: unknown + linkType: soft + +"shiki@npm:^1.0.0, shiki@npm:^1.22.2": + version: 1.29.2 + resolution: "shiki@npm:1.29.2" + dependencies: + "@shikijs/core": "npm:1.29.2" + "@shikijs/engine-javascript": "npm:1.29.2" + "@shikijs/engine-oniguruma": "npm:1.29.2" + "@shikijs/langs": "npm:1.29.2" + "@shikijs/themes": "npm:1.29.2" + "@shikijs/types": "npm:1.29.2" + "@shikijs/vscode-textmate": "npm:^10.0.1" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/9ef452021582c405501077082c4ae8d877027dca6488d2c7a1963ed661567f121b4cc5dea9dfab26689504b612b8a961f3767805cbeaaae3c1d6faa5e6f37eb0 + languageName: node + linkType: hard + "side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" @@ -8842,6 +9702,13 @@ __metadata: languageName: node linkType: hard +"space-separated-tokens@npm:^2.0.0": + version: 2.0.2 + resolution: "space-separated-tokens@npm:2.0.2" + checksum: 10c0/6173e1d903dca41dcab6a2deed8b4caf61bd13b6d7af8374713500570aa929ff9414ae09a0519f4f8772df993300305a395d4871f35bc4ca72b6db57e1f30af8 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.2.0 resolution: "spdx-correct@npm:3.2.0" @@ -8975,6 +9842,16 @@ __metadata: languageName: node linkType: hard +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + languageName: node + linkType: hard + "stringify-object@npm:^3.3.0": version: 3.3.0 resolution: "stringify-object@npm:3.3.0" @@ -9168,6 +10045,23 @@ __metadata: languageName: node linkType: hard +"tippy.js@npm:^6.3.7": + version: 6.3.7 + resolution: "tippy.js@npm:6.3.7" + dependencies: + "@popperjs/core": "npm:^2.9.0" + checksum: 10c0/ec3677beb8caec791ee1f715663f28f42d60e0f7250074a047d13d5e6db95fdb6d26d8a3ac16cecb4ebcaf33ae919dbc889cf97948d115e8d3c81518c911b379 + languageName: node + linkType: hard + +"tiptap-php@workspace:projects/tera/api/vendor/ueberdosis/tiptap-php": + version: 0.0.0-use.local + resolution: "tiptap-php@workspace:projects/tera/api/vendor/ueberdosis/tiptap-php" + dependencies: + shiki: "npm:^1.0.0" + languageName: unknown + linkType: soft + "tldts-core@npm:^6.1.61": version: 6.1.61 resolution: "tldts-core@npm:6.1.61" @@ -9222,6 +10116,13 @@ __metadata: languageName: node linkType: hard +"trim-lines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-lines@npm:3.0.1" + checksum: 10c0/3a1611fa9e52aa56a94c69951a9ea15b8aaad760eaa26c56a65330dc8adf99cb282fc07cc9d94968b7d4d88003beba220a7278bbe2063328eb23fb56f9509e94 + languageName: node + linkType: hard + "ts-api-utils@npm:^2.0.0": version: 2.0.0 resolution: "ts-api-utils@npm:2.0.0" @@ -9380,6 +10281,13 @@ __metadata: languageName: node linkType: hard +"uc.micro@npm:^2.0.0, uc.micro@npm:^2.1.0": + version: 2.1.0 + resolution: "uc.micro@npm:2.1.0" + checksum: 10c0/8862eddb412dda76f15db8ad1c640ccc2f47cdf8252a4a30be908d535602c8d33f9855dfcccb8b8837855c1ce1eaa563f7fa7ebe3c98fd0794351aab9b9c55fa + languageName: node + linkType: hard + "ufo@npm:^1.5.4": version: 1.5.4 resolution: "ufo@npm:1.5.4" @@ -9485,6 +10393,15 @@ __metadata: languageName: node linkType: hard +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 + languageName: node + linkType: hard + "unist-util-stringify-position@npm:^4.0.0": version: 4.0.0 resolution: "unist-util-stringify-position@npm:4.0.0" @@ -9599,6 +10516,26 @@ __metadata: languageName: node linkType: hard +"vfile-message@npm:^4.0.0": + version: 4.0.2 + resolution: "vfile-message@npm:4.0.2" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514 + languageName: node + linkType: hard + +"vfile@npm:^6.0.0": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef + languageName: node + linkType: hard + "vite-plugin-mkcert@npm:^1.17.6": version: 1.17.6 resolution: "vite-plugin-mkcert@npm:1.17.6" @@ -9839,6 +10776,13 @@ __metadata: languageName: node linkType: hard +"w3c-keyname@npm:^2.2.0": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 10c0/37cf335c90efff31672ebb345577d681e2177f7ff9006a9ad47c68c5a9d265ba4a7b39d6c2599ceea639ca9315584ce4bd9c9fbf7a7217bfb7a599e71943c4c4 + languageName: node + linkType: hard + "w3c-xmlserializer@npm:^5.0.0": version: 5.0.0 resolution: "w3c-xmlserializer@npm:5.0.0" @@ -10314,7 +11258,7 @@ __metadata: languageName: node linkType: hard -"zwitch@npm:^2.0.0": +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4" checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e