diff --git a/examples/basic/index.html b/examples/basic/index.html index 56f0d13..7a2000b 100644 --- a/examples/basic/index.html +++ b/examples/basic/index.html @@ -1,17 +1,24 @@ + Document + -
+
+
+
的撒旦撒擦
+ +
啊啊啊啊
+ \ No newline at end of file diff --git a/examples/basic/main.ts b/examples/basic/main.ts index 79bc438..c34087a 100644 --- a/examples/basic/main.ts +++ b/examples/basic/main.ts @@ -1,4 +1,5 @@ +import "@inkeon/core/dist/style.css" + import XxEditor from "@inkeon/core" -const editor = new XxEditor() -editor.init("#app") \ No newline at end of file +const editor = new XxEditor("#app") diff --git a/examples/basic/package.json b/examples/basic/package.json index ab0ddb9..ceca0c1 100644 --- a/examples/basic/package.json +++ b/examples/basic/package.json @@ -9,8 +9,5 @@ }, "keywords": [], "author": "", - "license": "ISC", - "devDependencies": { - "@inkeon/core": "workspace:*" - } + "license": "ISC" } \ No newline at end of file diff --git a/examples/basic/vite.config.ts b/examples/basic/vite.config.ts new file mode 100644 index 0000000..e574c0b --- /dev/null +++ b/examples/basic/vite.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from "vite" +import { resolve } from 'node:path' + +export default defineConfig({ + resolve: { + alias: { + "@inkeon/core/dist/style.css": resolve(__dirname, "../../packages/core/dist/style.css"), + "@inkeon/core": resolve(__dirname, "../../packages/core/dist/index.mjs"), + } + } +}) \ No newline at end of file diff --git a/package.json b/package.json index 9098191..2bc5eb4 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,10 @@ }, "devDependencies": { "@types/lodash-es": "^4.17.12", + "@types/node": "^22.10.5", "lodash-es": "^4.17.21", + "rollup-plugin-scss": "^4.0.1", + "sass": "^1.83.1", "typescript": "^5.7.2", "unbuild": "^3.0.1", "vite": "^6.0.5" diff --git a/packages/core/build/build.config.base.ts b/packages/core/build/build.config.base.ts index acb485a..0073f82 100644 --- a/packages/core/build/build.config.base.ts +++ b/packages/core/build/build.config.base.ts @@ -1,5 +1,6 @@ import { BuildConfig, defineBuildConfig } from "unbuild"; import { merge } from "lodash-es"; +import scss from 'rollup-plugin-scss' // OR tsup @@ -7,6 +8,11 @@ const BaseConfig = { entries: ["src/index.ts"], declaration: true, replace: {}, + hooks: { + "rollup:options"(ctx, options) { + options.plugins.push(scss({ fileName: 'style.css' })) + } + }, rollup: { emitCJS: true, output: { diff --git a/packages/core/package.json b/packages/core/package.json index 73527a8..0e9cb04 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -18,6 +18,10 @@ "default": "./dist/index.cjs" }, "types": "./dist/index.d.ts" + }, + "./dist/style.css": { + "import": "./dist/style.css", + "require": "./dist/style.css" } }, "scripts": { @@ -35,6 +39,7 @@ "license": "ISC", "dependencies": { "@tiptap/core": "^2.10.4", + "@tiptap/extension-bubble-menu": "^2.11.0", "@tiptap/extension-character-count": "^2.10.4", "@tiptap/extension-image": "^2.10.4", "@tiptap/pm": "^2.10.4", diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index af5573d..f80030b 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,28 +1,55 @@ import { Editor } from '@tiptap/core' import StarterKit from '@tiptap/starter-kit' import CharacterCount from '@tiptap/extension-character-count' +import BubbleMenu, { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu' import Image from '@tiptap/extension-image' import { getDom } from './utils.js' +import "./style/index.scss" + class Inkeon { constructor(dom: string | Element) { const domEl = getDom(dom) - this.init(domEl) + this.#init(domEl) } #editor: Editor - init(dom: Element) { + #init(dom: Element) { this.#editor = new Editor({ element: getDom(dom), + autofocus: true, extensions: [ StarterKit, Image, CharacterCount.configure({ limit: 240, }), + BubbleMenu.configure({ + element: document.querySelector('.bubble-menu'), + shouldShow: ({ editor, view, state, oldState, from, to }) => { + console.log(editor, view, state, oldState, from, to); + //如果是图片或链接才显示菜单 + return editor.isActive('image') || editor.isActive('link') + }, + }), ], }) + console.log(this.#editor); + document.querySelector(".aa").addEventListener("click", () => { + // console.log(this.#editor.getJSON()); + // console.log(this.#editor.getHTML()); + console.log(this.#editor.getText()); + }) + // this.#editor.options.element = getDom(dom) + // setTimeout(() => { + // this.#editor.registerPlugin(BubbleMenuPlugin({ + // updateDelay: 0, + // editor: this.#editor, + // pluginKey: "bubbleMenu", + // element: document.querySelector('.bubble-menu'), + // })) + // }, 0); this.#editor.chain().setContent(`

Hello World!

`).run() } } diff --git a/packages/core/src/style/index.scss b/packages/core/src/style/index.scss new file mode 100644 index 0000000..2296940 --- /dev/null +++ b/packages/core/src/style/index.scss @@ -0,0 +1,7 @@ +* { + color: aqua; +} + +h2 { + color: red; +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e1d3853..9d9d50b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,30 +11,38 @@ importers: '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 + '@types/node': + specifier: ^22.10.5 + version: 22.10.5 lodash-es: specifier: ^4.17.21 version: 4.17.21 + rollup-plugin-scss: + specifier: ^4.0.1 + version: 4.0.1 + sass: + specifier: ^1.83.1 + version: 1.83.1 typescript: specifier: ^5.7.2 version: 5.7.2 unbuild: specifier: ^3.0.1 - version: 3.0.1(typescript@5.7.2) + version: 3.0.1(sass@1.83.1)(typescript@5.7.2) vite: specifier: ^6.0.5 - version: 6.0.5(jiti@2.4.2) + version: 6.0.5(@types/node@22.10.5)(jiti@2.4.2)(sass@1.83.1) - examples/basic: - devDependencies: - '@inkeon/core': - specifier: workspace:* - version: link:../../packages/core + examples/basic: {} packages/core: dependencies: '@tiptap/core': specifier: ^2.10.4 version: 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/extension-bubble-menu': + specifier: ^2.11.0 + version: 2.11.0(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) '@tiptap/extension-character-count': specifier: ^2.10.4 version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) @@ -283,6 +291,97 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@parcel/watcher-android-arm64@2.5.0': + resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.0': + resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.0': + resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.0': + resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.0': + resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.5.0': + resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.5.0': + resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.5.0': + resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.5.0': + resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.5.0': + resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.5.0': + resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.0': + resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.0': + resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.0': + resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} + engines: {node: '>= 10.0.0'} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} @@ -460,6 +559,12 @@ packages: peerDependencies: '@tiptap/core': ^2.7.0 + '@tiptap/extension-bubble-menu@2.11.0': + resolution: {integrity: sha512-21KyB7+QSQjw72Oxzs3Duw9WErAUrigFZCyoCZNjp24wP7mFVsy1jAcnRiAi8pBVwlwHBZ29IW1PeavqCSFFVA==} + peerDependencies: + '@tiptap/core': ^2.7.0 + '@tiptap/pm': ^2.7.0 + '@tiptap/extension-bullet-list@2.10.4': resolution: {integrity: sha512-JVwDPgOBYRU2ivaadOh4IaQYXQEiSw6sB36KT/bwqJF2GnEvLiMwptdRMn9Uuh6xYR3imjIZtV6uZAoneZdd6g==} peerDependencies: @@ -589,6 +694,9 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -610,6 +718,10 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.24.3: resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -621,6 +733,10 @@ packages: caniuse-lite@1.0.30001690: resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -711,6 +827,11 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -744,6 +865,9 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + estree-walker@0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -755,6 +879,10 @@ packages: picomatch: optional: true + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} @@ -781,13 +909,28 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + immutable@5.0.3: + resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} @@ -850,6 +993,10 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + mkdist@2.1.0: resolution: {integrity: sha512-FhJRzoA2GEZr7X9S8S8SR5BcuGwgGi6IZKnJUHlMkRHUBJAtTU3xfIIcHnK4t9M/B9zK1ffpE+vGSS1003R7Dw==} hasBin: true @@ -879,6 +1026,9 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -901,6 +1051,10 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + picomatch@4.0.2: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} @@ -1157,6 +1311,10 @@ packages: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + resolve@1.22.10: resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} engines: {node: '>= 0.4'} @@ -1169,6 +1327,12 @@ packages: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 + rollup-plugin-scss@4.0.1: + resolution: {integrity: sha512-3W3+3OzR+shkDl3hJ1XTAuGkP4AfiLgIjie2GtcoZ9pHfRiNqeDbtCu1EUnkjZ98EPIM6nnMIXkKlc7Sx5bRvA==} + + rollup-pluginutils@2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + rollup@4.29.1: resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -1177,6 +1341,11 @@ packages: rope-sequence@1.3.4: resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} + sass@1.83.1: + resolution: {integrity: sha512-EVJbDaEs4Rr3F0glJzFSOvtg2/oy2V/YrGFPqPY24UqcLDWcI9ZY5sN+qyO3c/QCZwzgfirvhXvINiJCE/OLcA==} + engines: {node: '>=14.0.0'} + hasBin: true + scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} @@ -1212,6 +1381,13 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tippy.js@6.3.7: + resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + typescript@5.7.2: resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} @@ -1232,6 +1408,9 @@ packages: typescript: optional: true + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + untyped@1.5.2: resolution: {integrity: sha512-eL/8PlhLcMmlMDtNPKhyyz9kEBDS3Uk4yMu/ewlkT2WFbtzScjHWPJLdQLmaGPUKjXzwe9MumOtOgc4Fro96Kg==} hasBin: true @@ -1487,6 +1666,69 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@parcel/watcher-android-arm64@2.5.0': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.0': + optional: true + + '@parcel/watcher-darwin-x64@2.5.0': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.0': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.0': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.0': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.0': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.0': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.0': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.0': + optional: true + + '@parcel/watcher-win32-arm64@2.5.0': + optional: true + + '@parcel/watcher-win32-ia32@2.5.0': + optional: true + + '@parcel/watcher-win32-x64@2.5.0': + optional: true + + '@parcel/watcher@2.5.0': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.0 + '@parcel/watcher-darwin-arm64': 2.5.0 + '@parcel/watcher-darwin-x64': 2.5.0 + '@parcel/watcher-freebsd-x64': 2.5.0 + '@parcel/watcher-linux-arm-glibc': 2.5.0 + '@parcel/watcher-linux-arm-musl': 2.5.0 + '@parcel/watcher-linux-arm64-glibc': 2.5.0 + '@parcel/watcher-linux-arm64-musl': 2.5.0 + '@parcel/watcher-linux-x64-glibc': 2.5.0 + '@parcel/watcher-linux-x64-musl': 2.5.0 + '@parcel/watcher-win32-arm64': 2.5.0 + '@parcel/watcher-win32-ia32': 2.5.0 + '@parcel/watcher-win32-x64': 2.5.0 + optional: true + + '@popperjs/core@2.11.8': {} + '@remirror/core-constants@3.0.0': {} '@rollup/plugin-alias@5.1.1(rollup@4.29.1)': @@ -1605,6 +1847,12 @@ snapshots: dependencies: '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/extension-bubble-menu@2.11.0(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': + dependencies: + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 + tippy.js: 6.3.7 + '@tiptap/extension-bullet-list@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) @@ -1751,6 +1999,10 @@ snapshots: '@types/mdurl@2.0.0': {} + '@types/node@22.10.5': + dependencies: + undici-types: 6.20.0 + '@types/resolve@1.20.2': {} acorn@8.14.0: {} @@ -1769,6 +2021,11 @@ snapshots: boolbase@1.0.0: {} + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + optional: true + browserslist@4.24.3: dependencies: caniuse-lite: 1.0.30001690 @@ -1785,6 +2042,10 @@ snapshots: caniuse-lite@1.0.30001690: {} + chokidar@4.0.3: + dependencies: + readdirp: 4.0.2 + citty@0.1.6: dependencies: consola: 3.3.1 @@ -1885,6 +2146,9 @@ snapshots: defu@6.1.4: {} + detect-libc@1.0.3: + optional: true + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -1938,12 +2202,19 @@ snapshots: escape-string-regexp@4.0.0: {} + estree-walker@0.6.1: {} + estree-walker@2.0.2: {} fdir@6.4.2(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + optional: true + fraction.js@4.3.7: {} fsevents@2.3.3: @@ -1961,12 +2232,25 @@ snapshots: hookable@5.5.3: {} + immutable@5.0.3: {} + is-core-module@2.16.1: dependencies: hasown: 2.0.2 + is-extglob@2.1.1: + optional: true + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + optional: true + is-module@1.0.0: {} + is-number@7.0.0: + optional: true + is-reference@1.2.1: dependencies: '@types/estree': 1.0.6 @@ -2018,7 +2302,13 @@ snapshots: mdurl@2.0.0: {} - mkdist@2.1.0(typescript@5.7.2): + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + optional: true + + mkdist@2.1.0(sass@1.83.1)(typescript@5.7.2): dependencies: autoprefixer: 10.4.20(postcss@8.4.49) citty: 0.1.6 @@ -2034,6 +2324,7 @@ snapshots: semver: 7.6.3 tinyglobby: 0.2.10 optionalDependencies: + sass: 1.83.1 typescript: 5.7.2 mlly@1.7.3: @@ -2047,6 +2338,9 @@ snapshots: nanoid@3.3.8: {} + node-addon-api@7.1.1: + optional: true + node-releases@2.0.19: {} normalize-range@0.1.2: {} @@ -2063,6 +2357,9 @@ snapshots: picocolors@1.1.1: {} + picomatch@2.3.1: + optional: true + picomatch@4.0.2: {} pkg-types@1.2.1: @@ -2350,6 +2647,8 @@ snapshots: punycode.js@2.3.1: {} + readdirp@4.0.2: {} + resolve@1.22.10: dependencies: is-core-module: 2.16.1 @@ -2364,6 +2663,14 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.26.2 + rollup-plugin-scss@4.0.1: + dependencies: + rollup-pluginutils: 2.8.2 + + rollup-pluginutils@2.8.2: + dependencies: + estree-walker: 0.6.1 + rollup@4.29.1: dependencies: '@types/estree': 1.0.6 @@ -2391,6 +2698,14 @@ snapshots: rope-sequence@1.3.4: {} + sass@1.83.1: + dependencies: + chokidar: 4.0.3 + immutable: 5.0.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.0 + scule@1.3.0: {} semver@6.3.1: {} @@ -2422,13 +2737,22 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 + tippy.js@6.3.7: + dependencies: + '@popperjs/core': 2.11.8 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + optional: true + typescript@5.7.2: {} uc.micro@2.1.0: {} ufo@1.5.4: {} - unbuild@3.0.1(typescript@5.7.2): + unbuild@3.0.1(sass@1.83.1)(typescript@5.7.2): dependencies: '@rollup/plugin-alias': 5.1.1(rollup@4.29.1) '@rollup/plugin-commonjs': 28.0.2(rollup@4.29.1) @@ -2443,7 +2767,7 @@ snapshots: hookable: 5.5.3 jiti: 2.4.2 magic-string: 0.30.17 - mkdist: 2.1.0(typescript@5.7.2) + mkdist: 2.1.0(sass@1.83.1)(typescript@5.7.2) mlly: 1.7.3 pathe: 1.1.2 pkg-types: 1.2.1 @@ -2462,6 +2786,8 @@ snapshots: - vue - vue-tsc + undici-types@6.20.0: {} + untyped@1.5.2: dependencies: '@babel/core': 7.26.0 @@ -2483,14 +2809,16 @@ snapshots: util-deprecate@1.0.2: {} - vite@6.0.5(jiti@2.4.2): + vite@6.0.5(@types/node@22.10.5)(jiti@2.4.2)(sass@1.83.1): dependencies: esbuild: 0.24.0 postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: + '@types/node': 22.10.5 fsevents: 2.3.3 jiti: 2.4.2 + sass: 1.83.1 w3c-keyname@2.2.8: {}