@pie-lib/editable-html-tip-tap 2.1.2-next.30 → 2.1.2-next.34
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/CHANGELOG.json +32 -0
- package/CHANGELOG.md +2532 -0
- package/LICENSE.md +5 -0
- package/lib/components/CharacterPicker.js +201 -0
- package/lib/components/CharacterPicker.js.map +1 -0
- package/lib/components/EditableHtml.js +376 -0
- package/lib/components/EditableHtml.js.map +1 -0
- package/lib/components/MenuBar.js +696 -0
- package/lib/components/MenuBar.js.map +1 -0
- package/lib/components/TiptapContainer.js +234 -0
- package/lib/components/TiptapContainer.js.map +1 -0
- package/lib/components/characters/characterUtils.js +378 -0
- package/lib/components/characters/characterUtils.js.map +1 -0
- package/lib/components/characters/custom-popper.js +44 -0
- package/lib/components/characters/custom-popper.js.map +1 -0
- package/lib/components/common/done-button.js +34 -0
- package/lib/components/common/done-button.js.map +1 -0
- package/lib/components/common/toolbar-buttons.js +144 -0
- package/lib/components/common/toolbar-buttons.js.map +1 -0
- package/lib/components/icons/CssIcon.js +25 -0
- package/lib/components/icons/CssIcon.js.map +1 -0
- package/lib/components/icons/RespArea.js +72 -0
- package/lib/components/icons/RespArea.js.map +1 -0
- package/lib/components/icons/TableIcons.js +53 -0
- package/lib/components/icons/TableIcons.js.map +1 -0
- package/lib/components/icons/TextAlign.js +157 -0
- package/lib/components/icons/TextAlign.js.map +1 -0
- package/lib/components/image/AltDialog.js +98 -0
- package/lib/components/image/AltDialog.js.map +1 -0
- package/lib/components/image/ImageToolbar.js +137 -0
- package/lib/components/image/ImageToolbar.js.map +1 -0
- package/lib/components/image/InsertImageHandler.js +135 -0
- package/lib/components/image/InsertImageHandler.js.map +1 -0
- package/lib/components/media/MediaDialog.js +594 -0
- package/lib/components/media/MediaDialog.js.map +1 -0
- package/lib/components/media/MediaToolbar.js +74 -0
- package/lib/components/media/MediaToolbar.js.map +1 -0
- package/lib/components/media/MediaWrapper.js +67 -0
- package/lib/components/media/MediaWrapper.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +84 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
- package/lib/components/respArea/DragInTheBlank/choice.js +250 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js +136 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
- package/lib/components/respArea/InlineDropdown.js +209 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -0
- package/lib/components/respArea/MathTemplated.js +130 -0
- package/lib/components/respArea/MathTemplated.js.map +1 -0
- package/lib/components/respArea/ToolbarIcon.js +81 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -0
- package/lib/components/respArea/inlineDropdownUtils.js +67 -0
- package/lib/components/respArea/inlineDropdownUtils.js.map +1 -0
- package/lib/constants.js +11 -0
- package/lib/constants.js.map +1 -0
- package/lib/extensions/css.js +217 -0
- package/lib/extensions/css.js.map +1 -0
- package/lib/extensions/custom-toolbar-wrapper.js +92 -0
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
- package/lib/extensions/div-node.js +83 -0
- package/lib/extensions/div-node.js.map +1 -0
- package/lib/extensions/ensure-empty-root-div.js +48 -0
- package/lib/extensions/ensure-empty-root-div.js.map +1 -0
- package/lib/extensions/ensure-list-item-content-is-div.js +64 -0
- package/lib/extensions/ensure-list-item-content-is-div.js.map +1 -0
- package/lib/extensions/extended-list-item.js +15 -0
- package/lib/extensions/extended-list-item.js.map +1 -0
- package/lib/extensions/extended-table-cell.js +22 -0
- package/lib/extensions/extended-table-cell.js.map +1 -0
- package/lib/extensions/extended-table.js +75 -0
- package/lib/extensions/extended-table.js.map +1 -0
- package/lib/extensions/heading-paragraph.js +61 -0
- package/lib/extensions/heading-paragraph.js.map +1 -0
- package/lib/extensions/image-component.js +348 -0
- package/lib/extensions/image-component.js.map +1 -0
- package/lib/extensions/image.js +134 -0
- package/lib/extensions/image.js.map +1 -0
- package/lib/extensions/index.js +46 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/math.js +342 -0
- package/lib/extensions/math.js.map +1 -0
- package/lib/extensions/media.js +243 -0
- package/lib/extensions/media.js.map +1 -0
- package/lib/extensions/responseArea.js +446 -0
- package/lib/extensions/responseArea.js.map +1 -0
- package/lib/index.js +37 -0
- package/lib/index.js.map +1 -0
- package/lib/styles/editorContainerStyles.js +137 -0
- package/lib/styles/editorContainerStyles.js.map +1 -0
- package/lib/theme.js +8 -0
- package/lib/theme.js.map +1 -0
- package/lib/utils/helper.js +73 -0
- package/lib/utils/helper.js.map +1 -0
- package/lib/utils/size.js +26 -0
- package/lib/utils/size.js.map +1 -0
- package/package.json +24 -40
- package/src/__tests__/EditableHtml.test.jsx +554 -0
- package/src/__tests__/constants.test.js +19 -0
- package/src/__tests__/div-to-paragraph-conversion.test.jsx +125 -0
- package/src/__tests__/extensions.test.js +208 -0
- package/src/__tests__/index.test.jsx +154 -0
- package/src/__tests__/size-utils.test.js +64 -0
- package/src/__tests__/theme.test.js +17 -0
- package/src/components/CharacterPicker.jsx +207 -0
- package/src/components/EditableHtml.jsx +440 -0
- package/src/components/MenuBar.jsx +554 -0
- package/src/components/TiptapContainer.jsx +219 -0
- package/src/components/__tests__/AltDialog.test.jsx +147 -0
- package/src/components/__tests__/CharacterPicker.test.jsx +261 -0
- package/src/components/__tests__/CssIcon.test.jsx +46 -0
- package/src/components/__tests__/DragInTheBlank.test.jsx +255 -0
- package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +204 -0
- package/src/components/__tests__/ImageToolbar.test.jsx +128 -0
- package/src/components/__tests__/InlineDropdown.test.jsx +388 -0
- package/src/components/__tests__/InsertImageHandler.test.js +161 -0
- package/src/components/__tests__/MediaDialog.test.jsx +293 -0
- package/src/components/__tests__/MediaToolbar.test.jsx +74 -0
- package/src/components/__tests__/MediaWrapper.test.jsx +81 -0
- package/src/components/__tests__/MenuBar.test.jsx +250 -0
- package/src/components/__tests__/RespArea.test.jsx +122 -0
- package/src/components/__tests__/TableIcons.test.jsx +149 -0
- package/src/components/__tests__/TextAlign.test.jsx +167 -0
- package/src/components/__tests__/TiptapContainer.test.jsx +138 -0
- package/src/components/__tests__/characterUtils.test.js +166 -0
- package/src/components/__tests__/choice.test.jsx +171 -0
- package/src/components/__tests__/custom-popper.test.jsx +82 -0
- package/src/components/__tests__/done-button.test.jsx +54 -0
- package/src/components/__tests__/toolbar-buttons.test.jsx +234 -0
- package/src/components/characters/characterUtils.js +447 -0
- package/src/components/characters/custom-popper.js +38 -0
- package/src/components/common/done-button.jsx +27 -0
- package/src/components/common/toolbar-buttons.jsx +122 -0
- package/src/components/icons/CssIcon.jsx +15 -0
- package/src/components/icons/RespArea.jsx +71 -0
- package/src/components/icons/TableIcons.jsx +52 -0
- package/src/components/icons/TextAlign.jsx +114 -0
- package/src/components/image/AltDialog.jsx +82 -0
- package/src/components/image/ImageToolbar.jsx +99 -0
- package/src/components/image/InsertImageHandler.js +107 -0
- package/src/components/media/MediaDialog.jsx +596 -0
- package/src/components/media/MediaToolbar.jsx +49 -0
- package/src/components/media/MediaWrapper.jsx +39 -0
- package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +76 -0
- package/src/components/respArea/DragInTheBlank/choice.jsx +256 -0
- package/src/components/respArea/ExplicitConstructedResponse.jsx +135 -0
- package/src/components/respArea/InlineDropdown.jsx +220 -0
- package/src/components/respArea/MathTemplated.jsx +124 -0
- package/src/components/respArea/ToolbarIcon.jsx +66 -0
- package/src/components/respArea/__tests__/MathTemplated.test.jsx +210 -0
- package/src/components/respArea/inlineDropdownUtils.js +79 -0
- package/src/constants.js +5 -0
- package/src/extensions/__tests__/css.test.js +196 -0
- package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +180 -0
- package/src/extensions/__tests__/divNode.test.js +87 -0
- package/src/extensions/__tests__/ensure-empty-root-div.test.js +57 -0
- package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +44 -0
- package/src/extensions/__tests__/extended-list-item.test.js +13 -0
- package/src/extensions/__tests__/extended-table-cell.test.js +22 -0
- package/src/extensions/__tests__/extended-table.test.js +183 -0
- package/src/extensions/__tests__/image-component.test.jsx +345 -0
- package/src/extensions/__tests__/image.test.js +237 -0
- package/src/extensions/__tests__/math.test.js +603 -0
- package/src/extensions/__tests__/media-node-view.test.jsx +298 -0
- package/src/extensions/__tests__/media.test.js +271 -0
- package/src/extensions/__tests__/responseArea.test.js +601 -0
- package/src/extensions/css.js +220 -0
- package/src/extensions/custom-toolbar-wrapper.jsx +78 -0
- package/src/extensions/div-node.js +86 -0
- package/src/extensions/ensure-empty-root-div.js +47 -0
- package/src/extensions/ensure-list-item-content-is-div.js +62 -0
- package/src/extensions/extended-list-item.js +10 -0
- package/src/extensions/extended-table-cell.js +19 -0
- package/src/extensions/extended-table.js +60 -0
- package/src/extensions/heading-paragraph.js +53 -0
- package/src/extensions/image-component.jsx +338 -0
- package/src/extensions/image.js +109 -0
- package/src/extensions/index.js +81 -0
- package/src/extensions/math.js +326 -0
- package/src/extensions/media.js +188 -0
- package/src/extensions/responseArea.js +401 -0
- package/src/index.jsx +5 -0
- package/src/styles/editorContainerStyles.js +145 -0
- package/src/theme.js +1 -0
- package/src/utils/__tests__/helper.test.js +126 -0
- package/src/utils/helper.js +69 -0
- package/src/utils/size.js +32 -0
- package/dist/components/CharacterPicker.d.ts +0 -31
- package/dist/components/CharacterPicker.js +0 -131
- package/dist/components/EditableHtml.d.ts +0 -11
- package/dist/components/EditableHtml.js +0 -291
- package/dist/components/MenuBar.d.ts +0 -11
- package/dist/components/MenuBar.js +0 -462
- package/dist/components/TiptapContainer.d.ts +0 -11
- package/dist/components/TiptapContainer.js +0 -154
- package/dist/components/characters/characterUtils.d.ts +0 -35
- package/dist/components/characters/characterUtils.js +0 -465
- package/dist/components/characters/custom-popper.d.ts +0 -14
- package/dist/components/characters/custom-popper.js +0 -32
- package/dist/components/common/done-button.d.ts +0 -30
- package/dist/components/common/done-button.js +0 -26
- package/dist/components/common/toolbar-buttons.d.ts +0 -38
- package/dist/components/common/toolbar-buttons.js +0 -91
- package/dist/components/icons/CssIcon.d.ts +0 -11
- package/dist/components/icons/CssIcon.js +0 -14
- package/dist/components/icons/RespArea.d.ts +0 -26
- package/dist/components/icons/RespArea.js +0 -42
- package/dist/components/icons/TableIcons.d.ts +0 -14
- package/dist/components/icons/TableIcons.js +0 -32
- package/dist/components/icons/TextAlign.d.ts +0 -18
- package/dist/components/icons/TextAlign.js +0 -134
- package/dist/components/image/AltDialog.d.ts +0 -22
- package/dist/components/image/AltDialog.js +0 -61
- package/dist/components/image/ImageToolbar.d.ts +0 -24
- package/dist/components/image/ImageToolbar.js +0 -80
- package/dist/components/image/InsertImageHandler.d.ts +0 -32
- package/dist/components/image/InsertImageHandler.js +0 -53
- package/dist/components/media/MediaDialog.d.ts +0 -43
- package/dist/components/media/MediaDialog.js +0 -389
- package/dist/components/media/MediaToolbar.d.ts +0 -19
- package/dist/components/media/MediaToolbar.js +0 -41
- package/dist/components/media/MediaWrapper.d.ts +0 -19
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +0 -23
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +0 -58
- package/dist/components/respArea/DragInTheBlank/choice.d.ts +0 -56
- package/dist/components/respArea/DragInTheBlank/choice.js +0 -156
- package/dist/components/respArea/ExplicitConstructedResponse.d.ts +0 -20
- package/dist/components/respArea/ExplicitConstructedResponse.js +0 -83
- package/dist/components/respArea/InlineDropdown.d.ts +0 -18
- package/dist/components/respArea/InlineDropdown.js +0 -119
- package/dist/components/respArea/MathTemplated.d.ts +0 -19
- package/dist/components/respArea/MathTemplated.js +0 -97
- package/dist/components/respArea/ToolbarIcon.d.ts +0 -14
- package/dist/components/respArea/ToolbarIcon.js +0 -17
- package/dist/components/respArea/inlineDropdownUtils.d.ts +0 -15
- package/dist/components/respArea/inlineDropdownUtils.js +0 -15
- package/dist/constants.d.ts +0 -13
- package/dist/constants.js +0 -4
- package/dist/extensions/css.d.ts +0 -11
- package/dist/extensions/css.js +0 -115
- package/dist/extensions/custom-toolbar-wrapper.d.ts +0 -11
- package/dist/extensions/custom-toolbar-wrapper.js +0 -61
- package/dist/extensions/div-node.d.ts +0 -10
- package/dist/extensions/div-node.js +0 -42
- package/dist/extensions/ensure-empty-root-div.d.ts +0 -14
- package/dist/extensions/ensure-empty-root-div.js +0 -24
- package/dist/extensions/ensure-list-item-content-is-div.d.ts +0 -15
- package/dist/extensions/ensure-list-item-content-is-div.js +0 -31
- package/dist/extensions/extended-list-item.d.ts +0 -13
- package/dist/extensions/extended-list-item.js +0 -5
- package/dist/extensions/extended-table-cell.d.ts +0 -10
- package/dist/extensions/extended-table-cell.js +0 -6
- package/dist/extensions/extended-table.d.ts +0 -17
- package/dist/extensions/extended-table.js +0 -34
- package/dist/extensions/heading-paragraph.d.ts +0 -17
- package/dist/extensions/heading-paragraph.js +0 -30
- package/dist/extensions/image-component.d.ts +0 -22
- package/dist/extensions/image-component.js +0 -220
- package/dist/extensions/image.d.ts +0 -10
- package/dist/extensions/image.js +0 -68
- package/dist/extensions/index.d.ts +0 -16
- package/dist/extensions/index.js +0 -64
- package/dist/extensions/math.d.ts +0 -15
- package/dist/extensions/math.js +0 -158
- package/dist/extensions/media.d.ts +0 -19
- package/dist/extensions/media.js +0 -149
- package/dist/extensions/responseArea.d.ts +0 -27
- package/dist/extensions/responseArea.js +0 -259
- package/dist/index.d.ts +0 -13
- package/dist/index.js +0 -7
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -16
- package/dist/styles/editorContainerStyles.d.ts +0 -134
- package/dist/theme.d.ts +0 -9
- package/dist/utils/helper.d.ts +0 -9
- package/dist/utils/helper.js +0 -27
- package/dist/utils/size.d.ts +0 -9
- package/dist/utils/size.js +0 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"div-node.js","names":["_core","require","DivNode","exports","Node","create","name","group","content","parseHTML","tag","renderHTML","_ref","HTMLAttributes","addKeyboardShortcuts","_this","isInsideListItem","$from","depth","node","type","Enter","state","editor","selection","parent","chain","focus","setNode","splitBlock","run","Backspace","_state$selection","selectionEmpty","empty","parentText","textContent","length","doc","childCount","parentOffset","tr","pos","view","dispatch"],"sources":["../../src/extensions/div-node.js"],"sourcesContent":["// DivNode.ts\nimport { Node } from '@tiptap/core';\n\nexport const DivNode = Node.create({\n name: 'div',\n group: 'block',\n content: 'inline*',\n\n parseHTML() {\n return [{ tag: 'div' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n\n addKeyboardShortcuts() {\n const isInsideListItem = ($from) => {\n for (let depth = $from.depth; depth >= 0; depth -= 1) {\n if ($from.node(depth).type.name === 'listItem') {\n return true;\n }\n }\n return false;\n };\n\n return {\n Enter: () => {\n const { state } = this.editor;\n const { $from } = state.selection;\n\n if ($from.parent.type.name !== 'div') {\n return false;\n }\n if (isInsideListItem($from)) {\n return false;\n }\n\n return this.editor\n .chain()\n .focus()\n .setNode('paragraph') // current div becomes <p>\n .splitBlock() // create another <p>\n .run();\n },\n\n // When the cursor is in a div and the user presses Backspace,\n // ProseMirror's default handler may try to join/delete the block node\n // once it becomes empty. That triggers the Enter shortcut above\n // (div → p conversion + split), making it look like a new line is\n // inserted instead of deleting.\n // We handle two cases explicitly:\n // 1. The div already IS empty → swallow the event (nothing to delete).\n // 2. The div has exactly ONE character left → delete just that character\n // using a precise transaction, then stop. This prevents ProseMirror\n // from following up with a block-join that triggers the Enter handler.\n Backspace: () => {\n const { state } = this.editor;\n const { $from, empty: selectionEmpty } = state.selection;\n\n if ($from.parent.type.name !== 'div') {\n return false;\n }\n\n if (!selectionEmpty) {\n return false;\n }\n\n const parentText = $from.parent.textContent;\n\n if (parentText.length === 0) {\n return state.doc.childCount === 1 ? true : false;\n }\n\n if (parentText.length === 1 && $from.parentOffset === 1) {\n const { tr } = state;\n tr.delete($from.pos - 1, $from.pos);\n this.editor.view.dispatch(tr);\n return true;\n }\n\n return false;\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EnsureEmptyRootIsDiv = void 0;
|
|
7
|
+
var _core = require("@tiptap/core");
|
|
8
|
+
var _state = require("@tiptap/pm/state");
|
|
9
|
+
/**
|
|
10
|
+
* After ProseMirror repairs an empty document, it often inserts a `paragraph`.
|
|
11
|
+
* We want a lone empty top-level block to be `div` (DivNode) so typing stays `<div>A</div>`.
|
|
12
|
+
*/
|
|
13
|
+
var EnsureEmptyRootIsDiv = exports.EnsureEmptyRootIsDiv = _core.Extension.create({
|
|
14
|
+
name: 'ensureEmptyRootIsDiv',
|
|
15
|
+
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
16
|
+
var key = new _state.PluginKey(this.name);
|
|
17
|
+
return [new _state.Plugin({
|
|
18
|
+
key: key,
|
|
19
|
+
appendTransaction: function appendTransaction(transactions, _oldState, newState) {
|
|
20
|
+
if (!transactions.some(function (tr) {
|
|
21
|
+
return tr.docChanged;
|
|
22
|
+
})) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
var doc = newState.doc;
|
|
26
|
+
if (doc.childCount !== 1) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
var first = doc.firstChild;
|
|
30
|
+
if (first.type.name !== 'paragraph' || first.content.size > 0) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
var divType = newState.schema.nodes.div;
|
|
34
|
+
if (!divType) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Top-level content positions are 0 .. doc.content.size. The first block spans
|
|
39
|
+
// [0, first.nodeSize). Using start=1 replaces the wrong slice and can leave the
|
|
40
|
+
// document inconsistent after a full delete (Cmd+A, Backspace).
|
|
41
|
+
var start = 0;
|
|
42
|
+
var end = first.nodeSize;
|
|
43
|
+
return newState.tr.replaceWith(start, end, divType.create());
|
|
44
|
+
}
|
|
45
|
+
})];
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=ensure-empty-root-div.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-empty-root-div.js","names":["_core","require","_state","EnsureEmptyRootIsDiv","exports","Extension","create","name","addProseMirrorPlugins","key","PluginKey","Plugin","appendTransaction","transactions","_oldState","newState","some","tr","docChanged","doc","childCount","first","firstChild","type","content","size","divType","schema","nodes","div","start","end","nodeSize","replaceWith"],"sources":["../../src/extensions/ensure-empty-root-div.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * After ProseMirror repairs an empty document, it often inserts a `paragraph`.\n * We want a lone empty top-level block to be `div` (DivNode) so typing stays `<div>A</div>`.\n */\nexport const EnsureEmptyRootIsDiv = Extension.create({\n name: 'ensureEmptyRootIsDiv',\n\n addProseMirrorPlugins() {\n const key = new PluginKey(this.name);\n\n return [\n new Plugin({\n key,\n appendTransaction(transactions, _oldState, newState) {\n if (!transactions.some((tr) => tr.docChanged)) {\n return null;\n }\n\n const { doc } = newState;\n if (doc.childCount !== 1) {\n return null;\n }\n\n const first = doc.firstChild;\n if (first.type.name !== 'paragraph' || first.content.size > 0) {\n return null;\n }\n\n const divType = newState.schema.nodes.div;\n if (!divType) {\n return null;\n }\n\n // Top-level content positions are 0 .. doc.content.size. The first block spans\n // [0, first.nodeSize). Using start=1 replaces the wrong slice and can leave the\n // document inconsistent after a full delete (Cmd+A, Backspace).\n const start = 0;\n const end = first.nodeSize;\n return newState.tr.replaceWith(start, end, divType.create());\n },\n }),\n ];\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,IAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAGE,eAAS,CAACC,MAAM,CAAC;EACnDC,IAAI,EAAE,sBAAsB;EAE5BC,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IACtB,IAAMC,GAAG,GAAG,IAAIC,gBAAS,CAAC,IAAI,CAACH,IAAI,CAAC;IAEpC,OAAO,CACL,IAAII,aAAM,CAAC;MACTF,GAAG,EAAHA,GAAG;MACHG,iBAAiB,WAAjBA,iBAAiBA,CAACC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,EAAE;QACnD,IAAI,CAACF,YAAY,CAACG,IAAI,CAAC,UAACC,EAAE;UAAA,OAAKA,EAAE,CAACC,UAAU;QAAA,EAAC,EAAE;UAC7C,OAAO,IAAI;QACb;QAEA,IAAQC,GAAG,GAAKJ,QAAQ,CAAhBI,GAAG;QACX,IAAIA,GAAG,CAACC,UAAU,KAAK,CAAC,EAAE;UACxB,OAAO,IAAI;QACb;QAEA,IAAMC,KAAK,GAAGF,GAAG,CAACG,UAAU;QAC5B,IAAID,KAAK,CAACE,IAAI,CAAChB,IAAI,KAAK,WAAW,IAAIc,KAAK,CAACG,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;UAC7D,OAAO,IAAI;QACb;QAEA,IAAMC,OAAO,GAAGX,QAAQ,CAACY,MAAM,CAACC,KAAK,CAACC,GAAG;QACzC,IAAI,CAACH,OAAO,EAAE;UACZ,OAAO,IAAI;QACb;;QAEA;QACA;QACA;QACA,IAAMI,KAAK,GAAG,CAAC;QACf,IAAMC,GAAG,GAAGV,KAAK,CAACW,QAAQ;QAC1B,OAAOjB,QAAQ,CAACE,EAAE,CAACgB,WAAW,CAACH,KAAK,EAAEC,GAAG,EAAEL,OAAO,CAACpB,MAAM,CAAC,CAAC,CAAC;MAC9D;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EnsureListItemContentIsDiv = void 0;
|
|
7
|
+
var _core = require("@tiptap/core");
|
|
8
|
+
var _state = require("@tiptap/pm/state");
|
|
9
|
+
/**
|
|
10
|
+
* Some list operations preserve/create `paragraph` children in `listItem`.
|
|
11
|
+
* Normalize direct `listItem > paragraph` children into `div` so list content
|
|
12
|
+
* stays consistent with DivNode-based editing.
|
|
13
|
+
*/
|
|
14
|
+
var EnsureListItemContentIsDiv = exports.EnsureListItemContentIsDiv = _core.Extension.create({
|
|
15
|
+
name: 'ensureListItemContentIsDiv',
|
|
16
|
+
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
17
|
+
var key = new _state.PluginKey(this.name);
|
|
18
|
+
return [new _state.Plugin({
|
|
19
|
+
key: key,
|
|
20
|
+
appendTransaction: function appendTransaction(transactions, _oldState, newState) {
|
|
21
|
+
if (!transactions.some(function (tr) {
|
|
22
|
+
return tr.docChanged;
|
|
23
|
+
})) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
var doc = newState.doc,
|
|
27
|
+
schema = newState.schema;
|
|
28
|
+
var divType = schema.nodes.div;
|
|
29
|
+
if (!divType) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
var positionsToConvert = [];
|
|
33
|
+
doc.descendants(function (node, pos) {
|
|
34
|
+
if (node.type.name !== 'listItem') {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
var childOffset = 1;
|
|
38
|
+
node.forEach(function (child) {
|
|
39
|
+
if (child.type.name === 'paragraph') {
|
|
40
|
+
positionsToConvert.push({
|
|
41
|
+
pos: pos + childOffset,
|
|
42
|
+
attrs: child.attrs
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
childOffset += child.nodeSize;
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
if (positionsToConvert.length === 0) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
var tr = newState.tr;
|
|
52
|
+
positionsToConvert.sort(function (a, b) {
|
|
53
|
+
return b.pos - a.pos;
|
|
54
|
+
}).forEach(function (_ref) {
|
|
55
|
+
var pos = _ref.pos,
|
|
56
|
+
attrs = _ref.attrs;
|
|
57
|
+
return tr.setNodeMarkup(pos, divType, attrs);
|
|
58
|
+
});
|
|
59
|
+
return tr;
|
|
60
|
+
}
|
|
61
|
+
})];
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=ensure-list-item-content-is-div.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-list-item-content-is-div.js","names":["_core","require","_state","EnsureListItemContentIsDiv","exports","Extension","create","name","addProseMirrorPlugins","key","PluginKey","Plugin","appendTransaction","transactions","_oldState","newState","some","tr","docChanged","doc","schema","divType","nodes","div","positionsToConvert","descendants","node","pos","type","childOffset","forEach","child","push","attrs","nodeSize","length","sort","a","b","_ref","setNodeMarkup"],"sources":["../../src/extensions/ensure-list-item-content-is-div.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * Some list operations preserve/create `paragraph` children in `listItem`.\n * Normalize direct `listItem > paragraph` children into `div` so list content\n * stays consistent with DivNode-based editing.\n */\nexport const EnsureListItemContentIsDiv = Extension.create({\n name: 'ensureListItemContentIsDiv',\n\n addProseMirrorPlugins() {\n const key = new PluginKey(this.name);\n\n return [\n new Plugin({\n key,\n appendTransaction(transactions, _oldState, newState) {\n if (!transactions.some((tr) => tr.docChanged)) {\n return null;\n }\n\n const { doc, schema } = newState;\n const divType = schema.nodes.div;\n if (!divType) {\n return null;\n }\n\n const positionsToConvert = [];\n\n doc.descendants((node, pos) => {\n if (node.type.name !== 'listItem') {\n return;\n }\n\n let childOffset = 1;\n node.forEach((child) => {\n if (child.type.name === 'paragraph') {\n positionsToConvert.push({\n pos: pos + childOffset,\n attrs: child.attrs,\n });\n }\n childOffset += child.nodeSize;\n });\n });\n\n if (positionsToConvert.length === 0) {\n return null;\n }\n\n const tr = newState.tr;\n positionsToConvert\n .sort((a, b) => b.pos - a.pos)\n .forEach(({ pos, attrs }) => tr.setNodeMarkup(pos, divType, attrs));\n\n return tr;\n },\n }),\n ];\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,IAAME,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAGE,eAAS,CAACC,MAAM,CAAC;EACzDC,IAAI,EAAE,4BAA4B;EAElCC,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IACtB,IAAMC,GAAG,GAAG,IAAIC,gBAAS,CAAC,IAAI,CAACH,IAAI,CAAC;IAEpC,OAAO,CACL,IAAII,aAAM,CAAC;MACTF,GAAG,EAAHA,GAAG;MACHG,iBAAiB,WAAjBA,iBAAiBA,CAACC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,EAAE;QACnD,IAAI,CAACF,YAAY,CAACG,IAAI,CAAC,UAACC,EAAE;UAAA,OAAKA,EAAE,CAACC,UAAU;QAAA,EAAC,EAAE;UAC7C,OAAO,IAAI;QACb;QAEA,IAAQC,GAAG,GAAaJ,QAAQ,CAAxBI,GAAG;UAAEC,MAAM,GAAKL,QAAQ,CAAnBK,MAAM;QACnB,IAAMC,OAAO,GAAGD,MAAM,CAACE,KAAK,CAACC,GAAG;QAChC,IAAI,CAACF,OAAO,EAAE;UACZ,OAAO,IAAI;QACb;QAEA,IAAMG,kBAAkB,GAAG,EAAE;QAE7BL,GAAG,CAACM,WAAW,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;UAC7B,IAAID,IAAI,CAACE,IAAI,CAACrB,IAAI,KAAK,UAAU,EAAE;YACjC;UACF;UAEA,IAAIsB,WAAW,GAAG,CAAC;UACnBH,IAAI,CAACI,OAAO,CAAC,UAACC,KAAK,EAAK;YACtB,IAAIA,KAAK,CAACH,IAAI,CAACrB,IAAI,KAAK,WAAW,EAAE;cACnCiB,kBAAkB,CAACQ,IAAI,CAAC;gBACtBL,GAAG,EAAEA,GAAG,GAAGE,WAAW;gBACtBI,KAAK,EAAEF,KAAK,CAACE;cACf,CAAC,CAAC;YACJ;YACAJ,WAAW,IAAIE,KAAK,CAACG,QAAQ;UAC/B,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,IAAIV,kBAAkB,CAACW,MAAM,KAAK,CAAC,EAAE;UACnC,OAAO,IAAI;QACb;QAEA,IAAMlB,EAAE,GAAGF,QAAQ,CAACE,EAAE;QACtBO,kBAAkB,CACfY,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;UAAA,OAAKA,CAAC,CAACX,GAAG,GAAGU,CAAC,CAACV,GAAG;QAAA,EAAC,CAC7BG,OAAO,CAAC,UAAAS,IAAA;UAAA,IAAGZ,GAAG,GAAAY,IAAA,CAAHZ,GAAG;YAAEM,KAAK,GAAAM,IAAA,CAALN,KAAK;UAAA,OAAOhB,EAAE,CAACuB,aAAa,CAACb,GAAG,EAAEN,OAAO,EAAEY,KAAK,CAAC;QAAA,EAAC;QAErE,OAAOhB,EAAE;MACX;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ExtendedListItem = void 0;
|
|
7
|
+
var _extensionListItem = require("@tiptap/extension-list-item");
|
|
8
|
+
/**
|
|
9
|
+
* Default list items use `paragraph block*`, so empty/new items become `<p>`.
|
|
10
|
+
* Prefer `div` first to keep consistency with DivNode at root and table cells.
|
|
11
|
+
*/
|
|
12
|
+
var ExtendedListItem = exports.ExtendedListItem = _extensionListItem.ListItem.extend({
|
|
13
|
+
content: '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+'
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=extended-list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-list-item.js","names":["_extensionListItem","require","ExtendedListItem","exports","ListItem","extend","content"],"sources":["../../src/extensions/extended-list-item.js"],"sourcesContent":["import { ListItem } from '@tiptap/extension-list-item';\n\n/**\n * Default list items use `paragraph block*`, so empty/new items become `<p>`.\n * Prefer `div` first to keep consistency with DivNode at root and table cells.\n */\nexport const ExtendedListItem = ListItem.extend({\n content:\n '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+',\n});\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,2BAAQ,CAACC,MAAM,CAAC;EAC9CC,OAAO,EACL;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ExtendedTableHeader = exports.ExtendedTableCell = void 0;
|
|
7
|
+
var _extensionTableCell = require("@tiptap/extension-table-cell");
|
|
8
|
+
var _extensionTableHeader = require("@tiptap/extension-table-header");
|
|
9
|
+
/**
|
|
10
|
+
* Default table cells use ProseMirror `createAndFill()`, which prefers the first
|
|
11
|
+
* block type allowed by the content expression. Stock cells use `block+`, so
|
|
12
|
+
* `paragraph` wins. Listing `div` first matches the editor default for plain text
|
|
13
|
+
* (see DivNode) while still allowing other blocks (lists, headings, images, …).
|
|
14
|
+
*/
|
|
15
|
+
var TABLE_CELL_BLOCK_CONTENT = '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+';
|
|
16
|
+
var ExtendedTableCell = exports.ExtendedTableCell = _extensionTableCell.TableCell.extend({
|
|
17
|
+
content: TABLE_CELL_BLOCK_CONTENT
|
|
18
|
+
});
|
|
19
|
+
var ExtendedTableHeader = exports.ExtendedTableHeader = _extensionTableHeader.TableHeader.extend({
|
|
20
|
+
content: TABLE_CELL_BLOCK_CONTENT
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=extended-table-cell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-table-cell.js","names":["_extensionTableCell","require","_extensionTableHeader","TABLE_CELL_BLOCK_CONTENT","ExtendedTableCell","exports","TableCell","extend","content","ExtendedTableHeader","TableHeader"],"sources":["../../src/extensions/extended-table-cell.js"],"sourcesContent":["import { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\n\n/**\n * Default table cells use ProseMirror `createAndFill()`, which prefers the first\n * block type allowed by the content expression. Stock cells use `block+`, so\n * `paragraph` wins. Listing `div` first matches the editor default for plain text\n * (see DivNode) while still allowing other blocks (lists, headings, images, …).\n */\nconst TABLE_CELL_BLOCK_CONTENT =\n '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+';\n\nexport const ExtendedTableCell = TableCell.extend({\n content: TABLE_CELL_BLOCK_CONTENT,\n});\n\nexport const ExtendedTableHeader = TableHeader.extend({\n content: TABLE_CELL_BLOCK_CONTENT,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAME,wBAAwB,GAC5B,6HAA6H;AAExH,IAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,6BAAS,CAACC,MAAM,CAAC;EAChDC,OAAO,EAAEL;AACX,CAAC,CAAC;AAEK,IAAMM,mBAAmB,GAAAJ,OAAA,CAAAI,mBAAA,GAAGC,iCAAW,CAACH,MAAM,CAAC;EACpDC,OAAO,EAAEL;AACX,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.applyPresentationToTableElement = exports.ExtendedTableView = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _extensionTable = require("@tiptap/extension-table");
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
+
function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
21
|
+
var applyPresentationToTableElement = exports.applyPresentationToTableElement = function applyPresentationToTableElement(table, attrs) {
|
|
22
|
+
var border = (attrs === null || attrs === void 0 ? void 0 : attrs.border) != null && attrs.border !== '' ? attrs.border : '1';
|
|
23
|
+
table.setAttribute('border', border);
|
|
24
|
+
table.style.setProperty('color', 'var(--pie-text, black)');
|
|
25
|
+
table.style.setProperty('background-color', 'var(--pie-background, rgba(255, 255, 255))');
|
|
26
|
+
};
|
|
27
|
+
var ExtendedTableView = exports.ExtendedTableView = /*#__PURE__*/function (_TableView) {
|
|
28
|
+
function ExtendedTableView(node, cellMinWidth, view) {
|
|
29
|
+
var _this;
|
|
30
|
+
(0, _classCallCheck2["default"])(this, ExtendedTableView);
|
|
31
|
+
_this = _callSuper(this, ExtendedTableView, [node, cellMinWidth, view]);
|
|
32
|
+
applyPresentationToTableElement(_this.table, node.attrs);
|
|
33
|
+
return _this;
|
|
34
|
+
}
|
|
35
|
+
(0, _inherits2["default"])(ExtendedTableView, _TableView);
|
|
36
|
+
return (0, _createClass2["default"])(ExtendedTableView, [{
|
|
37
|
+
key: "update",
|
|
38
|
+
value: function update(node) {
|
|
39
|
+
var ok = _superPropGet(ExtendedTableView, "update", this, 3)([node]);
|
|
40
|
+
if (ok) {
|
|
41
|
+
applyPresentationToTableElement(this.table, node.attrs);
|
|
42
|
+
}
|
|
43
|
+
return ok;
|
|
44
|
+
}
|
|
45
|
+
}]);
|
|
46
|
+
}(_extensionTable.TableView);
|
|
47
|
+
var ExtendedTable = _extensionTable.Table.extend({
|
|
48
|
+
addOptions: function addOptions() {
|
|
49
|
+
var _this$parent;
|
|
50
|
+
return _objectSpread(_objectSpread({}, (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.call(this)), {}, {
|
|
51
|
+
// ProseMirror's default table DOM does not prune extra <col> nodes when a column
|
|
52
|
+
// is removed; TableView (via column resizing) does.
|
|
53
|
+
resizable: true,
|
|
54
|
+
handleWidth: 0,
|
|
55
|
+
View: ExtendedTableView
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
addAttributes: function addAttributes() {
|
|
59
|
+
return {
|
|
60
|
+
border: {
|
|
61
|
+
"default": '1'
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
renderHTML: function renderHTML(props) {
|
|
66
|
+
var originalTable = this.parent(props);
|
|
67
|
+
var border = props.HTMLAttributes.border;
|
|
68
|
+
var previousStyle = "".concat(originalTable[1].style).concat(originalTable[1].style.match(/.*; */) ? '' : ';');
|
|
69
|
+
originalTable[1].style = "".concat(previousStyle, "\n color: var(--pie-text, black);\n background-color: var(--pie-background, rgba(255, 255, 255))");
|
|
70
|
+
originalTable[1].border = border ? border : '1';
|
|
71
|
+
return originalTable;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
var _default = exports["default"] = ExtendedTable;
|
|
75
|
+
//# sourceMappingURL=extended-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-table.js","names":["_extensionTable","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","_superPropGet","p","_get2","applyPresentationToTableElement","exports","table","attrs","border","setAttribute","style","setProperty","ExtendedTableView","_TableView","node","cellMinWidth","view","_this","_classCallCheck2","_inherits2","_createClass2","key","value","update","ok","TableView","ExtendedTable","Table","extend","addOptions","_this$parent","parent","resizable","handleWidth","View","addAttributes","renderHTML","props","originalTable","HTMLAttributes","previousStyle","concat","match","_default"],"sources":["../../src/extensions/extended-table.js"],"sourcesContent":["import { Table, TableView } from '@tiptap/extension-table';\n\nconst applyPresentationToTableElement = (table, attrs) => {\n const border = attrs?.border != null && attrs.border !== '' ? attrs.border : '1';\n\n table.setAttribute('border', border);\n table.style.setProperty('color', 'var(--pie-text, black)');\n table.style.setProperty('background-color', 'var(--pie-background, rgba(255, 255, 255))');\n};\n\nclass ExtendedTableView extends TableView {\n constructor(node, cellMinWidth, view) {\n super(node, cellMinWidth, view);\n applyPresentationToTableElement(this.table, node.attrs);\n }\n\n update(node) {\n const ok = super.update(node);\n\n if (ok) {\n applyPresentationToTableElement(this.table, node.attrs);\n }\n\n return ok;\n }\n}\n\nconst ExtendedTable = Table.extend({\n addOptions() {\n return {\n ...this.parent?.(),\n // ProseMirror's default table DOM does not prune extra <col> nodes when a column\n // is removed; TableView (via column resizing) does.\n resizable: true,\n handleWidth: 0,\n View: ExtendedTableView,\n };\n },\n addAttributes() {\n return {\n border: { default: '1' },\n };\n },\n renderHTML(props) {\n const originalTable = this.parent(props);\n const { border } = props.HTMLAttributes;\n\n const previousStyle = `${originalTable[1].style}${originalTable[1].style.match(/.*; */) ? '' : ';'}`;\n\n originalTable[1].style = `${previousStyle}\n color: var(--pie-text, black);\n background-color: var(--pie-background, rgba(255, 255, 255))`;\n originalTable[1].border = border ? border : '1';\n\n return originalTable;\n },\n});\n\nexport { applyPresentationToTableElement, ExtendedTableView };\nexport default ExtendedTable;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HeadingParagraph = void 0;
|
|
7
|
+
var _core = require("@tiptap/core");
|
|
8
|
+
/**
|
|
9
|
+
* HeadingParagraph extension
|
|
10
|
+
*
|
|
11
|
+
* Renders as <p data-heading="heading1"> in the HTML output instead of <h3>.
|
|
12
|
+
* This provides semantic heading styling without using a native heading element,
|
|
13
|
+
* as required by PIE's accessibility conventions.
|
|
14
|
+
*/
|
|
15
|
+
var HeadingParagraph = exports.HeadingParagraph = _core.Node.create({
|
|
16
|
+
name: 'headingParagraph',
|
|
17
|
+
group: 'block',
|
|
18
|
+
content: 'inline*',
|
|
19
|
+
defining: true,
|
|
20
|
+
addAttributes: function addAttributes() {
|
|
21
|
+
return {
|
|
22
|
+
'data-heading': {
|
|
23
|
+
"default": 'heading1',
|
|
24
|
+
parseHTML: function parseHTML(element) {
|
|
25
|
+
return element.getAttribute('data-heading');
|
|
26
|
+
},
|
|
27
|
+
renderHTML: function renderHTML(attributes) {
|
|
28
|
+
return {
|
|
29
|
+
'data-heading': attributes['data-heading']
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
parseHTML: function parseHTML() {
|
|
36
|
+
return [{
|
|
37
|
+
tag: 'p[data-heading]'
|
|
38
|
+
}];
|
|
39
|
+
},
|
|
40
|
+
renderHTML: function renderHTML(_ref) {
|
|
41
|
+
var HTMLAttributes = _ref.HTMLAttributes;
|
|
42
|
+
return ['p', (0, _core.mergeAttributes)(HTMLAttributes), 0];
|
|
43
|
+
},
|
|
44
|
+
addCommands: function addCommands() {
|
|
45
|
+
return {
|
|
46
|
+
toggleHeadingParagraph: function toggleHeadingParagraph() {
|
|
47
|
+
return function (_ref2) {
|
|
48
|
+
var commands = _ref2.commands,
|
|
49
|
+
editor = _ref2.editor;
|
|
50
|
+
if (editor.isActive('headingParagraph')) {
|
|
51
|
+
return commands.setNode('paragraph');
|
|
52
|
+
}
|
|
53
|
+
return commands.setNode('headingParagraph', {
|
|
54
|
+
'data-heading': 'heading1'
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=heading-paragraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading-paragraph.js","names":["_core","require","HeadingParagraph","exports","Node","create","name","group","content","defining","addAttributes","parseHTML","element","getAttribute","renderHTML","attributes","tag","_ref","HTMLAttributes","mergeAttributes","addCommands","toggleHeadingParagraph","_ref2","commands","editor","isActive","setNode"],"sources":["../../src/extensions/heading-paragraph.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * HeadingParagraph extension\n *\n * Renders as <p data-heading=\"heading1\"> in the HTML output instead of <h3>.\n * This provides semantic heading styling without using a native heading element,\n * as required by PIE's accessibility conventions.\n */\nexport const HeadingParagraph = Node.create({\n name: 'headingParagraph',\n\n group: 'block',\n\n content: 'inline*',\n\n defining: true,\n\n addAttributes() {\n return {\n 'data-heading': {\n default: 'heading1',\n parseHTML: (element) => element.getAttribute('data-heading'),\n renderHTML: (attributes) => ({\n 'data-heading': attributes['data-heading'],\n }),\n },\n };\n },\n\n parseHTML() {\n return [\n { tag: 'p[data-heading]' },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['p', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n toggleHeadingParagraph:\n () =>\n ({ commands, editor }) => {\n if (editor.isActive('headingParagraph')) {\n return commands.setNode('paragraph');\n }\n return commands.setNode('headingParagraph', { 'data-heading': 'heading1' });\n },\n };\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,UAAI,CAACC,MAAM,CAAC;EAC1CC,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAE,OAAO;EAEdC,OAAO,EAAE,SAAS;EAElBC,QAAQ,EAAE,IAAI;EAEdC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACL,cAAc,EAAE;QACd,WAAS,UAAU;QACnBC,SAAS,EAAE,SAAXA,SAASA,CAAGC,OAAO;UAAA,OAAKA,OAAO,CAACC,YAAY,CAAC,cAAc,CAAC;QAAA;QAC5DC,UAAU,EAAE,SAAZA,UAAUA,CAAGC,UAAU;UAAA,OAAM;YAC3B,cAAc,EAAEA,UAAU,CAAC,cAAc;UAC3C,CAAC;QAAA;MACH;IACF,CAAC;EACH,CAAC;EAEDJ,SAAS,WAATA,SAASA,CAAA,EAAG;IACV,OAAO,CACL;MAAEK,GAAG,EAAE;IAAkB,CAAC,CAC3B;EACH,CAAC;EAEDF,UAAU,WAAVA,UAAUA,CAAAG,IAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACzB,OAAO,CAAC,GAAG,EAAE,IAAAC,qBAAe,EAACD,cAAc,CAAC,EAAE,CAAC,CAAC;EAClD,CAAC;EAEDE,WAAW,WAAXA,WAAWA,CAAA,EAAG;IACZ,OAAO;MACLC,sBAAsB,EACpB,SADFA,sBAAsBA,CAAA;QAAA,OAEpB,UAAAC,KAAA,EAA0B;UAAA,IAAvBC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;YAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;UACjB,IAAIA,MAAM,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACvC,OAAOF,QAAQ,CAACG,OAAO,CAAC,WAAW,CAAC;UACtC;UACA,OAAOH,QAAQ,CAACG,OAAO,CAAC,kBAAkB,EAAE;YAAE,cAAc,EAAE;UAAW,CAAC,CAAC;QAC7E,CAAC;MAAA;IACL,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|