@atlaskit/adf-schema 37.2.0 → 38.0.0

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 (430) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/index.js +12 -0
  3. package/dist/cjs/next-schema/generated/markTypes.js +21 -21
  4. package/dist/cjs/next-schema/generated/nodeTypes.js +191 -110
  5. package/dist/cjs/next-schema/groups/nonNestableBlockContentGroup.js +1 -1
  6. package/dist/cjs/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  7. package/dist/cjs/next-schema/index.js +32 -505
  8. package/dist/cjs/next-schema/nodes/blockCard.js +1 -1
  9. package/dist/cjs/next-schema/nodes/blockquote.js +2 -2
  10. package/dist/cjs/next-schema/nodes/bodiedExtension.js +2 -2
  11. package/dist/cjs/next-schema/nodes/caption.js +1 -1
  12. package/dist/cjs/next-schema/nodes/codeBlock.js +2 -2
  13. package/dist/cjs/next-schema/nodes/date.js +4 -1
  14. package/dist/cjs/next-schema/nodes/decisionItem.js +1 -1
  15. package/dist/cjs/next-schema/nodes/decisionList.js +1 -1
  16. package/dist/cjs/next-schema/nodes/embedCard.js +1 -1
  17. package/dist/cjs/next-schema/nodes/emoji.js +4 -1
  18. package/dist/cjs/next-schema/nodes/expand.js +2 -2
  19. package/dist/cjs/next-schema/nodes/extension.js +2 -2
  20. package/dist/cjs/next-schema/nodes/extensionFrame.js +3 -2
  21. package/dist/cjs/next-schema/nodes/hardBreak.js +1 -1
  22. package/dist/cjs/next-schema/nodes/heading.js +3 -3
  23. package/dist/cjs/next-schema/nodes/inlineCard.js +5 -2
  24. package/dist/cjs/next-schema/nodes/inlineExtension.js +2 -2
  25. package/dist/cjs/next-schema/nodes/layoutColumn.js +1 -1
  26. package/dist/cjs/next-schema/nodes/layoutSection.js +3 -2
  27. package/dist/cjs/next-schema/nodes/list.js +5 -5
  28. package/dist/cjs/next-schema/nodes/media.js +1 -1
  29. package/dist/cjs/next-schema/nodes/mediaGroup.js +1 -1
  30. package/dist/cjs/next-schema/nodes/mediaInline.js +1 -1
  31. package/dist/cjs/next-schema/nodes/mediaSingle.js +5 -5
  32. package/dist/cjs/next-schema/nodes/mention.js +4 -1
  33. package/dist/cjs/next-schema/nodes/multiBodiedExtension.js +1 -3
  34. package/dist/cjs/next-schema/nodes/nestedExpand.js +2 -2
  35. package/dist/cjs/next-schema/nodes/panel.js +3 -3
  36. package/dist/cjs/next-schema/nodes/paragraph.js +4 -4
  37. package/dist/cjs/next-schema/nodes/placeholder.js +1 -1
  38. package/dist/cjs/next-schema/nodes/status.js +4 -1
  39. package/dist/cjs/next-schema/nodes/table.js +1 -1
  40. package/dist/cjs/next-schema/nodes/tableCell.js +1 -1
  41. package/dist/cjs/next-schema/nodes/tableHeader.js +1 -1
  42. package/dist/cjs/next-schema/nodes/tableRow.js +1 -1
  43. package/dist/cjs/next-schema/nodes/task.js +2 -2
  44. package/dist/cjs/next-schema/nodes/text.js +1 -1
  45. package/dist/cjs/schema/createPMSpecFactory.js +57 -0
  46. package/dist/cjs/schema/index.js +14 -1
  47. package/dist/cjs/schema/marks/alignment.js +3 -8
  48. package/dist/cjs/schema/marks/annotation.js +3 -13
  49. package/dist/cjs/schema/marks/background-color.js +3 -9
  50. package/dist/cjs/schema/marks/border.js +3 -7
  51. package/dist/cjs/schema/marks/breakout.js +3 -9
  52. package/dist/cjs/schema/marks/code.js +3 -5
  53. package/dist/cjs/schema/marks/confluence-inline-comment.js +3 -9
  54. package/dist/cjs/schema/marks/data-consumer.js +3 -7
  55. package/dist/cjs/schema/marks/em.js +3 -5
  56. package/dist/cjs/schema/marks/fragment.js +3 -12
  57. package/dist/cjs/schema/marks/indentation.js +3 -8
  58. package/dist/cjs/schema/marks/link.js +3 -13
  59. package/dist/cjs/schema/marks/strike.js +3 -5
  60. package/dist/cjs/schema/marks/strong.js +3 -5
  61. package/dist/cjs/schema/marks/subsup.js +3 -10
  62. package/dist/cjs/schema/marks/text-color.js +3 -8
  63. package/dist/cjs/schema/marks/type-ahead-query.js +3 -10
  64. package/dist/cjs/schema/marks/underline.js +3 -5
  65. package/dist/cjs/schema/marks/unsupported-mark.js +3 -6
  66. package/dist/cjs/schema/marks/unsupported-node-attributes.js +3 -6
  67. package/dist/cjs/schema/nodes/block-card.js +3 -23
  68. package/dist/cjs/schema/nodes/blockquote.js +17 -20
  69. package/dist/cjs/schema/nodes/bodied-extension.js +24 -54
  70. package/dist/cjs/schema/nodes/bullet-list.js +3 -6
  71. package/dist/cjs/schema/nodes/caption.js +3 -6
  72. package/dist/cjs/schema/nodes/code-block.js +31 -16
  73. package/dist/cjs/schema/nodes/confluence-jira-issue.js +3 -22
  74. package/dist/cjs/schema/nodes/confluence-unsupported-block.js +3 -8
  75. package/dist/cjs/schema/nodes/confluence-unsupported-inline.js +3 -10
  76. package/dist/cjs/schema/nodes/date.js +3 -10
  77. package/dist/cjs/schema/nodes/decision-item.js +3 -13
  78. package/dist/cjs/schema/nodes/decision-list.js +3 -12
  79. package/dist/cjs/schema/nodes/doc.js +2 -4
  80. package/dist/cjs/schema/nodes/embed-card.js +3 -22
  81. package/dist/cjs/schema/nodes/emoji.js +3 -16
  82. package/dist/cjs/schema/nodes/expand.js +3 -16
  83. package/dist/cjs/schema/nodes/extension.js +20 -47
  84. package/dist/cjs/schema/nodes/hard-break.js +3 -5
  85. package/dist/cjs/schema/nodes/heading.js +3 -14
  86. package/dist/cjs/schema/nodes/image.js +3 -16
  87. package/dist/cjs/schema/nodes/inline-card.js +3 -14
  88. package/dist/cjs/schema/nodes/inline-extension.js +19 -42
  89. package/dist/cjs/schema/nodes/layout-column.js +4 -12
  90. package/dist/cjs/schema/nodes/layout-section.js +23 -11
  91. package/dist/cjs/schema/nodes/list-item.js +5 -12
  92. package/dist/cjs/schema/nodes/media-group.js +3 -8
  93. package/dist/cjs/schema/nodes/media-inline.js +2 -1
  94. package/dist/cjs/schema/nodes/media-single.js +35 -14
  95. package/dist/cjs/schema/nodes/media.js +35 -83
  96. package/dist/cjs/schema/nodes/mention.js +3 -22
  97. package/dist/cjs/schema/nodes/multi-bodied-extension.js +26 -64
  98. package/dist/cjs/schema/nodes/nested-expand.js +31 -48
  99. package/dist/cjs/schema/nodes/ordered-list.js +4 -16
  100. package/dist/cjs/schema/nodes/panel.js +5 -34
  101. package/dist/cjs/schema/nodes/paragraph.js +3 -11
  102. package/dist/cjs/schema/nodes/placeholder.js +3 -11
  103. package/dist/cjs/schema/nodes/rule.js +3 -3
  104. package/dist/cjs/schema/nodes/status.js +3 -19
  105. package/dist/cjs/schema/nodes/tableNodes.js +9 -52
  106. package/dist/cjs/schema/nodes/task-item.js +3 -14
  107. package/dist/cjs/schema/nodes/task-list.js +3 -12
  108. package/dist/cjs/schema/nodes/text.js +3 -4
  109. package/dist/cjs/schema/nodes/unsupported-block.js +3 -11
  110. package/dist/cjs/schema/nodes/unsupported-inline.js +3 -10
  111. package/dist/es2019/index.js +5 -1
  112. package/dist/es2019/next-schema/generated/markTypes.js +1 -1
  113. package/dist/es2019/next-schema/generated/nodeTypes.js +123 -42
  114. package/dist/es2019/next-schema/groups/nonNestableBlockContentGroup.js +1 -1
  115. package/dist/es2019/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  116. package/dist/es2019/next-schema/index.js +3 -2
  117. package/dist/es2019/next-schema/nodes/blockCard.js +1 -1
  118. package/dist/es2019/next-schema/nodes/blockquote.js +2 -2
  119. package/dist/es2019/next-schema/nodes/bodiedExtension.js +2 -2
  120. package/dist/es2019/next-schema/nodes/caption.js +1 -1
  121. package/dist/es2019/next-schema/nodes/codeBlock.js +2 -2
  122. package/dist/es2019/next-schema/nodes/date.js +4 -1
  123. package/dist/es2019/next-schema/nodes/decisionItem.js +1 -1
  124. package/dist/es2019/next-schema/nodes/decisionList.js +1 -1
  125. package/dist/es2019/next-schema/nodes/embedCard.js +1 -1
  126. package/dist/es2019/next-schema/nodes/emoji.js +4 -1
  127. package/dist/es2019/next-schema/nodes/expand.js +2 -2
  128. package/dist/es2019/next-schema/nodes/extension.js +2 -2
  129. package/dist/es2019/next-schema/nodes/extensionFrame.js +3 -2
  130. package/dist/es2019/next-schema/nodes/hardBreak.js +1 -1
  131. package/dist/es2019/next-schema/nodes/heading.js +3 -3
  132. package/dist/es2019/next-schema/nodes/inlineCard.js +5 -2
  133. package/dist/es2019/next-schema/nodes/inlineExtension.js +2 -2
  134. package/dist/es2019/next-schema/nodes/layoutColumn.js +1 -1
  135. package/dist/es2019/next-schema/nodes/layoutSection.js +3 -2
  136. package/dist/es2019/next-schema/nodes/list.js +5 -5
  137. package/dist/es2019/next-schema/nodes/media.js +1 -1
  138. package/dist/es2019/next-schema/nodes/mediaGroup.js +1 -1
  139. package/dist/es2019/next-schema/nodes/mediaInline.js +1 -1
  140. package/dist/es2019/next-schema/nodes/mediaSingle.js +5 -5
  141. package/dist/es2019/next-schema/nodes/mention.js +4 -1
  142. package/dist/es2019/next-schema/nodes/multiBodiedExtension.js +1 -3
  143. package/dist/es2019/next-schema/nodes/nestedExpand.js +2 -2
  144. package/dist/es2019/next-schema/nodes/panel.js +3 -3
  145. package/dist/es2019/next-schema/nodes/paragraph.js +4 -4
  146. package/dist/es2019/next-schema/nodes/placeholder.js +1 -1
  147. package/dist/es2019/next-schema/nodes/status.js +4 -1
  148. package/dist/es2019/next-schema/nodes/table.js +1 -1
  149. package/dist/es2019/next-schema/nodes/tableCell.js +1 -1
  150. package/dist/es2019/next-schema/nodes/tableHeader.js +1 -1
  151. package/dist/es2019/next-schema/nodes/tableRow.js +1 -1
  152. package/dist/es2019/next-schema/nodes/task.js +2 -2
  153. package/dist/es2019/next-schema/nodes/text.js +1 -1
  154. package/dist/es2019/schema/createPMSpecFactory.js +55 -0
  155. package/dist/es2019/schema/index.js +5 -1
  156. package/dist/es2019/schema/marks/alignment.js +3 -8
  157. package/dist/es2019/schema/marks/annotation.js +4 -13
  158. package/dist/es2019/schema/marks/background-color.js +3 -9
  159. package/dist/es2019/schema/marks/border.js +3 -7
  160. package/dist/es2019/schema/marks/breakout.js +3 -9
  161. package/dist/es2019/schema/marks/code.js +3 -5
  162. package/dist/es2019/schema/marks/confluence-inline-comment.js +4 -9
  163. package/dist/es2019/schema/marks/data-consumer.js +3 -7
  164. package/dist/es2019/schema/marks/em.js +3 -5
  165. package/dist/es2019/schema/marks/fragment.js +3 -12
  166. package/dist/es2019/schema/marks/indentation.js +3 -8
  167. package/dist/es2019/schema/marks/link.js +3 -13
  168. package/dist/es2019/schema/marks/strike.js +3 -5
  169. package/dist/es2019/schema/marks/strong.js +3 -5
  170. package/dist/es2019/schema/marks/subsup.js +3 -10
  171. package/dist/es2019/schema/marks/text-color.js +3 -8
  172. package/dist/es2019/schema/marks/type-ahead-query.js +3 -10
  173. package/dist/es2019/schema/marks/underline.js +3 -5
  174. package/dist/es2019/schema/marks/unsupported-mark.js +3 -6
  175. package/dist/es2019/schema/marks/unsupported-node-attributes.js +3 -6
  176. package/dist/es2019/schema/nodes/block-card.js +4 -23
  177. package/dist/es2019/schema/nodes/blockquote.js +19 -20
  178. package/dist/es2019/schema/nodes/bodied-extension.js +23 -53
  179. package/dist/es2019/schema/nodes/bullet-list.js +3 -6
  180. package/dist/es2019/schema/nodes/caption.js +4 -6
  181. package/dist/es2019/schema/nodes/code-block.js +31 -16
  182. package/dist/es2019/schema/nodes/confluence-jira-issue.js +3 -22
  183. package/dist/es2019/schema/nodes/confluence-unsupported-block.js +3 -8
  184. package/dist/es2019/schema/nodes/confluence-unsupported-inline.js +3 -10
  185. package/dist/es2019/schema/nodes/date.js +4 -10
  186. package/dist/es2019/schema/nodes/decision-item.js +3 -13
  187. package/dist/es2019/schema/nodes/decision-list.js +3 -12
  188. package/dist/es2019/schema/nodes/doc.js +3 -4
  189. package/dist/es2019/schema/nodes/embed-card.js +4 -22
  190. package/dist/es2019/schema/nodes/emoji.js +3 -16
  191. package/dist/es2019/schema/nodes/expand.js +4 -16
  192. package/dist/es2019/schema/nodes/extension.js +19 -46
  193. package/dist/es2019/schema/nodes/hard-break.js +4 -5
  194. package/dist/es2019/schema/nodes/heading.js +4 -14
  195. package/dist/es2019/schema/nodes/image.js +3 -16
  196. package/dist/es2019/schema/nodes/inline-card.js +4 -14
  197. package/dist/es2019/schema/nodes/inline-extension.js +18 -41
  198. package/dist/es2019/schema/nodes/layout-column.js +5 -12
  199. package/dist/es2019/schema/nodes/layout-section.js +24 -10
  200. package/dist/es2019/schema/nodes/list-item.js +6 -12
  201. package/dist/es2019/schema/nodes/media-group.js +4 -8
  202. package/dist/es2019/schema/nodes/media-inline.js +3 -2
  203. package/dist/es2019/schema/nodes/media-single.js +35 -15
  204. package/dist/es2019/schema/nodes/media.js +35 -78
  205. package/dist/es2019/schema/nodes/mention.js +3 -22
  206. package/dist/es2019/schema/nodes/multi-bodied-extension.js +26 -63
  207. package/dist/es2019/schema/nodes/nested-expand.js +32 -48
  208. package/dist/es2019/schema/nodes/ordered-list.js +5 -14
  209. package/dist/es2019/schema/nodes/panel.js +5 -34
  210. package/dist/es2019/schema/nodes/paragraph.js +4 -11
  211. package/dist/es2019/schema/nodes/placeholder.js +4 -11
  212. package/dist/es2019/schema/nodes/rule.js +4 -3
  213. package/dist/es2019/schema/nodes/status.js +3 -19
  214. package/dist/es2019/schema/nodes/tableNodes.js +40 -82
  215. package/dist/es2019/schema/nodes/task-item.js +3 -14
  216. package/dist/es2019/schema/nodes/task-list.js +3 -12
  217. package/dist/es2019/schema/nodes/text.js +4 -4
  218. package/dist/es2019/schema/nodes/unsupported-block.js +3 -11
  219. package/dist/es2019/schema/nodes/unsupported-inline.js +3 -10
  220. package/dist/esm/index.js +5 -1
  221. package/dist/esm/next-schema/generated/markTypes.js +1 -1
  222. package/dist/esm/next-schema/generated/nodeTypes.js +123 -42
  223. package/dist/esm/next-schema/groups/nonNestableBlockContentGroup.js +1 -1
  224. package/dist/esm/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  225. package/dist/esm/next-schema/index.js +3 -2
  226. package/dist/esm/next-schema/nodes/blockCard.js +1 -1
  227. package/dist/esm/next-schema/nodes/blockquote.js +2 -2
  228. package/dist/esm/next-schema/nodes/bodiedExtension.js +2 -2
  229. package/dist/esm/next-schema/nodes/caption.js +1 -1
  230. package/dist/esm/next-schema/nodes/codeBlock.js +2 -2
  231. package/dist/esm/next-schema/nodes/date.js +4 -1
  232. package/dist/esm/next-schema/nodes/decisionItem.js +1 -1
  233. package/dist/esm/next-schema/nodes/decisionList.js +1 -1
  234. package/dist/esm/next-schema/nodes/embedCard.js +1 -1
  235. package/dist/esm/next-schema/nodes/emoji.js +4 -1
  236. package/dist/esm/next-schema/nodes/expand.js +2 -2
  237. package/dist/esm/next-schema/nodes/extension.js +2 -2
  238. package/dist/esm/next-schema/nodes/extensionFrame.js +3 -2
  239. package/dist/esm/next-schema/nodes/hardBreak.js +1 -1
  240. package/dist/esm/next-schema/nodes/heading.js +3 -3
  241. package/dist/esm/next-schema/nodes/inlineCard.js +5 -2
  242. package/dist/esm/next-schema/nodes/inlineExtension.js +2 -2
  243. package/dist/esm/next-schema/nodes/layoutColumn.js +1 -1
  244. package/dist/esm/next-schema/nodes/layoutSection.js +3 -2
  245. package/dist/esm/next-schema/nodes/list.js +5 -5
  246. package/dist/esm/next-schema/nodes/media.js +1 -1
  247. package/dist/esm/next-schema/nodes/mediaGroup.js +1 -1
  248. package/dist/esm/next-schema/nodes/mediaInline.js +1 -1
  249. package/dist/esm/next-schema/nodes/mediaSingle.js +5 -5
  250. package/dist/esm/next-schema/nodes/mention.js +4 -1
  251. package/dist/esm/next-schema/nodes/multiBodiedExtension.js +1 -3
  252. package/dist/esm/next-schema/nodes/nestedExpand.js +2 -2
  253. package/dist/esm/next-schema/nodes/panel.js +3 -3
  254. package/dist/esm/next-schema/nodes/paragraph.js +4 -4
  255. package/dist/esm/next-schema/nodes/placeholder.js +1 -1
  256. package/dist/esm/next-schema/nodes/status.js +4 -1
  257. package/dist/esm/next-schema/nodes/table.js +1 -1
  258. package/dist/esm/next-schema/nodes/tableCell.js +1 -1
  259. package/dist/esm/next-schema/nodes/tableHeader.js +1 -1
  260. package/dist/esm/next-schema/nodes/tableRow.js +1 -1
  261. package/dist/esm/next-schema/nodes/task.js +2 -2
  262. package/dist/esm/next-schema/nodes/text.js +1 -1
  263. package/dist/esm/schema/createPMSpecFactory.js +50 -0
  264. package/dist/esm/schema/index.js +5 -1
  265. package/dist/esm/schema/marks/alignment.js +3 -8
  266. package/dist/esm/schema/marks/annotation.js +4 -13
  267. package/dist/esm/schema/marks/background-color.js +3 -9
  268. package/dist/esm/schema/marks/border.js +3 -7
  269. package/dist/esm/schema/marks/breakout.js +3 -9
  270. package/dist/esm/schema/marks/code.js +3 -5
  271. package/dist/esm/schema/marks/confluence-inline-comment.js +4 -9
  272. package/dist/esm/schema/marks/data-consumer.js +3 -7
  273. package/dist/esm/schema/marks/em.js +3 -5
  274. package/dist/esm/schema/marks/fragment.js +3 -12
  275. package/dist/esm/schema/marks/indentation.js +3 -8
  276. package/dist/esm/schema/marks/link.js +3 -13
  277. package/dist/esm/schema/marks/strike.js +3 -5
  278. package/dist/esm/schema/marks/strong.js +3 -5
  279. package/dist/esm/schema/marks/subsup.js +3 -10
  280. package/dist/esm/schema/marks/text-color.js +3 -8
  281. package/dist/esm/schema/marks/type-ahead-query.js +3 -10
  282. package/dist/esm/schema/marks/underline.js +3 -5
  283. package/dist/esm/schema/marks/unsupported-mark.js +3 -6
  284. package/dist/esm/schema/marks/unsupported-node-attributes.js +3 -6
  285. package/dist/esm/schema/nodes/block-card.js +4 -23
  286. package/dist/esm/schema/nodes/blockquote.js +19 -20
  287. package/dist/esm/schema/nodes/bodied-extension.js +24 -54
  288. package/dist/esm/schema/nodes/bullet-list.js +3 -6
  289. package/dist/esm/schema/nodes/caption.js +4 -6
  290. package/dist/esm/schema/nodes/code-block.js +31 -16
  291. package/dist/esm/schema/nodes/confluence-jira-issue.js +3 -22
  292. package/dist/esm/schema/nodes/confluence-unsupported-block.js +3 -8
  293. package/dist/esm/schema/nodes/confluence-unsupported-inline.js +3 -10
  294. package/dist/esm/schema/nodes/date.js +4 -10
  295. package/dist/esm/schema/nodes/decision-item.js +3 -13
  296. package/dist/esm/schema/nodes/decision-list.js +3 -12
  297. package/dist/esm/schema/nodes/doc.js +3 -4
  298. package/dist/esm/schema/nodes/embed-card.js +4 -22
  299. package/dist/esm/schema/nodes/emoji.js +3 -16
  300. package/dist/esm/schema/nodes/expand.js +4 -16
  301. package/dist/esm/schema/nodes/extension.js +20 -47
  302. package/dist/esm/schema/nodes/hard-break.js +4 -5
  303. package/dist/esm/schema/nodes/heading.js +4 -14
  304. package/dist/esm/schema/nodes/image.js +3 -16
  305. package/dist/esm/schema/nodes/inline-card.js +4 -14
  306. package/dist/esm/schema/nodes/inline-extension.js +19 -42
  307. package/dist/esm/schema/nodes/layout-column.js +5 -12
  308. package/dist/esm/schema/nodes/layout-section.js +24 -10
  309. package/dist/esm/schema/nodes/list-item.js +6 -12
  310. package/dist/esm/schema/nodes/media-group.js +4 -8
  311. package/dist/esm/schema/nodes/media-inline.js +3 -2
  312. package/dist/esm/schema/nodes/media-single.js +35 -14
  313. package/dist/esm/schema/nodes/media.js +36 -82
  314. package/dist/esm/schema/nodes/mention.js +3 -22
  315. package/dist/esm/schema/nodes/multi-bodied-extension.js +27 -64
  316. package/dist/esm/schema/nodes/nested-expand.js +32 -48
  317. package/dist/esm/schema/nodes/ordered-list.js +4 -15
  318. package/dist/esm/schema/nodes/panel.js +5 -34
  319. package/dist/esm/schema/nodes/paragraph.js +4 -11
  320. package/dist/esm/schema/nodes/placeholder.js +4 -11
  321. package/dist/esm/schema/nodes/rule.js +4 -3
  322. package/dist/esm/schema/nodes/status.js +3 -19
  323. package/dist/esm/schema/nodes/tableNodes.js +12 -52
  324. package/dist/esm/schema/nodes/task-item.js +3 -14
  325. package/dist/esm/schema/nodes/task-list.js +3 -12
  326. package/dist/esm/schema/nodes/text.js +4 -4
  327. package/dist/esm/schema/nodes/unsupported-block.js +3 -11
  328. package/dist/esm/schema/nodes/unsupported-inline.js +3 -10
  329. package/dist/types/index.d.ts +2 -0
  330. package/dist/types/next-schema/full-schema.adf.d.ts +1 -30
  331. package/dist/types/next-schema/generated/markTypes.d.ts +20 -20
  332. package/dist/types/next-schema/generated/nodeGroupTypes.d.ts +4 -4
  333. package/dist/types/next-schema/generated/nodeTypes.d.ts +143 -85
  334. package/dist/types/next-schema/groups/nonNestableBlockContentGroup.d.ts +3 -119
  335. package/dist/types/next-schema/index.d.ts +3 -5
  336. package/dist/types/next-schema/nodes/blockCard.d.ts +1 -30
  337. package/dist/types/next-schema/nodes/blockquote.d.ts +1 -30
  338. package/dist/types/next-schema/nodes/bodiedExtension.d.ts +1 -30
  339. package/dist/types/next-schema/nodes/caption.d.ts +1 -30
  340. package/dist/types/next-schema/nodes/codeBlock.d.ts +2 -60
  341. package/dist/types/next-schema/nodes/confluenceJiraIssue.d.ts +1 -30
  342. package/dist/types/next-schema/nodes/confluenceUnsupportedBlock.d.ts +1 -30
  343. package/dist/types/next-schema/nodes/confluenceUnsupportedInline.d.ts +1 -30
  344. package/dist/types/next-schema/nodes/date.d.ts +1 -30
  345. package/dist/types/next-schema/nodes/decisionItem.d.ts +1 -30
  346. package/dist/types/next-schema/nodes/decisionList.d.ts +1 -30
  347. package/dist/types/next-schema/nodes/embedCard.d.ts +1 -30
  348. package/dist/types/next-schema/nodes/emoji.d.ts +1 -30
  349. package/dist/types/next-schema/nodes/expand.d.ts +1 -30
  350. package/dist/types/next-schema/nodes/extension.d.ts +1 -30
  351. package/dist/types/next-schema/nodes/extensionFrame.d.ts +1 -30
  352. package/dist/types/next-schema/nodes/hardBreak.d.ts +1 -30
  353. package/dist/types/next-schema/nodes/heading.d.ts +2 -60
  354. package/dist/types/next-schema/nodes/image.d.ts +1 -30
  355. package/dist/types/next-schema/nodes/inlineCard.d.ts +1 -30
  356. package/dist/types/next-schema/nodes/inlineExtension.d.ts +1 -30
  357. package/dist/types/next-schema/nodes/layoutColumn.d.ts +1 -30
  358. package/dist/types/next-schema/nodes/layoutSection.d.ts +2 -30
  359. package/dist/types/next-schema/nodes/list.d.ts +2 -60
  360. package/dist/types/next-schema/nodes/media.d.ts +1 -30
  361. package/dist/types/next-schema/nodes/mediaGroup.d.ts +1 -30
  362. package/dist/types/next-schema/nodes/mediaInline.d.ts +1 -30
  363. package/dist/types/next-schema/nodes/mediaSingle.d.ts +1 -30
  364. package/dist/types/next-schema/nodes/mention.d.ts +1 -30
  365. package/dist/types/next-schema/nodes/multiBodiedExtension.d.ts +1 -30
  366. package/dist/types/next-schema/nodes/nestedExpand.d.ts +1 -30
  367. package/dist/types/next-schema/nodes/panel.d.ts +1 -30
  368. package/dist/types/next-schema/nodes/paragraph.d.ts +1 -30
  369. package/dist/types/next-schema/nodes/placeholder.d.ts +1 -30
  370. package/dist/types/next-schema/nodes/rule.d.ts +1 -30
  371. package/dist/types/next-schema/nodes/status.d.ts +1 -30
  372. package/dist/types/next-schema/nodes/table.d.ts +1 -30
  373. package/dist/types/next-schema/nodes/tableCell.d.ts +1 -30
  374. package/dist/types/next-schema/nodes/tableCellContent.d.ts +1 -30
  375. package/dist/types/next-schema/nodes/tableHeader.d.ts +1 -30
  376. package/dist/types/next-schema/nodes/tableRow.d.ts +1 -30
  377. package/dist/types/next-schema/nodes/task.d.ts +2 -60
  378. package/dist/types/next-schema/nodes/text.d.ts +1 -30
  379. package/dist/types/next-schema/nodes/unsupportedBlock.d.ts +1 -30
  380. package/dist/types/next-schema/nodes/unsupportedInline.d.ts +1 -30
  381. package/dist/types/schema/createPMSpecFactory.d.ts +33 -0
  382. package/dist/types/schema/index.d.ts +2 -0
  383. package/dist/types/schema/nodes/block-card.d.ts +1 -2
  384. package/dist/types/schema/nodes/blockquote.d.ts +2 -3
  385. package/dist/types/schema/nodes/bodied-extension.d.ts +1 -2
  386. package/dist/types/schema/nodes/bullet-list.d.ts +1 -2
  387. package/dist/types/schema/nodes/caption.d.ts +1 -2
  388. package/dist/types/schema/nodes/code-block.d.ts +2 -2
  389. package/dist/types/schema/nodes/confluence-jira-issue.d.ts +1 -2
  390. package/dist/types/schema/nodes/confluence-unsupported-block.d.ts +1 -2
  391. package/dist/types/schema/nodes/confluence-unsupported-inline.d.ts +1 -2
  392. package/dist/types/schema/nodes/date.d.ts +1 -2
  393. package/dist/types/schema/nodes/decision-item.d.ts +1 -2
  394. package/dist/types/schema/nodes/decision-list.d.ts +1 -2
  395. package/dist/types/schema/nodes/doc.d.ts +1 -2
  396. package/dist/types/schema/nodes/embed-card.d.ts +1 -2
  397. package/dist/types/schema/nodes/emoji.d.ts +1 -2
  398. package/dist/types/schema/nodes/expand.d.ts +2 -2
  399. package/dist/types/schema/nodes/extension.d.ts +1 -2
  400. package/dist/types/schema/nodes/hard-break.d.ts +1 -2
  401. package/dist/types/schema/nodes/heading.d.ts +1 -2
  402. package/dist/types/schema/nodes/image.d.ts +1 -2
  403. package/dist/types/schema/nodes/inline-card.d.ts +1 -2
  404. package/dist/types/schema/nodes/inline-extension.d.ts +1 -2
  405. package/dist/types/schema/nodes/layout-column.d.ts +1 -2
  406. package/dist/types/schema/nodes/layout-section.d.ts +3 -3
  407. package/dist/types/schema/nodes/list-item.d.ts +2 -3
  408. package/dist/types/schema/nodes/media-group.d.ts +1 -2
  409. package/dist/types/schema/nodes/media.d.ts +3 -1
  410. package/dist/types/schema/nodes/mention.d.ts +2 -2
  411. package/dist/types/schema/nodes/multi-bodied-extension.d.ts +2 -3
  412. package/dist/types/schema/nodes/nested-expand.d.ts +1 -2
  413. package/dist/types/schema/nodes/ordered-list.d.ts +2 -3
  414. package/dist/types/schema/nodes/panel.d.ts +2 -3
  415. package/dist/types/schema/nodes/paragraph.d.ts +1 -2
  416. package/dist/types/schema/nodes/placeholder.d.ts +1 -2
  417. package/dist/types/schema/nodes/rule.d.ts +1 -2
  418. package/dist/types/schema/nodes/status.d.ts +1 -2
  419. package/dist/types/schema/nodes/tableNodes.d.ts +7 -7
  420. package/dist/types/schema/nodes/task-item.d.ts +1 -2
  421. package/dist/types/schema/nodes/task-list.d.ts +1 -2
  422. package/dist/types/schema/nodes/text.d.ts +1 -4
  423. package/dist/types/schema/nodes/unsupported-block.d.ts +1 -2
  424. package/dist/types/schema/nodes/unsupported-inline.d.ts +1 -2
  425. package/package.json +7 -4
  426. package/schema-generators/__tests__/unit/adfToValidatorSpec.unit.ts +7 -7
  427. package/schema-generators/__tests__/unit/validate-pm-schema.unit.ts +6 -4
  428. package/schema-generators/json-full-schema.ts +5 -4
  429. package/schema-generators/pm-full-schema.ts +3 -3
  430. package/schema-generators/validator-full-schema.ts +1 -1
@@ -1,16 +1,11 @@
1
+ import { confluenceInlineComment as confluenceInlineCommentFactory } from '../../next-schema/generated/markTypes';
2
+
1
3
  /**
2
4
  * @name inline_comment_marker
3
5
  * @description This temporary mark represents a Confluence-backed inline comment that wraps a piece of text. It will be replaced with a cross-product inline comment solution at later date.
4
6
  */
5
7
 
6
- export const confluenceInlineComment = {
7
- inclusive: false,
8
- excludes: '',
9
- attrs: {
10
- reference: {
11
- default: ''
12
- }
13
- },
8
+ export const confluenceInlineComment = confluenceInlineCommentFactory({
14
9
  parseDOM: [{
15
10
  tag: 'span[data-mark-type="confluenceInlineComment"]'
16
11
  }],
@@ -20,4 +15,4 @@ export const confluenceInlineComment = {
20
15
  'data-reference': node.attrs.reference
21
16
  }];
22
17
  }
23
- };
18
+ });
@@ -1,3 +1,4 @@
1
+ import { dataConsumer as dataConsumerFactory } from '../../next-schema/generated/markTypes';
1
2
  import { isDOMElement } from '../../utils/parseDOM';
2
3
 
3
4
  /**
@@ -27,12 +28,7 @@ const parseDataConsumer = maybeValue => {
27
28
  return false;
28
29
  }
29
30
  };
30
- export const dataConsumer = {
31
- attrs: {
32
- sources: {
33
- default: []
34
- }
35
- },
31
+ export const dataConsumer = dataConsumerFactory({
36
32
  parseDOM: [{
37
33
  tag: '[data-mark-type="dataConsumer"]',
38
34
  getAttrs: maybeValue => parseDataConsumer(maybeValue)
@@ -44,7 +40,7 @@ export const dataConsumer = {
44
40
  'data-sources': JSON.stringify(mark.attrs.sources)
45
41
  }];
46
42
  }
47
- };
43
+ });
48
44
 
49
45
  /**
50
46
  * We want to ensure any "invalid ADF" doesn't get serialised, but the entire
@@ -1,13 +1,11 @@
1
- import { FONT_STYLE } from '../groups';
1
+ import { em as emFactory } from '../../next-schema/generated/markTypes';
2
2
 
3
3
  /**
4
4
  * @name em_mark
5
5
  */
6
6
 
7
7
  const emDOM = ['em'];
8
- export const em = {
9
- inclusive: true,
10
- group: FONT_STYLE,
8
+ export const em = emFactory({
11
9
  parseDOM: [{
12
10
  tag: 'i'
13
11
  }, {
@@ -18,4 +16,4 @@ export const em = {
18
16
  toDOM() {
19
17
  return emDOM;
20
18
  }
21
- };
19
+ });
@@ -1,3 +1,4 @@
1
+ import { fragment as fragmentFactory } from '../../next-schema/generated/markTypes';
1
2
  import { isDOMElement } from '../../utils/parseDOM';
2
3
 
3
4
  /**
@@ -21,17 +22,7 @@ const parseFragment = maybeValue => {
21
22
  name
22
23
  };
23
24
  };
24
- export const fragment = {
25
- inclusive: false,
26
- excludes: '',
27
- attrs: {
28
- localId: {
29
- default: ''
30
- },
31
- name: {
32
- default: null
33
- }
34
- },
25
+ export const fragment = fragmentFactory({
35
26
  parseDOM: [{
36
27
  tag: '[data-mark-type="fragment"]',
37
28
  getAttrs: maybeValue => parseFragment(maybeValue)
@@ -44,7 +35,7 @@ export const fragment = {
44
35
  'data-localId': mark.attrs.localId
45
36
  }];
46
37
  }
47
- };
38
+ });
48
39
  export const toJSON = mark => {
49
40
  return {
50
41
  type: mark.type.name,
@@ -1,15 +1,10 @@
1
- import { ALIGNMENT, INDENTATION } from '../groups';
1
+ import { indentation as indentationFactory } from '../../next-schema/generated/markTypes';
2
2
 
3
3
  /**
4
4
  * @name indentation_mark
5
5
  */
6
6
 
7
- export const indentation = {
8
- excludes: `indentation ${ALIGNMENT}`,
9
- group: INDENTATION,
10
- attrs: {
11
- level: {}
12
- },
7
+ export const indentation = indentationFactory({
13
8
  parseDOM: [{
14
9
  tag: 'div.fabric-editor-indentation-mark',
15
10
  getAttrs(dom) {
@@ -25,4 +20,4 @@ export const indentation = {
25
20
  'data-level': mark.attrs.level
26
21
  }, 0];
27
22
  }
28
- };
23
+ });
@@ -1,4 +1,4 @@
1
- import { LINK } from '../groups';
1
+ import { link as linkFactory } from '../../next-schema/generated/markTypes';
2
2
  import { isRootRelative, isSafeUrl, normalizeUrl } from '../../utils/url';
3
3
 
4
4
  /**
@@ -21,17 +21,7 @@ const getLinkAttrs = attribute => domNode => {
21
21
  attrs.href = normalizeUrl(href);
22
22
  return attrs;
23
23
  };
24
- export const link = {
25
- excludes: `${LINK}`,
26
- // ED-5844 No multiple links in media node
27
- group: LINK,
28
- attrs: {
29
- href: {},
30
- __confluenceMetadata: {
31
- default: null
32
- }
33
- },
34
- inclusive: false,
24
+ export const link = linkFactory({
35
25
  parseDOM: [{
36
26
  tag: '[data-block-link]',
37
27
  getAttrs: getLinkAttrs('data-block-link'),
@@ -69,7 +59,7 @@ export const link = {
69
59
  class: 'blockLink'
70
60
  }, 0];
71
61
  }
72
- };
62
+ });
73
63
  const OPTIONAL_ATTRS = ['title', 'id', 'collection', 'occurrenceKey', '__confluenceMetadata'];
74
64
  export const toJSON = mark => ({
75
65
  type: mark.type.name,
@@ -1,12 +1,10 @@
1
- import { FONT_STYLE } from '../groups';
1
+ import { strike as strikeFactory } from '../../next-schema/generated/markTypes';
2
2
 
3
3
  /**
4
4
  * @name strike_mark
5
5
  */
6
6
 
7
- export const strike = {
8
- inclusive: true,
9
- group: FONT_STYLE,
7
+ export const strike = strikeFactory({
10
8
  parseDOM: [{
11
9
  tag: 'strike'
12
10
  }, {
@@ -20,4 +18,4 @@ export const strike = {
20
18
  toDOM() {
21
19
  return ['s'];
22
20
  }
23
- };
21
+ });
@@ -1,13 +1,11 @@
1
- import { FONT_STYLE } from '../groups';
1
+ import { strong as strongFactory } from '../../next-schema/generated/markTypes';
2
2
 
3
3
  /**
4
4
  * @name strong_mark
5
5
  */
6
6
 
7
7
  const strongDOM = ['strong'];
8
- export const strong = {
9
- inclusive: true,
10
- group: FONT_STYLE,
8
+ export const strong = strongFactory({
11
9
  parseDOM: [{
12
10
  tag: 'strong'
13
11
  },
@@ -33,4 +31,4 @@ export const strong = {
33
31
  toDOM() {
34
32
  return strongDOM;
35
33
  }
36
- };
34
+ });
@@ -1,4 +1,4 @@
1
- import { FONT_STYLE } from '../groups';
1
+ import { subsup as subsupFactory } from '../../next-schema/generated/markTypes';
2
2
 
3
3
  /**
4
4
  * @name subsup_mark
@@ -15,14 +15,7 @@ function getAttrFromVerticalAlign(node) {
15
15
  }
16
16
  return false;
17
17
  }
18
- export const subsup = {
19
- inclusive: true,
20
- group: FONT_STYLE,
21
- attrs: {
22
- type: {
23
- default: 'sub'
24
- }
25
- },
18
+ export const subsup = subsupFactory({
26
19
  parseDOM: [{
27
20
  tag: 'sub',
28
21
  attrs: {
@@ -47,4 +40,4 @@ export const subsup = {
47
40
  toDOM(mark) {
48
41
  return [mark.attrs.type];
49
42
  }
50
- };
43
+ });
@@ -1,5 +1,5 @@
1
+ import { textColor as textColorFactory } from '../../next-schema/generated/markTypes';
1
2
  import { hexToEditorTextPaletteColor } from '../../utils/editor-palette';
2
- import { COLOR } from '../groups';
3
3
  import { rgbToHex, N0, N80, P50, P300, P500, T75, T300, T500, G75, G300, G500, R75, R300, R500, Y75, Y200, Y400, B75, B100, B500 } from '../../utils/colors';
4
4
  import { getDarkModeLCHColor } from '../../utils/lch-color-inversion';
5
5
 
@@ -81,12 +81,7 @@ export const getGlobalTheme = () => {
81
81
  colorMode
82
82
  };
83
83
  };
84
- export const textColor = {
85
- attrs: {
86
- color: {}
87
- },
88
- inclusive: true,
89
- group: COLOR,
84
+ export const textColor = textColorFactory({
90
85
  parseDOM: [{
91
86
  style: 'color',
92
87
  getAttrs: maybeValue => {
@@ -166,4 +161,4 @@ export const textColor = {
166
161
  ['data-text-custom-color']: mark.attrs.color
167
162
  }];
168
163
  }
169
- };
164
+ });
@@ -1,8 +1,6 @@
1
- import { SEARCH_QUERY } from '../groups';
1
+ import { typeAheadQuery as typeAheadQueryFactory } from '../../next-schema/generated/markTypes';
2
2
  import { B400 } from '../../utils/colors';
3
- export const typeAheadQuery = {
4
- inclusive: true,
5
- group: SEARCH_QUERY,
3
+ export const typeAheadQuery = typeAheadQueryFactory({
6
4
  parseDOM: [{
7
5
  tag: 'span[data-type-ahead-query]'
8
6
  }],
@@ -12,10 +10,5 @@ export const typeAheadQuery = {
12
10
  'data-trigger': node.attrs.trigger,
13
11
  style: `color: ${B400}`
14
12
  }];
15
- },
16
- attrs: {
17
- trigger: {
18
- default: ''
19
- }
20
13
  }
21
- };
14
+ });
@@ -1,12 +1,10 @@
1
- import { FONT_STYLE } from '../groups';
1
+ import { underline as underlineFactory } from '../../next-schema/generated/markTypes';
2
2
 
3
3
  /**
4
4
  * @name underline_mark
5
5
  */
6
6
 
7
- export const underline = {
8
- inclusive: true,
9
- group: FONT_STYLE,
7
+ export const underline = underlineFactory({
10
8
  parseDOM: [{
11
9
  tag: 'u'
12
10
  }, {
@@ -16,4 +14,4 @@ export const underline = {
16
14
  toDOM() {
17
15
  return ['u'];
18
16
  }
19
- };
17
+ });
@@ -1,9 +1,6 @@
1
- export const unsupportedMark = {
1
+ import { unsupportedMark as unsupportedMarkFactory } from '../../next-schema/generated/markTypes';
2
+ export const unsupportedMark = unsupportedMarkFactory({
2
3
  toDOM() {
3
4
  return ['span'];
4
- },
5
- excludes: '',
6
- attrs: {
7
- originalValue: {}
8
5
  }
9
- };
6
+ });
@@ -1,9 +1,6 @@
1
- export const unsupportedNodeAttribute = {
1
+ import { unsupportedNodeAttribute as unsupportedNodeAttributeFactory } from '../../next-schema/generated/markTypes';
2
+ export const unsupportedNodeAttribute = unsupportedNodeAttributeFactory({
2
3
  toDOM() {
3
4
  return ['span'];
4
- },
5
- attrs: {
6
- type: {},
7
- unsupported: {}
8
5
  }
9
- };
6
+ });
@@ -1,3 +1,5 @@
1
+ import { blockCard as blockCardFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name blockCard_node
3
5
  */
@@ -13,28 +15,7 @@ const getCommonAttributesFromDom = dom => {
13
15
  datasource: datasource ? JSON.parse(datasource) : undefined
14
16
  };
15
17
  };
16
- export const blockCard = {
17
- inline: false,
18
- group: 'block',
19
- draggable: true,
20
- selectable: true,
21
- attrs: {
22
- url: {
23
- default: null
24
- },
25
- data: {
26
- default: null
27
- },
28
- datasource: {
29
- default: null
30
- },
31
- width: {
32
- default: null
33
- },
34
- layout: {
35
- default: null
36
- }
37
- },
18
+ export const blockCard = blockCardFactory({
38
19
  parseDOM: [{
39
20
  tag: 'a[data-block-card]',
40
21
  // bump priority higher than hyperlink
@@ -79,4 +60,4 @@ export const blockCard = {
79
60
  };
80
61
  return ['a', attrs, (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.url) || ' '];
81
62
  }
82
- };
63
+ });
@@ -1,28 +1,27 @@
1
+ import { blockquote as blockquoteFactory } from '../../next-schema/generated/nodeTypes';
2
+ import { blockquoteLegacy as blockquoteLegacyFactory } from '../../next-schema/generated/nodeTypes';
3
+
1
4
  /**
2
5
  * @name blockquote_node
3
6
  */
4
7
 
5
- const createBlockquoteSpec = allowList => {
6
- const blockquoteSpec = {
7
- group: 'block',
8
- defining: true,
9
- selectable: false,
10
- parseDOM: [{
11
- tag: 'blockquote'
12
- }],
13
- toDOM() {
14
- return ['blockquote', 0];
15
- }
16
- };
17
- if (allowList) {
18
- blockquoteSpec.content = '(paragraph | orderedList | bulletList | unsupportedBlock)+';
19
- } else {
20
- blockquoteSpec.content = '(paragraph | unsupportedBlock)+';
8
+ export const blockquote = blockquoteLegacyFactory({
9
+ parseDOM: [{
10
+ tag: 'blockquote'
11
+ }],
12
+ toDOM() {
13
+ return ['blockquote', 0];
21
14
  }
22
- return blockquoteSpec;
23
- };
24
- export const blockquote = createBlockquoteSpec(false);
15
+ });
16
+
25
17
  /**
26
18
  * @name blockquote_with_list_node
27
19
  */
28
- export const blockquoteWithList = createBlockquoteSpec(true);
20
+ export const blockquoteWithList = blockquoteFactory({
21
+ parseDOM: [{
22
+ tag: 'blockquote'
23
+ }],
24
+ toDOM() {
25
+ return ['blockquote', 0];
26
+ }
27
+ });
@@ -1,4 +1,5 @@
1
1
  import { getExtensionAttrs } from '../../utils/extensions';
2
+ import { bodiedExtension as bodiedExtensionFactory } from '../../next-schema/generated/nodeTypes';
2
3
 
3
4
  /**
4
5
  * @name bodiedExtension_node
@@ -8,56 +9,25 @@ import { getExtensionAttrs } from '../../utils/extensions';
8
9
  * @name bodiedExtension_with_marks_node
9
10
  */
10
11
 
11
- const createBodiedExtensionNodeSpec = () => {
12
- const nodeSpec = {
13
- inline: false,
14
- group: 'block',
15
- marks: 'dataConsumer fragment',
16
- content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | extension | unsupportedBlock | embedCard)+',
17
- defining: true,
18
- selectable: true,
19
- isolating: true,
20
- attrs: {
21
- extensionType: {
22
- default: ''
23
- },
24
- extensionKey: {
25
- default: ''
26
- },
27
- parameters: {
28
- default: null
29
- },
30
- text: {
31
- default: null
32
- },
33
- layout: {
34
- default: 'default'
35
- },
36
- localId: {
37
- default: null
38
- }
39
- },
40
- parseDOM: [{
41
- context: 'bodiedExtension//',
42
- tag: '[data-node-type="bodied-extension"]',
43
- skip: true
44
- }, {
45
- tag: '[data-node-type="bodied-extension"]',
46
- getAttrs: domNode => getExtensionAttrs(domNode)
47
- }],
48
- toDOM(node) {
49
- const attrs = {
50
- 'data-node-type': 'bodied-extension',
51
- 'data-extension-type': node.attrs.extensionType,
52
- 'data-extension-key': node.attrs.extensionKey,
53
- 'data-text': node.attrs.text,
54
- 'data-parameters': JSON.stringify(node.attrs.parameters),
55
- 'data-layout': node.attrs.layout,
56
- 'data-local-id:': node.attrs.localId
57
- };
58
- return ['div', attrs, 0];
59
- }
60
- };
61
- return nodeSpec;
62
- };
63
- export const bodiedExtension = createBodiedExtensionNodeSpec();
12
+ export const bodiedExtension = bodiedExtensionFactory({
13
+ parseDOM: [{
14
+ context: 'bodiedExtension//',
15
+ tag: '[data-node-type="bodied-extension"]',
16
+ skip: true
17
+ }, {
18
+ tag: '[data-node-type="bodied-extension"]',
19
+ getAttrs: domNode => getExtensionAttrs(domNode)
20
+ }],
21
+ toDOM(node) {
22
+ const attrs = {
23
+ 'data-node-type': 'bodied-extension',
24
+ 'data-extension-type': node.attrs.extensionType,
25
+ 'data-extension-key': node.attrs.extensionKey,
26
+ 'data-text': node.attrs.text,
27
+ 'data-parameters': JSON.stringify(node.attrs.parameters),
28
+ 'data-layout': node.attrs.layout,
29
+ 'data-local-id:': node.attrs.localId
30
+ };
31
+ return ['div', attrs, 0];
32
+ }
33
+ });
@@ -1,16 +1,13 @@
1
+ import { bulletList as bulletListFactory } from '../../next-schema/generated/nodeTypes';
1
2
  export const bulletListSelector = '.ak-ul';
2
- export const bulletList = {
3
- group: 'block',
4
- content: 'listItem+',
5
- selectable: false,
3
+ export const bulletList = bulletListFactory({
6
4
  parseDOM: [{
7
5
  tag: 'ul'
8
6
  }],
9
- marks: 'unsupportedMark unsupportedNodeAttribute',
10
7
  toDOM() {
11
8
  const attrs = {
12
9
  class: bulletListSelector.substr(1)
13
10
  };
14
11
  return ['ul', attrs, 0];
15
12
  }
16
- };
13
+ });
@@ -1,12 +1,10 @@
1
+ import { caption as captionFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name caption_node
3
5
  */
4
6
 
5
- export const caption = {
6
- content: '(text|hardBreak|mention|emoji|date|placeholder|inlineCard|status|unsupportedInline)*',
7
- isolating: true,
8
- marks: '_',
9
- selectable: false,
7
+ export const caption = captionFactory({
10
8
  parseDOM: [{
11
9
  tag: 'figcaption[data-caption]'
12
10
  }],
@@ -16,4 +14,4 @@ export const caption = {
16
14
  };
17
15
  return ['figcaption', attrs, 0];
18
16
  }
19
- };
17
+ });
@@ -1,4 +1,6 @@
1
1
  import { Fragment } from '@atlaskit/editor-prosemirror/model';
2
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
+ import { codeBlock as codeBlockFactory } from '../../next-schema/generated/nodeTypes';
2
4
 
3
5
  /**
4
6
  * @name codeBlock_node
@@ -48,20 +50,30 @@ const removeLastNewLine = dom => {
48
50
  }
49
51
  return dom;
50
52
  };
51
- export const codeBlock = {
52
- attrs: {
53
- language: {
54
- default: null
55
- },
56
- uniqueId: {
57
- default: null
53
+ function parseCodeFromHtml(node) {
54
+ let code = '';
55
+ node.childNodes.forEach(child => {
56
+ if (child.nodeType === Node.TEXT_NODE) {
57
+ // append text
58
+ code += child.nodeValue;
59
+ } else if (child.nodeType === Node.ELEMENT_NODE && child instanceof Element) {
60
+ const tagName = child.tagName.toLowerCase();
61
+ if (tagName === 'div' || tagName === 'p') {
62
+ // add a newline before its content, unless it's the first child to avoid leading newlines
63
+ if (child.previousElementSibling !== null) {
64
+ code += '\n';
65
+ }
66
+ }
67
+ if (tagName === 'br') {
68
+ code += '\n';
69
+ } else {
70
+ code += parseCodeFromHtml(child);
71
+ }
58
72
  }
59
- },
60
- content: '(text | unsupportedInline)*',
61
- marks: 'unsupportedMark unsupportedNodeAttribute',
62
- group: 'block',
63
- code: true,
64
- defining: true,
73
+ });
74
+ return code;
75
+ }
76
+ export const codeBlock = codeBlockFactory({
65
77
  parseDOM: [{
66
78
  tag: 'pre',
67
79
  preserveWhitespace: 'full',
@@ -74,7 +86,7 @@ export const codeBlock = {
74
86
  };
75
87
  }
76
88
  },
77
- // Handle VSCode paste
89
+ // Handle VSCode, Android Studio paste
78
90
  // Checking `white-space: pre-wrap` is too aggressive @see ED-2627
79
91
  {
80
92
  tag: 'div[style]',
@@ -86,8 +98,11 @@ export const codeBlock = {
86
98
  }
87
99
  return false;
88
100
  },
89
- // @see ED-5682
90
101
  getContent: (domNode, schema) => {
102
+ if (getBooleanFF('platform.editor.codeblock.parsedom-divstyle-improve_5ib4n')) {
103
+ const code = parseCodeFromHtml(domNode);
104
+ return code ? Fragment.from(schema.text(code)) : Fragment.empty;
105
+ }
91
106
  const dom = domNode;
92
107
  const code = Array.from(dom.children).map(child => child.textContent).filter(x => x !== undefined).join('\n');
93
108
  return code ? Fragment.from(schema.text(code)) : Fragment.empty;
@@ -124,7 +139,7 @@ export const codeBlock = {
124
139
  'data-language': node.attrs.language
125
140
  }, 0]];
126
141
  }
127
- };
142
+ });
128
143
  export const toJSON = node => ({
129
144
  attrs: Object.keys(node.attrs).reduce((memo, key) => {
130
145
  if (key === 'uniqueId') {
@@ -1,25 +1,6 @@
1
+ import { confluenceJiraIssue as confluenceJiraIssueFactory } from '../../next-schema/generated/nodeTypes';
1
2
  const name = 'confluenceJiraIssue';
2
- export const confluenceJiraIssue = {
3
- group: 'inline',
4
- inline: true,
5
- atom: true,
6
- attrs: {
7
- issueKey: {
8
- default: ''
9
- },
10
- macroId: {
11
- default: null
12
- },
13
- schemaVersion: {
14
- default: null
15
- },
16
- server: {
17
- default: null
18
- },
19
- serverId: {
20
- default: null
21
- }
22
- },
3
+ export const confluenceJiraIssue = confluenceJiraIssueFactory({
23
4
  parseDOM: [{
24
5
  tag: `span[data-node-type="${name}"]`,
25
6
  getAttrs: domNode => {
@@ -44,4 +25,4 @@ export const confluenceJiraIssue = {
44
25
  };
45
26
  return ['span', attrs, node.attrs.issueKey];
46
27
  }
47
- };
28
+ });