@edifice.io/tiptap-extensions 2.6.9-develop-b2school.20261013134048 → 2.6.9-develop-enabling.20261013152718

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 (110) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/abbr/abbr.cjs +2 -2
  3. package/dist/abbr/abbr.cjs.map +1 -1
  4. package/dist/abbr/abbr.js +2 -33
  5. package/dist/abbr/abbr.js.map +1 -1
  6. package/dist/alert/alert.cjs +2 -2
  7. package/dist/alert/alert.cjs.map +1 -1
  8. package/dist/alert/alert.js +2 -45
  9. package/dist/alert/alert.js.map +1 -1
  10. package/dist/attachment/attachment-transformer.cjs +2 -2
  11. package/dist/attachment/attachment-transformer.cjs.map +1 -1
  12. package/dist/attachment/attachment-transformer.js +2 -76
  13. package/dist/attachment/attachment-transformer.js.map +1 -1
  14. package/dist/attachment/attachment.cjs +2 -2
  15. package/dist/attachment/attachment.cjs.map +1 -1
  16. package/dist/attachment/attachment.js +2 -98
  17. package/dist/attachment/attachment.js.map +1 -1
  18. package/dist/audio/audio.cjs +2 -2
  19. package/dist/audio/audio.cjs.map +1 -1
  20. package/dist/audio/audio.js +3 -52
  21. package/dist/audio/audio.js.map +1 -1
  22. package/dist/conversation-history/conversation-history.cjs +2 -2
  23. package/dist/conversation-history/conversation-history.cjs.map +1 -1
  24. package/dist/conversation-history/conversation-history.js +2 -63
  25. package/dist/conversation-history/conversation-history.js.map +1 -1
  26. package/dist/conversation-history-body/conversation-history-body.cjs +2 -2
  27. package/dist/conversation-history-body/conversation-history-body.cjs.map +1 -1
  28. package/dist/conversation-history-body/conversation-history-body.js +2 -24
  29. package/dist/conversation-history-body/conversation-history-body.js.map +1 -1
  30. package/dist/font-size/font-size.cjs +2 -2
  31. package/dist/font-size/font-size.cjs.map +1 -1
  32. package/dist/font-size/font-size.js +2 -39
  33. package/dist/font-size/font-size.js.map +1 -1
  34. package/dist/heading/heading.cjs +2 -2
  35. package/dist/heading/heading.cjs.map +1 -1
  36. package/dist/heading/heading.js +2 -46
  37. package/dist/heading/heading.js.map +1 -1
  38. package/dist/highlight/highlight.cjs +2 -2
  39. package/dist/highlight/highlight.cjs.map +1 -1
  40. package/dist/highlight/highlight.js +2 -28
  41. package/dist/highlight/highlight.js.map +1 -1
  42. package/dist/hyperlink/hyperlink.cjs +2 -2
  43. package/dist/hyperlink/hyperlink.cjs.map +1 -1
  44. package/dist/hyperlink/hyperlink.js +2 -53
  45. package/dist/hyperlink/hyperlink.js.map +1 -1
  46. package/dist/iframe/iframe.cjs +2 -2
  47. package/dist/iframe/iframe.cjs.map +1 -1
  48. package/dist/iframe/iframe.js +2 -70
  49. package/dist/iframe/iframe.js.map +1 -1
  50. package/dist/iframe/transformers/index.cjs +2 -2
  51. package/dist/iframe/transformers/index.cjs.map +1 -1
  52. package/dist/iframe/transformers/index.js +2 -22
  53. package/dist/iframe/transformers/index.js.map +1 -1
  54. package/dist/iframe/transformers/pad-transformer.cjs +2 -2
  55. package/dist/iframe/transformers/pad-transformer.cjs.map +1 -1
  56. package/dist/iframe/transformers/pad-transformer.js +2 -24
  57. package/dist/iframe/transformers/pad-transformer.js.map +1 -1
  58. package/dist/image/image.cjs +2 -2
  59. package/dist/image/image.cjs.map +1 -1
  60. package/dist/image/image.js +2 -175
  61. package/dist/image/image.js.map +1 -1
  62. package/dist/index.cjs +1 -2
  63. package/dist/index.js +1 -52
  64. package/dist/information-pane/information-pane.cjs +2 -2
  65. package/dist/information-pane/information-pane.cjs.map +1 -1
  66. package/dist/information-pane/information-pane.js +2 -57
  67. package/dist/information-pane/information-pane.js.map +1 -1
  68. package/dist/line-height/line-height.cjs +2 -2
  69. package/dist/line-height/line-height.cjs.map +1 -1
  70. package/dist/line-height/line-height.js +2 -33
  71. package/dist/line-height/line-height.js.map +1 -1
  72. package/dist/linker/linker.cjs +2 -2
  73. package/dist/linker/linker.cjs.map +1 -1
  74. package/dist/linker/linker.js +2 -96
  75. package/dist/linker/linker.js.map +1 -1
  76. package/dist/mathjax/mathjax.cjs +2 -2
  77. package/dist/mathjax/mathjax.cjs.map +1 -1
  78. package/dist/mathjax/mathjax.js +2 -40
  79. package/dist/mathjax/mathjax.js.map +1 -1
  80. package/dist/paragraph/paragraph.cjs +2 -2
  81. package/dist/paragraph/paragraph.cjs.map +1 -1
  82. package/dist/paragraph/paragraph.js +2 -16
  83. package/dist/paragraph/paragraph.js.map +1 -1
  84. package/dist/speech-recognition/speech-recognition.cjs +2 -2
  85. package/dist/speech-recognition/speech-recognition.cjs.map +1 -1
  86. package/dist/speech-recognition/speech-recognition.js +2 -56
  87. package/dist/speech-recognition/speech-recognition.js.map +1 -1
  88. package/dist/speech-synthesis/speech-synthesis.cjs +2 -2
  89. package/dist/speech-synthesis/speech-synthesis.cjs.map +1 -1
  90. package/dist/speech-synthesis/speech-synthesis.js +2 -25
  91. package/dist/speech-synthesis/speech-synthesis.js.map +1 -1
  92. package/dist/table-cell/table-cell.cjs +2 -2
  93. package/dist/table-cell/table-cell.cjs.map +1 -1
  94. package/dist/table-cell/table-cell.js +2 -23
  95. package/dist/table-cell/table-cell.js.map +1 -1
  96. package/dist/transform/html-to-json/html-to-json.cjs +2 -2
  97. package/dist/transform/html-to-json/html-to-json.cjs.map +1 -1
  98. package/dist/transform/html-to-json/html-to-json.js +2 -6
  99. package/dist/transform/html-to-json/html-to-json.js.map +1 -1
  100. package/dist/transform/json-to-html/json-to-html.cjs +2 -2
  101. package/dist/transform/json-to-html/json-to-html.cjs.map +1 -1
  102. package/dist/transform/json-to-html/json-to-html.js +2 -6
  103. package/dist/transform/json-to-html/json-to-html.js.map +1 -1
  104. package/dist/video/video.cjs +3 -3
  105. package/dist/video/video.cjs.map +1 -1
  106. package/dist/video/video.js +3 -92
  107. package/dist/video/video.js.map +1 -1
  108. package/package.json +5 -5
  109. package/dist/index.cjs.map +0 -1
  110. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++)key=keys[i],!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod==null?{}:__create(__getProtoOf(mod)),__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,`default`,{value:mod,enumerable:!0}):target,mod));exports.__toESM=__toESM;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@tiptap/core"),Abbr=core.Mark.create({name:"abbr",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"abbr"}]},renderHTML({HTMLAttributes}){return["abbr",core.mergeAttributes(this.options.HTMLAttributes,HTMLAttributes),0]},addCommands(){return{setAbbr:()=>({commands})=>commands.setMark(this.name),toggleAbbr:()=>({commands})=>commands.toggleMark(this.name)}}});exports.Abbr=Abbr;
2
- //# sourceMappingURL=abbr.cjs.map
1
+ let _tiptap_core=require("@tiptap/core");var Abbr=_tiptap_core.Mark.create({name:`abbr`,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:`abbr`}]},renderHTML({HTMLAttributes}){return[`abbr`,(0,_tiptap_core.mergeAttributes)(this.options.HTMLAttributes,HTMLAttributes),0]},addCommands(){return{setAbbr:()=>({commands})=>commands.setMark(this.name),toggleAbbr:()=>({commands})=>commands.toggleMark(this.name)}}});exports.Abbr=Abbr;
2
+ //# sourceMappingURL=abbr.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"abbr.cjs","sources":["../../src/abbr/abbr.ts"],"sourcesContent":["import { Mark, mergeAttributes } from '@tiptap/core';\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n abbr: {\n /**\n * Set an abbr mark\n */\n setAbbr: (src: string) => ReturnType;\n /**\n * Toggle an abbr mark\n */\n toggleAbbr: (src: string) => ReturnType;\n };\n }\n}\n\nexport const Abbr = Mark.create({\n name: 'abbr',\n\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'abbr',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'abbr',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n 0,\n ];\n },\n\n addCommands() {\n return {\n setAbbr:\n () =>\n ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleAbbr:\n () =>\n ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n };\n },\n});\n"],"names":["Mark","mergeAttributes"],"mappings":"mHAiBa,KAAOA,KAAAA,KAAK,OAAO,CAC9B,KAAM,OAEN,YAAa,CACX,MAAO,CACL,eAAgB,CAAA,CAAC,CAErB,EAEA,WAAY,CACV,MAAO,CACL,CACE,IAAK,MAAA,CACP,CAEJ,EAEA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CACL,OACAC,KAAAA,gBAAgB,KAAK,QAAQ,eAAgB,cAAc,EAC3D,CAAA,CAEJ,EAEA,aAAc,CACZ,MAAO,CACL,QACE,IACA,CAAC,CAAE,YACM,SAAS,QAAQ,KAAK,IAAI,EAErC,WACE,IACA,CAAC,CAAE,YACM,SAAS,WAAW,KAAK,IAAI,CACtC,CAEN,CACF,CAAC"}
1
+ {"version":3,"file":"abbr.cjs","names":[],"sources":["../../src/abbr/abbr.ts"],"sourcesContent":["import { Mark, mergeAttributes } from '@tiptap/core';\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n abbr: {\n /**\n * Set an abbr mark\n */\n setAbbr: (src: string) => ReturnType;\n /**\n * Toggle an abbr mark\n */\n toggleAbbr: (src: string) => ReturnType;\n };\n }\n}\n\nexport const Abbr = Mark.create({\n name: 'abbr',\n\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'abbr',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'abbr',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n 0,\n ];\n },\n\n addCommands() {\n return {\n setAbbr:\n () =>\n ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleAbbr:\n () =>\n ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n };\n },\n});\n"],"mappings":"yCAiBA,IAAa,KAAO,aAAA,KAAK,OAAO,CAC9B,KAAM,OAEN,YAAa,CACX,MAAO,CACL,eAAgB,CAAC,CACnB,CACF,EAEA,WAAY,CACV,MAAO,CACL,CACE,IAAK,MACP,CACF,CACF,EAEA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CACL,wCACgB,KAAK,QAAQ,eAAgB,cAAc,EAC3D,CACF,CACF,EAEA,aAAc,CACZ,MAAO,CACL,aAEG,CAAE,YACM,SAAS,QAAQ,KAAK,IAAI,EAErC,gBAEG,CAAE,YACM,SAAS,WAAW,KAAK,IAAI,CAE1C,CACF,CACF,CAAC"}
package/dist/abbr/abbr.js CHANGED
@@ -1,33 +1,2 @@
1
- import { Mark, mergeAttributes } from "@tiptap/core";
2
- const Abbr = Mark.create({
3
- name: "abbr",
4
- addOptions() {
5
- return {
6
- HTMLAttributes: {}
7
- };
8
- },
9
- parseHTML() {
10
- return [
11
- {
12
- tag: "abbr"
13
- }
14
- ];
15
- },
16
- renderHTML({ HTMLAttributes }) {
17
- return [
18
- "abbr",
19
- mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
20
- 0
21
- ];
22
- },
23
- addCommands() {
24
- return {
25
- setAbbr: () => ({ commands }) => commands.setMark(this.name),
26
- toggleAbbr: () => ({ commands }) => commands.toggleMark(this.name)
27
- };
28
- }
29
- });
30
- export {
31
- Abbr
32
- };
33
- //# sourceMappingURL=abbr.js.map
1
+ import{Mark,mergeAttributes}from"@tiptap/core";var Abbr=Mark.create({name:`abbr`,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:`abbr`}]},renderHTML({HTMLAttributes}){return[`abbr`,mergeAttributes(this.options.HTMLAttributes,HTMLAttributes),0]},addCommands(){return{setAbbr:()=>({commands})=>commands.setMark(this.name),toggleAbbr:()=>({commands})=>commands.toggleMark(this.name)}}});export{Abbr};
2
+ //# sourceMappingURL=abbr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abbr.js","sources":["../../src/abbr/abbr.ts"],"sourcesContent":["import { Mark, mergeAttributes } from '@tiptap/core';\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n abbr: {\n /**\n * Set an abbr mark\n */\n setAbbr: (src: string) => ReturnType;\n /**\n * Toggle an abbr mark\n */\n toggleAbbr: (src: string) => ReturnType;\n };\n }\n}\n\nexport const Abbr = Mark.create({\n name: 'abbr',\n\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'abbr',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'abbr',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n 0,\n ];\n },\n\n addCommands() {\n return {\n setAbbr:\n () =>\n ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleAbbr:\n () =>\n ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n };\n },\n});\n"],"names":[],"mappings":";AAiBO,MAAM,OAAO,KAAK,OAAO;AAAA,EAC9B,MAAM;AAAA,EAEN,aAAa;AACX,WAAO;AAAA,MACL,gBAAgB,CAAA;AAAA,IAAC;AAAA,EAErB;AAAA,EAEA,YAAY;AACV,WAAO;AAAA,MACL;AAAA,QACE,KAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAEJ;AAAA,EAEA,WAAW,EAAE,kBAAkB;AAC7B,WAAO;AAAA,MACL;AAAA,MACA,gBAAgB,KAAK,QAAQ,gBAAgB,cAAc;AAAA,MAC3D;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,cAAc;AACZ,WAAO;AAAA,MACL,SACE,MACA,CAAC,EAAE,eACM,SAAS,QAAQ,KAAK,IAAI;AAAA,MAErC,YACE,MACA,CAAC,EAAE,eACM,SAAS,WAAW,KAAK,IAAI;AAAA,IACtC;AAAA,EAEN;AACF,CAAC;"}
1
+ {"version":3,"file":"abbr.js","names":[],"sources":["../../src/abbr/abbr.ts"],"sourcesContent":["import { Mark, mergeAttributes } from '@tiptap/core';\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n abbr: {\n /**\n * Set an abbr mark\n */\n setAbbr: (src: string) => ReturnType;\n /**\n * Toggle an abbr mark\n */\n toggleAbbr: (src: string) => ReturnType;\n };\n }\n}\n\nexport const Abbr = Mark.create({\n name: 'abbr',\n\n addOptions() {\n return {\n HTMLAttributes: {},\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'abbr',\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'abbr',\n mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n 0,\n ];\n },\n\n addCommands() {\n return {\n setAbbr:\n () =>\n ({ commands }) => {\n return commands.setMark(this.name);\n },\n toggleAbbr:\n () =>\n ({ commands }) => {\n return commands.toggleMark(this.name);\n },\n };\n },\n});\n"],"mappings":"+CAiBA,IAAa,KAAO,KAAK,OAAO,CAC9B,KAAM,OAEN,YAAa,CACX,MAAO,CACL,eAAgB,CAAC,CACnB,CACF,EAEA,WAAY,CACV,MAAO,CACL,CACE,IAAK,MACP,CACF,CACF,EAEA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CACL,OACA,gBAAgB,KAAK,QAAQ,eAAgB,cAAc,EAC3D,CACF,CACF,EAEA,aAAc,CACZ,MAAO,CACL,aAEG,CAAE,YACM,SAAS,QAAQ,KAAK,IAAI,EAErC,gBAEG,CAAE,YACM,SAAS,WAAW,KAAK,IAAI,CAE1C,CACF,CACF,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@tiptap/core"),Alert=core.Node.create({name:"alert",content:"inline+",marks:"",group:"block",inline:!1,selectable:!0,draggable:!0,parseHTML(){return[{tag:"p.info",priority:60},{tag:"p.warning",priority:60},{tag:"div.info",priority:60},{tag:"div.warning",priority:60}]},addAttributes(){return{class:{default:"info",parseHTML:element=>element.getAttribute("class")}}},renderHTML({HTMLAttributes}){return["div",HTMLAttributes,0]}});exports.Alert=Alert;
2
- //# sourceMappingURL=alert.cjs.map
1
+ var Alert=require("@tiptap/core").Node.create({name:`alert`,content:`inline+`,marks:``,group:`block`,inline:!1,selectable:!0,draggable:!0,parseHTML(){return[{tag:`p.info`,priority:60},{tag:`p.warning`,priority:60},{tag:`div.info`,priority:60},{tag:`div.warning`,priority:60}]},addAttributes(){return{class:{default:`info`,parseHTML:element=>element.getAttribute(`class`)}}},renderHTML({HTMLAttributes}){return[`div`,HTMLAttributes,0]}});exports.Alert=Alert;
2
+ //# sourceMappingURL=alert.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.cjs","sources":["../../src/alert/alert.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport const Alert = Node.create({\n name: 'alert',\n content: 'inline+',\n marks: '',\n group: 'block',\n\n inline: false,\n selectable: true,\n draggable: true,\n\n parseHTML() {\n return [\n {\n tag: 'p.info',\n priority: 60,\n },\n {\n tag: 'p.warning',\n priority: 60,\n },\n {\n tag: 'div.info',\n priority: 60,\n },\n {\n tag: 'div.warning',\n priority: 60,\n },\n ];\n },\n addAttributes() {\n return {\n class: {\n default: 'info',\n parseHTML: (element) => {\n return element.getAttribute('class');\n },\n },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n});\n"],"names":["Node"],"mappings":"mHAEa,MAAQA,KAAAA,KAAK,OAAO,CAC/B,KAAM,QACN,QAAS,UACT,MAAO,GACP,MAAO,QAEP,OAAQ,GACR,WAAY,GACZ,UAAW,GAEX,WAAY,CACV,MAAO,CACL,CACE,IAAK,SACL,SAAU,EAAA,EAEZ,CACE,IAAK,YACL,SAAU,EAAA,EAEZ,CACE,IAAK,WACL,SAAU,EAAA,EAEZ,CACE,IAAK,cACL,SAAU,EAAA,CACZ,CAEJ,EACA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,OACT,UAAY,SACH,QAAQ,aAAa,OAAO,CACrC,CACF,CAEJ,EACA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CAAC,MAAO,eAAgB,CAAC,CAClC,CACF,CAAC"}
1
+ {"version":3,"file":"alert.cjs","names":[],"sources":["../../src/alert/alert.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport const Alert = Node.create({\n name: 'alert',\n content: 'inline+',\n marks: '',\n group: 'block',\n\n inline: false,\n selectable: true,\n draggable: true,\n\n parseHTML() {\n return [\n {\n tag: 'p.info',\n priority: 60,\n },\n {\n tag: 'p.warning',\n priority: 60,\n },\n {\n tag: 'div.info',\n priority: 60,\n },\n {\n tag: 'div.warning',\n priority: 60,\n },\n ];\n },\n addAttributes() {\n return {\n class: {\n default: 'info',\n parseHTML: (element) => {\n return element.getAttribute('class');\n },\n },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n});\n"],"mappings":"AAEA,IAAa,4BAAQ,EAAA,KAAK,OAAO,CAC/B,KAAM,QACN,QAAS,UACT,MAAO,GACP,MAAO,QAEP,OAAQ,GACR,WAAY,GACZ,UAAW,GAEX,WAAY,CACV,MAAO,CACL,CACE,IAAK,SACL,SAAU,EACZ,EACA,CACE,IAAK,YACL,SAAU,EACZ,EACA,CACE,IAAK,WACL,SAAU,EACZ,EACA,CACE,IAAK,cACL,SAAU,EACZ,CACF,CACF,EACA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,OACT,UAAY,SACH,QAAQ,aAAa,OAAO,CAEvC,CACF,CACF,EACA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CAAC,MAAO,eAAgB,CAAC,CAClC,CACF,CAAC"}
@@ -1,45 +1,2 @@
1
- import { Node } from "@tiptap/core";
2
- const Alert = Node.create({
3
- name: "alert",
4
- content: "inline+",
5
- marks: "",
6
- group: "block",
7
- inline: !1,
8
- selectable: !0,
9
- draggable: !0,
10
- parseHTML() {
11
- return [
12
- {
13
- tag: "p.info",
14
- priority: 60
15
- },
16
- {
17
- tag: "p.warning",
18
- priority: 60
19
- },
20
- {
21
- tag: "div.info",
22
- priority: 60
23
- },
24
- {
25
- tag: "div.warning",
26
- priority: 60
27
- }
28
- ];
29
- },
30
- addAttributes() {
31
- return {
32
- class: {
33
- default: "info",
34
- parseHTML: (element) => element.getAttribute("class")
35
- }
36
- };
37
- },
38
- renderHTML({ HTMLAttributes }) {
39
- return ["div", HTMLAttributes, 0];
40
- }
41
- });
42
- export {
43
- Alert
44
- };
45
- //# sourceMappingURL=alert.js.map
1
+ import{Node}from"@tiptap/core";var Alert=Node.create({name:`alert`,content:`inline+`,marks:``,group:`block`,inline:!1,selectable:!0,draggable:!0,parseHTML(){return[{tag:`p.info`,priority:60},{tag:`p.warning`,priority:60},{tag:`div.info`,priority:60},{tag:`div.warning`,priority:60}]},addAttributes(){return{class:{default:`info`,parseHTML:element=>element.getAttribute(`class`)}}},renderHTML({HTMLAttributes}){return[`div`,HTMLAttributes,0]}});export{Alert};
2
+ //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sources":["../../src/alert/alert.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport const Alert = Node.create({\n name: 'alert',\n content: 'inline+',\n marks: '',\n group: 'block',\n\n inline: false,\n selectable: true,\n draggable: true,\n\n parseHTML() {\n return [\n {\n tag: 'p.info',\n priority: 60,\n },\n {\n tag: 'p.warning',\n priority: 60,\n },\n {\n tag: 'div.info',\n priority: 60,\n },\n {\n tag: 'div.warning',\n priority: 60,\n },\n ];\n },\n addAttributes() {\n return {\n class: {\n default: 'info',\n parseHTML: (element) => {\n return element.getAttribute('class');\n },\n },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n});\n"],"names":[],"mappings":";AAEO,MAAM,QAAQ,KAAK,OAAO;AAAA,EAC/B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,WAAW;AAAA,EAEX,YAAY;AACV,WAAO;AAAA,MACL;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,MAAA;AAAA,MAEZ;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,MAAA;AAAA,MAEZ;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,MAAA;AAAA,MAEZ;AAAA,QACE,KAAK;AAAA,QACL,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,EAEJ;AAAA,EACA,gBAAgB;AACd,WAAO;AAAA,MACL,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW,CAAC,YACH,QAAQ,aAAa,OAAO;AAAA,MACrC;AAAA,IACF;AAAA,EAEJ;AAAA,EACA,WAAW,EAAE,kBAAkB;AAC7B,WAAO,CAAC,OAAO,gBAAgB,CAAC;AAAA,EAClC;AACF,CAAC;"}
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../../src/alert/alert.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport const Alert = Node.create({\n name: 'alert',\n content: 'inline+',\n marks: '',\n group: 'block',\n\n inline: false,\n selectable: true,\n draggable: true,\n\n parseHTML() {\n return [\n {\n tag: 'p.info',\n priority: 60,\n },\n {\n tag: 'p.warning',\n priority: 60,\n },\n {\n tag: 'div.info',\n priority: 60,\n },\n {\n tag: 'div.warning',\n priority: 60,\n },\n ];\n },\n addAttributes() {\n return {\n class: {\n default: 'info',\n parseHTML: (element) => {\n return element.getAttribute('class');\n },\n },\n };\n },\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n});\n"],"mappings":"+BAEA,IAAa,MAAQ,KAAK,OAAO,CAC/B,KAAM,QACN,QAAS,UACT,MAAO,GACP,MAAO,QAEP,OAAQ,GACR,WAAY,GACZ,UAAW,GAEX,WAAY,CACV,MAAO,CACL,CACE,IAAK,SACL,SAAU,EACZ,EACA,CACE,IAAK,YACL,SAAU,EACZ,EACA,CACE,IAAK,WACL,SAAU,EACZ,EACA,CACE,IAAK,cACL,SAAU,EACZ,CACF,CACF,EACA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,OACT,UAAY,SACH,QAAQ,aAAa,OAAO,CAEvC,CACF,CACF,EACA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CAAC,MAAO,eAAgB,CAAC,CAClC,CACF,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@tiptap/core"),AttachmentTransformer=core.Node.create({name:"attachments",content:"",marks:"",group:"inline",inline:!0,selectable:!0,atom:!0,draggable:!0,addOptions(){return{HTMLAttributes:{class:"attachments"}}},parseHTML(){return[{tag:"div[class=attachments]"}]},renderHTML({HTMLAttributes}){const renderedLinks=HTMLAttributes.links.map(el=>["a",{name:el.name,href:el.href,"data-document-id":el["data-document-id"],"data-content-type":el["data-content-type"]},el.name]);return["div",this.options.HTMLAttributes,...renderedLinks]},addAttributes(){return{links:{default:[],parseHTML:element=>{const links=element.getElementsByTagName("a"),parsedLinks=[];for(let i=0;i<links.length;i++){const link=links[i],href=link.getAttribute("href"),name=link.textContent,regexResult=href.match(/([^/]+$)/),dataDocumentId=link.getAttribute("data-document-id")||regexResult&&regexResult[0],dataContentType=link.getAttribute("data-content-type");parsedLinks.push({href,name,dataDocumentId,dataContentType})}return parsedLinks},renderHTML:attributes=>({links:attributes.links.map(link=>({href:link.href,name:link.name,"data-document-id":link.dataDocumentId,"data-content-type":link.dataContentType}))})}}},addCommands(){return{setAttachment:(attrs={dataContentType:"",name:"",documentId:"",href:""})=>({chain})=>chain().insertContent({type:this.name,attrs}).run()}}});exports.AttachmentTransformer=AttachmentTransformer;
2
- //# sourceMappingURL=attachment-transformer.cjs.map
1
+ var AttachmentTransformer=require("@tiptap/core").Node.create({name:`attachments`,content:``,marks:``,group:`inline`,inline:!0,selectable:!0,atom:!0,draggable:!0,addOptions(){return{HTMLAttributes:{class:`attachments`}}},parseHTML(){return[{tag:`div[class=attachments]`}]},renderHTML({HTMLAttributes}){let renderedLinks=HTMLAttributes.links.map(el=>[`a`,{name:el.name,href:el.href,"data-document-id":el[`data-document-id`],"data-content-type":el[`data-content-type`]},el.name]);return[`div`,this.options.HTMLAttributes,...renderedLinks]},addAttributes(){return{links:{default:[],parseHTML:element=>{let links=element.getElementsByTagName(`a`),parsedLinks=[];for(let i=0;i<links.length;i++){let link=links[i],href=link.getAttribute(`href`),name=link.textContent,regexResult=href.match(/([^/]+$)/),dataDocumentId=link.getAttribute(`data-document-id`)||regexResult&&regexResult[0],dataContentType=link.getAttribute(`data-content-type`);parsedLinks.push({href,name,dataDocumentId,dataContentType})}return parsedLinks},renderHTML:attributes=>({links:attributes.links.map(link=>({href:link.href,name:link.name,"data-document-id":link.dataDocumentId,"data-content-type":link.dataContentType}))})}}},addCommands(){return{setAttachment:(attrs={dataContentType:``,name:``,documentId:``,href:``})=>({chain})=>chain().insertContent({type:this.name,attrs}).run()}}});exports.AttachmentTransformer=AttachmentTransformer;
2
+ //# sourceMappingURL=attachment-transformer.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-transformer.cjs","sources":["../../src/attachment/attachment-transformer.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment: any) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType;\n };\n }\n}\n\nexport const AttachmentTransformer = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'inline',\n inline: true,\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n };\n },\n});\n"],"names":["Node"],"mappings":"mHAea,sBAAwBA,KAAAA,KAAK,OAA0B,CAClE,KAAM,cACN,QAAS,GACT,MAAO,GACP,MAAO,SACP,OAAQ,GACR,WAAY,GACZ,KAAM,GACN,UAAW,GAEX,YAAa,CACX,MAAO,CACL,eAAgB,CACd,MAAO,aAAA,CACT,CAEJ,EAEA,WAAY,CACV,MAAO,CAAC,CAAE,IAAK,yBAA0B,CAC3C,EAEA,WAAW,CAAE,gBAAkB,CAG7B,MAAM,cAFQ,eAAe,MAED,IAAK,IACxB,CACL,IACA,CACE,KAAQ,GAAG,KACX,KAAQ,GAAG,KACX,mBAAoB,GAAG,kBAAkB,EACzC,oBAAqB,GAAG,mBAAmB,CAAA,EAE7C,GAAG,IAAA,CAEN,EAED,MAAO,CAAC,MAAO,KAAK,QAAQ,eAAgB,GAAG,aAAa,CAC9D,EAEA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,CAAA,EACT,UAAY,SAAY,CACtB,MAAM,MAAQ,QAAQ,qBAAqB,GAAG,EACxC,YAAc,CAAA,EAEpB,QAAS,EAAI,EAAG,EAAI,MAAM,OAAQ,IAAK,CACrC,MAAM,KAAO,MAAM,CAAC,EACd,KAAO,KAAK,aAAa,MAAM,EAC/B,KAAO,KAAK,YACZ,YAAc,KAAK,MAAM,UAAU,EACnC,eACJ,KAAK,aAAa,kBAAkB,GACnC,aAAe,YAAY,CAAC,EACzB,gBAAkB,KAAK,aAAa,mBAAmB,EAE7D,YAAY,KAAK,CACf,KACA,KACA,eACA,eAAA,CACD,CACH,CAEA,OAAO,WACT,EACA,WAAa,aACJ,CACL,MAAO,WAAW,MAAM,IAAK,OAAU,CACrC,KAAQ,KAAK,KACb,KAAQ,KAAK,KACb,mBAAoB,KAAK,eACzB,oBAAqB,KAAK,eAAA,EAC1B,CAAA,EAEN,CACF,CAEJ,EAEA,aAAc,CACZ,MAAO,CACL,cACE,CACE,MAAQ,CACN,gBAAiB,GACjB,KAAM,GACN,WAAY,GACZ,KAAM,EAAA,IAGV,CAAC,CAAE,SACM,MAAA,EAAQ,cAAc,CAAE,KAAM,KAAK,KAAM,MAAO,EAAE,IAAA,CAC3D,CAEN,CACF,CAAC"}
1
+ {"version":3,"file":"attachment-transformer.cjs","names":[],"sources":["../../src/attachment/attachment-transformer.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment: any) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType;\n };\n }\n}\n\nexport const AttachmentTransformer = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'inline',\n inline: true,\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n };\n },\n});\n"],"mappings":"AAeA,IAAa,4CAAwB,EAAA,KAAK,OAA0B,CAClE,KAAM,cACN,QAAS,GACT,MAAO,GACP,MAAO,SACP,OAAQ,GACR,WAAY,GACZ,KAAM,GACN,UAAW,GAEX,YAAa,CACX,MAAO,CACL,eAAgB,CACd,MAAO,aACT,CACF,CACF,EAEA,WAAY,CACV,MAAO,CAAC,CAAE,IAAK,wBAAyB,CAAC,CAC3C,EAEA,WAAW,CAAE,gBAAkB,CAG7B,IAAM,cAFQ,eAAe,MAED,IAAK,IACxB,CACL,IACA,CACE,KAAQ,GAAG,KACX,KAAQ,GAAG,KACX,mBAAoB,GAAG,oBACvB,oBAAqB,GAAG,oBAC1B,EACA,GAAG,IACL,CACD,EAED,MAAO,CAAC,MAAO,KAAK,QAAQ,eAAgB,GAAG,aAAa,CAC9D,EAEA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,CAAC,EACV,UAAY,SAAY,CACtB,IAAM,MAAQ,QAAQ,qBAAqB,GAAG,EACxC,YAAc,CAAC,EAErB,IAAK,IAAI,EAAI,EAAG,EAAI,MAAM,OAAQ,IAAK,CACrC,IAAM,KAAO,MAAM,GACb,KAAO,KAAK,aAAa,MAAM,EAC/B,KAAO,KAAK,YACZ,YAAc,KAAK,MAAM,UAAU,EACnC,eACJ,KAAK,aAAa,kBAAkB,GACnC,aAAe,YAAY,GACxB,gBAAkB,KAAK,aAAa,mBAAmB,EAE7D,YAAY,KAAK,CACT,KACA,KACN,eACA,eACF,CAAC,CACH,CAEA,OAAO,WACT,EACA,WAAa,aACJ,CACL,MAAO,WAAW,MAAM,IAAK,OAAU,CACrC,KAAQ,KAAK,KACb,KAAQ,KAAK,KACb,mBAAoB,KAAK,eACzB,oBAAqB,KAAK,eAC5B,EAAE,CACJ,EAEJ,CACF,CACF,EAEA,aAAc,CACZ,MAAO,CACL,eAEI,MAAQ,CACN,gBAAiB,GACjB,KAAM,GACN,WAAY,GACZ,KAAM,EACR,KAED,CAAE,SACM,MAAM,EAAE,cAAc,CAAE,KAAM,KAAK,KAAM,KAAM,CAAC,EAAE,IAAI,CAEnE,CACF,CACF,CAAC"}
@@ -1,76 +1,2 @@
1
- import { Node } from "@tiptap/core";
2
- const AttachmentTransformer = Node.create({
3
- name: "attachments",
4
- content: "",
5
- marks: "",
6
- group: "inline",
7
- inline: !0,
8
- selectable: !0,
9
- atom: !0,
10
- draggable: !0,
11
- addOptions() {
12
- return {
13
- HTMLAttributes: {
14
- class: "attachments"
15
- }
16
- };
17
- },
18
- parseHTML() {
19
- return [{ tag: "div[class=attachments]" }];
20
- },
21
- renderHTML({ HTMLAttributes }) {
22
- const renderedLinks = HTMLAttributes.links.map((el) => [
23
- "a",
24
- {
25
- name: el.name,
26
- href: el.href,
27
- "data-document-id": el["data-document-id"],
28
- "data-content-type": el["data-content-type"]
29
- },
30
- el.name
31
- ]);
32
- return ["div", this.options.HTMLAttributes, ...renderedLinks];
33
- },
34
- addAttributes() {
35
- return {
36
- links: {
37
- default: [],
38
- parseHTML: (element) => {
39
- const links = element.getElementsByTagName("a"), parsedLinks = [];
40
- for (let i = 0; i < links.length; i++) {
41
- const link = links[i], href = link.getAttribute("href"), name = link.textContent, regexResult = href.match(/([^/]+$)/), dataDocumentId = link.getAttribute("data-document-id") || regexResult && regexResult[0], dataContentType = link.getAttribute("data-content-type");
42
- parsedLinks.push({
43
- href,
44
- name,
45
- dataDocumentId,
46
- dataContentType
47
- });
48
- }
49
- return parsedLinks;
50
- },
51
- renderHTML: (attributes) => ({
52
- links: attributes.links.map((link) => ({
53
- href: link.href,
54
- name: link.name,
55
- "data-document-id": link.dataDocumentId,
56
- "data-content-type": link.dataContentType
57
- }))
58
- })
59
- }
60
- };
61
- },
62
- addCommands() {
63
- return {
64
- setAttachment: (attrs = {
65
- dataContentType: "",
66
- name: "",
67
- documentId: "",
68
- href: ""
69
- }) => ({ chain }) => chain().insertContent({ type: this.name, attrs }).run()
70
- };
71
- }
72
- });
73
- export {
74
- AttachmentTransformer
75
- };
76
- //# sourceMappingURL=attachment-transformer.js.map
1
+ import{Node}from"@tiptap/core";var AttachmentTransformer=Node.create({name:`attachments`,content:``,marks:``,group:`inline`,inline:!0,selectable:!0,atom:!0,draggable:!0,addOptions(){return{HTMLAttributes:{class:`attachments`}}},parseHTML(){return[{tag:`div[class=attachments]`}]},renderHTML({HTMLAttributes}){let renderedLinks=HTMLAttributes.links.map(el=>[`a`,{name:el.name,href:el.href,"data-document-id":el[`data-document-id`],"data-content-type":el[`data-content-type`]},el.name]);return[`div`,this.options.HTMLAttributes,...renderedLinks]},addAttributes(){return{links:{default:[],parseHTML:element=>{let links=element.getElementsByTagName(`a`),parsedLinks=[];for(let i=0;i<links.length;i++){let link=links[i],href=link.getAttribute(`href`),name=link.textContent,regexResult=href.match(/([^/]+$)/),dataDocumentId=link.getAttribute(`data-document-id`)||regexResult&&regexResult[0],dataContentType=link.getAttribute(`data-content-type`);parsedLinks.push({href,name,dataDocumentId,dataContentType})}return parsedLinks},renderHTML:attributes=>({links:attributes.links.map(link=>({href:link.href,name:link.name,"data-document-id":link.dataDocumentId,"data-content-type":link.dataContentType}))})}}},addCommands(){return{setAttachment:(attrs={dataContentType:``,name:``,documentId:``,href:``})=>({chain})=>chain().insertContent({type:this.name,attrs}).run()}}});export{AttachmentTransformer};
2
+ //# sourceMappingURL=attachment-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-transformer.js","sources":["../../src/attachment/attachment-transformer.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment: any) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType;\n };\n }\n}\n\nexport const AttachmentTransformer = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'inline',\n inline: true,\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n };\n },\n});\n"],"names":[],"mappings":";AAeO,MAAM,wBAAwB,KAAK,OAA0B;AAAA,EAClE,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EAEX,aAAa;AACX,WAAO;AAAA,MACL,gBAAgB;AAAA,QACd,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,EAEJ;AAAA,EAEA,YAAY;AACV,WAAO,CAAC,EAAE,KAAK,0BAA0B;AAAA,EAC3C;AAAA,EAEA,WAAW,EAAE,kBAAkB;AAG7B,UAAM,gBAFQ,eAAe,MAED,IAAI,CAAC,OACxB;AAAA,MACL;AAAA,MACA;AAAA,QACE,MAAQ,GAAG;AAAA,QACX,MAAQ,GAAG;AAAA,QACX,oBAAoB,GAAG,kBAAkB;AAAA,QACzC,qBAAqB,GAAG,mBAAmB;AAAA,MAAA;AAAA,MAE7C,GAAG;AAAA,IAAA,CAEN;AAED,WAAO,CAAC,OAAO,KAAK,QAAQ,gBAAgB,GAAG,aAAa;AAAA,EAC9D;AAAA,EAEA,gBAAgB;AACd,WAAO;AAAA,MACL,OAAO;AAAA,QACL,SAAS,CAAA;AAAA,QACT,WAAW,CAAC,YAAY;AACtB,gBAAM,QAAQ,QAAQ,qBAAqB,GAAG,GACxC,cAAc,CAAA;AAEpB,mBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,kBAAM,OAAO,MAAM,CAAC,GACd,OAAO,KAAK,aAAa,MAAM,GAC/B,OAAO,KAAK,aACZ,cAAc,KAAK,MAAM,UAAU,GACnC,iBACJ,KAAK,aAAa,kBAAkB,KACnC,eAAe,YAAY,CAAC,GACzB,kBAAkB,KAAK,aAAa,mBAAmB;AAE7D,wBAAY,KAAK;AAAA,cACf;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YAAA,CACD;AAAA,UACH;AAEA,iBAAO;AAAA,QACT;AAAA,QACA,YAAY,CAAC,gBACJ;AAAA,UACL,OAAO,WAAW,MAAM,IAAI,CAAC,UAAU;AAAA,YACrC,MAAQ,KAAK;AAAA,YACb,MAAQ,KAAK;AAAA,YACb,oBAAoB,KAAK;AAAA,YACzB,qBAAqB,KAAK;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEN;AAAA,IACF;AAAA,EAEJ;AAAA,EAEA,cAAc;AACZ,WAAO;AAAA,MACL,eACE,CACE,QAAQ;AAAA,QACN,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,MAAM;AAAA,MAAA,MAGV,CAAC,EAAE,YACM,MAAA,EAAQ,cAAc,EAAE,MAAM,KAAK,MAAM,OAAO,EAAE,IAAA;AAAA,IAC3D;AAAA,EAEN;AACF,CAAC;"}
1
+ {"version":3,"file":"attachment-transformer.js","names":[],"sources":["../../src/attachment/attachment-transformer.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment: any) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType;\n };\n }\n}\n\nexport const AttachmentTransformer = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'inline',\n inline: true,\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n };\n },\n});\n"],"mappings":"+BAeA,IAAa,sBAAwB,KAAK,OAA0B,CAClE,KAAM,cACN,QAAS,GACT,MAAO,GACP,MAAO,SACP,OAAQ,GACR,WAAY,GACZ,KAAM,GACN,UAAW,GAEX,YAAa,CACX,MAAO,CACL,eAAgB,CACd,MAAO,aACT,CACF,CACF,EAEA,WAAY,CACV,MAAO,CAAC,CAAE,IAAK,wBAAyB,CAAC,CAC3C,EAEA,WAAW,CAAE,gBAAkB,CAG7B,IAAM,cAFQ,eAAe,MAED,IAAK,IACxB,CACL,IACA,CACE,KAAQ,GAAG,KACX,KAAQ,GAAG,KACX,mBAAoB,GAAG,oBACvB,oBAAqB,GAAG,oBAC1B,EACA,GAAG,IACL,CACD,EAED,MAAO,CAAC,MAAO,KAAK,QAAQ,eAAgB,GAAG,aAAa,CAC9D,EAEA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,CAAC,EACV,UAAY,SAAY,CACtB,IAAM,MAAQ,QAAQ,qBAAqB,GAAG,EACxC,YAAc,CAAC,EAErB,IAAK,IAAI,EAAI,EAAG,EAAI,MAAM,OAAQ,IAAK,CACrC,IAAM,KAAO,MAAM,GACb,KAAO,KAAK,aAAa,MAAM,EAC/B,KAAO,KAAK,YACZ,YAAc,KAAK,MAAM,UAAU,EACnC,eACJ,KAAK,aAAa,kBAAkB,GACnC,aAAe,YAAY,GACxB,gBAAkB,KAAK,aAAa,mBAAmB,EAE7D,YAAY,KAAK,CACT,KACA,KACN,eACA,eACF,CAAC,CACH,CAEA,OAAO,WACT,EACA,WAAa,aACJ,CACL,MAAO,WAAW,MAAM,IAAK,OAAU,CACrC,KAAQ,KAAK,KACb,KAAQ,KAAK,KACb,mBAAoB,KAAK,eACzB,oBAAqB,KAAK,eAC5B,EAAE,CACJ,EAEJ,CACF,CACF,EAEA,aAAc,CACZ,MAAO,CACL,eAEI,MAAQ,CACN,gBAAiB,GACjB,KAAM,GACN,WAAY,GACZ,KAAM,EACR,KAED,CAAE,SACM,MAAM,EAAE,cAAc,CAAE,KAAM,KAAK,KAAM,KAAM,CAAC,EAAE,IAAI,CAEnE,CACF,CACF,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@tiptap/core"),Attachment=core.Node.create({name:"attachments",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){return{HTMLAttributes:{class:"attachments"}}},parseHTML(){return[{tag:"div[class=attachments]"}]},renderHTML({HTMLAttributes}){const renderedLinks=HTMLAttributes.links.map(el=>["a",{name:el.name,href:el.href,"data-document-id":el["data-document-id"],"data-content-type":el["data-content-type"]},el.name]);return["div",this.options.HTMLAttributes,...renderedLinks]},addAttributes(){return{links:{default:[],parseHTML:element=>{const links=element.getElementsByTagName("a"),parsedLinks=[];for(let i=0;i<links.length;i++){const link=links[i],href=link.getAttribute("href"),name=link.textContent,regexResult=href.match(/([^/]+$)/),dataDocumentId=link.getAttribute("data-document-id")||regexResult&&regexResult[0],dataContentType=link.getAttribute("data-content-type");parsedLinks.push({href,name,dataDocumentId,dataContentType})}return parsedLinks},renderHTML:attributes=>({links:attributes.links.map(link=>({href:link.href,name:link.name,"data-document-id":link.dataDocumentId,"data-content-type":link.dataContentType}))})}}},addCommands(){return{setAttachment:(attrs={dataContentType:"",name:"",documentId:"",href:""})=>({chain})=>chain().insertContent({type:this.name,attrs}).run(),unsetAttachment:documentId=>({state,dispatch})=>{let transaction=state.tr,hasChanged=!1;return state.doc.descendants((node,pos)=>{if(node.type.name!==this.name)return!0;const mappedPos=transaction.mapping.map(pos),links=node.attrs.links??[],newLinks=links.filter(link=>{const linkDocumentId=link.dataDocumentId??link.documentId??link["data-document-id"]??link.href;return String(linkDocumentId??"")!==String(documentId??"")});if(newLinks.length===links.length)return!0;if(hasChanged=!0,newLinks.length>0)transaction=transaction.setNodeMarkup(mappedPos,void 0,{...node.attrs,links:newLinks});else{const mappedEnd=transaction.mapping.map(pos+node.nodeSize);transaction=transaction.delete(mappedPos,mappedEnd)}return!1}),hasChanged&&dispatch&&dispatch(transaction),hasChanged}}}});exports.Attachment=Attachment;
2
- //# sourceMappingURL=attachment.cjs.map
1
+ var Attachment=require("@tiptap/core").Node.create({name:`attachments`,content:``,marks:``,group:`block`,selectable:!0,atom:!0,draggable:!0,addOptions(){return{HTMLAttributes:{class:`attachments`}}},parseHTML(){return[{tag:`div[class=attachments]`}]},renderHTML({HTMLAttributes}){let renderedLinks=HTMLAttributes.links.map(el=>[`a`,{name:el.name,href:el.href,"data-document-id":el[`data-document-id`],"data-content-type":el[`data-content-type`]},el.name]);return[`div`,this.options.HTMLAttributes,...renderedLinks]},addAttributes(){return{links:{default:[],parseHTML:element=>{let links=element.getElementsByTagName(`a`),parsedLinks=[];for(let i=0;i<links.length;i++){let link=links[i],href=link.getAttribute(`href`),name=link.textContent,regexResult=href.match(/([^/]+$)/),dataDocumentId=link.getAttribute(`data-document-id`)||regexResult&&regexResult[0],dataContentType=link.getAttribute(`data-content-type`);parsedLinks.push({href,name,dataDocumentId,dataContentType})}return parsedLinks},renderHTML:attributes=>({links:attributes.links.map(link=>({href:link.href,name:link.name,"data-document-id":link.dataDocumentId,"data-content-type":link.dataContentType}))})}}},addCommands(){return{setAttachment:(attrs={dataContentType:``,name:``,documentId:``,href:``})=>({chain})=>chain().insertContent({type:this.name,attrs}).run(),unsetAttachment:documentId=>({state,dispatch})=>{let transaction=state.tr,hasChanged=!1;return state.doc.descendants((node,pos)=>{if(node.type.name!==this.name)return!0;let mappedPos=transaction.mapping.map(pos),links=node.attrs.links??[],newLinks=links.filter(link=>{let linkDocumentId=link.dataDocumentId??link.documentId??link[`data-document-id`]??link.href;return String(linkDocumentId??``)!==String(documentId??``)});if(newLinks.length===links.length)return!0;if(hasChanged=!0,newLinks.length>0)transaction=transaction.setNodeMarkup(mappedPos,void 0,{...node.attrs,links:newLinks});else{let mappedEnd=transaction.mapping.map(pos+node.nodeSize);transaction=transaction.delete(mappedPos,mappedEnd)}return!1}),hasChanged&&dispatch&&dispatch(transaction),hasChanged}}}});exports.Attachment=Attachment;
2
+ //# sourceMappingURL=attachment.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.cjs","sources":["../../src/attachment/attachment.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType; // Modification de la commande\n };\n }\n}\ninterface AttachmentAttrsProps {\n name: string;\n href: string;\n dataDocumentId: string;\n dataContentType: string;\n}\n\nexport const Attachment = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'block',\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks: AttachmentAttrsProps[] = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link: AttachmentAttrsProps) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n unsetAttachment:\n (documentId: string) =>\n ({ state, dispatch }) => {\n let transaction = state.tr;\n let hasChanged = false;\n\n state.doc.descendants((node, pos) => {\n if (node.type.name !== this.name) {\n return true;\n }\n\n const mappedPos = transaction.mapping.map(pos);\n\n const links = node.attrs.links ?? [];\n const newLinks = links.filter((link) => {\n const linkDocumentId =\n link.dataDocumentId ??\n link.documentId ??\n link['data-document-id'] ??\n link.href;\n return String(linkDocumentId ?? '') !== String(documentId ?? '');\n });\n\n if (newLinks.length === links.length) {\n return true;\n }\n\n hasChanged = true;\n\n if (newLinks.length > 0) {\n transaction = transaction.setNodeMarkup(mappedPos, undefined, {\n ...node.attrs,\n links: newLinks,\n });\n } else {\n const mappedEnd = transaction.mapping.map(pos + node.nodeSize);\n transaction = transaction.delete(mappedPos, mappedEnd);\n }\n\n return false;\n });\n\n if (hasChanged && dispatch) {\n dispatch(transaction);\n }\n\n return hasChanged;\n },\n };\n },\n});\n"],"names":["Node"],"mappings":"mHAqBa,WAAaA,KAAAA,KAAK,OAA0B,CACvD,KAAM,cACN,QAAS,GACT,MAAO,GACP,MAAO,QACP,WAAY,GACZ,KAAM,GACN,UAAW,GAEX,YAAa,CACX,MAAO,CACL,eAAgB,CACd,MAAO,aAAA,CACT,CAEJ,EAEA,WAAY,CACV,MAAO,CAAC,CAAE,IAAK,yBAA0B,CAC3C,EAEA,WAAW,CAAE,gBAAkB,CAG7B,MAAM,cAFQ,eAAe,MAED,IAAK,IACxB,CACL,IACA,CACE,KAAQ,GAAG,KACX,KAAQ,GAAG,KACX,mBAAoB,GAAG,kBAAkB,EACzC,oBAAqB,GAAG,mBAAmB,CAAA,EAE7C,GAAG,IAAA,CAEN,EAED,MAAO,CAAC,MAAO,KAAK,QAAQ,eAAgB,GAAG,aAAa,CAC9D,EAEA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,CAAA,EACT,UAAY,SAAY,CACtB,MAAM,MAAQ,QAAQ,qBAAqB,GAAG,EACxC,YAAsC,CAAA,EAE5C,QAAS,EAAI,EAAG,EAAI,MAAM,OAAQ,IAAK,CACrC,MAAM,KAAO,MAAM,CAAC,EACd,KAAO,KAAK,aAAa,MAAM,EAC/B,KAAO,KAAK,YACZ,YAAc,KAAK,MAAM,UAAU,EACnC,eACJ,KAAK,aAAa,kBAAkB,GACnC,aAAe,YAAY,CAAC,EACzB,gBAAkB,KAAK,aAAa,mBAAmB,EAE7D,YAAY,KAAK,CACf,KACA,KACA,eACA,eAAA,CACD,CACH,CAEA,OAAO,WACT,EACA,WAAa,aACJ,CACL,MAAO,WAAW,MAAM,IAAK,OAAgC,CAC3D,KAAQ,KAAK,KACb,KAAQ,KAAK,KACb,mBAAoB,KAAK,eACzB,oBAAqB,KAAK,eAAA,EAC1B,CAAA,EAEN,CACF,CAEJ,EAEA,aAAc,CACZ,MAAO,CACL,cACE,CACE,MAAQ,CACN,gBAAiB,GACjB,KAAM,GACN,WAAY,GACZ,KAAM,EAAA,IAGV,CAAC,CAAE,SACM,MAAA,EAAQ,cAAc,CAAE,KAAM,KAAK,KAAM,MAAO,EAAE,IAAA,EAE7D,gBACG,YACD,CAAC,CAAE,MAAO,YAAe,CACvB,IAAI,YAAc,MAAM,GACpB,WAAa,GAEjB,aAAM,IAAI,YAAY,CAAC,KAAM,MAAQ,CACnC,GAAI,KAAK,KAAK,OAAS,KAAK,KAC1B,MAAO,GAGT,MAAM,UAAY,YAAY,QAAQ,IAAI,GAAG,EAEvC,MAAQ,KAAK,MAAM,OAAS,CAAA,EAC5B,SAAW,MAAM,OAAQ,MAAS,CACtC,MAAM,eACJ,KAAK,gBACL,KAAK,YACL,KAAK,kBAAkB,GACvB,KAAK,KACP,OAAO,OAAO,gBAAkB,EAAE,IAAM,OAAO,YAAc,EAAE,CACjE,CAAC,EAED,GAAI,SAAS,SAAW,MAAM,OAC5B,MAAO,GAKT,GAFA,WAAa,GAET,SAAS,OAAS,EACpB,YAAc,YAAY,cAAc,UAAW,OAAW,CAC5D,GAAG,KAAK,MACR,MAAO,QAAA,CACR,MACI,CACL,MAAM,UAAY,YAAY,QAAQ,IAAI,IAAM,KAAK,QAAQ,EAC7D,YAAc,YAAY,OAAO,UAAW,SAAS,CACvD,CAEA,MAAO,EACT,CAAC,EAEG,YAAc,UAChB,SAAS,WAAW,EAGf,UACT,CAAA,CAEN,CACF,CAAC"}
1
+ {"version":3,"file":"attachment.cjs","names":[],"sources":["../../src/attachment/attachment.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType; // Modification de la commande\n };\n }\n}\ninterface AttachmentAttrsProps {\n name: string;\n href: string;\n dataDocumentId: string;\n dataContentType: string;\n}\n\nexport const Attachment = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'block',\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks: AttachmentAttrsProps[] = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link: AttachmentAttrsProps) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n unsetAttachment:\n (documentId: string) =>\n ({ state, dispatch }) => {\n let transaction = state.tr;\n let hasChanged = false;\n\n state.doc.descendants((node, pos) => {\n if (node.type.name !== this.name) {\n return true;\n }\n\n const mappedPos = transaction.mapping.map(pos);\n\n const links = node.attrs.links ?? [];\n const newLinks = links.filter((link) => {\n const linkDocumentId =\n link.dataDocumentId ??\n link.documentId ??\n link['data-document-id'] ??\n link.href;\n return String(linkDocumentId ?? '') !== String(documentId ?? '');\n });\n\n if (newLinks.length === links.length) {\n return true;\n }\n\n hasChanged = true;\n\n if (newLinks.length > 0) {\n transaction = transaction.setNodeMarkup(mappedPos, undefined, {\n ...node.attrs,\n links: newLinks,\n });\n } else {\n const mappedEnd = transaction.mapping.map(pos + node.nodeSize);\n transaction = transaction.delete(mappedPos, mappedEnd);\n }\n\n return false;\n });\n\n if (hasChanged && dispatch) {\n dispatch(transaction);\n }\n\n return hasChanged;\n },\n };\n },\n});\n"],"mappings":"AAqBA,IAAa,iCAAa,EAAA,KAAK,OAA0B,CACvD,KAAM,cACN,QAAS,GACT,MAAO,GACP,MAAO,QACP,WAAY,GACZ,KAAM,GACN,UAAW,GAEX,YAAa,CACX,MAAO,CACL,eAAgB,CACd,MAAO,aACT,CACF,CACF,EAEA,WAAY,CACV,MAAO,CAAC,CAAE,IAAK,wBAAyB,CAAC,CAC3C,EAEA,WAAW,CAAE,gBAAkB,CAG7B,IAAM,cAFQ,eAAe,MAED,IAAK,IACxB,CACL,IACA,CACE,KAAQ,GAAG,KACX,KAAQ,GAAG,KACX,mBAAoB,GAAG,oBACvB,oBAAqB,GAAG,oBAC1B,EACA,GAAG,IACL,CACD,EAED,MAAO,CAAC,MAAO,KAAK,QAAQ,eAAgB,GAAG,aAAa,CAC9D,EAEA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,CAAC,EACV,UAAY,SAAY,CACtB,IAAM,MAAQ,QAAQ,qBAAqB,GAAG,EACxC,YAAsC,CAAC,EAE7C,IAAK,IAAI,EAAI,EAAG,EAAI,MAAM,OAAQ,IAAK,CACrC,IAAM,KAAO,MAAM,GACb,KAAO,KAAK,aAAa,MAAM,EAC/B,KAAO,KAAK,YACZ,YAAc,KAAK,MAAM,UAAU,EACnC,eACJ,KAAK,aAAa,kBAAkB,GACnC,aAAe,YAAY,GACxB,gBAAkB,KAAK,aAAa,mBAAmB,EAE7D,YAAY,KAAK,CACT,KACA,KACN,eACA,eACF,CAAC,CACH,CAEA,OAAO,WACT,EACA,WAAa,aACJ,CACL,MAAO,WAAW,MAAM,IAAK,OAAgC,CAC3D,KAAQ,KAAK,KACb,KAAQ,KAAK,KACb,mBAAoB,KAAK,eACzB,oBAAqB,KAAK,eAC5B,EAAE,CACJ,EAEJ,CACF,CACF,EAEA,aAAc,CACZ,MAAO,CACL,eAEI,MAAQ,CACN,gBAAiB,GACjB,KAAM,GACN,WAAY,GACZ,KAAM,EACR,KAED,CAAE,SACM,MAAM,EAAE,cAAc,CAAE,KAAM,KAAK,KAAM,KAAM,CAAC,EAAE,IAAI,EAEjE,gBACG,aACA,CAAE,MAAO,YAAe,CACvB,IAAI,YAAc,MAAM,GACpB,WAAa,GA0CjB,OAxCA,MAAM,IAAI,aAAa,KAAM,MAAQ,CACnC,GAAI,KAAK,KAAK,OAAS,KAAK,KAC1B,MAAO,GAGT,IAAM,UAAY,YAAY,QAAQ,IAAI,GAAG,EAEvC,MAAQ,KAAK,MAAM,OAAS,CAAC,EAC7B,SAAW,MAAM,OAAQ,MAAS,CACtC,IAAM,eACJ,KAAK,gBACL,KAAK,YACL,KAAK,qBACL,KAAK,KACP,OAAO,OAAO,gBAAkB,EAAE,IAAM,OAAO,YAAc,EAAE,CACjE,CAAC,EAED,GAAI,SAAS,SAAW,MAAM,OAC5B,MAAO,GAKT,GAFA,WAAa,GAET,SAAS,OAAS,EACpB,YAAc,YAAY,cAAc,UAAW,IAAA,GAAW,CAC5D,GAAG,KAAK,MACR,MAAO,QACT,CAAC,MACI,CACL,IAAM,UAAY,YAAY,QAAQ,IAAI,IAAM,KAAK,QAAQ,EAC7D,YAAc,YAAY,OAAO,UAAW,SAAS,CACvD,CAEA,MAAO,EACT,CAAC,EAEG,YAAc,UAChB,SAAS,WAAW,EAGf,UACT,CACJ,CACF,CACF,CAAC"}
@@ -1,98 +1,2 @@
1
- import { Node } from "@tiptap/core";
2
- const Attachment = Node.create({
3
- name: "attachments",
4
- content: "",
5
- marks: "",
6
- group: "block",
7
- selectable: !0,
8
- atom: !0,
9
- draggable: !0,
10
- addOptions() {
11
- return {
12
- HTMLAttributes: {
13
- class: "attachments"
14
- }
15
- };
16
- },
17
- parseHTML() {
18
- return [{ tag: "div[class=attachments]" }];
19
- },
20
- renderHTML({ HTMLAttributes }) {
21
- const renderedLinks = HTMLAttributes.links.map((el) => [
22
- "a",
23
- {
24
- name: el.name,
25
- href: el.href,
26
- "data-document-id": el["data-document-id"],
27
- "data-content-type": el["data-content-type"]
28
- },
29
- el.name
30
- ]);
31
- return ["div", this.options.HTMLAttributes, ...renderedLinks];
32
- },
33
- addAttributes() {
34
- return {
35
- links: {
36
- default: [],
37
- parseHTML: (element) => {
38
- const links = element.getElementsByTagName("a"), parsedLinks = [];
39
- for (let i = 0; i < links.length; i++) {
40
- const link = links[i], href = link.getAttribute("href"), name = link.textContent, regexResult = href.match(/([^/]+$)/), dataDocumentId = link.getAttribute("data-document-id") || regexResult && regexResult[0], dataContentType = link.getAttribute("data-content-type");
41
- parsedLinks.push({
42
- href,
43
- name,
44
- dataDocumentId,
45
- dataContentType
46
- });
47
- }
48
- return parsedLinks;
49
- },
50
- renderHTML: (attributes) => ({
51
- links: attributes.links.map((link) => ({
52
- href: link.href,
53
- name: link.name,
54
- "data-document-id": link.dataDocumentId,
55
- "data-content-type": link.dataContentType
56
- }))
57
- })
58
- }
59
- };
60
- },
61
- addCommands() {
62
- return {
63
- setAttachment: (attrs = {
64
- dataContentType: "",
65
- name: "",
66
- documentId: "",
67
- href: ""
68
- }) => ({ chain }) => chain().insertContent({ type: this.name, attrs }).run(),
69
- unsetAttachment: (documentId) => ({ state, dispatch }) => {
70
- let transaction = state.tr, hasChanged = !1;
71
- return state.doc.descendants((node, pos) => {
72
- if (node.type.name !== this.name)
73
- return !0;
74
- const mappedPos = transaction.mapping.map(pos), links = node.attrs.links ?? [], newLinks = links.filter((link) => {
75
- const linkDocumentId = link.dataDocumentId ?? link.documentId ?? link["data-document-id"] ?? link.href;
76
- return String(linkDocumentId ?? "") !== String(documentId ?? "");
77
- });
78
- if (newLinks.length === links.length)
79
- return !0;
80
- if (hasChanged = !0, newLinks.length > 0)
81
- transaction = transaction.setNodeMarkup(mappedPos, void 0, {
82
- ...node.attrs,
83
- links: newLinks
84
- });
85
- else {
86
- const mappedEnd = transaction.mapping.map(pos + node.nodeSize);
87
- transaction = transaction.delete(mappedPos, mappedEnd);
88
- }
89
- return !1;
90
- }), hasChanged && dispatch && dispatch(transaction), hasChanged;
91
- }
92
- };
93
- }
94
- });
95
- export {
96
- Attachment
97
- };
98
- //# sourceMappingURL=attachment.js.map
1
+ import{Node}from"@tiptap/core";var Attachment=Node.create({name:`attachments`,content:``,marks:``,group:`block`,selectable:!0,atom:!0,draggable:!0,addOptions(){return{HTMLAttributes:{class:`attachments`}}},parseHTML(){return[{tag:`div[class=attachments]`}]},renderHTML({HTMLAttributes}){let renderedLinks=HTMLAttributes.links.map(el=>[`a`,{name:el.name,href:el.href,"data-document-id":el[`data-document-id`],"data-content-type":el[`data-content-type`]},el.name]);return[`div`,this.options.HTMLAttributes,...renderedLinks]},addAttributes(){return{links:{default:[],parseHTML:element=>{let links=element.getElementsByTagName(`a`),parsedLinks=[];for(let i=0;i<links.length;i++){let link=links[i],href=link.getAttribute(`href`),name=link.textContent,regexResult=href.match(/([^/]+$)/),dataDocumentId=link.getAttribute(`data-document-id`)||regexResult&&regexResult[0],dataContentType=link.getAttribute(`data-content-type`);parsedLinks.push({href,name,dataDocumentId,dataContentType})}return parsedLinks},renderHTML:attributes=>({links:attributes.links.map(link=>({href:link.href,name:link.name,"data-document-id":link.dataDocumentId,"data-content-type":link.dataContentType}))})}}},addCommands(){return{setAttachment:(attrs={dataContentType:``,name:``,documentId:``,href:``})=>({chain})=>chain().insertContent({type:this.name,attrs}).run(),unsetAttachment:documentId=>({state,dispatch})=>{let transaction=state.tr,hasChanged=!1;return state.doc.descendants((node,pos)=>{if(node.type.name!==this.name)return!0;let mappedPos=transaction.mapping.map(pos),links=node.attrs.links??[],newLinks=links.filter(link=>{let linkDocumentId=link.dataDocumentId??link.documentId??link[`data-document-id`]??link.href;return String(linkDocumentId??``)!==String(documentId??``)});if(newLinks.length===links.length)return!0;if(hasChanged=!0,newLinks.length>0)transaction=transaction.setNodeMarkup(mappedPos,void 0,{...node.attrs,links:newLinks});else{let mappedEnd=transaction.mapping.map(pos+node.nodeSize);transaction=transaction.delete(mappedPos,mappedEnd)}return!1}),hasChanged&&dispatch&&dispatch(transaction),hasChanged}}}});export{Attachment};
2
+ //# sourceMappingURL=attachment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sources":["../../src/attachment/attachment.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType; // Modification de la commande\n };\n }\n}\ninterface AttachmentAttrsProps {\n name: string;\n href: string;\n dataDocumentId: string;\n dataContentType: string;\n}\n\nexport const Attachment = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'block',\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks: AttachmentAttrsProps[] = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link: AttachmentAttrsProps) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n unsetAttachment:\n (documentId: string) =>\n ({ state, dispatch }) => {\n let transaction = state.tr;\n let hasChanged = false;\n\n state.doc.descendants((node, pos) => {\n if (node.type.name !== this.name) {\n return true;\n }\n\n const mappedPos = transaction.mapping.map(pos);\n\n const links = node.attrs.links ?? [];\n const newLinks = links.filter((link) => {\n const linkDocumentId =\n link.dataDocumentId ??\n link.documentId ??\n link['data-document-id'] ??\n link.href;\n return String(linkDocumentId ?? '') !== String(documentId ?? '');\n });\n\n if (newLinks.length === links.length) {\n return true;\n }\n\n hasChanged = true;\n\n if (newLinks.length > 0) {\n transaction = transaction.setNodeMarkup(mappedPos, undefined, {\n ...node.attrs,\n links: newLinks,\n });\n } else {\n const mappedEnd = transaction.mapping.map(pos + node.nodeSize);\n transaction = transaction.delete(mappedPos, mappedEnd);\n }\n\n return false;\n });\n\n if (hasChanged && dispatch) {\n dispatch(transaction);\n }\n\n return hasChanged;\n },\n };\n },\n});\n"],"names":[],"mappings":";AAqBO,MAAM,aAAa,KAAK,OAA0B;AAAA,EACvD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,WAAW;AAAA,EAEX,aAAa;AACX,WAAO;AAAA,MACL,gBAAgB;AAAA,QACd,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,EAEJ;AAAA,EAEA,YAAY;AACV,WAAO,CAAC,EAAE,KAAK,0BAA0B;AAAA,EAC3C;AAAA,EAEA,WAAW,EAAE,kBAAkB;AAG7B,UAAM,gBAFQ,eAAe,MAED,IAAI,CAAC,OACxB;AAAA,MACL;AAAA,MACA;AAAA,QACE,MAAQ,GAAG;AAAA,QACX,MAAQ,GAAG;AAAA,QACX,oBAAoB,GAAG,kBAAkB;AAAA,QACzC,qBAAqB,GAAG,mBAAmB;AAAA,MAAA;AAAA,MAE7C,GAAG;AAAA,IAAA,CAEN;AAED,WAAO,CAAC,OAAO,KAAK,QAAQ,gBAAgB,GAAG,aAAa;AAAA,EAC9D;AAAA,EAEA,gBAAgB;AACd,WAAO;AAAA,MACL,OAAO;AAAA,QACL,SAAS,CAAA;AAAA,QACT,WAAW,CAAC,YAAY;AACtB,gBAAM,QAAQ,QAAQ,qBAAqB,GAAG,GACxC,cAAsC,CAAA;AAE5C,mBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,kBAAM,OAAO,MAAM,CAAC,GACd,OAAO,KAAK,aAAa,MAAM,GAC/B,OAAO,KAAK,aACZ,cAAc,KAAK,MAAM,UAAU,GACnC,iBACJ,KAAK,aAAa,kBAAkB,KACnC,eAAe,YAAY,CAAC,GACzB,kBAAkB,KAAK,aAAa,mBAAmB;AAE7D,wBAAY,KAAK;AAAA,cACf;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YAAA,CACD;AAAA,UACH;AAEA,iBAAO;AAAA,QACT;AAAA,QACA,YAAY,CAAC,gBACJ;AAAA,UACL,OAAO,WAAW,MAAM,IAAI,CAAC,UAAgC;AAAA,YAC3D,MAAQ,KAAK;AAAA,YACb,MAAQ,KAAK;AAAA,YACb,oBAAoB,KAAK;AAAA,YACzB,qBAAqB,KAAK;AAAA,UAAA,EAC1B;AAAA,QAAA;AAAA,MAEN;AAAA,IACF;AAAA,EAEJ;AAAA,EAEA,cAAc;AACZ,WAAO;AAAA,MACL,eACE,CACE,QAAQ;AAAA,QACN,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,MAAM;AAAA,MAAA,MAGV,CAAC,EAAE,YACM,MAAA,EAAQ,cAAc,EAAE,MAAM,KAAK,MAAM,OAAO,EAAE,IAAA;AAAA,MAE7D,iBACE,CAAC,eACD,CAAC,EAAE,OAAO,eAAe;AACvB,YAAI,cAAc,MAAM,IACpB,aAAa;AAEjB,qBAAM,IAAI,YAAY,CAAC,MAAM,QAAQ;AACnC,cAAI,KAAK,KAAK,SAAS,KAAK;AAC1B,mBAAO;AAGT,gBAAM,YAAY,YAAY,QAAQ,IAAI,GAAG,GAEvC,QAAQ,KAAK,MAAM,SAAS,CAAA,GAC5B,WAAW,MAAM,OAAO,CAAC,SAAS;AACtC,kBAAM,iBACJ,KAAK,kBACL,KAAK,cACL,KAAK,kBAAkB,KACvB,KAAK;AACP,mBAAO,OAAO,kBAAkB,EAAE,MAAM,OAAO,cAAc,EAAE;AAAA,UACjE,CAAC;AAED,cAAI,SAAS,WAAW,MAAM;AAC5B,mBAAO;AAKT,cAFA,aAAa,IAET,SAAS,SAAS;AACpB,0BAAc,YAAY,cAAc,WAAW,QAAW;AAAA,cAC5D,GAAG,KAAK;AAAA,cACR,OAAO;AAAA,YAAA,CACR;AAAA,eACI;AACL,kBAAM,YAAY,YAAY,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAC7D,0BAAc,YAAY,OAAO,WAAW,SAAS;AAAA,UACvD;AAEA,iBAAO;AAAA,QACT,CAAC,GAEG,cAAc,YAChB,SAAS,WAAW,GAGf;AAAA,MACT;AAAA,IAAA;AAAA,EAEN;AACF,CAAC;"}
1
+ {"version":3,"file":"attachment.js","names":[],"sources":["../../src/attachment/attachment.ts"],"sourcesContent":["import { Node } from '@tiptap/core';\n\nexport interface AttachmentOptions {\n HTMLAttributes: Record<string, string>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n attachment: {\n setAttachment: (attachment) => ReturnType;\n unsetAttachment: (documentId: string) => ReturnType; // Modification de la commande\n };\n }\n}\ninterface AttachmentAttrsProps {\n name: string;\n href: string;\n dataDocumentId: string;\n dataContentType: string;\n}\n\nexport const Attachment = Node.create<AttachmentOptions>({\n name: 'attachments',\n content: '',\n marks: '',\n group: 'block',\n selectable: true,\n atom: true,\n draggable: true,\n\n addOptions() {\n return {\n HTMLAttributes: {\n class: 'attachments',\n },\n };\n },\n\n parseHTML() {\n return [{ tag: 'div[class=attachments]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n const links = HTMLAttributes.links;\n\n const renderedLinks = links.map((el) => {\n return [\n 'a',\n {\n 'name': el.name,\n 'href': el.href,\n 'data-document-id': el['data-document-id'],\n 'data-content-type': el['data-content-type'],\n },\n el.name,\n ];\n });\n\n return ['div', this.options.HTMLAttributes, ...renderedLinks];\n },\n\n addAttributes() {\n return {\n links: {\n default: [],\n parseHTML: (element) => {\n const links = element.getElementsByTagName('a');\n const parsedLinks: AttachmentAttrsProps[] = [];\n\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n const href = link.getAttribute('href');\n const name = link.textContent;\n const regexResult = href.match(/([^/]+$)/);\n const dataDocumentId =\n link.getAttribute('data-document-id') ||\n (regexResult && regexResult[0]);\n const dataContentType = link.getAttribute('data-content-type');\n\n parsedLinks.push({\n href: href,\n name: name,\n dataDocumentId,\n dataContentType,\n });\n }\n\n return parsedLinks;\n },\n renderHTML: (attributes) => {\n return {\n links: attributes.links.map((link: AttachmentAttrsProps) => ({\n 'href': link.href,\n 'name': link.name,\n 'data-document-id': link.dataDocumentId,\n 'data-content-type': link.dataContentType,\n })),\n };\n },\n },\n };\n },\n\n addCommands() {\n return {\n setAttachment:\n (\n attrs = {\n dataContentType: '',\n name: '',\n documentId: '',\n href: '',\n },\n ) =>\n ({ chain }) => {\n return chain().insertContent({ type: this.name, attrs }).run();\n },\n unsetAttachment:\n (documentId: string) =>\n ({ state, dispatch }) => {\n let transaction = state.tr;\n let hasChanged = false;\n\n state.doc.descendants((node, pos) => {\n if (node.type.name !== this.name) {\n return true;\n }\n\n const mappedPos = transaction.mapping.map(pos);\n\n const links = node.attrs.links ?? [];\n const newLinks = links.filter((link) => {\n const linkDocumentId =\n link.dataDocumentId ??\n link.documentId ??\n link['data-document-id'] ??\n link.href;\n return String(linkDocumentId ?? '') !== String(documentId ?? '');\n });\n\n if (newLinks.length === links.length) {\n return true;\n }\n\n hasChanged = true;\n\n if (newLinks.length > 0) {\n transaction = transaction.setNodeMarkup(mappedPos, undefined, {\n ...node.attrs,\n links: newLinks,\n });\n } else {\n const mappedEnd = transaction.mapping.map(pos + node.nodeSize);\n transaction = transaction.delete(mappedPos, mappedEnd);\n }\n\n return false;\n });\n\n if (hasChanged && dispatch) {\n dispatch(transaction);\n }\n\n return hasChanged;\n },\n };\n },\n});\n"],"mappings":"+BAqBA,IAAa,WAAa,KAAK,OAA0B,CACvD,KAAM,cACN,QAAS,GACT,MAAO,GACP,MAAO,QACP,WAAY,GACZ,KAAM,GACN,UAAW,GAEX,YAAa,CACX,MAAO,CACL,eAAgB,CACd,MAAO,aACT,CACF,CACF,EAEA,WAAY,CACV,MAAO,CAAC,CAAE,IAAK,wBAAyB,CAAC,CAC3C,EAEA,WAAW,CAAE,gBAAkB,CAG7B,IAAM,cAFQ,eAAe,MAED,IAAK,IACxB,CACL,IACA,CACE,KAAQ,GAAG,KACX,KAAQ,GAAG,KACX,mBAAoB,GAAG,oBACvB,oBAAqB,GAAG,oBAC1B,EACA,GAAG,IACL,CACD,EAED,MAAO,CAAC,MAAO,KAAK,QAAQ,eAAgB,GAAG,aAAa,CAC9D,EAEA,eAAgB,CACd,MAAO,CACL,MAAO,CACL,QAAS,CAAC,EACV,UAAY,SAAY,CACtB,IAAM,MAAQ,QAAQ,qBAAqB,GAAG,EACxC,YAAsC,CAAC,EAE7C,IAAK,IAAI,EAAI,EAAG,EAAI,MAAM,OAAQ,IAAK,CACrC,IAAM,KAAO,MAAM,GACb,KAAO,KAAK,aAAa,MAAM,EAC/B,KAAO,KAAK,YACZ,YAAc,KAAK,MAAM,UAAU,EACnC,eACJ,KAAK,aAAa,kBAAkB,GACnC,aAAe,YAAY,GACxB,gBAAkB,KAAK,aAAa,mBAAmB,EAE7D,YAAY,KAAK,CACT,KACA,KACN,eACA,eACF,CAAC,CACH,CAEA,OAAO,WACT,EACA,WAAa,aACJ,CACL,MAAO,WAAW,MAAM,IAAK,OAAgC,CAC3D,KAAQ,KAAK,KACb,KAAQ,KAAK,KACb,mBAAoB,KAAK,eACzB,oBAAqB,KAAK,eAC5B,EAAE,CACJ,EAEJ,CACF,CACF,EAEA,aAAc,CACZ,MAAO,CACL,eAEI,MAAQ,CACN,gBAAiB,GACjB,KAAM,GACN,WAAY,GACZ,KAAM,EACR,KAED,CAAE,SACM,MAAM,EAAE,cAAc,CAAE,KAAM,KAAK,KAAM,KAAM,CAAC,EAAE,IAAI,EAEjE,gBACG,aACA,CAAE,MAAO,YAAe,CACvB,IAAI,YAAc,MAAM,GACpB,WAAa,GA0CjB,OAxCA,MAAM,IAAI,aAAa,KAAM,MAAQ,CACnC,GAAI,KAAK,KAAK,OAAS,KAAK,KAC1B,MAAO,GAGT,IAAM,UAAY,YAAY,QAAQ,IAAI,GAAG,EAEvC,MAAQ,KAAK,MAAM,OAAS,CAAC,EAC7B,SAAW,MAAM,OAAQ,MAAS,CACtC,IAAM,eACJ,KAAK,gBACL,KAAK,YACL,KAAK,qBACL,KAAK,KACP,OAAO,OAAO,gBAAkB,EAAE,IAAM,OAAO,YAAc,EAAE,CACjE,CAAC,EAED,GAAI,SAAS,SAAW,MAAM,OAC5B,MAAO,GAKT,GAFA,WAAa,GAET,SAAS,OAAS,EACpB,YAAc,YAAY,cAAc,UAAW,IAAA,GAAW,CAC5D,GAAG,KAAK,MACR,MAAO,QACT,CAAC,MACI,CACL,IAAM,UAAY,YAAY,QAAQ,IAAI,IAAM,KAAK,QAAQ,EAC7D,YAAc,YAAY,OAAO,UAAW,SAAS,CACvD,CAEA,MAAO,EACT,CAAC,EAEG,YAAc,UAChB,SAAS,WAAW,EAGf,UACT,CACJ,CACF,CACF,CAAC"}
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@tiptap/core"),Audio=core.Node.create({name:"audio",group:"block",selectable:!0,draggable:!0,addAttributes(){return{src:{default:null,parseHTML:el=>el.getAttribute("src"),renderHTML:attrs=>({src:attrs.src})},documentId:{default:"",renderHTML:attributes=>({"data-document-id":attributes.documentId}),parseHTML:element=>element.getAttribute("data-document-id")}}},parseHTML(){return[{tag:"div.audio-wrapper>audio,audio",getAttrs:el=>({src:el.getAttribute("src")})}]},renderHTML({HTMLAttributes}){return["div",{class:"audio-wrapper"},["audio",core.mergeAttributes(HTMLAttributes)]]},addCommands(){return{setAudio:(id,src,options)=>({commands,state})=>commands.insertContentAt(state.selection,`<audio
1
+ let _tiptap_core=require("@tiptap/core");var Audio=_tiptap_core.Node.create({name:`audio`,group:`block`,selectable:!0,draggable:!0,addAttributes(){return{src:{default:null,parseHTML:el=>el.getAttribute(`src`),renderHTML:attrs=>({src:attrs.src})},documentId:{default:``,renderHTML:attributes=>({"data-document-id":attributes.documentId}),parseHTML:element=>element.getAttribute(`data-document-id`)}}},parseHTML(){return[{tag:`div.audio-wrapper>audio,audio`,getAttrs:el=>({src:el.getAttribute(`src`)})}]},renderHTML({HTMLAttributes}){return[`div`,{class:`audio-wrapper`},[`audio`,(0,_tiptap_core.mergeAttributes)(HTMLAttributes)]]},addCommands(){return{setAudio:(id,src,options)=>({commands,state})=>commands.insertContentAt(state.selection,`<audio
2
2
  src="${src}"
3
3
  controls preload="none"
4
4
  data-document-id="${id}"></audio>`,options)}}});exports.Audio=Audio;
5
- //# sourceMappingURL=audio.cjs.map
5
+ //# sourceMappingURL=audio.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio.cjs","sources":["../../src/audio/audio.ts"],"sourcesContent":["import { mergeAttributes, Node } from '@tiptap/core';\n\nexport interface AudioOptions {\n url: string;\n HTMLAttributes: Record<string, any>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n audio: {\n /**\n * Set a audio node\n * @param options.updateSelection set to true will select the newly inserted content\n */\n setAudio: (\n id: string,\n src: string,\n options?: { updateSelection: boolean },\n ) => ReturnType;\n };\n }\n}\n\nexport const Audio = Node.create({\n name: 'audio',\n group: 'block',\n\n selectable: true,\n draggable: true,\n\n addAttributes() {\n return {\n src: {\n default: null,\n parseHTML: (el: any) => (el as HTMLAudioElement).getAttribute('src'),\n renderHTML: (attrs: any) => ({ src: attrs.src }),\n },\n documentId: {\n default: '',\n renderHTML: (attributes: any) => {\n return { 'data-document-id': attributes.documentId };\n },\n parseHTML: (element: any) => element.getAttribute('data-document-id'),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'div.audio-wrapper>audio,audio',\n getAttrs: (el: any) => ({\n src: (el as HTMLAudioElement).getAttribute('src'),\n }),\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'div',\n { class: 'audio-wrapper' },\n ['audio', mergeAttributes(HTMLAttributes)],\n ];\n },\n\n addCommands() {\n return {\n setAudio:\n (id, src, options) =>\n ({ commands, state }) => {\n return commands.insertContentAt(\n state.selection,\n `<audio \n src=\"${src}\" \n controls preload=\"none\"\n data-document-id=\"${id}\"></audio>`,\n options,\n );\n },\n };\n },\n});\n"],"names":["Node","mergeAttributes"],"mappings":"mHAuBa,MAAQA,KAAAA,KAAK,OAAO,CAC/B,KAAM,QACN,MAAO,QAEP,WAAY,GACZ,UAAW,GAEX,eAAgB,CACd,MAAO,CACL,IAAK,CACH,QAAS,KACT,UAAY,IAAa,GAAwB,aAAa,KAAK,EACnE,WAAa,QAAgB,CAAE,IAAK,MAAM,GAAA,EAAI,EAEhD,WAAY,CACV,QAAS,GACT,WAAa,aACJ,CAAE,mBAAoB,WAAW,UAAA,GAE1C,UAAY,SAAiB,QAAQ,aAAa,kBAAkB,CAAA,CACtE,CAEJ,EAEA,WAAY,CACV,MAAO,CACL,CACE,IAAK,gCACL,SAAW,KAAa,CACtB,IAAM,GAAwB,aAAa,KAAK,CAAA,EAClD,CACF,CAEJ,EAEA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CACL,MACA,CAAE,MAAO,eAAA,EACT,CAAC,QAASC,KAAAA,gBAAgB,cAAc,CAAC,CAAA,CAE7C,EAEA,aAAc,CACZ,MAAO,CACL,SACE,CAAC,GAAI,IAAK,UACV,CAAC,CAAE,SAAU,SACJ,SAAS,gBACd,MAAM,UACN;AAAA,qBACS,GAAG;AAAA;AAAA,kCAEU,EAAE,aACxB,OAAA,CAEJ,CAEN,CACF,CAAC"}
1
+ {"version":3,"file":"audio.cjs","names":[],"sources":["../../src/audio/audio.ts"],"sourcesContent":["import { mergeAttributes, Node } from '@tiptap/core';\n\nexport interface AudioOptions {\n url: string;\n HTMLAttributes: Record<string, any>;\n}\n\ndeclare module '@tiptap/core' {\n interface Commands<ReturnType> {\n audio: {\n /**\n * Set a audio node\n * @param options.updateSelection set to true will select the newly inserted content\n */\n setAudio: (\n id: string,\n src: string,\n options?: { updateSelection: boolean },\n ) => ReturnType;\n };\n }\n}\n\nexport const Audio = Node.create({\n name: 'audio',\n group: 'block',\n\n selectable: true,\n draggable: true,\n\n addAttributes() {\n return {\n src: {\n default: null,\n parseHTML: (el: any) => (el as HTMLAudioElement).getAttribute('src'),\n renderHTML: (attrs: any) => ({ src: attrs.src }),\n },\n documentId: {\n default: '',\n renderHTML: (attributes: any) => {\n return { 'data-document-id': attributes.documentId };\n },\n parseHTML: (element: any) => element.getAttribute('data-document-id'),\n },\n };\n },\n\n parseHTML() {\n return [\n {\n tag: 'div.audio-wrapper>audio,audio',\n getAttrs: (el: any) => ({\n src: (el as HTMLAudioElement).getAttribute('src'),\n }),\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n 'div',\n { class: 'audio-wrapper' },\n ['audio', mergeAttributes(HTMLAttributes)],\n ];\n },\n\n addCommands() {\n return {\n setAudio:\n (id, src, options) =>\n ({ commands, state }) => {\n return commands.insertContentAt(\n state.selection,\n `<audio \n src=\"${src}\" \n controls preload=\"none\"\n data-document-id=\"${id}\"></audio>`,\n options,\n );\n },\n };\n },\n});\n"],"mappings":"yCAuBA,IAAa,MAAQ,aAAA,KAAK,OAAO,CAC/B,KAAM,QACN,MAAO,QAEP,WAAY,GACZ,UAAW,GAEX,eAAgB,CACd,MAAO,CACL,IAAK,CACH,QAAS,KACT,UAAY,IAAa,GAAwB,aAAa,KAAK,EACnE,WAAa,QAAgB,CAAE,IAAK,MAAM,GAAI,EAChD,EACA,WAAY,CACV,QAAS,GACT,WAAa,aACJ,CAAE,mBAAoB,WAAW,UAAW,GAErD,UAAY,SAAiB,QAAQ,aAAa,kBAAkB,CACtE,CACF,CACF,EAEA,WAAY,CACV,MAAO,CACL,CACE,IAAK,gCACL,SAAW,KAAa,CACtB,IAAM,GAAwB,aAAa,KAAK,CAClD,EACF,CACF,CACF,EAEA,WAAW,CAAE,gBAAkB,CAC7B,MAAO,CACL,MACA,CAAE,MAAO,eAAgB,EACzB,CAAC,SAAA,EAAA,aAAA,iBAAyB,cAAc,CAAC,CAC3C,CACF,EAEA,aAAc,CACZ,MAAO,CACL,UACG,GAAI,IAAK,WACT,CAAE,SAAU,SACJ,SAAS,gBACd,MAAM,UACN;qBACS,IAAI;;kCAES,GAAG,YACzB,OACF,CAEN,CACF,CACF,CAAC"}
@@ -1,54 +1,5 @@
1
- import { Node, mergeAttributes } from "@tiptap/core";
2
- const Audio = Node.create({
3
- name: "audio",
4
- group: "block",
5
- selectable: !0,
6
- draggable: !0,
7
- addAttributes() {
8
- return {
9
- src: {
10
- default: null,
11
- parseHTML: (el) => el.getAttribute("src"),
12
- renderHTML: (attrs) => ({ src: attrs.src })
13
- },
14
- documentId: {
15
- default: "",
16
- renderHTML: (attributes) => ({ "data-document-id": attributes.documentId }),
17
- parseHTML: (element) => element.getAttribute("data-document-id")
18
- }
19
- };
20
- },
21
- parseHTML() {
22
- return [
23
- {
24
- tag: "div.audio-wrapper>audio,audio",
25
- getAttrs: (el) => ({
26
- src: el.getAttribute("src")
27
- })
28
- }
29
- ];
30
- },
31
- renderHTML({ HTMLAttributes }) {
32
- return [
33
- "div",
34
- { class: "audio-wrapper" },
35
- ["audio", mergeAttributes(HTMLAttributes)]
36
- ];
37
- },
38
- addCommands() {
39
- return {
40
- setAudio: (id, src, options) => ({ commands, state }) => commands.insertContentAt(
41
- state.selection,
42
- `<audio
1
+ import{Node,mergeAttributes}from"@tiptap/core";var Audio=Node.create({name:`audio`,group:`block`,selectable:!0,draggable:!0,addAttributes(){return{src:{default:null,parseHTML:el=>el.getAttribute(`src`),renderHTML:attrs=>({src:attrs.src})},documentId:{default:``,renderHTML:attributes=>({"data-document-id":attributes.documentId}),parseHTML:element=>element.getAttribute(`data-document-id`)}}},parseHTML(){return[{tag:`div.audio-wrapper>audio,audio`,getAttrs:el=>({src:el.getAttribute(`src`)})}]},renderHTML({HTMLAttributes}){return[`div`,{class:`audio-wrapper`},[`audio`,mergeAttributes(HTMLAttributes)]]},addCommands(){return{setAudio:(id,src,options)=>({commands,state})=>commands.insertContentAt(state.selection,`<audio
43
2
  src="${src}"
44
3
  controls preload="none"
45
- data-document-id="${id}"></audio>`,
46
- options
47
- )
48
- };
49
- }
50
- });
51
- export {
52
- Audio
53
- };
54
- //# sourceMappingURL=audio.js.map
4
+ data-document-id="${id}"></audio>`,options)}}});export{Audio};
5
+ //# sourceMappingURL=audio.js.map