@pie-lib/editable-html-tip-tap 2.2.0-beta.9 → 3.0.0-next.36

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.
Files changed (238) hide show
  1. package/dist/components/CharacterPicker.d.ts +31 -0
  2. package/dist/components/CharacterPicker.js +141 -0
  3. package/dist/components/EditableHtml.d.ts +11 -0
  4. package/dist/components/EditableHtml.js +330 -0
  5. package/dist/components/MenuBar.d.ts +11 -0
  6. package/dist/components/MenuBar.js +531 -0
  7. package/dist/components/TiptapContainer.d.ts +11 -0
  8. package/dist/components/TiptapContainer.js +167 -0
  9. package/dist/components/characters/characterUtils.d.ts +35 -0
  10. package/dist/components/characters/characterUtils.js +465 -0
  11. package/dist/components/characters/custom-popper.d.ts +14 -0
  12. package/dist/components/characters/custom-popper.js +32 -0
  13. package/dist/components/common/done-button.d.ts +30 -0
  14. package/dist/components/common/done-button.js +26 -0
  15. package/dist/components/common/toolbar-buttons.d.ts +38 -0
  16. package/dist/components/common/toolbar-buttons.js +96 -0
  17. package/dist/components/icons/CssIcon.d.ts +11 -0
  18. package/dist/components/icons/CssIcon.js +14 -0
  19. package/dist/components/icons/RespArea.d.ts +26 -0
  20. package/dist/components/icons/RespArea.js +42 -0
  21. package/dist/components/icons/TableIcons.d.ts +14 -0
  22. package/dist/components/icons/TableIcons.js +34 -0
  23. package/dist/components/icons/TextAlign.d.ts +18 -0
  24. package/dist/components/icons/TextAlign.js +143 -0
  25. package/dist/components/image/AltDialog.d.ts +22 -0
  26. package/dist/components/image/AltDialog.js +61 -0
  27. package/dist/components/image/ImageToolbar.d.ts +24 -0
  28. package/dist/components/image/ImageToolbar.js +80 -0
  29. package/dist/components/image/InsertImageHandler.d.ts +33 -0
  30. package/dist/components/image/InsertImageHandler.js +65 -0
  31. package/dist/components/image/findImageNode.d.ts +3 -0
  32. package/dist/components/image/findImageNode.js +11 -0
  33. package/dist/components/media/MediaDialog.d.ts +43 -0
  34. package/dist/components/media/MediaDialog.js +389 -0
  35. package/dist/components/media/MediaToolbar.d.ts +19 -0
  36. package/dist/components/media/MediaToolbar.js +41 -0
  37. package/dist/components/media/MediaWrapper.d.ts +19 -0
  38. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +23 -0
  39. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +58 -0
  40. package/dist/components/respArea/DragInTheBlank/choice.d.ts +56 -0
  41. package/dist/components/respArea/DragInTheBlank/choice.js +157 -0
  42. package/dist/components/respArea/ExplicitConstructedResponse.d.ts +20 -0
  43. package/dist/components/respArea/ExplicitConstructedResponse.js +84 -0
  44. package/dist/components/respArea/InlineDropdown.d.ts +18 -0
  45. package/dist/components/respArea/InlineDropdown.js +126 -0
  46. package/dist/components/respArea/MathTemplated.d.ts +19 -0
  47. package/dist/components/respArea/MathTemplated.js +98 -0
  48. package/dist/components/respArea/ToolbarIcon.d.ts +14 -0
  49. package/dist/components/respArea/ToolbarIcon.js +17 -0
  50. package/dist/components/respArea/inlineDropdownUtils.d.ts +15 -0
  51. package/dist/components/respArea/inlineDropdownUtils.js +15 -0
  52. package/dist/constants.d.ts +13 -0
  53. package/dist/constants.js +4 -0
  54. package/dist/extensions/css.d.ts +11 -0
  55. package/dist/extensions/css.js +120 -0
  56. package/dist/extensions/custom-toolbar-wrapper.d.ts +11 -0
  57. package/dist/extensions/custom-toolbar-wrapper.js +61 -0
  58. package/dist/extensions/div-node.d.ts +10 -0
  59. package/dist/extensions/div-node.js +42 -0
  60. package/dist/extensions/ensure-empty-root-div.d.ts +14 -0
  61. package/dist/extensions/ensure-empty-root-div.js +24 -0
  62. package/dist/extensions/ensure-list-item-content-is-div.d.ts +15 -0
  63. package/dist/extensions/ensure-list-item-content-is-div.js +31 -0
  64. package/dist/extensions/extended-list-item.d.ts +13 -0
  65. package/dist/extensions/extended-list-item.js +5 -0
  66. package/dist/extensions/extended-table-cell.d.ts +10 -0
  67. package/dist/extensions/extended-table-cell.js +6 -0
  68. package/dist/extensions/extended-table.d.ts +17 -0
  69. package/dist/extensions/extended-table.js +34 -0
  70. package/dist/extensions/heading-paragraph.d.ts +17 -0
  71. package/dist/extensions/heading-paragraph.js +30 -0
  72. package/dist/extensions/image-component.d.ts +22 -0
  73. package/dist/extensions/image-component.js +223 -0
  74. package/dist/extensions/image.d.ts +10 -0
  75. package/dist/extensions/image.js +77 -0
  76. package/dist/extensions/index.d.ts +16 -0
  77. package/dist/extensions/index.js +64 -0
  78. package/dist/extensions/math.d.ts +15 -0
  79. package/dist/extensions/math.js +213 -0
  80. package/dist/extensions/media.d.ts +19 -0
  81. package/dist/extensions/media.js +149 -0
  82. package/dist/extensions/responseArea.d.ts +27 -0
  83. package/dist/extensions/responseArea.js +255 -0
  84. package/dist/index.d.ts +13 -0
  85. package/dist/index.js +7 -0
  86. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  87. package/dist/styles/editorContainerStyles.d.ts +134 -0
  88. package/dist/theme.d.ts +9 -0
  89. package/dist/utils/helper.d.ts +9 -0
  90. package/dist/utils/helper.js +27 -0
  91. package/dist/utils/size.d.ts +9 -0
  92. package/dist/utils/size.js +14 -0
  93. package/dist/utils/toolbar.d.ts +10 -0
  94. package/dist/utils/toolbar.js +7 -0
  95. package/package.json +56 -42
  96. package/CHANGELOG.json +0 -32
  97. package/CHANGELOG.md +0 -2532
  98. package/lib/components/CharacterPicker.js +0 -226
  99. package/lib/components/CharacterPicker.js.map +0 -1
  100. package/lib/components/EditableHtml.js +0 -388
  101. package/lib/components/EditableHtml.js.map +0 -1
  102. package/lib/components/MenuBar.js +0 -702
  103. package/lib/components/MenuBar.js.map +0 -1
  104. package/lib/components/TiptapContainer.js +0 -242
  105. package/lib/components/TiptapContainer.js.map +0 -1
  106. package/lib/components/characters/characterUtils.js +0 -378
  107. package/lib/components/characters/characterUtils.js.map +0 -1
  108. package/lib/components/characters/custom-popper.js +0 -44
  109. package/lib/components/characters/custom-popper.js.map +0 -1
  110. package/lib/components/common/done-button.js +0 -34
  111. package/lib/components/common/done-button.js.map +0 -1
  112. package/lib/components/common/toolbar-buttons.js +0 -149
  113. package/lib/components/common/toolbar-buttons.js.map +0 -1
  114. package/lib/components/icons/CssIcon.js +0 -25
  115. package/lib/components/icons/CssIcon.js.map +0 -1
  116. package/lib/components/icons/RespArea.js +0 -72
  117. package/lib/components/icons/RespArea.js.map +0 -1
  118. package/lib/components/icons/TableIcons.js +0 -53
  119. package/lib/components/icons/TableIcons.js.map +0 -1
  120. package/lib/components/icons/TextAlign.js +0 -157
  121. package/lib/components/icons/TextAlign.js.map +0 -1
  122. package/lib/components/image/AltDialog.js +0 -98
  123. package/lib/components/image/AltDialog.js.map +0 -1
  124. package/lib/components/image/ImageToolbar.js +0 -137
  125. package/lib/components/image/ImageToolbar.js.map +0 -1
  126. package/lib/components/image/InsertImageHandler.js +0 -135
  127. package/lib/components/image/InsertImageHandler.js.map +0 -1
  128. package/lib/components/media/MediaDialog.js +0 -594
  129. package/lib/components/media/MediaDialog.js.map +0 -1
  130. package/lib/components/media/MediaToolbar.js +0 -74
  131. package/lib/components/media/MediaToolbar.js.map +0 -1
  132. package/lib/components/media/MediaWrapper.js +0 -67
  133. package/lib/components/media/MediaWrapper.js.map +0 -1
  134. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +0 -84
  135. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
  136. package/lib/components/respArea/DragInTheBlank/choice.js +0 -253
  137. package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
  138. package/lib/components/respArea/ExplicitConstructedResponse.js +0 -137
  139. package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
  140. package/lib/components/respArea/InlineDropdown.js +0 -223
  141. package/lib/components/respArea/InlineDropdown.js.map +0 -1
  142. package/lib/components/respArea/MathTemplated.js +0 -130
  143. package/lib/components/respArea/MathTemplated.js.map +0 -1
  144. package/lib/components/respArea/ToolbarIcon.js +0 -81
  145. package/lib/components/respArea/ToolbarIcon.js.map +0 -1
  146. package/lib/components/respArea/inlineDropdownUtils.js +0 -67
  147. package/lib/components/respArea/inlineDropdownUtils.js.map +0 -1
  148. package/lib/constants.js +0 -11
  149. package/lib/constants.js.map +0 -1
  150. package/lib/extensions/css.js +0 -227
  151. package/lib/extensions/css.js.map +0 -1
  152. package/lib/extensions/custom-toolbar-wrapper.js +0 -92
  153. package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
  154. package/lib/extensions/div-node.js +0 -83
  155. package/lib/extensions/div-node.js.map +0 -1
  156. package/lib/extensions/ensure-empty-root-div.js +0 -48
  157. package/lib/extensions/ensure-empty-root-div.js.map +0 -1
  158. package/lib/extensions/ensure-list-item-content-is-div.js +0 -64
  159. package/lib/extensions/ensure-list-item-content-is-div.js.map +0 -1
  160. package/lib/extensions/extended-list-item.js +0 -15
  161. package/lib/extensions/extended-list-item.js.map +0 -1
  162. package/lib/extensions/extended-table-cell.js +0 -22
  163. package/lib/extensions/extended-table-cell.js.map +0 -1
  164. package/lib/extensions/extended-table.js +0 -75
  165. package/lib/extensions/extended-table.js.map +0 -1
  166. package/lib/extensions/heading-paragraph.js +0 -61
  167. package/lib/extensions/heading-paragraph.js.map +0 -1
  168. package/lib/extensions/image-component.js +0 -351
  169. package/lib/extensions/image-component.js.map +0 -1
  170. package/lib/extensions/image.js +0 -134
  171. package/lib/extensions/image.js.map +0 -1
  172. package/lib/extensions/index.js +0 -46
  173. package/lib/extensions/index.js.map +0 -1
  174. package/lib/extensions/math.js +0 -469
  175. package/lib/extensions/math.js.map +0 -1
  176. package/lib/extensions/media.js +0 -243
  177. package/lib/extensions/media.js.map +0 -1
  178. package/lib/extensions/responseArea.js +0 -452
  179. package/lib/extensions/responseArea.js.map +0 -1
  180. package/lib/index.js +0 -37
  181. package/lib/index.js.map +0 -1
  182. package/lib/styles/editorContainerStyles.js +0 -137
  183. package/lib/styles/editorContainerStyles.js.map +0 -1
  184. package/lib/theme.js +0 -8
  185. package/lib/theme.js.map +0 -1
  186. package/lib/utils/helper.js +0 -73
  187. package/lib/utils/helper.js.map +0 -1
  188. package/lib/utils/size.js +0 -26
  189. package/lib/utils/size.js.map +0 -1
  190. package/lib/utils/toolbar.js +0 -19
  191. package/lib/utils/toolbar.js.map +0 -1
  192. package/src/components/CharacterPicker.jsx +0 -237
  193. package/src/components/EditableHtml.jsx +0 -458
  194. package/src/components/MenuBar.jsx +0 -561
  195. package/src/components/TiptapContainer.jsx +0 -235
  196. package/src/components/characters/characterUtils.js +0 -447
  197. package/src/components/characters/custom-popper.js +0 -38
  198. package/src/components/common/done-button.jsx +0 -27
  199. package/src/components/common/toolbar-buttons.jsx +0 -127
  200. package/src/components/icons/CssIcon.jsx +0 -15
  201. package/src/components/icons/RespArea.jsx +0 -71
  202. package/src/components/icons/TableIcons.jsx +0 -52
  203. package/src/components/icons/TextAlign.jsx +0 -114
  204. package/src/components/image/AltDialog.jsx +0 -82
  205. package/src/components/image/ImageToolbar.jsx +0 -99
  206. package/src/components/image/InsertImageHandler.js +0 -107
  207. package/src/components/media/MediaDialog.jsx +0 -596
  208. package/src/components/media/MediaToolbar.jsx +0 -49
  209. package/src/components/media/MediaWrapper.jsx +0 -39
  210. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +0 -76
  211. package/src/components/respArea/DragInTheBlank/choice.jsx +0 -259
  212. package/src/components/respArea/ExplicitConstructedResponse.jsx +0 -136
  213. package/src/components/respArea/InlineDropdown.jsx +0 -240
  214. package/src/components/respArea/MathTemplated.jsx +0 -124
  215. package/src/components/respArea/ToolbarIcon.jsx +0 -66
  216. package/src/components/respArea/inlineDropdownUtils.js +0 -79
  217. package/src/constants.js +0 -5
  218. package/src/extensions/css.js +0 -233
  219. package/src/extensions/custom-toolbar-wrapper.jsx +0 -78
  220. package/src/extensions/div-node.js +0 -86
  221. package/src/extensions/ensure-empty-root-div.js +0 -47
  222. package/src/extensions/ensure-list-item-content-is-div.js +0 -62
  223. package/src/extensions/extended-list-item.js +0 -10
  224. package/src/extensions/extended-table-cell.js +0 -19
  225. package/src/extensions/extended-table.js +0 -60
  226. package/src/extensions/heading-paragraph.js +0 -53
  227. package/src/extensions/image-component.jsx +0 -340
  228. package/src/extensions/image.js +0 -109
  229. package/src/extensions/index.js +0 -81
  230. package/src/extensions/math.js +0 -454
  231. package/src/extensions/media.js +0 -188
  232. package/src/extensions/responseArea.js +0 -407
  233. package/src/index.jsx +0 -5
  234. package/src/styles/editorContainerStyles.js +0 -145
  235. package/src/theme.js +0 -1
  236. package/src/utils/helper.js +0 -69
  237. package/src/utils/size.js +0 -32
  238. package/src/utils/toolbar.js +0 -15
@@ -1 +0,0 @@
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":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA;;AAGO,IAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAGE,UAAI,CAACC,MAAM,CAAC;EACjCC,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAElBC,SAAS,WAATA,SAASA,CAAA,EAAG;IACV,OAAO,CAAC;MAAEC,GAAG,EAAE;IAAM,CAAC,CAAC;EACzB,CAAC;EAEDC,UAAU,WAAVA,UAAUA,CAAAC,IAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACzB,OAAO,CAAC,KAAK,EAAEA,cAAc,EAAE,CAAC,CAAC;EACnC,CAAC;EAEDC,oBAAoB,WAApBA,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,KAAA;IACrB,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAK,EAAK;MAClC,KAAK,IAAIC,KAAK,GAAGD,KAAK,CAACC,KAAK,EAAEA,KAAK,IAAI,CAAC,EAAEA,KAAK,IAAI,CAAC,EAAE;QACpD,IAAID,KAAK,CAACE,IAAI,CAACD,KAAK,CAAC,CAACE,IAAI,CAACd,IAAI,KAAK,UAAU,EAAE;UAC9C,OAAO,IAAI;QACb;MACF;MACA,OAAO,KAAK;IACd,CAAC;IAED,OAAO;MACLe,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAQ;QACX,IAAQC,KAAK,GAAKP,KAAI,CAACQ,MAAM,CAArBD,KAAK;QACb,IAAQL,KAAK,GAAKK,KAAK,CAACE,SAAS,CAAzBP,KAAK;QAEb,IAAIA,KAAK,CAACQ,MAAM,CAACL,IAAI,CAACd,IAAI,KAAK,KAAK,EAAE;UACpC,OAAO,KAAK;QACd;QACA,IAAIU,gBAAgB,CAACC,KAAK,CAAC,EAAE;UAC3B,OAAO,KAAK;QACd;QAEA,OAAOF,KAAI,CAACQ,MAAM,CACfG,KAAK,CAAC,CAAC,CACPC,KAAK,CAAC,CAAC,CACPC,OAAO,CAAC,WAAW,CAAC,CAAC;QAAA,CACrBC,UAAU,CAAC,CAAC,CAAC;QAAA,CACbC,GAAG,CAAC,CAAC;MACV,CAAC;MAED;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAC,SAAS,EAAE,SAAXA,SAASA,CAAA,EAAQ;QACf,IAAQT,KAAK,GAAKP,KAAI,CAACQ,MAAM,CAArBD,KAAK;QACb,IAAAU,gBAAA,GAAyCV,KAAK,CAACE,SAAS;UAAhDP,KAAK,GAAAe,gBAAA,CAALf,KAAK;UAASgB,cAAc,GAAAD,gBAAA,CAArBE,KAAK;QAEpB,IAAIjB,KAAK,CAACQ,MAAM,CAACL,IAAI,CAACd,IAAI,KAAK,KAAK,EAAE;UACpC,OAAO,KAAK;QACd;QAEA,IAAI,CAAC2B,cAAc,EAAE;UACnB,OAAO,KAAK;QACd;QAEA,IAAME,UAAU,GAAGlB,KAAK,CAACQ,MAAM,CAACW,WAAW;QAE3C,IAAID,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;UAC3B,OAAOf,KAAK,CAACgB,GAAG,CAACC,UAAU,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK;QAClD;QAEA,IAAIJ,UAAU,CAACE,MAAM,KAAK,CAAC,IAAIpB,KAAK,CAACuB,YAAY,KAAK,CAAC,EAAE;UACvD,IAAQC,EAAE,GAAKnB,KAAK,CAAZmB,EAAE;UACVA,EAAE,UAAO,CAACxB,KAAK,CAACyB,GAAG,GAAG,CAAC,EAAEzB,KAAK,CAACyB,GAAG,CAAC;UACnC3B,KAAI,CAACQ,MAAM,CAACoB,IAAI,CAACC,QAAQ,CAACH,EAAE,CAAC;UAC7B,OAAO,IAAI;QACb;QAEA,OAAO,KAAK;MACd;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,64 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,22 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,75 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}
@@ -1,61 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}