@atlaskit/adf-schema 37.2.1 → 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 (361) hide show
  1. package/CHANGELOG.md +6 -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 +114 -114
  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/nodes/blockCard.js +1 -1
  8. package/dist/cjs/next-schema/nodes/blockquote.js +2 -2
  9. package/dist/cjs/next-schema/nodes/bodiedExtension.js +2 -2
  10. package/dist/cjs/next-schema/nodes/caption.js +1 -1
  11. package/dist/cjs/next-schema/nodes/codeBlock.js +2 -2
  12. package/dist/cjs/next-schema/nodes/decisionItem.js +1 -1
  13. package/dist/cjs/next-schema/nodes/decisionList.js +1 -1
  14. package/dist/cjs/next-schema/nodes/embedCard.js +1 -1
  15. package/dist/cjs/next-schema/nodes/expand.js +2 -2
  16. package/dist/cjs/next-schema/nodes/extension.js +2 -2
  17. package/dist/cjs/next-schema/nodes/extensionFrame.js +2 -2
  18. package/dist/cjs/next-schema/nodes/hardBreak.js +1 -1
  19. package/dist/cjs/next-schema/nodes/heading.js +3 -3
  20. package/dist/cjs/next-schema/nodes/inlineCard.js +2 -2
  21. package/dist/cjs/next-schema/nodes/inlineExtension.js +2 -2
  22. package/dist/cjs/next-schema/nodes/layoutColumn.js +1 -1
  23. package/dist/cjs/next-schema/nodes/layoutSection.js +2 -2
  24. package/dist/cjs/next-schema/nodes/list.js +5 -5
  25. package/dist/cjs/next-schema/nodes/media.js +1 -1
  26. package/dist/cjs/next-schema/nodes/mediaGroup.js +1 -1
  27. package/dist/cjs/next-schema/nodes/mediaInline.js +1 -1
  28. package/dist/cjs/next-schema/nodes/mediaSingle.js +5 -5
  29. package/dist/cjs/next-schema/nodes/nestedExpand.js +2 -2
  30. package/dist/cjs/next-schema/nodes/panel.js +3 -3
  31. package/dist/cjs/next-schema/nodes/paragraph.js +4 -4
  32. package/dist/cjs/next-schema/nodes/placeholder.js +1 -1
  33. package/dist/cjs/next-schema/nodes/table.js +1 -1
  34. package/dist/cjs/next-schema/nodes/tableCell.js +1 -1
  35. package/dist/cjs/next-schema/nodes/tableHeader.js +1 -1
  36. package/dist/cjs/next-schema/nodes/tableRow.js +1 -1
  37. package/dist/cjs/next-schema/nodes/task.js +2 -2
  38. package/dist/cjs/next-schema/nodes/text.js +1 -1
  39. package/dist/cjs/schema/createPMSpecFactory.js +57 -0
  40. package/dist/cjs/schema/index.js +14 -1
  41. package/dist/cjs/schema/marks/alignment.js +3 -8
  42. package/dist/cjs/schema/marks/annotation.js +3 -13
  43. package/dist/cjs/schema/marks/background-color.js +3 -9
  44. package/dist/cjs/schema/marks/border.js +3 -7
  45. package/dist/cjs/schema/marks/breakout.js +3 -9
  46. package/dist/cjs/schema/marks/code.js +3 -5
  47. package/dist/cjs/schema/marks/confluence-inline-comment.js +3 -9
  48. package/dist/cjs/schema/marks/data-consumer.js +3 -7
  49. package/dist/cjs/schema/marks/em.js +3 -5
  50. package/dist/cjs/schema/marks/fragment.js +3 -12
  51. package/dist/cjs/schema/marks/indentation.js +3 -8
  52. package/dist/cjs/schema/marks/link.js +3 -13
  53. package/dist/cjs/schema/marks/strike.js +3 -5
  54. package/dist/cjs/schema/marks/strong.js +3 -5
  55. package/dist/cjs/schema/marks/subsup.js +3 -10
  56. package/dist/cjs/schema/marks/text-color.js +3 -8
  57. package/dist/cjs/schema/marks/type-ahead-query.js +3 -10
  58. package/dist/cjs/schema/marks/underline.js +3 -5
  59. package/dist/cjs/schema/marks/unsupported-mark.js +3 -6
  60. package/dist/cjs/schema/marks/unsupported-node-attributes.js +3 -6
  61. package/dist/cjs/schema/nodes/block-card.js +3 -23
  62. package/dist/cjs/schema/nodes/blockquote.js +17 -20
  63. package/dist/cjs/schema/nodes/bodied-extension.js +24 -54
  64. package/dist/cjs/schema/nodes/bullet-list.js +3 -6
  65. package/dist/cjs/schema/nodes/caption.js +3 -6
  66. package/dist/cjs/schema/nodes/code-block.js +3 -15
  67. package/dist/cjs/schema/nodes/confluence-jira-issue.js +3 -22
  68. package/dist/cjs/schema/nodes/confluence-unsupported-block.js +3 -8
  69. package/dist/cjs/schema/nodes/confluence-unsupported-inline.js +3 -10
  70. package/dist/cjs/schema/nodes/date.js +3 -10
  71. package/dist/cjs/schema/nodes/decision-item.js +3 -13
  72. package/dist/cjs/schema/nodes/decision-list.js +3 -12
  73. package/dist/cjs/schema/nodes/doc.js +2 -4
  74. package/dist/cjs/schema/nodes/embed-card.js +3 -22
  75. package/dist/cjs/schema/nodes/emoji.js +3 -16
  76. package/dist/cjs/schema/nodes/expand.js +3 -16
  77. package/dist/cjs/schema/nodes/extension.js +20 -47
  78. package/dist/cjs/schema/nodes/hard-break.js +3 -5
  79. package/dist/cjs/schema/nodes/heading.js +3 -14
  80. package/dist/cjs/schema/nodes/image.js +3 -16
  81. package/dist/cjs/schema/nodes/inline-card.js +3 -14
  82. package/dist/cjs/schema/nodes/inline-extension.js +19 -42
  83. package/dist/cjs/schema/nodes/layout-column.js +4 -12
  84. package/dist/cjs/schema/nodes/layout-section.js +23 -11
  85. package/dist/cjs/schema/nodes/list-item.js +5 -12
  86. package/dist/cjs/schema/nodes/media-group.js +3 -8
  87. package/dist/cjs/schema/nodes/media-inline.js +2 -1
  88. package/dist/cjs/schema/nodes/media-single.js +35 -14
  89. package/dist/cjs/schema/nodes/media.js +35 -83
  90. package/dist/cjs/schema/nodes/mention.js +3 -22
  91. package/dist/cjs/schema/nodes/multi-bodied-extension.js +26 -64
  92. package/dist/cjs/schema/nodes/nested-expand.js +31 -48
  93. package/dist/cjs/schema/nodes/ordered-list.js +4 -16
  94. package/dist/cjs/schema/nodes/panel.js +5 -34
  95. package/dist/cjs/schema/nodes/paragraph.js +3 -11
  96. package/dist/cjs/schema/nodes/placeholder.js +3 -11
  97. package/dist/cjs/schema/nodes/rule.js +3 -3
  98. package/dist/cjs/schema/nodes/status.js +3 -19
  99. package/dist/cjs/schema/nodes/tableNodes.js +9 -52
  100. package/dist/cjs/schema/nodes/task-item.js +3 -14
  101. package/dist/cjs/schema/nodes/task-list.js +3 -12
  102. package/dist/cjs/schema/nodes/text.js +3 -4
  103. package/dist/cjs/schema/nodes/unsupported-block.js +3 -11
  104. package/dist/cjs/schema/nodes/unsupported-inline.js +3 -10
  105. package/dist/es2019/index.js +5 -1
  106. package/dist/es2019/next-schema/generated/markTypes.js +1 -1
  107. package/dist/es2019/next-schema/generated/nodeTypes.js +39 -39
  108. package/dist/es2019/next-schema/groups/nonNestableBlockContentGroup.js +1 -1
  109. package/dist/es2019/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  110. package/dist/es2019/next-schema/nodes/blockCard.js +1 -1
  111. package/dist/es2019/next-schema/nodes/blockquote.js +2 -2
  112. package/dist/es2019/next-schema/nodes/bodiedExtension.js +2 -2
  113. package/dist/es2019/next-schema/nodes/caption.js +1 -1
  114. package/dist/es2019/next-schema/nodes/codeBlock.js +2 -2
  115. package/dist/es2019/next-schema/nodes/decisionItem.js +1 -1
  116. package/dist/es2019/next-schema/nodes/decisionList.js +1 -1
  117. package/dist/es2019/next-schema/nodes/embedCard.js +1 -1
  118. package/dist/es2019/next-schema/nodes/expand.js +2 -2
  119. package/dist/es2019/next-schema/nodes/extension.js +2 -2
  120. package/dist/es2019/next-schema/nodes/extensionFrame.js +2 -2
  121. package/dist/es2019/next-schema/nodes/hardBreak.js +1 -1
  122. package/dist/es2019/next-schema/nodes/heading.js +3 -3
  123. package/dist/es2019/next-schema/nodes/inlineCard.js +2 -2
  124. package/dist/es2019/next-schema/nodes/inlineExtension.js +2 -2
  125. package/dist/es2019/next-schema/nodes/layoutColumn.js +1 -1
  126. package/dist/es2019/next-schema/nodes/layoutSection.js +2 -2
  127. package/dist/es2019/next-schema/nodes/list.js +5 -5
  128. package/dist/es2019/next-schema/nodes/media.js +1 -1
  129. package/dist/es2019/next-schema/nodes/mediaGroup.js +1 -1
  130. package/dist/es2019/next-schema/nodes/mediaInline.js +1 -1
  131. package/dist/es2019/next-schema/nodes/mediaSingle.js +5 -5
  132. package/dist/es2019/next-schema/nodes/nestedExpand.js +2 -2
  133. package/dist/es2019/next-schema/nodes/panel.js +3 -3
  134. package/dist/es2019/next-schema/nodes/paragraph.js +4 -4
  135. package/dist/es2019/next-schema/nodes/placeholder.js +1 -1
  136. package/dist/es2019/next-schema/nodes/table.js +1 -1
  137. package/dist/es2019/next-schema/nodes/tableCell.js +1 -1
  138. package/dist/es2019/next-schema/nodes/tableHeader.js +1 -1
  139. package/dist/es2019/next-schema/nodes/tableRow.js +1 -1
  140. package/dist/es2019/next-schema/nodes/task.js +2 -2
  141. package/dist/es2019/next-schema/nodes/text.js +1 -1
  142. package/dist/es2019/schema/createPMSpecFactory.js +55 -0
  143. package/dist/es2019/schema/index.js +5 -1
  144. package/dist/es2019/schema/marks/alignment.js +3 -8
  145. package/dist/es2019/schema/marks/annotation.js +4 -13
  146. package/dist/es2019/schema/marks/background-color.js +3 -9
  147. package/dist/es2019/schema/marks/border.js +3 -7
  148. package/dist/es2019/schema/marks/breakout.js +3 -9
  149. package/dist/es2019/schema/marks/code.js +3 -5
  150. package/dist/es2019/schema/marks/confluence-inline-comment.js +4 -9
  151. package/dist/es2019/schema/marks/data-consumer.js +3 -7
  152. package/dist/es2019/schema/marks/em.js +3 -5
  153. package/dist/es2019/schema/marks/fragment.js +3 -12
  154. package/dist/es2019/schema/marks/indentation.js +3 -8
  155. package/dist/es2019/schema/marks/link.js +3 -13
  156. package/dist/es2019/schema/marks/strike.js +3 -5
  157. package/dist/es2019/schema/marks/strong.js +3 -5
  158. package/dist/es2019/schema/marks/subsup.js +3 -10
  159. package/dist/es2019/schema/marks/text-color.js +3 -8
  160. package/dist/es2019/schema/marks/type-ahead-query.js +3 -10
  161. package/dist/es2019/schema/marks/underline.js +3 -5
  162. package/dist/es2019/schema/marks/unsupported-mark.js +3 -6
  163. package/dist/es2019/schema/marks/unsupported-node-attributes.js +3 -6
  164. package/dist/es2019/schema/nodes/block-card.js +4 -23
  165. package/dist/es2019/schema/nodes/blockquote.js +19 -20
  166. package/dist/es2019/schema/nodes/bodied-extension.js +23 -53
  167. package/dist/es2019/schema/nodes/bullet-list.js +3 -6
  168. package/dist/es2019/schema/nodes/caption.js +4 -6
  169. package/dist/es2019/schema/nodes/code-block.js +3 -15
  170. package/dist/es2019/schema/nodes/confluence-jira-issue.js +3 -22
  171. package/dist/es2019/schema/nodes/confluence-unsupported-block.js +3 -8
  172. package/dist/es2019/schema/nodes/confluence-unsupported-inline.js +3 -10
  173. package/dist/es2019/schema/nodes/date.js +4 -10
  174. package/dist/es2019/schema/nodes/decision-item.js +3 -13
  175. package/dist/es2019/schema/nodes/decision-list.js +3 -12
  176. package/dist/es2019/schema/nodes/doc.js +3 -4
  177. package/dist/es2019/schema/nodes/embed-card.js +4 -22
  178. package/dist/es2019/schema/nodes/emoji.js +3 -16
  179. package/dist/es2019/schema/nodes/expand.js +4 -16
  180. package/dist/es2019/schema/nodes/extension.js +19 -46
  181. package/dist/es2019/schema/nodes/hard-break.js +4 -5
  182. package/dist/es2019/schema/nodes/heading.js +4 -14
  183. package/dist/es2019/schema/nodes/image.js +3 -16
  184. package/dist/es2019/schema/nodes/inline-card.js +4 -14
  185. package/dist/es2019/schema/nodes/inline-extension.js +18 -41
  186. package/dist/es2019/schema/nodes/layout-column.js +5 -12
  187. package/dist/es2019/schema/nodes/layout-section.js +24 -10
  188. package/dist/es2019/schema/nodes/list-item.js +6 -12
  189. package/dist/es2019/schema/nodes/media-group.js +4 -8
  190. package/dist/es2019/schema/nodes/media-inline.js +3 -2
  191. package/dist/es2019/schema/nodes/media-single.js +35 -15
  192. package/dist/es2019/schema/nodes/media.js +35 -78
  193. package/dist/es2019/schema/nodes/mention.js +3 -22
  194. package/dist/es2019/schema/nodes/multi-bodied-extension.js +26 -63
  195. package/dist/es2019/schema/nodes/nested-expand.js +32 -48
  196. package/dist/es2019/schema/nodes/ordered-list.js +5 -14
  197. package/dist/es2019/schema/nodes/panel.js +5 -34
  198. package/dist/es2019/schema/nodes/paragraph.js +4 -11
  199. package/dist/es2019/schema/nodes/placeholder.js +4 -11
  200. package/dist/es2019/schema/nodes/rule.js +4 -3
  201. package/dist/es2019/schema/nodes/status.js +3 -19
  202. package/dist/es2019/schema/nodes/tableNodes.js +40 -82
  203. package/dist/es2019/schema/nodes/task-item.js +3 -14
  204. package/dist/es2019/schema/nodes/task-list.js +3 -12
  205. package/dist/es2019/schema/nodes/text.js +4 -4
  206. package/dist/es2019/schema/nodes/unsupported-block.js +3 -11
  207. package/dist/es2019/schema/nodes/unsupported-inline.js +3 -10
  208. package/dist/esm/index.js +5 -1
  209. package/dist/esm/next-schema/generated/markTypes.js +1 -1
  210. package/dist/esm/next-schema/generated/nodeTypes.js +39 -39
  211. package/dist/esm/next-schema/groups/nonNestableBlockContentGroup.js +1 -1
  212. package/dist/esm/next-schema/groups/tableCellContentPseudoGroup.js +1 -1
  213. package/dist/esm/next-schema/nodes/blockCard.js +1 -1
  214. package/dist/esm/next-schema/nodes/blockquote.js +2 -2
  215. package/dist/esm/next-schema/nodes/bodiedExtension.js +2 -2
  216. package/dist/esm/next-schema/nodes/caption.js +1 -1
  217. package/dist/esm/next-schema/nodes/codeBlock.js +2 -2
  218. package/dist/esm/next-schema/nodes/decisionItem.js +1 -1
  219. package/dist/esm/next-schema/nodes/decisionList.js +1 -1
  220. package/dist/esm/next-schema/nodes/embedCard.js +1 -1
  221. package/dist/esm/next-schema/nodes/expand.js +2 -2
  222. package/dist/esm/next-schema/nodes/extension.js +2 -2
  223. package/dist/esm/next-schema/nodes/extensionFrame.js +2 -2
  224. package/dist/esm/next-schema/nodes/hardBreak.js +1 -1
  225. package/dist/esm/next-schema/nodes/heading.js +3 -3
  226. package/dist/esm/next-schema/nodes/inlineCard.js +2 -2
  227. package/dist/esm/next-schema/nodes/inlineExtension.js +2 -2
  228. package/dist/esm/next-schema/nodes/layoutColumn.js +1 -1
  229. package/dist/esm/next-schema/nodes/layoutSection.js +2 -2
  230. package/dist/esm/next-schema/nodes/list.js +5 -5
  231. package/dist/esm/next-schema/nodes/media.js +1 -1
  232. package/dist/esm/next-schema/nodes/mediaGroup.js +1 -1
  233. package/dist/esm/next-schema/nodes/mediaInline.js +1 -1
  234. package/dist/esm/next-schema/nodes/mediaSingle.js +5 -5
  235. package/dist/esm/next-schema/nodes/nestedExpand.js +2 -2
  236. package/dist/esm/next-schema/nodes/panel.js +3 -3
  237. package/dist/esm/next-schema/nodes/paragraph.js +4 -4
  238. package/dist/esm/next-schema/nodes/placeholder.js +1 -1
  239. package/dist/esm/next-schema/nodes/table.js +1 -1
  240. package/dist/esm/next-schema/nodes/tableCell.js +1 -1
  241. package/dist/esm/next-schema/nodes/tableHeader.js +1 -1
  242. package/dist/esm/next-schema/nodes/tableRow.js +1 -1
  243. package/dist/esm/next-schema/nodes/task.js +2 -2
  244. package/dist/esm/next-schema/nodes/text.js +1 -1
  245. package/dist/esm/schema/createPMSpecFactory.js +50 -0
  246. package/dist/esm/schema/index.js +5 -1
  247. package/dist/esm/schema/marks/alignment.js +3 -8
  248. package/dist/esm/schema/marks/annotation.js +4 -13
  249. package/dist/esm/schema/marks/background-color.js +3 -9
  250. package/dist/esm/schema/marks/border.js +3 -7
  251. package/dist/esm/schema/marks/breakout.js +3 -9
  252. package/dist/esm/schema/marks/code.js +3 -5
  253. package/dist/esm/schema/marks/confluence-inline-comment.js +4 -9
  254. package/dist/esm/schema/marks/data-consumer.js +3 -7
  255. package/dist/esm/schema/marks/em.js +3 -5
  256. package/dist/esm/schema/marks/fragment.js +3 -12
  257. package/dist/esm/schema/marks/indentation.js +3 -8
  258. package/dist/esm/schema/marks/link.js +3 -13
  259. package/dist/esm/schema/marks/strike.js +3 -5
  260. package/dist/esm/schema/marks/strong.js +3 -5
  261. package/dist/esm/schema/marks/subsup.js +3 -10
  262. package/dist/esm/schema/marks/text-color.js +3 -8
  263. package/dist/esm/schema/marks/type-ahead-query.js +3 -10
  264. package/dist/esm/schema/marks/underline.js +3 -5
  265. package/dist/esm/schema/marks/unsupported-mark.js +3 -6
  266. package/dist/esm/schema/marks/unsupported-node-attributes.js +3 -6
  267. package/dist/esm/schema/nodes/block-card.js +4 -23
  268. package/dist/esm/schema/nodes/blockquote.js +19 -20
  269. package/dist/esm/schema/nodes/bodied-extension.js +24 -54
  270. package/dist/esm/schema/nodes/bullet-list.js +3 -6
  271. package/dist/esm/schema/nodes/caption.js +4 -6
  272. package/dist/esm/schema/nodes/code-block.js +3 -15
  273. package/dist/esm/schema/nodes/confluence-jira-issue.js +3 -22
  274. package/dist/esm/schema/nodes/confluence-unsupported-block.js +3 -8
  275. package/dist/esm/schema/nodes/confluence-unsupported-inline.js +3 -10
  276. package/dist/esm/schema/nodes/date.js +4 -10
  277. package/dist/esm/schema/nodes/decision-item.js +3 -13
  278. package/dist/esm/schema/nodes/decision-list.js +3 -12
  279. package/dist/esm/schema/nodes/doc.js +3 -4
  280. package/dist/esm/schema/nodes/embed-card.js +4 -22
  281. package/dist/esm/schema/nodes/emoji.js +3 -16
  282. package/dist/esm/schema/nodes/expand.js +4 -16
  283. package/dist/esm/schema/nodes/extension.js +20 -47
  284. package/dist/esm/schema/nodes/hard-break.js +4 -5
  285. package/dist/esm/schema/nodes/heading.js +4 -14
  286. package/dist/esm/schema/nodes/image.js +3 -16
  287. package/dist/esm/schema/nodes/inline-card.js +4 -14
  288. package/dist/esm/schema/nodes/inline-extension.js +19 -42
  289. package/dist/esm/schema/nodes/layout-column.js +5 -12
  290. package/dist/esm/schema/nodes/layout-section.js +24 -10
  291. package/dist/esm/schema/nodes/list-item.js +6 -12
  292. package/dist/esm/schema/nodes/media-group.js +4 -8
  293. package/dist/esm/schema/nodes/media-inline.js +3 -2
  294. package/dist/esm/schema/nodes/media-single.js +35 -14
  295. package/dist/esm/schema/nodes/media.js +36 -82
  296. package/dist/esm/schema/nodes/mention.js +3 -22
  297. package/dist/esm/schema/nodes/multi-bodied-extension.js +27 -64
  298. package/dist/esm/schema/nodes/nested-expand.js +32 -48
  299. package/dist/esm/schema/nodes/ordered-list.js +4 -15
  300. package/dist/esm/schema/nodes/panel.js +5 -34
  301. package/dist/esm/schema/nodes/paragraph.js +4 -11
  302. package/dist/esm/schema/nodes/placeholder.js +4 -11
  303. package/dist/esm/schema/nodes/rule.js +4 -3
  304. package/dist/esm/schema/nodes/status.js +3 -19
  305. package/dist/esm/schema/nodes/tableNodes.js +12 -52
  306. package/dist/esm/schema/nodes/task-item.js +3 -14
  307. package/dist/esm/schema/nodes/task-list.js +3 -12
  308. package/dist/esm/schema/nodes/text.js +4 -4
  309. package/dist/esm/schema/nodes/unsupported-block.js +3 -11
  310. package/dist/esm/schema/nodes/unsupported-inline.js +3 -10
  311. package/dist/types/index.d.ts +2 -0
  312. package/dist/types/next-schema/generated/markTypes.d.ts +20 -20
  313. package/dist/types/next-schema/generated/nodeGroupTypes.d.ts +1 -1
  314. package/dist/types/next-schema/generated/nodeTypes.d.ts +75 -75
  315. package/dist/types/schema/createPMSpecFactory.d.ts +33 -0
  316. package/dist/types/schema/index.d.ts +2 -0
  317. package/dist/types/schema/nodes/block-card.d.ts +1 -2
  318. package/dist/types/schema/nodes/blockquote.d.ts +2 -3
  319. package/dist/types/schema/nodes/bodied-extension.d.ts +1 -2
  320. package/dist/types/schema/nodes/bullet-list.d.ts +1 -2
  321. package/dist/types/schema/nodes/caption.d.ts +1 -2
  322. package/dist/types/schema/nodes/code-block.d.ts +2 -2
  323. package/dist/types/schema/nodes/confluence-jira-issue.d.ts +1 -2
  324. package/dist/types/schema/nodes/confluence-unsupported-block.d.ts +1 -2
  325. package/dist/types/schema/nodes/confluence-unsupported-inline.d.ts +1 -2
  326. package/dist/types/schema/nodes/date.d.ts +1 -2
  327. package/dist/types/schema/nodes/decision-item.d.ts +1 -2
  328. package/dist/types/schema/nodes/decision-list.d.ts +1 -2
  329. package/dist/types/schema/nodes/doc.d.ts +1 -2
  330. package/dist/types/schema/nodes/embed-card.d.ts +1 -2
  331. package/dist/types/schema/nodes/emoji.d.ts +1 -2
  332. package/dist/types/schema/nodes/expand.d.ts +2 -2
  333. package/dist/types/schema/nodes/extension.d.ts +1 -2
  334. package/dist/types/schema/nodes/hard-break.d.ts +1 -2
  335. package/dist/types/schema/nodes/heading.d.ts +1 -2
  336. package/dist/types/schema/nodes/image.d.ts +1 -2
  337. package/dist/types/schema/nodes/inline-card.d.ts +1 -2
  338. package/dist/types/schema/nodes/inline-extension.d.ts +1 -2
  339. package/dist/types/schema/nodes/layout-column.d.ts +1 -2
  340. package/dist/types/schema/nodes/layout-section.d.ts +3 -3
  341. package/dist/types/schema/nodes/list-item.d.ts +2 -3
  342. package/dist/types/schema/nodes/media-group.d.ts +1 -2
  343. package/dist/types/schema/nodes/media.d.ts +3 -1
  344. package/dist/types/schema/nodes/mention.d.ts +2 -2
  345. package/dist/types/schema/nodes/multi-bodied-extension.d.ts +2 -3
  346. package/dist/types/schema/nodes/nested-expand.d.ts +1 -2
  347. package/dist/types/schema/nodes/ordered-list.d.ts +2 -3
  348. package/dist/types/schema/nodes/panel.d.ts +2 -3
  349. package/dist/types/schema/nodes/paragraph.d.ts +1 -2
  350. package/dist/types/schema/nodes/placeholder.d.ts +1 -2
  351. package/dist/types/schema/nodes/rule.d.ts +1 -2
  352. package/dist/types/schema/nodes/status.d.ts +1 -2
  353. package/dist/types/schema/nodes/tableNodes.d.ts +7 -7
  354. package/dist/types/schema/nodes/task-item.d.ts +1 -2
  355. package/dist/types/schema/nodes/task-list.d.ts +1 -2
  356. package/dist/types/schema/nodes/text.d.ts +1 -4
  357. package/dist/types/schema/nodes/unsupported-block.d.ts +1 -2
  358. package/dist/types/schema/nodes/unsupported-inline.d.ts +1 -2
  359. package/package.json +2 -2
  360. package/schema-generators/__tests__/unit/adfToValidatorSpec.unit.ts +7 -7
  361. package/schema-generators/__tests__/unit/validate-pm-schema.unit.ts +4 -4
@@ -1,4 +1,5 @@
1
1
  import { getExtensionAttrs } from '../../utils/extensions';
2
+ import { extension as extensionFactory } from '../../next-schema/generated/nodeTypes';
2
3
 
3
4
  /**
4
5
  * @name extension_node
@@ -8,49 +9,21 @@ import { getExtensionAttrs } from '../../utils/extensions';
8
9
  * @name extension_with_marks_node
9
10
  */
10
11
 
11
- const createExtensionNodeSpec = () => {
12
- const nodeSpec = {
13
- inline: false,
14
- group: 'block',
15
- atom: true,
16
- selectable: true,
17
- attrs: {
18
- extensionType: {
19
- default: ''
20
- },
21
- extensionKey: {
22
- default: ''
23
- },
24
- parameters: {
25
- default: null
26
- },
27
- text: {
28
- default: null
29
- },
30
- layout: {
31
- default: 'default'
32
- },
33
- localId: {
34
- default: null
35
- }
36
- },
37
- parseDOM: [{
38
- tag: '[data-node-type="extension"]',
39
- getAttrs: domNode => getExtensionAttrs(domNode)
40
- }],
41
- toDOM(node) {
42
- const attrs = {
43
- 'data-node-type': 'extension',
44
- 'data-extension-type': node.attrs.extensionType,
45
- 'data-extension-key': node.attrs.extensionKey,
46
- 'data-text': node.attrs.text,
47
- 'data-parameters': JSON.stringify(node.attrs.parameters),
48
- 'data-layout': node.attrs.layout,
49
- 'data-local-id:': node.attrs.localId
50
- };
51
- return ['div', attrs];
52
- }
53
- };
54
- return nodeSpec;
55
- };
56
- export const extension = createExtensionNodeSpec();
12
+ export const extension = extensionFactory({
13
+ parseDOM: [{
14
+ tag: '[data-node-type="extension"]',
15
+ getAttrs: domNode => getExtensionAttrs(domNode)
16
+ }],
17
+ toDOM(node) {
18
+ const attrs = {
19
+ 'data-node-type': 'extension',
20
+ 'data-extension-type': node.attrs.extensionType,
21
+ 'data-extension-key': node.attrs.extensionKey,
22
+ 'data-text': node.attrs.text,
23
+ 'data-parameters': JSON.stringify(node.attrs.parameters),
24
+ 'data-layout': node.attrs.layout,
25
+ 'data-local-id:': node.attrs.localId
26
+ };
27
+ return ['div', attrs];
28
+ }
29
+ });
@@ -1,15 +1,14 @@
1
+ import { hardBreak as hardBreakFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name hardBreak_node
3
5
  */
4
6
 
5
- export const hardBreak = {
6
- inline: true,
7
- group: 'inline',
8
- selectable: false,
7
+ export const hardBreak = hardBreakFactory({
9
8
  parseDOM: [{
10
9
  tag: 'br'
11
10
  }],
12
11
  toDOM() {
13
12
  return ['br'];
14
13
  }
15
- };
14
+ });
@@ -1,3 +1,5 @@
1
+ import { heading as headingFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name heading_node
3
5
  */
@@ -22,19 +24,7 @@ const getAttrs = level => domNode => {
22
24
  localId: domNode.getAttribute('data-local-id') || ((_heading$attrs = heading.attrs) === null || _heading$attrs === void 0 ? void 0 : (_heading$attrs$localI = _heading$attrs.localId) === null || _heading$attrs$localI === void 0 ? void 0 : _heading$attrs$localI.default)
23
25
  };
24
26
  };
25
- export const heading = {
26
- attrs: {
27
- level: {
28
- default: 1
29
- },
30
- localId: {
31
- default: null
32
- }
33
- },
34
- content: `inline*`,
35
- group: 'block',
36
- defining: true,
37
- selectable: false,
27
+ export const heading = headingFactory({
38
28
  parseDOM: [{
39
29
  tag: 'h1',
40
30
  getAttrs: getAttrs(1)
@@ -65,4 +55,4 @@ export const heading = {
65
55
  }] : [];
66
56
  return [name, ...attrs, 0];
67
57
  }
68
- };
58
+ });
@@ -1,18 +1,5 @@
1
- export const image = {
2
- group: 'inline',
3
- inline: true,
4
- attrs: {
5
- src: {
6
- default: ''
7
- },
8
- alt: {
9
- default: ''
10
- },
11
- title: {
12
- default: null
13
- }
14
- },
15
- draggable: true,
1
+ import { image as imageFactory } from '../../next-schema/generated/nodeTypes';
2
+ export const image = imageFactory({
16
3
  parseDOM: [{
17
4
  tag: 'img[src^="data:image/"]',
18
5
  ignore: true
@@ -30,4 +17,4 @@ export const image = {
30
17
  toDOM(node) {
31
18
  return ['img', node.attrs];
32
19
  }
33
- };
20
+ });
@@ -1,20 +1,10 @@
1
+ import { inlineCard as inlineCardFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name inlineCard_node
3
5
  */
4
6
 
5
- export const inlineCard = {
6
- inline: true,
7
- group: 'inline',
8
- selectable: true,
9
- draggable: true,
10
- attrs: {
11
- url: {
12
- default: null
13
- },
14
- data: {
15
- default: null
16
- }
17
- },
7
+ export const inlineCard = inlineCardFactory({
18
8
  parseDOM: [{
19
9
  tag: 'a[data-inline-card], span[data-inline-card]',
20
10
  // bump priority higher than hyperlink
@@ -54,4 +44,4 @@ export const inlineCard = {
54
44
  return ['a', attrs];
55
45
  }
56
46
  }
57
- };
47
+ });
@@ -1,4 +1,5 @@
1
1
  import { getExtensionAttrs } from '../../utils/extensions';
2
+ import { inlineExtensionWithMarks as inlineExtensionWithMarksFactory } from '../../next-schema/generated/nodeTypes';
2
3
 
3
4
  /**
4
5
  * @name inlineExtension_node
@@ -8,44 +9,20 @@ import { getExtensionAttrs } from '../../utils/extensions';
8
9
  * @name inlineExtension_with_marks_node
9
10
  */
10
11
 
11
- const createInlineExtensionNodeSpec = () => {
12
- const nodeSpec = {
13
- inline: true,
14
- group: 'inline',
15
- selectable: true,
16
- attrs: {
17
- extensionType: {
18
- default: ''
19
- },
20
- extensionKey: {
21
- default: ''
22
- },
23
- parameters: {
24
- default: null
25
- },
26
- text: {
27
- default: null
28
- },
29
- localId: {
30
- default: null
31
- }
32
- },
33
- parseDOM: [{
34
- tag: 'span[data-extension-type]',
35
- getAttrs: domNode => getExtensionAttrs(domNode, true)
36
- }],
37
- toDOM(node) {
38
- const attrs = {
39
- 'data-extension-type': node.attrs.extensionType,
40
- 'data-extension-key': node.attrs.extensionKey,
41
- 'data-text': node.attrs.text,
42
- 'data-parameters': JSON.stringify(node.attrs.parameters),
43
- 'data-local-id:': node.attrs.localId,
44
- contenteditable: 'false'
45
- };
46
- return ['span', attrs];
47
- }
48
- };
49
- return nodeSpec;
50
- };
51
- export const inlineExtension = createInlineExtensionNodeSpec();
12
+ export const inlineExtension = inlineExtensionWithMarksFactory({
13
+ parseDOM: [{
14
+ tag: 'span[data-extension-type]',
15
+ getAttrs: domNode => getExtensionAttrs(domNode, true)
16
+ }],
17
+ toDOM(node) {
18
+ const attrs = {
19
+ 'data-extension-type': node.attrs.extensionType,
20
+ 'data-extension-key': node.attrs.extensionKey,
21
+ 'data-text': node.attrs.text,
22
+ 'data-parameters': JSON.stringify(node.attrs.parameters),
23
+ 'data-local-id:': node.attrs.localId,
24
+ contenteditable: 'false'
25
+ };
26
+ return ['span', attrs];
27
+ }
28
+ });
@@ -1,17 +1,10 @@
1
+ import { layoutColumn as layoutColumnFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name layoutColumn_node
3
5
  */
4
6
 
5
- export const layoutColumn = {
6
- content: '(block|unsupportedBlock)+',
7
- isolating: true,
8
- marks: 'alignment indentation dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
9
- selectable: false,
10
- attrs: {
11
- width: {
12
- default: undefined
13
- }
14
- },
7
+ export const layoutColumn = layoutColumnFactory({
15
8
  parseDOM: [{
16
9
  context: 'layoutColumn//',
17
10
  tag: 'div[data-layout-column]',
@@ -34,7 +27,7 @@ export const layoutColumn = {
34
27
  } = node.attrs;
35
28
  if (width) {
36
29
  attrs['style'] = `flex-basis: ${width}%`;
37
- attrs['data-column-width'] = width;
30
+ attrs['data-column-width'] = `${width}`;
38
31
  }
39
32
 
40
33
  // We need to apply a attribute to the inner most child to help
@@ -44,4 +37,4 @@ export const layoutColumn = {
44
37
  };
45
38
  return ['div', attrs, ['div', contentAttrs, 0]];
46
39
  }
47
- };
40
+ });
@@ -1,3 +1,6 @@
1
+ import { layoutSection as layoutSectionFactory } from '../../next-schema/generated/nodeTypes';
2
+ import { layoutSectionFull as layoutSectionFullFactory } from '../../next-schema/generated/nodeTypes';
3
+
1
4
  /**
2
5
  * @name layoutSection_node
3
6
  */
@@ -15,10 +18,7 @@
15
18
  * @name layoutSection_with_single_column_node
16
19
  */
17
20
 
18
- export const layoutSection = {
19
- content: '(layoutColumn | unsupportedBlock){1,3} unsupportedBlock* | unsupportedBlock+',
20
- marks: 'unsupportedMark unsupportedNodeAttribute',
21
- isolating: true,
21
+ export const layoutSection = layoutSectionFactory({
22
22
  parseDOM: [{
23
23
  context: 'layoutSection//|layoutColumn//',
24
24
  tag: 'div[data-layout-section]',
@@ -32,11 +32,25 @@ export const layoutSection = {
32
32
  };
33
33
  return ['div', attrs, 0];
34
34
  }
35
- };
36
- export const layoutSectionWithSingleColumn = {
37
- content: '(layoutColumn | unsupportedBlock){1,3} unsupportedBlock* | unsupportedBlock+',
38
- marks: 'unsupportedMark unsupportedNodeAttribute',
39
- isolating: true,
35
+ });
36
+ export const layoutSectionFull = layoutSectionFullFactory({
37
+ parseDOM: [{
38
+ context: 'layoutSection//|layoutColumn//',
39
+ tag: 'div[data-layout-section]',
40
+ skip: true
41
+ }, {
42
+ tag: 'div[data-layout-section]'
43
+ }],
44
+ toDOM() {
45
+ const attrs = {
46
+ 'data-layout-section': 'true'
47
+ };
48
+ return ['div', attrs, 0];
49
+ }
50
+ });
51
+
52
+ // it's same as layoutSection
53
+ export const layoutSectionWithSingleColumn = layoutSectionFactory({
40
54
  parseDOM: [{
41
55
  context: 'layoutSection//|layoutColumn//',
42
56
  tag: 'div[data-layout-section]',
@@ -50,4 +64,4 @@ export const layoutSectionWithSingleColumn = {
50
64
  };
51
65
  return ['div', attrs, 0];
52
66
  }
53
- };
67
+ });
@@ -1,29 +1,23 @@
1
- export const listItem = {
2
- content: '(paragraph | mediaSingle | codeBlock | unsupportedBlock) (paragraph | bulletList | orderedList | mediaSingle | codeBlock | unsupportedBlock)*',
3
- marks: 'unsupportedMark unsupportedNodeAttribute',
4
- defining: true,
5
- selectable: false,
1
+ import { listItem as listItemFactory } from '../../next-schema/generated/nodeTypes';
2
+ import { listItemLegacy as listItemLegacyFactory } from '../../next-schema/generated/nodeTypes';
3
+ export const listItem = listItemLegacyFactory({
6
4
  parseDOM: [{
7
5
  tag: 'li'
8
6
  }],
9
7
  toDOM() {
10
8
  return ['li', 0];
11
9
  }
12
- };
10
+ });
13
11
 
14
12
  /**
15
13
  * @name list_item_with_task
16
14
  * @description this node allows task-list to be nested inside list-item
17
15
  */
18
- export const listItemWithTask = {
19
- content: '(paragraph | mediaSingle | codeBlock | unsupportedBlock) (paragraph | bulletList | orderedList | taskList | mediaSingle | codeBlock | unsupportedBlock)*',
20
- marks: 'unsupportedMark unsupportedNodeAttribute',
21
- defining: true,
22
- selectable: false,
16
+ export const listItemWithTask = listItemFactory({
23
17
  parseDOM: [{
24
18
  tag: 'li'
25
19
  }],
26
20
  toDOM() {
27
21
  return ['li', 0];
28
22
  }
29
- };
23
+ });
@@ -1,3 +1,5 @@
1
+ import { mediaGroup as mediaGroupFactory } from '../../next-schema/generated/nodeTypes';
2
+
1
3
  /**
2
4
  * @name mediaGroup_node
3
5
  */
@@ -5,13 +7,7 @@
5
7
  // Temporary due to an existing issue in validator below:
6
8
  // https://product-fabric.atlassian.net/jira/servicedesk/projects/DTR/queues/issue/DTR-1429
7
9
  // TODO: Remove border and link marks from white list
8
- export const mediaGroup = {
9
- inline: false,
10
- group: 'block',
11
- content: '(media|unsupportedBlock)+',
12
- attrs: {},
13
- marks: 'unsupportedMark unsupportedNodeAttribute annotation border link',
14
- selectable: false,
10
+ export const mediaGroup = mediaGroupFactory({
15
11
  parseDOM: [{
16
12
  tag: 'div[data-node-type="mediaGroup"]'
17
13
  }, {
@@ -22,4 +18,4 @@ export const mediaGroup = {
22
18
  'data-node-type': 'mediaGroup'
23
19
  }, 0];
24
20
  }
25
- };
21
+ });
@@ -1,7 +1,8 @@
1
- import { createMediaSpec, defaultAttrs } from './media';
1
+ import { createMediaSpec } from './media';
2
+ import { mediaInline as mediaInlineFactory } from '../../next-schema/generated/nodeTypes';
2
3
 
3
4
  /**
4
5
  * @name mediaInline_node
5
6
  */
6
7
 
7
- export const mediaInline = createMediaSpec(defaultAttrs, true);
8
+ export const mediaInline = createMediaSpec(mediaInlineFactory({}).attrs, true);
@@ -1,5 +1,6 @@
1
1
  import { WidthType } from './types/rich-media-common';
2
2
  import { isDOMElement } from '../../utils/parseDOM';
3
+ import { mediaSingle as mediaSingleFactory, mediaSingleCaption as mediaSingleCaptionFactory, mediaSingleFull as mediaSingleFullFactory, mediaSingleWidthType as mediaSingleWidthTypeFactory } from '../../next-schema/generated/nodeTypes';
3
4
 
4
5
  /**
5
6
  * @name mediaSingle_node
@@ -35,8 +36,6 @@ export const mediaSingleSpec = ({
35
36
  withCaption = false,
36
37
  withExtendedWidthTypes = false
37
38
  }) => {
38
- const content = withCaption ? 'media|unsupportedBlock+|media (caption|unsupportedBlock) unsupportedBlock*' : 'media|unsupportedBlock+|media unsupportedBlock+';
39
- const atom = !withCaption;
40
39
  const getAttrs = dom => {
41
40
  if (!isDOMElement(dom)) {
42
41
  // this should never happen
@@ -90,19 +89,40 @@ export const mediaSingleSpec = ({
90
89
  }
91
90
  return attrs;
92
91
  };
93
- return {
94
- inline: false,
95
- group: 'block',
96
- selectable: true,
97
- atom,
98
- content,
99
- attrs: withExtendedWidthTypes ? {
100
- ...defaultAttrs,
101
- widthType: {
102
- default: null
92
+ if (withExtendedWidthTypes && withCaption) {
93
+ return mediaSingleFullFactory({
94
+ parseDOM: [{
95
+ tag: 'div[data-node-type="mediaSingle"]',
96
+ getAttrs
97
+ }],
98
+ toDOM(node) {
99
+ return ['div', getAttrsFromNode(node), 0];
103
100
  }
104
- } : defaultAttrs,
105
- marks: 'unsupportedMark unsupportedNodeAttribute annotation border link',
101
+ });
102
+ }
103
+ if (withExtendedWidthTypes && !withCaption) {
104
+ return mediaSingleWidthTypeFactory({
105
+ parseDOM: [{
106
+ tag: 'div[data-node-type="mediaSingle"]',
107
+ getAttrs
108
+ }],
109
+ toDOM(node) {
110
+ return ['div', getAttrsFromNode(node), 0];
111
+ }
112
+ });
113
+ }
114
+ if (!withExtendedWidthTypes && withCaption) {
115
+ return mediaSingleCaptionFactory({
116
+ parseDOM: [{
117
+ tag: 'div[data-node-type="mediaSingle"]',
118
+ getAttrs
119
+ }],
120
+ toDOM(node) {
121
+ return ['div', getAttrsFromNode(node), 0];
122
+ }
123
+ });
124
+ }
125
+ return mediaSingleFactory({
106
126
  parseDOM: [{
107
127
  tag: 'div[data-node-type="mediaSingle"]',
108
128
  getAttrs
@@ -110,7 +130,7 @@ export const mediaSingleSpec = ({
110
130
  toDOM(node) {
111
131
  return ['div', getAttrsFromNode(node), 0];
112
132
  }
113
- };
133
+ });
114
134
  };
115
135
  export const mediaSingle = mediaSingleSpec({
116
136
  withCaption: false,
@@ -1,56 +1,12 @@
1
1
  import { N30 } from '../../utils/colors';
2
+ import { media as mediaFactory } from '../../next-schema/generated/nodeTypes';
3
+ import { mediaInline as mediaInlineFactory } from '../../next-schema/generated/nodeTypes';
2
4
 
3
5
  /**
4
6
  * @name media_node
5
7
  */
6
8
 
7
- export const defaultAttrs = {
8
- id: {
9
- default: ''
10
- },
11
- type: {
12
- default: 'file'
13
- },
14
- collection: {
15
- default: ''
16
- },
17
- occurrenceKey: {
18
- default: null
19
- },
20
- alt: {
21
- default: ''
22
- },
23
- width: {
24
- default: null
25
- },
26
- height: {
27
- default: null
28
- },
29
- url: {
30
- default: null
31
- },
32
- __fileName: {
33
- default: null
34
- },
35
- __fileSize: {
36
- default: null
37
- },
38
- __fileMimeType: {
39
- default: null
40
- },
41
- __displayType: {
42
- default: null
43
- },
44
- __contextId: {
45
- default: null
46
- },
47
- __mediaTraceId: {
48
- default: null
49
- },
50
- __external: {
51
- default: false
52
- }
53
- };
9
+ export const defaultAttrs = mediaFactory({}).attrs;
54
10
  export const createMediaSpec = (attributes, inline = false) => {
55
11
  const domNodeType = inline ? 'span' : 'div';
56
12
  const nodeName = inline ? 'mediaInline' : 'media';
@@ -104,39 +60,40 @@ export const createMediaSpec = (attributes, inline = false) => {
104
60
  }
105
61
  });
106
62
  }
107
- return {
108
- selectable: true,
109
- inline,
110
- ...(inline && {
111
- group: 'inline'
112
- }),
113
- attrs: attributes,
114
- parseDOM,
115
- toDOM(node) {
116
- const attrs = {
117
- 'data-id': node.attrs.id,
118
- 'data-node-type': `${nodeName}`,
119
- 'data-type': node.attrs.type,
120
- 'data-collection': node.attrs.collection,
121
- 'data-occurrence-key': node.attrs.occurrenceKey,
122
- 'data-width': node.attrs.width,
123
- 'data-height': node.attrs.height,
124
- 'data-url': node.attrs.url,
125
- 'data-alt': node.attrs.alt,
126
- // toDOM is used for static rendering as well as editor rendering. This comes into play for
127
- // emails, copy/paste, etc, so the title and styling here *is* useful (despite a React-based
128
- // node view being used for editing).
129
- title: 'Attachment',
130
- // Manually kept in sync with the style of media cards. The goal is to render a plain gray
131
- // rectangle that provides an affordance for media.
132
- style: `display: inline-block; border-radius: 3px; background: ${N30}; box-shadow: 0 1px 1px rgba(9, 30, 66, 0.2), 0 0 1px 0 rgba(9, 30, 66, 0.24);`
133
- };
134
- copyPrivateAttributes(node.attrs, attrs, key => `data-${camelCaseToKebabCase(key.slice(2))}`);
135
- return [`${domNodeType}`, attrs];
136
- }
63
+ const toDOM = node => {
64
+ const attrs = {
65
+ 'data-id': node.attrs.id,
66
+ 'data-node-type': `${nodeName}`,
67
+ 'data-type': node.attrs.type,
68
+ 'data-collection': node.attrs.collection,
69
+ 'data-occurrence-key': node.attrs.occurrenceKey,
70
+ 'data-width': node.attrs.width,
71
+ 'data-height': node.attrs.height,
72
+ 'data-url': node.attrs.url,
73
+ 'data-alt': node.attrs.alt,
74
+ // toDOM is used for static rendering as well as editor rendering. This comes into play for
75
+ // emails, copy/paste, etc, so the title and styling here *is* useful (despite a React-based
76
+ // node view being used for editing).
77
+ title: 'Attachment',
78
+ // Manually kept in sync with the style of media cards. The goal is to render a plain gray
79
+ // rectangle that provides an affordance for media.
80
+ style: `display: inline-block; border-radius: 3px; background: ${N30}; box-shadow: 0 1px 1px rgba(9, 30, 66, 0.2), 0 0 1px 0 rgba(9, 30, 66, 0.24);`
81
+ };
82
+ copyPrivateAttributes(node.attrs, attrs, key => `data-${camelCaseToKebabCase(key.slice(2))}`);
83
+ return [`${domNodeType}`, attrs];
137
84
  };
85
+ if (inline) {
86
+ return mediaInlineFactory({
87
+ parseDOM,
88
+ toDOM
89
+ });
90
+ }
91
+ return mediaFactory({
92
+ parseDOM,
93
+ toDOM
94
+ });
138
95
  };
139
- export const media = createMediaSpec(defaultAttrs);
96
+ export const media = createMediaSpec(defaultAttrs, false);
140
97
  export const camelCaseToKebabCase = str => str.replace(/([^A-Z]+)([A-Z])/g, (_, x, y) => `${x}-${y.toLowerCase()}`);
141
98
  export const copyPrivateAttributes = (from, to, map) => {
142
99
  if (media.attrs) {
@@ -1,4 +1,5 @@
1
1
  import { uuid } from '../../utils';
2
+ import { mention as mentionFactory } from '../../next-schema/generated/nodeTypes';
2
3
  export let USER_TYPES = /*#__PURE__*/function (USER_TYPES) {
3
4
  USER_TYPES["DEFAULT"] = "DEFAULT";
4
5
  USER_TYPES["SPECIAL"] = "SPECIAL";
@@ -10,27 +11,7 @@ export let USER_TYPES = /*#__PURE__*/function (USER_TYPES) {
10
11
  * @name mention_node
11
12
  */
12
13
 
13
- export const mention = {
14
- inline: true,
15
- group: 'inline',
16
- selectable: true,
17
- attrs: {
18
- id: {
19
- default: ''
20
- },
21
- text: {
22
- default: ''
23
- },
24
- accessLevel: {
25
- default: ''
26
- },
27
- userType: {
28
- default: null
29
- },
30
- localId: {
31
- default: null
32
- }
33
- },
14
+ export const mention = mentionFactory({
34
15
  parseDOM: [{
35
16
  tag: 'span[data-mention-id]',
36
17
  getAttrs: domNode => {
@@ -69,7 +50,7 @@ export const mention = {
69
50
  }
70
51
  return ['span', attrs, text];
71
52
  }
72
- };
53
+ });
73
54
  const isOptional = key => {
74
55
  return ['userType', 'localId'].indexOf(key) > -1;
75
56
  };