@btst/stack 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/index.cjs +68 -8
- package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/index.mjs +68 -8
- package/dist/node_modules/.pnpm/{@tiptap_extension-blockquote@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-blockquote@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-blockquote/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-blockquote@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-blockquote@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-blockquote/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-bold@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-bold@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-bold/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-bold@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-bold@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-bold/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-bubble-menu/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-bubble-menu@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-bubble-menu/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@ti_2245ac34d84b5693aa60775b0f7781e3 → @tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@ti_360e739196c451ebf408f4af5a9f3f24}/node_modules/@tiptap/extension-code-block-lowlight/dist/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@ti_2245ac34d84b5693aa60775b0f7781e3 → @tiptap_extension-code-block-lowlight@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@ti_360e739196c451ebf408f4af5a9f3f24}/node_modules/@tiptap/extension-code-block-lowlight/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/@tiptap_extension-code-block@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3/node_modules/@tiptap/extension-code-block/dist/index.cjs +319 -0
- package/dist/node_modules/.pnpm/@tiptap_extension-code-block@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3/node_modules/@tiptap/extension-code-block/dist/index.mjs +315 -0
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-code-block@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-code-block/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code-block@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-code-block@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-code-block/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-code@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-code/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-code@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-code@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-code/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-document@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-document@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-document/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-document@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-document@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-document/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-floating-menu/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-floating-menu@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-floating-menu/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-hard-break@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-hard-break@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-hard-break/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-hard-break@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-hard-break@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-hard-break/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-heading@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-heading@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-heading/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-heading@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-heading@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-heading/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-horizontal-rule/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-horizontal-rule@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-horizontal-rule/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-image@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-image@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-image/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-image@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-image@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-image/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-italic@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-italic@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-italic/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-italic@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-italic@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-italic/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-link@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-link@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-link/dist/index.cjs +28 -22
- package/dist/node_modules/.pnpm/{@tiptap_extension-link@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-link@3.20.0_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-link/dist/index.mjs +28 -22
- package/dist/node_modules/.pnpm/{@tiptap_extension-list@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-list@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-list/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-list@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-list@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-list/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-paragraph@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-paragraph@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-paragraph/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-paragraph@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-paragraph@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-paragraph/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-strike@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-strike@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-strike/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-strike@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-strike@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-strike/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-table@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-table@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-table/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-table@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extension-table@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extension-table/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text-style@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text-style@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text-style/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text-style@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text-style@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text-style/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-text@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-text@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-text/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-typography@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-typography@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-typography/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-typography@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-typography@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-typography/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-underline@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-underline@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-underline/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extension-underline@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3_ → @tiptap_extension-underline@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3_}/node_modules/@tiptap/extension-underline/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extensions@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extensions@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extensions/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_extensions@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_extensions@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/extensions/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_markdown@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_markdown@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/markdown/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_markdown@3.15.3_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3 → @tiptap_markdown@3.15.3_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tiptap_pm@3.15.3}/node_modules/@tiptap/markdown/dist/index.mjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/index.mjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/menus/index.cjs +2 -2
- package/dist/node_modules/.pnpm/{@tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.15.3_@tiptap_pm@3.15.3__@tip_d7a2a9a319317617a8908309649a6dda → @tiptap_react@3.15.3_@floating-ui_dom@1.7.4_@tiptap_core@3.20.0_@tiptap_pm@3.15.3__@tip_b42b5b2d59902d8a01cd4cc3e2d5dc64}/node_modules/@tiptap/react/dist/menus/index.mjs +2 -2
- package/dist/node_modules/.pnpm/@tiptap_starter-kit@3.15.3/node_modules/@tiptap/starter-kit/dist/index.cjs +17 -17
- package/dist/node_modules/.pnpm/@tiptap_starter-kit@3.15.3/node_modules/@tiptap/starter-kit/dist/index.mjs +17 -17
- package/dist/packages/stack/src/plugins/open-api/api/generator.cjs +2 -1
- package/dist/packages/stack/src/plugins/open-api/api/generator.mjs +2 -1
- package/dist/packages/ui/src/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/components/bubble-menu/link-bubble-menu.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/code-block-lowlight/code-block-lowlight.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/color/color.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/color/color.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/file-handler/index.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/file-handler/index.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/horizontal-rule/horizontal-rule.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/components/image-view-block.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/components/image-view-block.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/image.cjs +2 -2
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/image/image.mjs +2 -2
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/markdown-paste/markdown-paste.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/markdown-paste/markdown-paste.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/reset-marks-on-enter/reset-marks-on-enter.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/extensions/unset-all-marks/unset-all-marks.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-minimal-tiptap.cjs +7 -7
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-minimal-tiptap.mjs +7 -7
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-tiptap-editor.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/hooks/use-tiptap-editor.mjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/minimal-tiptap.cjs +1 -1
- package/dist/packages/ui/src/components/minimal-tiptap/minimal-tiptap.mjs +1 -1
- package/dist/plugins/form-builder/api/index.d.cts +1 -1
- package/dist/plugins/form-builder/api/index.d.mts +1 -1
- package/dist/plugins/form-builder/api/index.d.ts +1 -1
- package/dist/plugins/form-builder/query-keys.d.cts +1 -1
- package/dist/plugins/form-builder/query-keys.d.mts +1 -1
- package/dist/plugins/form-builder/query-keys.d.ts +1 -1
- package/dist/plugins/kanban/api/index.d.cts +1 -1
- package/dist/plugins/kanban/api/index.d.mts +1 -1
- package/dist/plugins/kanban/api/index.d.ts +1 -1
- package/dist/plugins/kanban/query-keys.d.cts +1 -1
- package/dist/plugins/kanban/query-keys.d.mts +1 -1
- package/dist/plugins/kanban/query-keys.d.ts +1 -1
- package/package.json +1 -1
- package/src/plugins/open-api/api/generator.ts +3 -1
- package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.cjs +0 -0
- package/dist/node_modules/.pnpm/{@tiptap_core@3.15.3_@tiptap_pm@3.15.3 → @tiptap_core@3.20.0_@tiptap_pm@3.15.3}/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.mjs +0 -0
- package/dist/shared/{stack.CxaFNQCV.d.mts → stack.B8D4r97Z.d.mts} +3 -3
- package/dist/shared/{stack.DTtmJPQO.d.mts → stack.BgTmujxW.d.mts} +1 -1
- package/dist/shared/{stack.BDVEpue1.d.ts → stack.CLQuVdwK.d.ts} +1 -1
- package/dist/shared/{stack.BTvbxZvw.d.cts → stack.CSx98K5H.d.cts} +1 -1
- package/dist/shared/{stack.j75TpKh2.d.ts → stack.DgKOwl20.d.ts} +3 -3
- package/dist/shared/{stack.n1_i1p2B.d.cts → stack.uWSqCWAb.d.cts} +3 -3
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const index = require('../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.cjs');
|
|
4
|
+
const index$1 = require('../../../../../prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.cjs');
|
|
5
|
+
|
|
6
|
+
// src/code-block.ts
|
|
7
|
+
var DEFAULT_TAB_SIZE = 4;
|
|
8
|
+
var backtickInputRegex = /^```([a-z]+)?[\s\n]$/;
|
|
9
|
+
var tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
|
|
10
|
+
var CodeBlock = index.Node.create({
|
|
11
|
+
name: "codeBlock",
|
|
12
|
+
addOptions() {
|
|
13
|
+
return {
|
|
14
|
+
languageClassPrefix: "language-",
|
|
15
|
+
exitOnTripleEnter: true,
|
|
16
|
+
exitOnArrowDown: true,
|
|
17
|
+
defaultLanguage: null,
|
|
18
|
+
enableTabIndentation: false,
|
|
19
|
+
tabSize: DEFAULT_TAB_SIZE,
|
|
20
|
+
HTMLAttributes: {}
|
|
21
|
+
};
|
|
22
|
+
},
|
|
23
|
+
content: "text*",
|
|
24
|
+
marks: "",
|
|
25
|
+
group: "block",
|
|
26
|
+
code: true,
|
|
27
|
+
defining: true,
|
|
28
|
+
addAttributes() {
|
|
29
|
+
return {
|
|
30
|
+
language: {
|
|
31
|
+
default: this.options.defaultLanguage,
|
|
32
|
+
parseHTML: (element) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const { languageClassPrefix } = this.options;
|
|
35
|
+
if (!languageClassPrefix) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const classNames = [...((_a = element.firstElementChild) == null ? void 0 : _a.classList) || []];
|
|
39
|
+
const languages = classNames.filter((className) => className.startsWith(languageClassPrefix)).map((className) => className.replace(languageClassPrefix, ""));
|
|
40
|
+
const language = languages[0];
|
|
41
|
+
if (!language) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return language;
|
|
45
|
+
},
|
|
46
|
+
rendered: false
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
parseHTML() {
|
|
51
|
+
return [
|
|
52
|
+
{
|
|
53
|
+
tag: "pre",
|
|
54
|
+
preserveWhitespace: "full"
|
|
55
|
+
}
|
|
56
|
+
];
|
|
57
|
+
},
|
|
58
|
+
renderHTML({ node, HTMLAttributes }) {
|
|
59
|
+
return [
|
|
60
|
+
"pre",
|
|
61
|
+
index.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
|
|
62
|
+
[
|
|
63
|
+
"code",
|
|
64
|
+
{
|
|
65
|
+
class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null
|
|
66
|
+
},
|
|
67
|
+
0
|
|
68
|
+
]
|
|
69
|
+
];
|
|
70
|
+
},
|
|
71
|
+
markdownTokenName: "code",
|
|
72
|
+
parseMarkdown: (token, helpers) => {
|
|
73
|
+
var _a;
|
|
74
|
+
if (((_a = token.raw) == null ? void 0 : _a.startsWith("```")) === false && token.codeBlockStyle !== "indented") {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
return helpers.createNode(
|
|
78
|
+
"codeBlock",
|
|
79
|
+
{ language: token.lang || null },
|
|
80
|
+
token.text ? [helpers.createTextNode(token.text)] : []
|
|
81
|
+
);
|
|
82
|
+
},
|
|
83
|
+
renderMarkdown: (node, h) => {
|
|
84
|
+
var _a;
|
|
85
|
+
let output = "";
|
|
86
|
+
const language = ((_a = node.attrs) == null ? void 0 : _a.language) || "";
|
|
87
|
+
if (!node.content) {
|
|
88
|
+
output = `\`\`\`${language}
|
|
89
|
+
|
|
90
|
+
\`\`\``;
|
|
91
|
+
} else {
|
|
92
|
+
const lines = [`\`\`\`${language}`, h.renderChildren(node.content), "```"];
|
|
93
|
+
output = lines.join("\n");
|
|
94
|
+
}
|
|
95
|
+
return output;
|
|
96
|
+
},
|
|
97
|
+
addCommands() {
|
|
98
|
+
return {
|
|
99
|
+
setCodeBlock: (attributes) => ({ commands }) => {
|
|
100
|
+
return commands.setNode(this.name, attributes);
|
|
101
|
+
},
|
|
102
|
+
toggleCodeBlock: (attributes) => ({ commands }) => {
|
|
103
|
+
return commands.toggleNode(this.name, "paragraph", attributes);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
},
|
|
107
|
+
addKeyboardShortcuts() {
|
|
108
|
+
return {
|
|
109
|
+
"Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
|
|
110
|
+
// remove code block when at start of document or code block is empty
|
|
111
|
+
Backspace: () => {
|
|
112
|
+
const { empty, $anchor } = this.editor.state.selection;
|
|
113
|
+
const isAtStart = $anchor.pos === 1;
|
|
114
|
+
if (!empty || $anchor.parent.type.name !== this.name) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (isAtStart || !$anchor.parent.textContent.length) {
|
|
118
|
+
return this.editor.commands.clearNodes();
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
},
|
|
122
|
+
// handle tab indentation
|
|
123
|
+
Tab: ({ editor }) => {
|
|
124
|
+
var _a;
|
|
125
|
+
if (!this.options.enableTabIndentation) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
|
|
129
|
+
const { state } = editor;
|
|
130
|
+
const { selection } = state;
|
|
131
|
+
const { $from, empty } = selection;
|
|
132
|
+
if ($from.parent.type !== this.type) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
const indent = " ".repeat(tabSize);
|
|
136
|
+
if (empty) {
|
|
137
|
+
return editor.commands.insertContent(indent);
|
|
138
|
+
}
|
|
139
|
+
return editor.commands.command(({ tr }) => {
|
|
140
|
+
const { from, to } = selection;
|
|
141
|
+
const text = state.doc.textBetween(from, to, "\n", "\n");
|
|
142
|
+
const lines = text.split("\n");
|
|
143
|
+
const indentedText = lines.map((line) => indent + line).join("\n");
|
|
144
|
+
tr.replaceWith(from, to, state.schema.text(indentedText));
|
|
145
|
+
return true;
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
// handle shift+tab reverse indentation
|
|
149
|
+
"Shift-Tab": ({ editor }) => {
|
|
150
|
+
var _a;
|
|
151
|
+
if (!this.options.enableTabIndentation) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
|
|
155
|
+
const { state } = editor;
|
|
156
|
+
const { selection } = state;
|
|
157
|
+
const { $from, empty } = selection;
|
|
158
|
+
if ($from.parent.type !== this.type) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
if (empty) {
|
|
162
|
+
return editor.commands.command(({ tr }) => {
|
|
163
|
+
var _a2;
|
|
164
|
+
const { pos } = $from;
|
|
165
|
+
const codeBlockStart = $from.start();
|
|
166
|
+
const codeBlockEnd = $from.end();
|
|
167
|
+
const allText = state.doc.textBetween(codeBlockStart, codeBlockEnd, "\n", "\n");
|
|
168
|
+
const lines = allText.split("\n");
|
|
169
|
+
let currentLineIndex = 0;
|
|
170
|
+
let charCount = 0;
|
|
171
|
+
const relativeCursorPos = pos - codeBlockStart;
|
|
172
|
+
for (let i = 0; i < lines.length; i += 1) {
|
|
173
|
+
if (charCount + lines[i].length >= relativeCursorPos) {
|
|
174
|
+
currentLineIndex = i;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
charCount += lines[i].length + 1;
|
|
178
|
+
}
|
|
179
|
+
const currentLine = lines[currentLineIndex];
|
|
180
|
+
const leadingSpaces = ((_a2 = currentLine.match(/^ */)) == null ? void 0 : _a2[0]) || "";
|
|
181
|
+
const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
|
|
182
|
+
if (spacesToRemove === 0) {
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
let lineStartPos = codeBlockStart;
|
|
186
|
+
for (let i = 0; i < currentLineIndex; i += 1) {
|
|
187
|
+
lineStartPos += lines[i].length + 1;
|
|
188
|
+
}
|
|
189
|
+
tr.delete(lineStartPos, lineStartPos + spacesToRemove);
|
|
190
|
+
const cursorPosInLine = pos - lineStartPos;
|
|
191
|
+
if (cursorPosInLine <= spacesToRemove) {
|
|
192
|
+
tr.setSelection(index$1.TextSelection.create(tr.doc, lineStartPos));
|
|
193
|
+
}
|
|
194
|
+
return true;
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return editor.commands.command(({ tr }) => {
|
|
198
|
+
const { from, to } = selection;
|
|
199
|
+
const text = state.doc.textBetween(from, to, "\n", "\n");
|
|
200
|
+
const lines = text.split("\n");
|
|
201
|
+
const reverseIndentText = lines.map((line) => {
|
|
202
|
+
var _a2;
|
|
203
|
+
const leadingSpaces = ((_a2 = line.match(/^ */)) == null ? void 0 : _a2[0]) || "";
|
|
204
|
+
const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
|
|
205
|
+
return line.slice(spacesToRemove);
|
|
206
|
+
}).join("\n");
|
|
207
|
+
tr.replaceWith(from, to, state.schema.text(reverseIndentText));
|
|
208
|
+
return true;
|
|
209
|
+
});
|
|
210
|
+
},
|
|
211
|
+
// exit node on triple enter
|
|
212
|
+
Enter: ({ editor }) => {
|
|
213
|
+
if (!this.options.exitOnTripleEnter) {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
const { state } = editor;
|
|
217
|
+
const { selection } = state;
|
|
218
|
+
const { $from, empty } = selection;
|
|
219
|
+
if (!empty || $from.parent.type !== this.type) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
|
|
223
|
+
const endsWithDoubleNewline = $from.parent.textContent.endsWith("\n\n");
|
|
224
|
+
if (!isAtEnd || !endsWithDoubleNewline) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
return editor.chain().command(({ tr }) => {
|
|
228
|
+
tr.delete($from.pos - 2, $from.pos);
|
|
229
|
+
return true;
|
|
230
|
+
}).exitCode().run();
|
|
231
|
+
},
|
|
232
|
+
// exit node on arrow down
|
|
233
|
+
ArrowDown: ({ editor }) => {
|
|
234
|
+
if (!this.options.exitOnArrowDown) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
const { state } = editor;
|
|
238
|
+
const { selection, doc } = state;
|
|
239
|
+
const { $from, empty } = selection;
|
|
240
|
+
if (!empty || $from.parent.type !== this.type) {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
|
|
244
|
+
if (!isAtEnd) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
const after = $from.after();
|
|
248
|
+
if (after === void 0) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
const nodeAfter = doc.nodeAt(after);
|
|
252
|
+
if (nodeAfter) {
|
|
253
|
+
return editor.commands.command(({ tr }) => {
|
|
254
|
+
tr.setSelection(index$1.Selection.near(doc.resolve(after)));
|
|
255
|
+
return true;
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
return editor.commands.exitCode();
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
},
|
|
262
|
+
addInputRules() {
|
|
263
|
+
return [
|
|
264
|
+
index.textblockTypeInputRule({
|
|
265
|
+
find: backtickInputRegex,
|
|
266
|
+
type: this.type,
|
|
267
|
+
getAttributes: (match) => ({
|
|
268
|
+
language: match[1]
|
|
269
|
+
})
|
|
270
|
+
}),
|
|
271
|
+
index.textblockTypeInputRule({
|
|
272
|
+
find: tildeInputRegex,
|
|
273
|
+
type: this.type,
|
|
274
|
+
getAttributes: (match) => ({
|
|
275
|
+
language: match[1]
|
|
276
|
+
})
|
|
277
|
+
})
|
|
278
|
+
];
|
|
279
|
+
},
|
|
280
|
+
addProseMirrorPlugins() {
|
|
281
|
+
return [
|
|
282
|
+
// this plugin creates a code block for pasted content from VS Code
|
|
283
|
+
// we can also detect the copied code language
|
|
284
|
+
new index$1.Plugin({
|
|
285
|
+
key: new index$1.PluginKey("codeBlockVSCodeHandler"),
|
|
286
|
+
props: {
|
|
287
|
+
handlePaste: (view, event) => {
|
|
288
|
+
if (!event.clipboardData) {
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
if (this.editor.isActive(this.type.name)) {
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
const text = event.clipboardData.getData("text/plain");
|
|
295
|
+
const vscode = event.clipboardData.getData("vscode-editor-data");
|
|
296
|
+
const vscodeData = vscode ? JSON.parse(vscode) : void 0;
|
|
297
|
+
const language = vscodeData == null ? void 0 : vscodeData.mode;
|
|
298
|
+
if (!text || !language) {
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
const { tr, schema } = view.state;
|
|
302
|
+
const textNode = schema.text(text.replace(/\r\n?/g, "\n"));
|
|
303
|
+
tr.replaceSelectionWith(this.type.create({ language }, textNode));
|
|
304
|
+
if (tr.selection.$from.parent.type !== this.type) {
|
|
305
|
+
tr.setSelection(index$1.TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));
|
|
306
|
+
}
|
|
307
|
+
tr.setMeta("paste", true);
|
|
308
|
+
view.dispatch(tr);
|
|
309
|
+
return true;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
})
|
|
313
|
+
];
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
exports.CodeBlock = CodeBlock;
|
|
318
|
+
exports.backtickInputRegex = backtickInputRegex;
|
|
319
|
+
exports.tildeInputRegex = tildeInputRegex;
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { Node as Node3, textblockTypeInputRule, mergeAttributes } from '../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.mjs';
|
|
2
|
+
import { Plugin, PluginKey, TextSelection, Selection } from '../../../../../prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.mjs';
|
|
3
|
+
|
|
4
|
+
// src/code-block.ts
|
|
5
|
+
var DEFAULT_TAB_SIZE = 4;
|
|
6
|
+
var backtickInputRegex = /^```([a-z]+)?[\s\n]$/;
|
|
7
|
+
var tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
|
|
8
|
+
var CodeBlock = Node3.create({
|
|
9
|
+
name: "codeBlock",
|
|
10
|
+
addOptions() {
|
|
11
|
+
return {
|
|
12
|
+
languageClassPrefix: "language-",
|
|
13
|
+
exitOnTripleEnter: true,
|
|
14
|
+
exitOnArrowDown: true,
|
|
15
|
+
defaultLanguage: null,
|
|
16
|
+
enableTabIndentation: false,
|
|
17
|
+
tabSize: DEFAULT_TAB_SIZE,
|
|
18
|
+
HTMLAttributes: {}
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
content: "text*",
|
|
22
|
+
marks: "",
|
|
23
|
+
group: "block",
|
|
24
|
+
code: true,
|
|
25
|
+
defining: true,
|
|
26
|
+
addAttributes() {
|
|
27
|
+
return {
|
|
28
|
+
language: {
|
|
29
|
+
default: this.options.defaultLanguage,
|
|
30
|
+
parseHTML: (element) => {
|
|
31
|
+
var _a;
|
|
32
|
+
const { languageClassPrefix } = this.options;
|
|
33
|
+
if (!languageClassPrefix) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const classNames = [...((_a = element.firstElementChild) == null ? void 0 : _a.classList) || []];
|
|
37
|
+
const languages = classNames.filter((className) => className.startsWith(languageClassPrefix)).map((className) => className.replace(languageClassPrefix, ""));
|
|
38
|
+
const language = languages[0];
|
|
39
|
+
if (!language) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return language;
|
|
43
|
+
},
|
|
44
|
+
rendered: false
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
parseHTML() {
|
|
49
|
+
return [
|
|
50
|
+
{
|
|
51
|
+
tag: "pre",
|
|
52
|
+
preserveWhitespace: "full"
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
},
|
|
56
|
+
renderHTML({ node, HTMLAttributes }) {
|
|
57
|
+
return [
|
|
58
|
+
"pre",
|
|
59
|
+
mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
|
|
60
|
+
[
|
|
61
|
+
"code",
|
|
62
|
+
{
|
|
63
|
+
class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null
|
|
64
|
+
},
|
|
65
|
+
0
|
|
66
|
+
]
|
|
67
|
+
];
|
|
68
|
+
},
|
|
69
|
+
markdownTokenName: "code",
|
|
70
|
+
parseMarkdown: (token, helpers) => {
|
|
71
|
+
var _a;
|
|
72
|
+
if (((_a = token.raw) == null ? void 0 : _a.startsWith("```")) === false && token.codeBlockStyle !== "indented") {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
return helpers.createNode(
|
|
76
|
+
"codeBlock",
|
|
77
|
+
{ language: token.lang || null },
|
|
78
|
+
token.text ? [helpers.createTextNode(token.text)] : []
|
|
79
|
+
);
|
|
80
|
+
},
|
|
81
|
+
renderMarkdown: (node, h) => {
|
|
82
|
+
var _a;
|
|
83
|
+
let output = "";
|
|
84
|
+
const language = ((_a = node.attrs) == null ? void 0 : _a.language) || "";
|
|
85
|
+
if (!node.content) {
|
|
86
|
+
output = `\`\`\`${language}
|
|
87
|
+
|
|
88
|
+
\`\`\``;
|
|
89
|
+
} else {
|
|
90
|
+
const lines = [`\`\`\`${language}`, h.renderChildren(node.content), "```"];
|
|
91
|
+
output = lines.join("\n");
|
|
92
|
+
}
|
|
93
|
+
return output;
|
|
94
|
+
},
|
|
95
|
+
addCommands() {
|
|
96
|
+
return {
|
|
97
|
+
setCodeBlock: (attributes) => ({ commands }) => {
|
|
98
|
+
return commands.setNode(this.name, attributes);
|
|
99
|
+
},
|
|
100
|
+
toggleCodeBlock: (attributes) => ({ commands }) => {
|
|
101
|
+
return commands.toggleNode(this.name, "paragraph", attributes);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
},
|
|
105
|
+
addKeyboardShortcuts() {
|
|
106
|
+
return {
|
|
107
|
+
"Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
|
|
108
|
+
// remove code block when at start of document or code block is empty
|
|
109
|
+
Backspace: () => {
|
|
110
|
+
const { empty, $anchor } = this.editor.state.selection;
|
|
111
|
+
const isAtStart = $anchor.pos === 1;
|
|
112
|
+
if (!empty || $anchor.parent.type.name !== this.name) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
if (isAtStart || !$anchor.parent.textContent.length) {
|
|
116
|
+
return this.editor.commands.clearNodes();
|
|
117
|
+
}
|
|
118
|
+
return false;
|
|
119
|
+
},
|
|
120
|
+
// handle tab indentation
|
|
121
|
+
Tab: ({ editor }) => {
|
|
122
|
+
var _a;
|
|
123
|
+
if (!this.options.enableTabIndentation) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
|
|
127
|
+
const { state } = editor;
|
|
128
|
+
const { selection } = state;
|
|
129
|
+
const { $from, empty } = selection;
|
|
130
|
+
if ($from.parent.type !== this.type) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
const indent = " ".repeat(tabSize);
|
|
134
|
+
if (empty) {
|
|
135
|
+
return editor.commands.insertContent(indent);
|
|
136
|
+
}
|
|
137
|
+
return editor.commands.command(({ tr }) => {
|
|
138
|
+
const { from, to } = selection;
|
|
139
|
+
const text = state.doc.textBetween(from, to, "\n", "\n");
|
|
140
|
+
const lines = text.split("\n");
|
|
141
|
+
const indentedText = lines.map((line) => indent + line).join("\n");
|
|
142
|
+
tr.replaceWith(from, to, state.schema.text(indentedText));
|
|
143
|
+
return true;
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
// handle shift+tab reverse indentation
|
|
147
|
+
"Shift-Tab": ({ editor }) => {
|
|
148
|
+
var _a;
|
|
149
|
+
if (!this.options.enableTabIndentation) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const tabSize = (_a = this.options.tabSize) != null ? _a : DEFAULT_TAB_SIZE;
|
|
153
|
+
const { state } = editor;
|
|
154
|
+
const { selection } = state;
|
|
155
|
+
const { $from, empty } = selection;
|
|
156
|
+
if ($from.parent.type !== this.type) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
if (empty) {
|
|
160
|
+
return editor.commands.command(({ tr }) => {
|
|
161
|
+
var _a2;
|
|
162
|
+
const { pos } = $from;
|
|
163
|
+
const codeBlockStart = $from.start();
|
|
164
|
+
const codeBlockEnd = $from.end();
|
|
165
|
+
const allText = state.doc.textBetween(codeBlockStart, codeBlockEnd, "\n", "\n");
|
|
166
|
+
const lines = allText.split("\n");
|
|
167
|
+
let currentLineIndex = 0;
|
|
168
|
+
let charCount = 0;
|
|
169
|
+
const relativeCursorPos = pos - codeBlockStart;
|
|
170
|
+
for (let i = 0; i < lines.length; i += 1) {
|
|
171
|
+
if (charCount + lines[i].length >= relativeCursorPos) {
|
|
172
|
+
currentLineIndex = i;
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
charCount += lines[i].length + 1;
|
|
176
|
+
}
|
|
177
|
+
const currentLine = lines[currentLineIndex];
|
|
178
|
+
const leadingSpaces = ((_a2 = currentLine.match(/^ */)) == null ? void 0 : _a2[0]) || "";
|
|
179
|
+
const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
|
|
180
|
+
if (spacesToRemove === 0) {
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
let lineStartPos = codeBlockStart;
|
|
184
|
+
for (let i = 0; i < currentLineIndex; i += 1) {
|
|
185
|
+
lineStartPos += lines[i].length + 1;
|
|
186
|
+
}
|
|
187
|
+
tr.delete(lineStartPos, lineStartPos + spacesToRemove);
|
|
188
|
+
const cursorPosInLine = pos - lineStartPos;
|
|
189
|
+
if (cursorPosInLine <= spacesToRemove) {
|
|
190
|
+
tr.setSelection(TextSelection.create(tr.doc, lineStartPos));
|
|
191
|
+
}
|
|
192
|
+
return true;
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
return editor.commands.command(({ tr }) => {
|
|
196
|
+
const { from, to } = selection;
|
|
197
|
+
const text = state.doc.textBetween(from, to, "\n", "\n");
|
|
198
|
+
const lines = text.split("\n");
|
|
199
|
+
const reverseIndentText = lines.map((line) => {
|
|
200
|
+
var _a2;
|
|
201
|
+
const leadingSpaces = ((_a2 = line.match(/^ */)) == null ? void 0 : _a2[0]) || "";
|
|
202
|
+
const spacesToRemove = Math.min(leadingSpaces.length, tabSize);
|
|
203
|
+
return line.slice(spacesToRemove);
|
|
204
|
+
}).join("\n");
|
|
205
|
+
tr.replaceWith(from, to, state.schema.text(reverseIndentText));
|
|
206
|
+
return true;
|
|
207
|
+
});
|
|
208
|
+
},
|
|
209
|
+
// exit node on triple enter
|
|
210
|
+
Enter: ({ editor }) => {
|
|
211
|
+
if (!this.options.exitOnTripleEnter) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
const { state } = editor;
|
|
215
|
+
const { selection } = state;
|
|
216
|
+
const { $from, empty } = selection;
|
|
217
|
+
if (!empty || $from.parent.type !== this.type) {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
|
|
221
|
+
const endsWithDoubleNewline = $from.parent.textContent.endsWith("\n\n");
|
|
222
|
+
if (!isAtEnd || !endsWithDoubleNewline) {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
return editor.chain().command(({ tr }) => {
|
|
226
|
+
tr.delete($from.pos - 2, $from.pos);
|
|
227
|
+
return true;
|
|
228
|
+
}).exitCode().run();
|
|
229
|
+
},
|
|
230
|
+
// exit node on arrow down
|
|
231
|
+
ArrowDown: ({ editor }) => {
|
|
232
|
+
if (!this.options.exitOnArrowDown) {
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
const { state } = editor;
|
|
236
|
+
const { selection, doc } = state;
|
|
237
|
+
const { $from, empty } = selection;
|
|
238
|
+
if (!empty || $from.parent.type !== this.type) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
|
|
242
|
+
if (!isAtEnd) {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
const after = $from.after();
|
|
246
|
+
if (after === void 0) {
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
const nodeAfter = doc.nodeAt(after);
|
|
250
|
+
if (nodeAfter) {
|
|
251
|
+
return editor.commands.command(({ tr }) => {
|
|
252
|
+
tr.setSelection(Selection.near(doc.resolve(after)));
|
|
253
|
+
return true;
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
return editor.commands.exitCode();
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
},
|
|
260
|
+
addInputRules() {
|
|
261
|
+
return [
|
|
262
|
+
textblockTypeInputRule({
|
|
263
|
+
find: backtickInputRegex,
|
|
264
|
+
type: this.type,
|
|
265
|
+
getAttributes: (match) => ({
|
|
266
|
+
language: match[1]
|
|
267
|
+
})
|
|
268
|
+
}),
|
|
269
|
+
textblockTypeInputRule({
|
|
270
|
+
find: tildeInputRegex,
|
|
271
|
+
type: this.type,
|
|
272
|
+
getAttributes: (match) => ({
|
|
273
|
+
language: match[1]
|
|
274
|
+
})
|
|
275
|
+
})
|
|
276
|
+
];
|
|
277
|
+
},
|
|
278
|
+
addProseMirrorPlugins() {
|
|
279
|
+
return [
|
|
280
|
+
// this plugin creates a code block for pasted content from VS Code
|
|
281
|
+
// we can also detect the copied code language
|
|
282
|
+
new Plugin({
|
|
283
|
+
key: new PluginKey("codeBlockVSCodeHandler"),
|
|
284
|
+
props: {
|
|
285
|
+
handlePaste: (view, event) => {
|
|
286
|
+
if (!event.clipboardData) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
if (this.editor.isActive(this.type.name)) {
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
const text = event.clipboardData.getData("text/plain");
|
|
293
|
+
const vscode = event.clipboardData.getData("vscode-editor-data");
|
|
294
|
+
const vscodeData = vscode ? JSON.parse(vscode) : void 0;
|
|
295
|
+
const language = vscodeData == null ? void 0 : vscodeData.mode;
|
|
296
|
+
if (!text || !language) {
|
|
297
|
+
return false;
|
|
298
|
+
}
|
|
299
|
+
const { tr, schema } = view.state;
|
|
300
|
+
const textNode = schema.text(text.replace(/\r\n?/g, "\n"));
|
|
301
|
+
tr.replaceSelectionWith(this.type.create({ language }, textNode));
|
|
302
|
+
if (tr.selection.$from.parent.type !== this.type) {
|
|
303
|
+
tr.setSelection(TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));
|
|
304
|
+
}
|
|
305
|
+
tr.setMeta("paste", true);
|
|
306
|
+
view.dispatch(tr);
|
|
307
|
+
return true;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
})
|
|
311
|
+
];
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
export { CodeBlock, backtickInputRegex, tildeInputRegex };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('../../../../../@tiptap_core@3.
|
|
5
|
+
const index = require('../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.cjs');
|
|
6
6
|
const index$1 = require('../../../../../prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.cjs');
|
|
7
7
|
|
|
8
8
|
// src/code-block.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Node as Node3, textblockTypeInputRule, mergeAttributes } from '../../../../../@tiptap_core@3.
|
|
1
|
+
import { Node as Node3, textblockTypeInputRule, mergeAttributes } from '../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.mjs';
|
|
2
2
|
import { Plugin, PluginKey, TextSelection, Selection } from '../../../../../prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.mjs';
|
|
3
3
|
|
|
4
4
|
// src/code-block.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('../../../../../@tiptap_core@3.
|
|
3
|
+
const index = require('../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.cjs');
|
|
4
4
|
|
|
5
5
|
// src/code.ts
|
|
6
6
|
var inputRegex = /(^|[^`])`([^`]+)`(?!`)$/;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Mark, markPasteRule, markInputRule, mergeAttributes } from '../../../../../@tiptap_core@3.
|
|
1
|
+
import { Mark, markPasteRule, markInputRule, mergeAttributes } from '../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.mjs';
|
|
2
2
|
|
|
3
3
|
// src/code.ts
|
|
4
4
|
var inputRegex = /(^|[^`])`([^`]+)`(?!`)$/;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('../../../../../@tiptap_core@3.
|
|
3
|
+
const index = require('../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.cjs');
|
|
4
4
|
|
|
5
5
|
// src/document.ts
|
|
6
6
|
var Document = index.Node.create({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Node as Node3 } from '../../../../../@tiptap_core@3.
|
|
1
|
+
import { Node as Node3 } from '../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.mjs';
|
|
2
2
|
|
|
3
3
|
// src/document.ts
|
|
4
4
|
var Document = Node3.create({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index$1 = require('../../../../../@tiptap_core@3.
|
|
3
|
+
const index$1 = require('../../../../../@tiptap_core@3.20.0_@tiptap_pm@3.15.3/node_modules/@tiptap/core/dist/index.cjs');
|
|
4
4
|
const floatingUi_dom = require('../../../../../@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs');
|
|
5
5
|
const index = require('../../../../../prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.cjs');
|
|
6
6
|
|