@payloadcms/richtext-slate 3.0.0-beta.13 → 3.0.0-beta.131

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 (451) hide show
  1. package/README.md +1 -1
  2. package/dist/cell/rscEntry.d.ts +8 -0
  3. package/dist/cell/rscEntry.d.ts.map +1 -0
  4. package/dist/cell/rscEntry.js +51 -0
  5. package/dist/cell/rscEntry.js.map +1 -0
  6. package/dist/data/defaultValue.js.map +1 -1
  7. package/dist/data/populate.d.ts +5 -4
  8. package/dist/data/populate.d.ts.map +1 -1
  9. package/dist/data/populate.js +14 -11
  10. package/dist/data/populate.js.map +1 -1
  11. package/dist/data/recurseNestedFields.d.ts +5 -3
  12. package/dist/data/recurseNestedFields.d.ts.map +1 -1
  13. package/dist/data/recurseNestedFields.js +32 -13
  14. package/dist/data/recurseNestedFields.js.map +1 -1
  15. package/dist/data/richTextRelationshipPromise.d.ts +8 -6
  16. package/dist/data/richTextRelationshipPromise.d.ts.map +1 -1
  17. package/dist/data/richTextRelationshipPromise.js +20 -10
  18. package/dist/data/richTextRelationshipPromise.js.map +1 -1
  19. package/dist/data/validation.d.ts +1 -1
  20. package/dist/data/validation.d.ts.map +1 -1
  21. package/dist/data/validation.js +3 -1
  22. package/dist/data/validation.js.map +1 -1
  23. package/dist/exports/client/index.d.ts +49 -0
  24. package/dist/exports/client/index.d.ts.map +1 -0
  25. package/dist/exports/client/index.js +51 -0
  26. package/dist/exports/client/index.js.map +1 -0
  27. package/dist/exports/server/rsc.d.ts +3 -0
  28. package/dist/exports/server/rsc.d.ts.map +1 -0
  29. package/dist/exports/server/rsc.js +4 -0
  30. package/dist/exports/server/rsc.js.map +1 -0
  31. package/dist/field/RichText.d.ts +4 -15
  32. package/dist/field/RichText.d.ts.map +1 -1
  33. package/dist/field/RichText.js +186 -161
  34. package/dist/field/RichText.js.map +1 -1
  35. package/dist/field/buttons.scss +11 -10
  36. package/dist/field/createFeatureMap.d.ts +2 -1
  37. package/dist/field/createFeatureMap.d.ts.map +1 -1
  38. package/dist/field/createFeatureMap.js +15 -4
  39. package/dist/field/createFeatureMap.js.map +1 -1
  40. package/dist/field/elements/Button.d.ts.map +1 -1
  41. package/dist/field/elements/Button.js +19 -9
  42. package/dist/field/elements/Button.js.map +1 -1
  43. package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -1
  44. package/dist/field/elements/EnabledRelationshipsCondition.js +2 -4
  45. package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -1
  46. package/dist/field/elements/ListButton.js +5 -3
  47. package/dist/field/elements/ListButton.js.map +1 -1
  48. package/dist/field/elements/areAllChildrenElements.js.map +1 -1
  49. package/dist/field/elements/blockquote/Button.d.ts +4 -0
  50. package/dist/field/elements/blockquote/Button.d.ts.map +1 -0
  51. package/dist/field/elements/blockquote/Button.js +11 -0
  52. package/dist/field/elements/blockquote/Button.js.map +1 -0
  53. package/dist/field/elements/blockquote/Element.d.ts +3 -0
  54. package/dist/field/elements/blockquote/Element.d.ts.map +1 -0
  55. package/dist/field/elements/blockquote/{Blockquote.js → Element.js} +7 -5
  56. package/dist/field/elements/blockquote/Element.js.map +1 -0
  57. package/dist/field/elements/blockquote/index.d.ts.map +1 -1
  58. package/dist/field/elements/blockquote/index.js +6 -7
  59. package/dist/field/elements/blockquote/index.js.map +1 -1
  60. package/dist/field/elements/blockquote/index.scss +7 -5
  61. package/dist/field/elements/getCommonBlock.d.ts.map +1 -1
  62. package/dist/field/elements/getCommonBlock.js.map +1 -1
  63. package/dist/field/elements/h1/Button.d.ts +4 -0
  64. package/dist/field/elements/h1/Button.d.ts.map +1 -0
  65. package/dist/field/elements/h1/Button.js +11 -0
  66. package/dist/field/elements/h1/Button.js.map +1 -0
  67. package/dist/field/elements/h1/Heading1.d.ts +1 -2
  68. package/dist/field/elements/h1/Heading1.d.ts.map +1 -1
  69. package/dist/field/elements/h1/Heading1.js +6 -2
  70. package/dist/field/elements/h1/Heading1.js.map +1 -1
  71. package/dist/field/elements/h1/index.d.ts.map +1 -1
  72. package/dist/field/elements/h1/index.js +6 -7
  73. package/dist/field/elements/h1/index.js.map +1 -1
  74. package/dist/field/elements/h2/Button.d.ts +4 -0
  75. package/dist/field/elements/h2/Button.d.ts.map +1 -0
  76. package/dist/field/elements/h2/Button.js +11 -0
  77. package/dist/field/elements/h2/Button.js.map +1 -0
  78. package/dist/field/elements/h2/Heading2.d.ts +1 -2
  79. package/dist/field/elements/h2/Heading2.d.ts.map +1 -1
  80. package/dist/field/elements/h2/Heading2.js +6 -2
  81. package/dist/field/elements/h2/Heading2.js.map +1 -1
  82. package/dist/field/elements/h2/index.d.ts.map +1 -1
  83. package/dist/field/elements/h2/index.js +6 -7
  84. package/dist/field/elements/h2/index.js.map +1 -1
  85. package/dist/field/elements/h3/Button.d.ts +4 -0
  86. package/dist/field/elements/h3/Button.d.ts.map +1 -0
  87. package/dist/field/elements/h3/Button.js +11 -0
  88. package/dist/field/elements/h3/Button.js.map +1 -0
  89. package/dist/field/elements/h3/Heading3.d.ts +1 -2
  90. package/dist/field/elements/h3/Heading3.d.ts.map +1 -1
  91. package/dist/field/elements/h3/Heading3.js +6 -2
  92. package/dist/field/elements/h3/Heading3.js.map +1 -1
  93. package/dist/field/elements/h3/index.d.ts.map +1 -1
  94. package/dist/field/elements/h3/index.js +6 -7
  95. package/dist/field/elements/h3/index.js.map +1 -1
  96. package/dist/field/elements/h4/Button.d.ts +4 -0
  97. package/dist/field/elements/h4/Button.d.ts.map +1 -0
  98. package/dist/field/elements/h4/Button.js +11 -0
  99. package/dist/field/elements/h4/Button.js.map +1 -0
  100. package/dist/field/elements/h4/Heading4.d.ts +1 -2
  101. package/dist/field/elements/h4/Heading4.d.ts.map +1 -1
  102. package/dist/field/elements/h4/Heading4.js +6 -2
  103. package/dist/field/elements/h4/Heading4.js.map +1 -1
  104. package/dist/field/elements/h4/index.d.ts.map +1 -1
  105. package/dist/field/elements/h4/index.js +6 -7
  106. package/dist/field/elements/h4/index.js.map +1 -1
  107. package/dist/field/elements/h5/Button.d.ts +4 -0
  108. package/dist/field/elements/h5/Button.d.ts.map +1 -0
  109. package/dist/field/elements/h5/Button.js +11 -0
  110. package/dist/field/elements/h5/Button.js.map +1 -0
  111. package/dist/field/elements/h5/Heading5.d.ts +1 -2
  112. package/dist/field/elements/h5/Heading5.d.ts.map +1 -1
  113. package/dist/field/elements/h5/Heading5.js +6 -2
  114. package/dist/field/elements/h5/Heading5.js.map +1 -1
  115. package/dist/field/elements/h5/index.d.ts.map +1 -1
  116. package/dist/field/elements/h5/index.js +6 -7
  117. package/dist/field/elements/h5/index.js.map +1 -1
  118. package/dist/field/elements/h6/Button.d.ts +4 -0
  119. package/dist/field/elements/h6/Button.d.ts.map +1 -0
  120. package/dist/field/elements/h6/Button.js +11 -0
  121. package/dist/field/elements/h6/Button.js.map +1 -0
  122. package/dist/field/elements/h6/Heading6.d.ts +1 -2
  123. package/dist/field/elements/h6/Heading6.d.ts.map +1 -1
  124. package/dist/field/elements/h6/Heading6.js +6 -2
  125. package/dist/field/elements/h6/Heading6.js.map +1 -1
  126. package/dist/field/elements/h6/index.d.ts.map +1 -1
  127. package/dist/field/elements/h6/index.js +6 -7
  128. package/dist/field/elements/h6/index.js.map +1 -1
  129. package/dist/field/elements/indent/Button.d.ts.map +1 -1
  130. package/dist/field/elements/indent/Button.js +21 -14
  131. package/dist/field/elements/indent/Button.js.map +1 -1
  132. package/dist/field/elements/indent/Element.js +5 -3
  133. package/dist/field/elements/indent/Element.js.map +1 -1
  134. package/dist/field/elements/indent/index.d.ts.map +1 -1
  135. package/dist/field/elements/indent/index.js +2 -4
  136. package/dist/field/elements/indent/index.js.map +1 -1
  137. package/dist/field/elements/indent/shared.js.map +1 -1
  138. package/dist/field/elements/index.js.map +1 -1
  139. package/dist/field/elements/injectVoid.js.map +1 -1
  140. package/dist/field/elements/isActive.d.ts.map +1 -1
  141. package/dist/field/elements/isActive.js +3 -1
  142. package/dist/field/elements/isActive.js.map +1 -1
  143. package/dist/field/elements/isBlockElement.d.ts +2 -2
  144. package/dist/field/elements/isBlockElement.d.ts.map +1 -1
  145. package/dist/field/elements/isBlockElement.js.map +1 -1
  146. package/dist/field/elements/isLastSelectedElementEmpty.d.ts.map +1 -1
  147. package/dist/field/elements/isLastSelectedElementEmpty.js +3 -1
  148. package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -1
  149. package/dist/field/elements/isListActive.d.ts.map +1 -1
  150. package/dist/field/elements/isListActive.js +6 -2
  151. package/dist/field/elements/isListActive.js.map +1 -1
  152. package/dist/field/elements/isWithinListItem.js.map +1 -1
  153. package/dist/field/elements/li/ListItem.d.ts.map +1 -1
  154. package/dist/field/elements/li/ListItem.js +6 -7
  155. package/dist/field/elements/li/ListItem.js.map +1 -1
  156. package/dist/field/elements/li/index.d.ts.map +1 -1
  157. package/dist/field/elements/li/index.js +1 -2
  158. package/dist/field/elements/li/index.js.map +1 -1
  159. package/dist/field/elements/link/Button/index.d.ts +3 -1
  160. package/dist/field/elements/link/Button/index.d.ts.map +1 -1
  161. package/dist/field/elements/link/Button/index.js +58 -52
  162. package/dist/field/elements/link/Button/index.js.map +1 -1
  163. package/dist/field/elements/link/Element/index.d.ts +1 -2
  164. package/dist/field/elements/link/Element/index.d.ts.map +1 -1
  165. package/dist/field/elements/link/Element/index.js +129 -114
  166. package/dist/field/elements/link/Element/index.js.map +1 -1
  167. package/dist/field/elements/link/Element/index.scss +65 -67
  168. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts +2 -3
  169. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts.map +1 -1
  170. package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -1
  171. package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
  172. package/dist/field/elements/link/LinkDrawer/index.js +56 -52
  173. package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
  174. package/dist/field/elements/link/LinkDrawer/index.scss +39 -37
  175. package/dist/field/elements/link/LinkDrawer/types.d.ts +7 -7
  176. package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
  177. package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
  178. package/dist/field/elements/link/WithLinks.js.map +1 -1
  179. package/dist/field/elements/link/index.d.ts.map +1 -1
  180. package/dist/field/elements/link/index.js +3 -6
  181. package/dist/field/elements/link/index.js.map +1 -1
  182. package/dist/field/elements/link/shared.js.map +1 -1
  183. package/dist/field/elements/link/types.d.ts +2 -2
  184. package/dist/field/elements/link/types.d.ts.map +1 -1
  185. package/dist/field/elements/link/types.js.map +1 -1
  186. package/dist/field/elements/link/utilities.d.ts +2 -5
  187. package/dist/field/elements/link/utilities.d.ts.map +1 -1
  188. package/dist/field/elements/link/utilities.js +3 -4
  189. package/dist/field/elements/link/utilities.js.map +1 -1
  190. package/dist/field/elements/listTypes.js.map +1 -1
  191. package/dist/field/elements/ol/Button.d.ts +4 -0
  192. package/dist/field/elements/ol/Button.d.ts.map +1 -0
  193. package/dist/field/elements/ol/Button.js +11 -0
  194. package/dist/field/elements/ol/Button.js.map +1 -0
  195. package/dist/field/elements/ol/OrderedList.d.ts +1 -1
  196. package/dist/field/elements/ol/OrderedList.d.ts.map +1 -1
  197. package/dist/field/elements/ol/OrderedList.js +6 -4
  198. package/dist/field/elements/ol/OrderedList.js.map +1 -1
  199. package/dist/field/elements/ol/index.d.ts.map +1 -1
  200. package/dist/field/elements/ol/index.js +6 -7
  201. package/dist/field/elements/ol/index.js.map +1 -1
  202. package/dist/field/elements/ol/index.scss +5 -3
  203. package/dist/field/elements/relationship/Button/index.d.ts +1 -1
  204. package/dist/field/elements/relationship/Button/index.d.ts.map +1 -1
  205. package/dist/field/elements/relationship/Button/index.js +29 -16
  206. package/dist/field/elements/relationship/Button/index.js.map +1 -1
  207. package/dist/field/elements/relationship/Button/index.scss +6 -4
  208. package/dist/field/elements/relationship/Element/index.d.ts +1 -7
  209. package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
  210. package/dist/field/elements/relationship/Element/index.js +73 -53
  211. package/dist/field/elements/relationship/Element/index.js.map +1 -1
  212. package/dist/field/elements/relationship/Element/index.scss +73 -71
  213. package/dist/field/elements/relationship/index.d.ts.map +1 -1
  214. package/dist/field/elements/relationship/index.js +3 -6
  215. package/dist/field/elements/relationship/index.js.map +1 -1
  216. package/dist/field/elements/relationship/plugin.js.map +1 -1
  217. package/dist/field/elements/relationship/shared.js.map +1 -1
  218. package/dist/field/elements/relationship/types.d.ts +2 -2
  219. package/dist/field/elements/relationship/types.d.ts.map +1 -1
  220. package/dist/field/elements/relationship/types.js.map +1 -1
  221. package/dist/field/elements/textAlign/Button.d.ts +2 -0
  222. package/dist/field/elements/textAlign/Button.d.ts.map +1 -0
  223. package/dist/field/elements/textAlign/Button.js +28 -0
  224. package/dist/field/elements/textAlign/Button.js.map +1 -0
  225. package/dist/field/elements/textAlign/index.d.ts.map +1 -1
  226. package/dist/field/elements/textAlign/index.js +2 -18
  227. package/dist/field/elements/textAlign/index.js.map +1 -1
  228. package/dist/field/elements/toggle.js.map +1 -1
  229. package/dist/field/elements/toggleList.d.ts.map +1 -1
  230. package/dist/field/elements/toggleList.js +6 -2
  231. package/dist/field/elements/toggleList.js.map +1 -1
  232. package/dist/field/elements/types.d.ts +1 -0
  233. package/dist/field/elements/types.d.ts.map +1 -1
  234. package/dist/field/elements/types.js.map +1 -1
  235. package/dist/field/elements/ul/Button.d.ts +4 -0
  236. package/dist/field/elements/ul/Button.d.ts.map +1 -0
  237. package/dist/field/elements/ul/Button.js +11 -0
  238. package/dist/field/elements/ul/Button.js.map +1 -0
  239. package/dist/field/elements/ul/UnorderedList.d.ts +1 -1
  240. package/dist/field/elements/ul/UnorderedList.d.ts.map +1 -1
  241. package/dist/field/elements/ul/UnorderedList.js +6 -4
  242. package/dist/field/elements/ul/UnorderedList.js.map +1 -1
  243. package/dist/field/elements/ul/index.d.ts.map +1 -1
  244. package/dist/field/elements/ul/index.js +6 -7
  245. package/dist/field/elements/ul/index.js.map +1 -1
  246. package/dist/field/elements/ul/index.scss +5 -3
  247. package/dist/field/elements/unwrapList.d.ts.map +1 -1
  248. package/dist/field/elements/unwrapList.js.map +1 -1
  249. package/dist/field/elements/upload/Button/index.d.ts +1 -1
  250. package/dist/field/elements/upload/Button/index.d.ts.map +1 -1
  251. package/dist/field/elements/upload/Button/index.js +28 -17
  252. package/dist/field/elements/upload/Button/index.js.map +1 -1
  253. package/dist/field/elements/upload/Button/index.scss +6 -4
  254. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +7 -10
  255. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
  256. package/dist/field/elements/upload/Element/UploadDrawer/index.js +71 -63
  257. package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
  258. package/dist/field/elements/upload/Element/index.d.ts +1 -7
  259. package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
  260. package/dist/field/elements/upload/Element/index.js +118 -85
  261. package/dist/field/elements/upload/Element/index.js.map +1 -1
  262. package/dist/field/elements/upload/Element/index.scss +116 -114
  263. package/dist/field/elements/upload/index.d.ts.map +1 -1
  264. package/dist/field/elements/upload/index.js +3 -6
  265. package/dist/field/elements/upload/index.js.map +1 -1
  266. package/dist/field/elements/upload/plugin.js.map +1 -1
  267. package/dist/field/elements/upload/shared.js.map +1 -1
  268. package/dist/field/elements/upload/types.d.ts +2 -2
  269. package/dist/field/elements/upload/types.d.ts.map +1 -1
  270. package/dist/field/elements/upload/types.js.map +1 -1
  271. package/dist/field/hotkeys.js.map +1 -1
  272. package/dist/field/icons/AlignCenter/index.js +7 -5
  273. package/dist/field/icons/AlignCenter/index.js.map +1 -1
  274. package/dist/field/icons/AlignLeft/index.js +7 -5
  275. package/dist/field/icons/AlignLeft/index.js.map +1 -1
  276. package/dist/field/icons/AlignRight/index.js +7 -5
  277. package/dist/field/icons/AlignRight/index.js.map +1 -1
  278. package/dist/field/icons/Blockquote/index.js +14 -9
  279. package/dist/field/icons/Blockquote/index.js.map +1 -1
  280. package/dist/field/icons/Bold/index.js +14 -9
  281. package/dist/field/icons/Bold/index.js.map +1 -1
  282. package/dist/field/icons/Code/index.js +8 -6
  283. package/dist/field/icons/Code/index.js.map +1 -1
  284. package/dist/field/icons/IndentLeft/index.js +31 -24
  285. package/dist/field/icons/IndentLeft/index.js.map +1 -1
  286. package/dist/field/icons/IndentLeft/index.scss +12 -10
  287. package/dist/field/icons/IndentRight/index.js +31 -24
  288. package/dist/field/icons/IndentRight/index.js.map +1 -1
  289. package/dist/field/icons/IndentRight/index.scss +12 -10
  290. package/dist/field/icons/Italic/index.js +14 -9
  291. package/dist/field/icons/Italic/index.js.map +1 -1
  292. package/dist/field/icons/Link/index.js +14 -9
  293. package/dist/field/icons/Link/index.js.map +1 -1
  294. package/dist/field/icons/Link/index.scss +8 -6
  295. package/dist/field/icons/OrderedList/index.js +14 -9
  296. package/dist/field/icons/OrderedList/index.js.map +1 -1
  297. package/dist/field/icons/Relationship/index.js +24 -18
  298. package/dist/field/icons/Relationship/index.js.map +1 -1
  299. package/dist/field/icons/Relationship/index.scss +9 -7
  300. package/dist/field/icons/Strikethrough/index.js +14 -9
  301. package/dist/field/icons/Strikethrough/index.js.map +1 -1
  302. package/dist/field/icons/Underline/index.js +14 -9
  303. package/dist/field/icons/Underline/index.js.map +1 -1
  304. package/dist/field/icons/UnorderedList/index.js +14 -9
  305. package/dist/field/icons/UnorderedList/index.js.map +1 -1
  306. package/dist/field/icons/Upload/index.js +16 -11
  307. package/dist/field/icons/Upload/index.js.map +1 -1
  308. package/dist/field/icons/Upload/index.scss +8 -6
  309. package/dist/field/icons/headings/H1/index.js +14 -9
  310. package/dist/field/icons/headings/H1/index.js.map +1 -1
  311. package/dist/field/icons/headings/H2/index.js +14 -9
  312. package/dist/field/icons/headings/H2/index.js.map +1 -1
  313. package/dist/field/icons/headings/H3/index.js +14 -9
  314. package/dist/field/icons/headings/H3/index.js.map +1 -1
  315. package/dist/field/icons/headings/H4/index.js +14 -9
  316. package/dist/field/icons/headings/H4/index.js.map +1 -1
  317. package/dist/field/icons/headings/H5/index.js +14 -9
  318. package/dist/field/icons/headings/H5/index.js.map +1 -1
  319. package/dist/field/icons/headings/H6/index.js +14 -9
  320. package/dist/field/icons/headings/H6/index.js.map +1 -1
  321. package/dist/field/index.d.ts +2 -5
  322. package/dist/field/index.d.ts.map +1 -1
  323. package/dist/field/index.js +26 -20
  324. package/dist/field/index.js.map +1 -1
  325. package/dist/field/index.scss +169 -148
  326. package/dist/field/leaves/Button.d.ts +1 -2
  327. package/dist/field/leaves/Button.d.ts.map +1 -1
  328. package/dist/field/leaves/Button.js +5 -3
  329. package/dist/field/leaves/Button.js.map +1 -1
  330. package/dist/field/leaves/bold/Bold/index.d.ts +1 -2
  331. package/dist/field/leaves/bold/Bold/index.d.ts.map +1 -1
  332. package/dist/field/leaves/bold/Bold/index.js +6 -2
  333. package/dist/field/leaves/bold/Bold/index.js.map +1 -1
  334. package/dist/field/leaves/bold/LeafButton.d.ts +2 -0
  335. package/dist/field/leaves/bold/LeafButton.d.ts.map +1 -0
  336. package/dist/field/leaves/bold/LeafButton.js +11 -0
  337. package/dist/field/leaves/bold/LeafButton.js.map +1 -0
  338. package/dist/field/leaves/bold/index.d.ts.map +1 -1
  339. package/dist/field/leaves/bold/index.js +2 -8
  340. package/dist/field/leaves/bold/index.js.map +1 -1
  341. package/dist/field/leaves/code/Code/index.d.ts +1 -2
  342. package/dist/field/leaves/code/Code/index.d.ts.map +1 -1
  343. package/dist/field/leaves/code/Code/index.js +6 -2
  344. package/dist/field/leaves/code/Code/index.js.map +1 -1
  345. package/dist/field/leaves/code/LeafButton.d.ts +2 -0
  346. package/dist/field/leaves/code/LeafButton.d.ts.map +1 -0
  347. package/dist/field/leaves/code/LeafButton.js +11 -0
  348. package/dist/field/leaves/code/LeafButton.js.map +1 -0
  349. package/dist/field/leaves/code/index.d.ts.map +1 -1
  350. package/dist/field/leaves/code/index.js +2 -8
  351. package/dist/field/leaves/code/index.js.map +1 -1
  352. package/dist/field/leaves/index.js.map +1 -1
  353. package/dist/field/leaves/isActive.js.map +1 -1
  354. package/dist/field/leaves/italic/Italic/index.d.ts +1 -2
  355. package/dist/field/leaves/italic/Italic/index.d.ts.map +1 -1
  356. package/dist/field/leaves/italic/Italic/index.js +6 -2
  357. package/dist/field/leaves/italic/Italic/index.js.map +1 -1
  358. package/dist/field/leaves/italic/LeafButton.d.ts +2 -0
  359. package/dist/field/leaves/italic/LeafButton.d.ts.map +1 -0
  360. package/dist/field/leaves/italic/LeafButton.js +11 -0
  361. package/dist/field/leaves/italic/LeafButton.js.map +1 -0
  362. package/dist/field/leaves/italic/index.d.ts.map +1 -1
  363. package/dist/field/leaves/italic/index.js +2 -8
  364. package/dist/field/leaves/italic/index.js.map +1 -1
  365. package/dist/field/leaves/strikethrough/LeafButton.d.ts +2 -0
  366. package/dist/field/leaves/strikethrough/LeafButton.d.ts.map +1 -0
  367. package/dist/field/leaves/strikethrough/LeafButton.js +11 -0
  368. package/dist/field/leaves/strikethrough/LeafButton.js.map +1 -0
  369. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts +1 -2
  370. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts.map +1 -1
  371. package/dist/field/leaves/strikethrough/Strikethrough/index.js +6 -2
  372. package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -1
  373. package/dist/field/leaves/strikethrough/index.d.ts.map +1 -1
  374. package/dist/field/leaves/strikethrough/index.js +2 -8
  375. package/dist/field/leaves/strikethrough/index.js.map +1 -1
  376. package/dist/field/leaves/toggle.js.map +1 -1
  377. package/dist/field/leaves/underline/LeafButton.d.ts +2 -0
  378. package/dist/field/leaves/underline/LeafButton.d.ts.map +1 -0
  379. package/dist/field/leaves/underline/LeafButton.js +11 -0
  380. package/dist/field/leaves/underline/LeafButton.js.map +1 -0
  381. package/dist/field/leaves/underline/Underline/index.d.ts +1 -2
  382. package/dist/field/leaves/underline/Underline/index.d.ts.map +1 -1
  383. package/dist/field/leaves/underline/Underline/index.js +6 -2
  384. package/dist/field/leaves/underline/Underline/index.js.map +1 -1
  385. package/dist/field/leaves/underline/index.d.ts.map +1 -1
  386. package/dist/field/leaves/underline/index.js +2 -8
  387. package/dist/field/leaves/underline/index.js.map +1 -1
  388. package/dist/field/mergeCustomFunctions.js.map +1 -1
  389. package/dist/field/plugins/withEnterBreakOut.js.map +1 -1
  390. package/dist/field/plugins/withHTML.js.map +1 -1
  391. package/dist/field/providers/ElementButtonProvider.d.ts +5 -7
  392. package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -1
  393. package/dist/field/providers/ElementButtonProvider.js +5 -3
  394. package/dist/field/providers/ElementButtonProvider.js.map +1 -1
  395. package/dist/field/providers/ElementProvider.d.ts +5 -8
  396. package/dist/field/providers/ElementProvider.d.ts.map +1 -1
  397. package/dist/field/providers/ElementProvider.js +5 -3
  398. package/dist/field/providers/ElementProvider.js.map +1 -1
  399. package/dist/field/providers/LeafButtonProvider.d.ts +4 -6
  400. package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -1
  401. package/dist/field/providers/LeafButtonProvider.js +5 -3
  402. package/dist/field/providers/LeafButtonProvider.js.map +1 -1
  403. package/dist/field/providers/LeafProvider.d.ts +5 -7
  404. package/dist/field/providers/LeafProvider.d.ts.map +1 -1
  405. package/dist/field/providers/LeafProvider.js +5 -3
  406. package/dist/field/providers/LeafProvider.js.map +1 -1
  407. package/dist/field/rscEntry.d.ts +7 -0
  408. package/dist/field/rscEntry.d.ts.map +1 -0
  409. package/dist/field/rscEntry.js +129 -0
  410. package/dist/field/rscEntry.js.map +1 -0
  411. package/dist/field/types.d.ts +6 -1
  412. package/dist/field/types.d.ts.map +1 -1
  413. package/dist/field/types.js.map +1 -1
  414. package/dist/generateSchemaMap.d.ts +2 -2
  415. package/dist/generateSchemaMap.d.ts.map +1 -1
  416. package/dist/generateSchemaMap.js +26 -14
  417. package/dist/generateSchemaMap.js.map +1 -1
  418. package/dist/index.d.ts +3 -6
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +147 -37
  421. package/dist/index.js.map +1 -1
  422. package/dist/scss/app.scss +164 -168
  423. package/dist/scss/colors.scss +256 -254
  424. package/dist/scss/resets.scss +9 -7
  425. package/dist/scss/toastify.scss +43 -41
  426. package/dist/scss/toasts.scss +143 -0
  427. package/dist/scss/type.scss +79 -86
  428. package/dist/scss/vars.scss +26 -47
  429. package/dist/types.d.ts +11 -11
  430. package/dist/types.d.ts.map +1 -1
  431. package/dist/types.js.map +1 -1
  432. package/dist/utilities/SlatePropsProvider.d.ts +11 -0
  433. package/dist/utilities/SlatePropsProvider.d.ts.map +1 -0
  434. package/dist/utilities/SlatePropsProvider.js +21 -0
  435. package/dist/utilities/SlatePropsProvider.js.map +1 -0
  436. package/dist/utilities/useSlatePlugin.d.ts.map +1 -1
  437. package/dist/utilities/useSlatePlugin.js +3 -3
  438. package/dist/utilities/useSlatePlugin.js.map +1 -1
  439. package/license.md +22 -0
  440. package/package.json +52 -29
  441. package/dist/cell/index.d.ts +0 -4
  442. package/dist/cell/index.d.ts.map +0 -1
  443. package/dist/cell/index.js +0 -9
  444. package/dist/cell/index.js.map +0 -1
  445. package/dist/field/elements/blockquote/Blockquote.d.ts +0 -4
  446. package/dist/field/elements/blockquote/Blockquote.d.ts.map +0 -1
  447. package/dist/field/elements/blockquote/Blockquote.js.map +0 -1
  448. package/dist/generateComponentMap.d.ts +0 -4
  449. package/dist/generateComponentMap.d.ts.map +0 -1
  450. package/dist/generateComponentMap.js +0 -101
  451. package/dist/generateComponentMap.js.map +0 -1
@@ -0,0 +1,129 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
+ import { createClientFields, deepCopyObjectSimple } from 'payload';
4
+ import React from 'react';
5
+ // eslint-disable-next-line payload/no-imports-from-exports-dir
6
+ import { RichTextField } from '../exports/client/index.js';
7
+ import { elements as elementTypes } from '../field/elements/index.js';
8
+ import { defaultLeaves as leafTypes } from '../field/leaves/index.js';
9
+ import { linkFieldsSchemaPath } from './elements/link/shared.js';
10
+ import { uploadFieldsSchemaPath } from './elements/upload/shared.js';
11
+ export const RscEntrySlateField = ({ args, clientField, forceRender, i18n, path, payload, readOnly, renderedBlocks, schemaPath })=>{
12
+ const componentMap = new Map();
13
+ const clientProps = {
14
+ schemaPath
15
+ };
16
+ (args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf)=>{
17
+ let leafObject;
18
+ if (typeof leaf === 'object' && leaf !== null) {
19
+ leafObject = leaf;
20
+ } else if (typeof leaf === 'string' && leafTypes[leaf]) {
21
+ leafObject = leafTypes[leaf];
22
+ }
23
+ if (leafObject) {
24
+ const LeafButton = leafObject.Button;
25
+ const LeafComponent = leafObject.Leaf;
26
+ componentMap.set(`leaf.button.${leafObject.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
27
+ clientProps: clientProps,
28
+ Component: LeafButton,
29
+ importMap: payload.importMap
30
+ }));
31
+ componentMap.set(`leaf.component.${leafObject.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
32
+ clientProps: clientProps,
33
+ Component: LeafComponent,
34
+ importMap: payload.importMap
35
+ }));
36
+ if (Array.isArray(leafObject.plugins)) {
37
+ leafObject.plugins.forEach((Plugin, i)=>{
38
+ componentMap.set(`leaf.plugin.${leafObject.name}.${i}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
39
+ clientProps: clientProps,
40
+ Component: Plugin,
41
+ importMap: payload.importMap
42
+ }));
43
+ });
44
+ }
45
+ }
46
+ });
47
+ (args?.admin?.elements || Object.values(elementTypes)).forEach((el)=>{
48
+ let element;
49
+ if (typeof el === 'object' && el !== null) {
50
+ element = el;
51
+ } else if (typeof el === 'string' && elementTypes[el]) {
52
+ element = elementTypes[el];
53
+ }
54
+ if (element) {
55
+ const ElementButton = element.Button;
56
+ const ElementComponent = element.Element;
57
+ if (ElementButton) {
58
+ componentMap.set(`element.button.${element.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
59
+ clientProps: clientProps,
60
+ Component: ElementButton,
61
+ importMap: payload.importMap
62
+ }));
63
+ }
64
+ componentMap.set(`element.component.${element.name}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
65
+ clientProps: clientProps,
66
+ Component: ElementComponent,
67
+ importMap: payload.importMap
68
+ }));
69
+ if (Array.isArray(element.plugins)) {
70
+ element.plugins.forEach((Plugin, i)=>{
71
+ componentMap.set(`element.plugin.${element.name}.${i}`, /*#__PURE__*/ _jsx(RenderServerComponent, {
72
+ clientProps: clientProps,
73
+ Component: Plugin,
74
+ importMap: payload.importMap
75
+ }));
76
+ });
77
+ }
78
+ switch(element.name){
79
+ case 'link':
80
+ {
81
+ let clientFields = deepCopyObjectSimple(args.admin?.link?.fields);
82
+ clientFields = createClientFields({
83
+ clientFields,
84
+ defaultIDType: payload.config.db.defaultIDType,
85
+ fields: args.admin?.link?.fields,
86
+ i18n
87
+ });
88
+ componentMap.set(linkFieldsSchemaPath, clientFields);
89
+ break;
90
+ }
91
+ case 'relationship':
92
+ break;
93
+ case 'upload':
94
+ {
95
+ const uploadEnabledCollections = payload.config.collections.filter(({ admin: { enableRichTextRelationship, hidden }, upload })=>{
96
+ if (hidden === true) {
97
+ return false;
98
+ }
99
+ return enableRichTextRelationship && Boolean(upload) === true;
100
+ });
101
+ uploadEnabledCollections.forEach((collection)=>{
102
+ if (args?.admin?.upload?.collections[collection.slug]?.fields) {
103
+ let clientFields = deepCopyObjectSimple(args?.admin?.upload?.collections[collection.slug]?.fields);
104
+ clientFields = createClientFields({
105
+ clientFields,
106
+ defaultIDType: payload.config.db.defaultIDType,
107
+ fields: args?.admin?.upload?.collections[collection.slug]?.fields,
108
+ i18n
109
+ });
110
+ componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields);
111
+ }
112
+ });
113
+ break;
114
+ }
115
+ }
116
+ }
117
+ });
118
+ return /*#__PURE__*/ _jsx(RichTextField, {
119
+ componentMap: Object.fromEntries(componentMap),
120
+ field: clientField,
121
+ forceRender: forceRender,
122
+ path: path,
123
+ readOnly: readOnly,
124
+ renderedBlocks: renderedBlocks,
125
+ schemaPath: schemaPath
126
+ });
127
+ };
128
+
129
+ //# sourceMappingURL=rscEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/field/rscEntry.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n Field,\n FieldPaths,\n RichTextFieldClient,\n ServerComponentProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { createClientFields, deepCopyObjectSimple } from 'payload'\nimport React from 'react'\n\nimport type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '../types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { RichTextField } from '../exports/client/index.js'\nimport { elements as elementTypes } from '../field/elements/index.js'\nimport { defaultLeaves as leafTypes } from '../field/leaves/index.js'\nimport { linkFieldsSchemaPath } from './elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './elements/upload/shared.js'\nexport const RscEntrySlateField: React.FC<\n {\n args: AdapterArguments\n } & ClientComponentProps &\n Pick<FieldPaths, 'path'> &\n ServerComponentProps\n> = ({\n args,\n clientField,\n forceRender,\n i18n,\n path,\n payload,\n readOnly,\n renderedBlocks,\n schemaPath,\n}) => {\n const componentMap: Map<string, ClientField[] | React.ReactNode> = new Map()\n\n const clientProps = {\n schemaPath,\n }\n\n ;(args?.admin?.leaves || Object.values(leafTypes)).forEach((leaf) => {\n let leafObject: RichTextCustomLeaf\n\n if (typeof leaf === 'object' && leaf !== null) {\n leafObject = leaf\n } else if (typeof leaf === 'string' && leafTypes[leaf]) {\n leafObject = leafTypes[leaf]\n }\n\n if (leafObject) {\n const LeafButton = leafObject.Button\n const LeafComponent = leafObject.Leaf\n\n componentMap.set(\n `leaf.button.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafButton}\n importMap={payload.importMap}\n />,\n )\n\n componentMap.set(\n `leaf.component.${leafObject.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={LeafComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(leafObject.plugins)) {\n leafObject.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `leaf.plugin.${leafObject.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n }\n })\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n const ElementButton = element.Button\n const ElementComponent = element.Element\n\n if (ElementButton) {\n componentMap.set(\n `element.button.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementButton}\n importMap={payload.importMap}\n />,\n )\n }\n componentMap.set(\n `element.component.${element.name}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={ElementComponent}\n importMap={payload.importMap}\n />,\n )\n\n if (Array.isArray(element.plugins)) {\n element.plugins.forEach((Plugin, i) => {\n componentMap.set(\n `element.plugin.${element.name}.${i}`,\n <RenderServerComponent\n clientProps={clientProps}\n Component={Plugin}\n importMap={payload.importMap}\n />,\n )\n })\n }\n\n switch (element.name) {\n case 'link': {\n let clientFields = deepCopyObjectSimple(\n args.admin?.link?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n })\n\n componentMap.set(linkFieldsSchemaPath, clientFields)\n\n break\n }\n\n case 'relationship':\n break\n\n case 'upload': {\n const uploadEnabledCollections = payload.config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n let clientFields = deepCopyObjectSimple(\n args?.admin?.upload?.collections[collection.slug]?.fields,\n ) as unknown as ClientField[]\n clientFields = createClientFields({\n clientFields,\n defaultIDType: payload.config.db.defaultIDType,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n })\n\n componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, clientFields)\n }\n })\n\n break\n }\n }\n }\n })\n\n return (\n <RichTextField\n componentMap={Object.fromEntries(componentMap)}\n field={clientField as RichTextFieldClient}\n forceRender={forceRender}\n path={path}\n readOnly={readOnly}\n renderedBlocks={renderedBlocks}\n schemaPath={schemaPath}\n />\n )\n}\n"],"names":["RenderServerComponent","createClientFields","deepCopyObjectSimple","React","RichTextField","elements","elementTypes","defaultLeaves","leafTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","RscEntrySlateField","args","clientField","forceRender","i18n","path","payload","readOnly","renderedBlocks","schemaPath","componentMap","Map","clientProps","admin","leaves","Object","values","forEach","leaf","leafObject","LeafButton","Button","LeafComponent","Leaf","set","name","Component","importMap","Array","isArray","plugins","Plugin","i","el","element","ElementButton","ElementComponent","Element","clientFields","link","fields","defaultIDType","config","db","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug","fromEntries","field"],"mappings":";AAQA,SAASA,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,kBAAkB,EAAEC,oBAAoB,QAAQ,UAAS;AAClE,OAAOC,WAAW,QAAO;AAIzB,+DAA+D;AAC/D,SAASC,aAAa,QAAQ,6BAA4B;AAC1D,SAASC,YAAYC,YAAY,QAAQ,6BAA4B;AACrE,SAASC,iBAAiBC,SAAS,QAAQ,2BAA0B;AACrE,SAASC,oBAAoB,QAAQ,4BAA2B;AAChE,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,OAAO,MAAMC,qBAMT,CAAC,EACHC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,IAAI,EACJC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,cAAc,EACdC,UAAU,EACX;IACC,MAAMC,eAA6D,IAAIC;IAEvE,MAAMC,cAAc;QAClBH;IACF;IAEER,CAAAA,MAAMY,OAAOC,UAAUC,OAAOC,MAAM,CAACnB,UAAS,EAAGoB,OAAO,CAAC,CAACC;QAC1D,IAAIC;QAEJ,IAAI,OAAOD,SAAS,YAAYA,SAAS,MAAM;YAC7CC,aAAaD;QACf,OAAO,IAAI,OAAOA,SAAS,YAAYrB,SAAS,CAACqB,KAAK,EAAE;YACtDC,aAAatB,SAAS,CAACqB,KAAK;QAC9B;QAEA,IAAIC,YAAY;YACd,MAAMC,aAAaD,WAAWE,MAAM;YACpC,MAAMC,gBAAgBH,WAAWI,IAAI;YAErCb,aAAac,GAAG,CACd,CAAC,YAAY,EAAEL,WAAWM,IAAI,CAAC,CAAC,gBAChC,KAACpC;gBACCuB,aAAaA;gBACbc,WAAWN;gBACXO,WAAWrB,QAAQqB,SAAS;;YAIhCjB,aAAac,GAAG,CACd,CAAC,eAAe,EAAEL,WAAWM,IAAI,CAAC,CAAC,gBACnC,KAACpC;gBACCuB,aAAaA;gBACbc,WAAWJ;gBACXK,WAAWrB,QAAQqB,SAAS;;YAIhC,IAAIC,MAAMC,OAAO,CAACV,WAAWW,OAAO,GAAG;gBACrCX,WAAWW,OAAO,CAACb,OAAO,CAAC,CAACc,QAAQC;oBAClCtB,aAAac,GAAG,CACd,CAAC,YAAY,EAAEL,WAAWM,IAAI,CAAC,CAAC,EAAEO,EAAE,CAAC,gBACrC,KAAC3C;wBACCuB,aAAaA;wBACbc,WAAWK;wBACXJ,WAAWrB,QAAQqB,SAAS;;gBAGlC;YACF;QACF;IACF;IACE1B,CAAAA,MAAMY,OAAOnB,YAAYqB,OAAOC,MAAM,CAACrB,aAAY,EAAGsB,OAAO,CAAC,CAACgB;QAC/D,IAAIC;QAEJ,IAAI,OAAOD,OAAO,YAAYA,OAAO,MAAM;YACzCC,UAAUD;QACZ,OAAO,IAAI,OAAOA,OAAO,YAAYtC,YAAY,CAACsC,GAAG,EAAE;YACrDC,UAAUvC,YAAY,CAACsC,GAAG;QAC5B;QAEA,IAAIC,SAAS;YACX,MAAMC,gBAAgBD,QAAQb,MAAM;YACpC,MAAMe,mBAAmBF,QAAQG,OAAO;YAExC,IAAIF,eAAe;gBACjBzB,aAAac,GAAG,CACd,CAAC,eAAe,EAAEU,QAAQT,IAAI,CAAC,CAAC,gBAChC,KAACpC;oBACCuB,aAAaA;oBACbc,WAAWS;oBACXR,WAAWrB,QAAQqB,SAAS;;YAGlC;YACAjB,aAAac,GAAG,CACd,CAAC,kBAAkB,EAAEU,QAAQT,IAAI,CAAC,CAAC,gBACnC,KAACpC;gBACCuB,aAAaA;gBACbc,WAAWU;gBACXT,WAAWrB,QAAQqB,SAAS;;YAIhC,IAAIC,MAAMC,OAAO,CAACK,QAAQJ,OAAO,GAAG;gBAClCI,QAAQJ,OAAO,CAACb,OAAO,CAAC,CAACc,QAAQC;oBAC/BtB,aAAac,GAAG,CACd,CAAC,eAAe,EAAEU,QAAQT,IAAI,CAAC,CAAC,EAAEO,EAAE,CAAC,gBACrC,KAAC3C;wBACCuB,aAAaA;wBACbc,WAAWK;wBACXJ,WAAWrB,QAAQqB,SAAS;;gBAGlC;YACF;YAEA,OAAQO,QAAQT,IAAI;gBAClB,KAAK;oBAAQ;wBACX,IAAIa,eAAe/C,qBACjBU,KAAKY,KAAK,EAAE0B,MAAMC;wBAEpBF,eAAehD,mBAAmB;4BAChCgD;4BACAG,eAAenC,QAAQoC,MAAM,CAACC,EAAE,CAACF,aAAa;4BAC9CD,QAAQvC,KAAKY,KAAK,EAAE0B,MAAMC;4BAC1BpC;wBACF;wBAEAM,aAAac,GAAG,CAAC1B,sBAAsBwC;wBAEvC;oBACF;gBAEA,KAAK;oBACH;gBAEF,KAAK;oBAAU;wBACb,MAAMM,2BAA2BtC,QAAQoC,MAAM,CAACG,WAAW,CAACC,MAAM,CAChE,CAAC,EAAEjC,OAAO,EAAEkC,0BAA0B,EAAEC,MAAM,EAAE,EAAEC,MAAM,EAAE;4BACxD,IAAID,WAAW,MAAM;gCACnB,OAAO;4BACT;4BAEA,OAAOD,8BAA8BG,QAAQD,YAAY;wBAC3D;wBAGFL,yBAAyB3B,OAAO,CAAC,CAACkC;4BAChC,IAAIlD,MAAMY,OAAOoC,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ,QAAQ;gCAC7D,IAAIF,eAAe/C,qBACjBU,MAAMY,OAAOoC,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ;gCAErDF,eAAehD,mBAAmB;oCAChCgD;oCACAG,eAAenC,QAAQoC,MAAM,CAACC,EAAE,CAACF,aAAa;oCAC9CD,QAAQvC,MAAMY,OAAOoC,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ;oCAC3DpC;gCACF;gCAEAM,aAAac,GAAG,CAAC,CAAC,EAAEzB,uBAAuB,CAAC,EAAEoD,WAAWC,IAAI,CAAC,CAAC,EAAEd;4BACnE;wBACF;wBAEA;oBACF;YACF;QACF;IACF;IAEA,qBACE,KAAC7C;QACCiB,cAAcK,OAAOsC,WAAW,CAAC3C;QACjC4C,OAAOpD;QACPC,aAAaA;QACbE,MAAMA;QACNE,UAAUA;QACVC,gBAAgBA;QAChBC,YAAYA;;AAGlB,EAAC"}
@@ -1,4 +1,4 @@
1
- /// <reference types="react" resolution-mode="require"/>
1
+ import type { RichTextPlugin, SlateFieldProps } from '../types.js';
2
2
  export type EnabledFeatures = {
3
3
  elements: {
4
4
  [name: string]: {
@@ -16,4 +16,9 @@ export type EnabledFeatures = {
16
16
  };
17
17
  plugins: React.ReactNode[];
18
18
  };
19
+ export type LoadedSlateFieldProps = {
20
+ elements: EnabledFeatures['elements'];
21
+ leaves: EnabledFeatures['leaves'];
22
+ plugins: RichTextPlugin[];
23
+ } & SlateFieldProps;
19
24
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAC3B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/field/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;YACxB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;YACvB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;YACrB,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;KACF,CAAA;IACD,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B,GAAG,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["export type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: React.ReactNode\n Element: React.ReactNode\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: React.ReactNode\n Leaf: React.ReactNode\n name: string\n }\n }\n plugins: React.ReactNode[]\n}\n"],"names":[],"rangeMappings":"","mappings":"AAAA,WAgBC"}
1
+ {"version":3,"sources":["../../src/field/types.ts"],"sourcesContent":["import type { RichTextPlugin, SlateFieldProps } from '../types.js'\n\nexport type EnabledFeatures = {\n elements: {\n [name: string]: {\n Button: React.ReactNode\n Element: React.ReactNode\n name: string\n }\n }\n leaves: {\n [name: string]: {\n Button: React.ReactNode\n Leaf: React.ReactNode\n name: string\n }\n }\n plugins: React.ReactNode[]\n}\n\nexport type LoadedSlateFieldProps = {\n elements: EnabledFeatures['elements']\n leaves: EnabledFeatures['leaves']\n plugins: RichTextPlugin[]\n} & SlateFieldProps\n"],"names":[],"mappings":"AAoBA,WAImB"}
@@ -1,4 +1,4 @@
1
- import type { RichTextAdapter } from 'payload/types';
1
+ import type { RichTextAdapter } from 'payload';
2
2
  import type { AdapterArguments } from './types.js';
3
- export declare const getGenerateSchemaMap: (args: AdapterArguments) => RichTextAdapter['generateSchemaMap'];
3
+ export declare const getGenerateSchemaMap: (args: AdapterArguments) => RichTextAdapter["generateSchemaMap"];
4
4
  //# sourceMappingURL=generateSchemaMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateSchemaMap.d.ts","sourceRoot":"","sources":["../src/generateSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,YAAY,CAAA;AAOzE,eAAO,MAAM,oBAAoB,SACxB,gBAAgB,KAAG,eAAe,CAAC,mBAAmB,CA+D5D,CAAA"}
1
+ {"version":3,"file":"generateSchemaMap.d.ts","sourceRoot":"","sources":["../src/generateSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,eAAe,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,YAAY,CAAA;AAMzE,eAAO,MAAM,oBAAoB,SACxB,gBAAgB,KAAG,eAAe,CAAC,mBAAmB,CAwE5D,CAAA"}
@@ -1,10 +1,8 @@
1
- import { sanitizeFields } from 'payload/config';
1
+ import { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields';
2
2
  import { elements as elementTypes } from './field/elements/index.js';
3
3
  import { linkFieldsSchemaPath } from './field/elements/link/shared.js';
4
- import { transformExtraFields } from './field/elements/link/utilities.js';
5
4
  import { uploadFieldsSchemaPath } from './field/elements/upload/shared.js';
6
5
  export const getGenerateSchemaMap = (args)=>({ config, i18n, schemaMap, schemaPath })=>{
7
- const validRelationships = config.collections.map((c)=>c.slug) || [];
8
6
  (args?.admin?.elements || Object.values(elementTypes)).forEach((el)=>{
9
7
  let element;
10
8
  if (typeof el === 'object' && el !== null) {
@@ -16,14 +14,24 @@ export const getGenerateSchemaMap = (args)=>({ config, i18n, schemaMap, schemaPa
16
14
  switch(element.name){
17
15
  case 'link':
18
16
  {
19
- const linkFields = sanitizeFields({
20
- config,
21
- fields: transformExtraFields(args.admin?.link?.fields, config, i18n),
22
- validRelationships
23
- });
24
- schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, linkFields);
17
+ if (args.admin?.link?.fields) {
18
+ schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, {
19
+ fields: args.admin?.link?.fields
20
+ });
21
+ // generate schema map entries for sub-fields using traverseFields
22
+ traverseFields({
23
+ config,
24
+ fields: args.admin?.link?.fields,
25
+ i18n,
26
+ parentIndexPath: '',
27
+ parentSchemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,
28
+ schemaMap
29
+ });
30
+ }
25
31
  break;
26
32
  }
33
+ case 'relationship':
34
+ break;
27
35
  case 'upload':
28
36
  {
29
37
  const uploadEnabledCollections = config.collections.filter(({ admin: { enableRichTextRelationship, hidden }, upload })=>{
@@ -34,18 +42,22 @@ export const getGenerateSchemaMap = (args)=>({ config, i18n, schemaMap, schemaPa
34
42
  });
35
43
  uploadEnabledCollections.forEach((collection)=>{
36
44
  if (args?.admin?.upload?.collections[collection.slug]?.fields) {
37
- const uploadFields = sanitizeFields({
45
+ schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, {
46
+ fields: args?.admin?.upload?.collections[collection.slug]?.fields
47
+ });
48
+ // generate schema map entries for sub-fields using traverseFields
49
+ traverseFields({
38
50
  config,
39
51
  fields: args?.admin?.upload?.collections[collection.slug]?.fields,
40
- validRelationships
52
+ i18n,
53
+ parentIndexPath: '',
54
+ parentSchemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,
55
+ schemaMap
41
56
  });
42
- schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, uploadFields);
43
57
  }
44
58
  });
45
59
  break;
46
60
  }
47
- case 'relationship':
48
- break;
49
61
  }
50
62
  }
51
63
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generateSchemaMap.ts"],"sourcesContent":["import type { RichTextAdapter } from 'payload/types'\n\nimport { sanitizeFields } from 'payload/config'\n\nimport type { AdapterArguments, RichTextCustomElement } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\n\nexport const getGenerateSchemaMap =\n (args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>\n ({ config, i18n, schemaMap, schemaPath }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n switch (element.name) {\n case 'link': {\n const linkFields = sanitizeFields({\n config,\n fields: transformExtraFields(args.admin?.link?.fields, config, i18n),\n validRelationships,\n })\n\n schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, linkFields)\n\n break\n }\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n const uploadFields = sanitizeFields({\n config,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n validRelationships,\n })\n\n schemaMap.set(\n `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,\n uploadFields,\n )\n }\n })\n\n break\n }\n\n case 'relationship':\n break\n }\n }\n })\n\n return schemaMap\n }\n"],"names":["sanitizeFields","elements","elementTypes","linkFieldsSchemaPath","transformExtraFields","uploadFieldsSchemaPath","getGenerateSchemaMap","args","config","i18n","schemaMap","schemaPath","validRelationships","collections","map","c","slug","admin","Object","values","forEach","el","element","name","linkFields","fields","link","set","uploadEnabledCollections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","uploadFields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,iBAAgB;AAI/C,SAASC,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,kCAAiC;AACtE,SAASC,oBAAoB,QAAQ,qCAAoC;AACzE,SAASC,sBAAsB,QAAQ,oCAAmC;AAE1E,OAAO,MAAMC,uBACX,CAACC,OACD,CAAC,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAE;QACtC,MAAMC,qBAAqBJ,OAAOK,WAAW,CAACC,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAK,EAAE;QAEpET,CAAAA,MAAMU,OAAOhB,YAAYiB,OAAOC,MAAM,CAACjB,aAAY,EAAGkB,OAAO,CAAC,CAACC;YAC/D,IAAIC;YAEJ,IAAI,OAAOD,OAAO,YAAYA,OAAO,MAAM;gBACzCC,UAAUD;YACZ,OAAO,IAAI,OAAOA,OAAO,YAAYnB,YAAY,CAACmB,GAAG,EAAE;gBACrDC,UAAUpB,YAAY,CAACmB,GAAG;YAC5B;YAEA,IAAIC,SAAS;gBACX,OAAQA,QAAQC,IAAI;oBAClB,KAAK;wBAAQ;4BACX,MAAMC,aAAaxB,eAAe;gCAChCQ;gCACAiB,QAAQrB,qBAAqBG,KAAKU,KAAK,EAAES,MAAMD,QAAQjB,QAAQC;gCAC/DG;4BACF;4BAEAF,UAAUiB,GAAG,CAAC,CAAC,EAAEhB,WAAW,CAAC,EAAER,qBAAqB,CAAC,EAAEqB;4BAEvD;wBACF;oBAEA,KAAK;wBAAU;4BACb,MAAMI,2BAA2BpB,OAAOK,WAAW,CAACgB,MAAM,CACxD,CAAC,EAAEZ,OAAO,EAAEa,0BAA0B,EAAEC,MAAM,EAAE,EAAEC,MAAM,EAAE;gCACxD,IAAID,WAAW,MAAM;oCACnB,OAAO;gCACT;gCAEA,OAAOD,8BAA8BG,QAAQD,YAAY;4BAC3D;4BAGFJ,yBAAyBR,OAAO,CAAC,CAACc;gCAChC,IAAI3B,MAAMU,OAAOe,QAAQnB,WAAW,CAACqB,WAAWlB,IAAI,CAAC,EAAES,QAAQ;oCAC7D,MAAMU,eAAenC,eAAe;wCAClCQ;wCACAiB,QAAQlB,MAAMU,OAAOe,QAAQnB,WAAW,CAACqB,WAAWlB,IAAI,CAAC,EAAES;wCAC3Db;oCACF;oCAEAF,UAAUiB,GAAG,CACX,CAAC,EAAEhB,WAAW,CAAC,EAAEN,uBAAuB,CAAC,EAAE6B,WAAWlB,IAAI,CAAC,CAAC,EAC5DmB;gCAEJ;4BACF;4BAEA;wBACF;oBAEA,KAAK;wBACH;gBACJ;YACF;QACF;QAEA,OAAOzB;IACT,EAAC"}
1
+ {"version":3,"sources":["../src/generateSchemaMap.ts"],"sourcesContent":["import type { Field, RichTextAdapter } from 'payload'\n\nimport { traverseFields } from '@payloadcms/ui/utilities/buildFieldSchemaMap/traverseFields'\n\nimport type { AdapterArguments, RichTextCustomElement } from './types.js'\n\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { linkFieldsSchemaPath } from './field/elements/link/shared.js'\nimport { uploadFieldsSchemaPath } from './field/elements/upload/shared.js'\n\nexport const getGenerateSchemaMap =\n (args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>\n ({ config, i18n, schemaMap, schemaPath }) => {\n ;(args?.admin?.elements || Object.values(elementTypes)).forEach((el) => {\n let element: RichTextCustomElement\n\n if (typeof el === 'object' && el !== null) {\n element = el\n } else if (typeof el === 'string' && elementTypes[el]) {\n element = elementTypes[el]\n }\n\n if (element) {\n switch (element.name) {\n case 'link': {\n if (args.admin?.link?.fields) {\n schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, {\n fields: args.admin?.link?.fields as Field[],\n })\n\n // generate schema map entries for sub-fields using traverseFields\n traverseFields({\n config,\n fields: args.admin?.link?.fields as Field[],\n i18n,\n parentIndexPath: '',\n parentSchemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,\n schemaMap,\n })\n }\n\n break\n }\n\n case 'relationship':\n break\n\n case 'upload': {\n const uploadEnabledCollections = config.collections.filter(\n ({ admin: { enableRichTextRelationship, hidden }, upload }) => {\n if (hidden === true) {\n return false\n }\n\n return enableRichTextRelationship && Boolean(upload) === true\n },\n )\n\n uploadEnabledCollections.forEach((collection) => {\n if (args?.admin?.upload?.collections[collection.slug]?.fields) {\n schemaMap.set(`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`, {\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n })\n\n // generate schema map entries for sub-fields using traverseFields\n traverseFields({\n config,\n fields: args?.admin?.upload?.collections[collection.slug]?.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,\n schemaMap,\n })\n }\n })\n\n break\n }\n }\n }\n })\n\n return schemaMap\n }\n"],"names":["traverseFields","elements","elementTypes","linkFieldsSchemaPath","uploadFieldsSchemaPath","getGenerateSchemaMap","args","config","i18n","schemaMap","schemaPath","admin","Object","values","forEach","el","element","name","link","fields","set","parentIndexPath","parentSchemaPath","uploadEnabledCollections","collections","filter","enableRichTextRelationship","hidden","upload","Boolean","collection","slug"],"mappings":"AAEA,SAASA,cAAc,QAAQ,8DAA6D;AAI5F,SAASC,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,kCAAiC;AACtE,SAASC,sBAAsB,QAAQ,oCAAmC;AAE1E,OAAO,MAAMC,uBACX,CAACC,OACD,CAAC,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,UAAU,EAAE;QACpCJ,CAAAA,MAAMK,OAAOV,YAAYW,OAAOC,MAAM,CAACX,aAAY,EAAGY,OAAO,CAAC,CAACC;YAC/D,IAAIC;YAEJ,IAAI,OAAOD,OAAO,YAAYA,OAAO,MAAM;gBACzCC,UAAUD;YACZ,OAAO,IAAI,OAAOA,OAAO,YAAYb,YAAY,CAACa,GAAG,EAAE;gBACrDC,UAAUd,YAAY,CAACa,GAAG;YAC5B;YAEA,IAAIC,SAAS;gBACX,OAAQA,QAAQC,IAAI;oBAClB,KAAK;wBAAQ;4BACX,IAAIX,KAAKK,KAAK,EAAEO,MAAMC,QAAQ;gCAC5BV,UAAUW,GAAG,CAAC,CAAC,EAAEV,WAAW,CAAC,EAAEP,qBAAqB,CAAC,EAAE;oCACrDgB,QAAQb,KAAKK,KAAK,EAAEO,MAAMC;gCAC5B;gCAEA,kEAAkE;gCAClEnB,eAAe;oCACbO;oCACAY,QAAQb,KAAKK,KAAK,EAAEO,MAAMC;oCAC1BX;oCACAa,iBAAiB;oCACjBC,kBAAkB,CAAC,EAAEZ,WAAW,CAAC,EAAEP,qBAAqB,CAAC;oCACzDM;gCACF;4BACF;4BAEA;wBACF;oBAEA,KAAK;wBACH;oBAEF,KAAK;wBAAU;4BACb,MAAMc,2BAA2BhB,OAAOiB,WAAW,CAACC,MAAM,CACxD,CAAC,EAAEd,OAAO,EAAEe,0BAA0B,EAAEC,MAAM,EAAE,EAAEC,MAAM,EAAE;gCACxD,IAAID,WAAW,MAAM;oCACnB,OAAO;gCACT;gCAEA,OAAOD,8BAA8BG,QAAQD,YAAY;4BAC3D;4BAGFL,yBAAyBT,OAAO,CAAC,CAACgB;gCAChC,IAAIxB,MAAMK,OAAOiB,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ,QAAQ;oCAC7DV,UAAUW,GAAG,CAAC,CAAC,EAAEV,WAAW,CAAC,EAAEN,uBAAuB,CAAC,EAAE0B,WAAWC,IAAI,CAAC,CAAC,EAAE;wCAC1EZ,QAAQb,MAAMK,OAAOiB,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ;oCAC7D;oCAEA,kEAAkE;oCAClEnB,eAAe;wCACbO;wCACAY,QAAQb,MAAMK,OAAOiB,QAAQJ,WAAW,CAACM,WAAWC,IAAI,CAAC,EAAEZ;wCAC3DX;wCACAa,iBAAiB;wCACjBC,kBAAkB,CAAC,EAAEZ,WAAW,CAAC,EAAEN,uBAAuB,CAAC,EAAE0B,WAAWC,IAAI,CAAC,CAAC;wCAC9EtB;oCACF;gCACF;4BACF;4BAEA;wBACF;gBACF;YACF;QACF;QAEA,OAAOA;IACT,EAAC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,6 @@
1
- import type { RichTextAdapter } from 'payload/types';
1
+ import type { RichTextAdapterProvider } from 'payload';
2
2
  import type { AdapterArguments } from './types.js';
3
- export declare function slateEditor(args: AdapterArguments): RichTextAdapter<any[], AdapterArguments, any>;
4
- export { ElementButton } from './field/elements/Button.js';
5
- export { toggleElement } from './field/elements/toggle.js';
6
- export { LeafButton } from './field/leaves/Button.js';
7
- export type { AdapterArguments, ElementNode, FieldProps, RichTextCustomElement, RichTextCustomLeaf, RichTextElement, RichTextLeaf, TextNode, } from './types.js';
3
+ export declare function slateEditor(args: AdapterArguments): RichTextAdapterProvider<any[], AdapterArguments, any>;
4
+ export type { AdapterArguments, ElementNode, RichTextCustomElement, RichTextCustomLeaf, RichTextElement, RichTextLeaf, RichTextPlugin, RichTextPluginComponent, SlateFieldProps, TextNode, } from './types.js';
8
5
  export { nodeIsTextNode } from './types.js';
9
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AASlD,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAmDjG;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,QAAQ,GACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AASlD,wBAAgB,WAAW,CACzB,IAAI,EAAE,gBAAgB,GACrB,uBAAuB,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,CAAC,CA+LvD;AAED,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,QAAQ,GACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -1,48 +1,158 @@
1
- import { withNullableJSONSchemaType } from 'payload/utilities';
2
- import { RichTextCell } from './cell/index.js';
1
+ import { sanitizeFields, withNullableJSONSchemaType } from 'payload';
3
2
  import { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js';
4
3
  import { richTextValidate } from './data/validation.js';
5
- import { RichTextField } from './field/index.js';
6
- import { getGenerateComponentMap } from './generateComponentMap.js';
4
+ import { elements as elementTypes } from './field/elements/index.js';
5
+ import { transformExtraFields } from './field/elements/link/utilities.js';
6
+ import { defaultLeaves as leafTypes } from './field/leaves/index.js';
7
7
  import { getGenerateSchemaMap } from './generateSchemaMap.js';
8
8
  export function slateEditor(args) {
9
- return {
10
- CellComponent: RichTextCell,
11
- FieldComponent: RichTextField,
12
- generateComponentMap: getGenerateComponentMap(args),
13
- generateSchemaMap: getGenerateSchemaMap(args),
14
- outputSchema: ({ isRequired })=>{
15
- return {
16
- type: withNullableJSONSchemaType('array', isRequired),
17
- items: {
18
- type: 'object'
9
+ return async ({ config })=>{
10
+ const validRelationships = config.collections.map((c)=>c.slug) || [];
11
+ if (!args.admin) {
12
+ args.admin = {};
13
+ }
14
+ if (!args.admin.link) {
15
+ args.admin.link = {};
16
+ }
17
+ if (!args.admin.link.fields) {
18
+ args.admin.link.fields = [];
19
+ }
20
+ args.admin.link.fields = await sanitizeFields({
21
+ config: config,
22
+ fields: transformExtraFields(args.admin?.link?.fields, config),
23
+ parentIsLocalized: false,
24
+ validRelationships
25
+ });
26
+ if (args?.admin?.upload?.collections) {
27
+ for (const collection of Object.keys(args.admin.upload.collections)){
28
+ if (args?.admin?.upload?.collections[collection]?.fields) {
29
+ args.admin.upload.collections[collection].fields = await sanitizeFields({
30
+ config: config,
31
+ fields: args.admin?.upload?.collections[collection]?.fields,
32
+ parentIsLocalized: false,
33
+ validRelationships
34
+ });
19
35
  }
20
- };
21
- },
22
- populationPromise ({ context, currentDepth, depth, field, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
23
- if (field.admin?.elements?.includes('relationship') || field.admin?.elements?.includes('upload') || field.admin?.elements?.includes('link') || !field?.admin?.elements) {
24
- return richTextRelationshipPromise({
25
- context,
26
- currentDepth,
27
- depth,
28
- field,
29
- findMany,
30
- flattenLocales,
31
- overrideAccess,
32
- populationPromises,
33
- req,
34
- showHiddenFields,
35
- siblingDoc
36
- });
37
36
  }
38
- return null;
39
- },
40
- validate: richTextValidate
37
+ }
38
+ return {
39
+ CellComponent: '@payloadcms/richtext-slate/rsc#RscEntrySlateCell',
40
+ FieldComponent: {
41
+ path: '@payloadcms/richtext-slate/rsc#RscEntrySlateField',
42
+ serverProps: {
43
+ args
44
+ }
45
+ },
46
+ generateImportMap: ({ addToImportMap })=>{
47
+ addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateCell');
48
+ addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateField');
49
+ Object.values(leafTypes).forEach((leaf)=>{
50
+ if (leaf.Button) {
51
+ addToImportMap(leaf.Button);
52
+ }
53
+ if (leaf.Leaf) {
54
+ addToImportMap(leaf.Leaf);
55
+ }
56
+ if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {
57
+ addToImportMap(leaf.plugins);
58
+ }
59
+ });
60
+ args?.admin?.leaves?.forEach((leaf)=>{
61
+ if (typeof leaf === 'object') {
62
+ if (leaf.Button) {
63
+ addToImportMap(leaf.Button);
64
+ }
65
+ if (leaf.Leaf) {
66
+ addToImportMap(leaf.Leaf);
67
+ }
68
+ if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {
69
+ addToImportMap(leaf.plugins);
70
+ }
71
+ }
72
+ });
73
+ Object.values(elementTypes).forEach((element)=>{
74
+ if (element.Button) {
75
+ addToImportMap(element.Button);
76
+ }
77
+ if (element.Element) {
78
+ addToImportMap(element.Element);
79
+ }
80
+ if (Array.isArray(element.plugins) && element.plugins?.length) {
81
+ addToImportMap(element.plugins);
82
+ }
83
+ });
84
+ args?.admin?.elements?.forEach((element)=>{
85
+ if (typeof element === 'object') {
86
+ if (element.Button) {
87
+ addToImportMap(element.Button);
88
+ }
89
+ if (element.Element) {
90
+ addToImportMap(element.Element);
91
+ }
92
+ if (Array.isArray(element.plugins) && element.plugins?.length) {
93
+ addToImportMap(element.plugins);
94
+ }
95
+ }
96
+ });
97
+ },
98
+ generateSchemaMap: getGenerateSchemaMap(args),
99
+ graphQLPopulationPromises ({ context, currentDepth, depth, draft, field, fieldPromises, findMany, flattenLocales, overrideAccess, populationPromises, req, showHiddenFields, siblingDoc }) {
100
+ if (field.admin?.elements?.includes('relationship') || field.admin?.elements?.includes('upload') || field.admin?.elements?.includes('link') || !field?.admin?.elements) {
101
+ richTextRelationshipPromise({
102
+ context,
103
+ currentDepth,
104
+ depth,
105
+ draft,
106
+ field,
107
+ fieldPromises,
108
+ findMany,
109
+ flattenLocales,
110
+ overrideAccess,
111
+ populationPromises,
112
+ req,
113
+ showHiddenFields,
114
+ siblingDoc
115
+ });
116
+ }
117
+ },
118
+ hooks: {
119
+ afterRead: [
120
+ ({ context: _context, currentDepth, depth, draft, field: _field, fieldPromises, findMany, flattenLocales, overrideAccess, populate, populationPromises, req, showHiddenFields, siblingData })=>{
121
+ const context = _context;
122
+ const field = _field;
123
+ if (field.admin?.elements?.includes('relationship') || field.admin?.elements?.includes('upload') || field.admin?.elements?.includes('link') || !field?.admin?.elements) {
124
+ richTextRelationshipPromise({
125
+ context,
126
+ currentDepth,
127
+ depth,
128
+ draft,
129
+ field,
130
+ fieldPromises,
131
+ findMany,
132
+ flattenLocales,
133
+ overrideAccess,
134
+ populateArg: populate,
135
+ populationPromises,
136
+ req,
137
+ showHiddenFields,
138
+ siblingDoc: siblingData
139
+ });
140
+ }
141
+ }
142
+ ]
143
+ },
144
+ outputSchema: ({ isRequired })=>{
145
+ return {
146
+ type: withNullableJSONSchemaType('array', isRequired),
147
+ items: {
148
+ type: 'object'
149
+ }
150
+ };
151
+ },
152
+ validate: richTextValidate
153
+ };
41
154
  };
42
155
  }
43
- export { ElementButton } from './field/elements/Button.js';
44
- export { toggleElement } from './field/elements/toggle.js';
45
- export { LeafButton } from './field/leaves/Button.js';
46
156
  export { nodeIsTextNode } from './types.js';
47
157
 
48
158
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { RichTextAdapter } from 'payload/types'\n\nimport { withNullableJSONSchemaType } from 'payload/utilities'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { RichTextCell } from './cell/index.js'\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { RichTextField } from './field/index.js'\nimport { getGenerateComponentMap } from './generateComponentMap.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(args: AdapterArguments): RichTextAdapter<any[], AdapterArguments, any> {\n return {\n CellComponent: RichTextCell,\n FieldComponent: RichTextField,\n generateComponentMap: getGenerateComponentMap(args),\n generateSchemaMap: getGenerateSchemaMap(args),\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n populationPromise({\n context,\n currentDepth,\n depth,\n field,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n return richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n field,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n return null\n },\n validate: richTextValidate,\n }\n}\n\nexport { ElementButton } from './field/elements/Button.js'\n\nexport { toggleElement } from './field/elements/toggle.js'\nexport { LeafButton } from './field/leaves/Button.js'\nexport type {\n AdapterArguments,\n ElementNode,\n FieldProps,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["withNullableJSONSchemaType","RichTextCell","richTextRelationshipPromise","richTextValidate","RichTextField","getGenerateComponentMap","getGenerateSchemaMap","slateEditor","args","CellComponent","FieldComponent","generateComponentMap","generateSchemaMap","outputSchema","isRequired","type","items","populationPromise","context","currentDepth","depth","field","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","admin","elements","includes","validate","ElementButton","toggleElement","LeafButton","nodeIsTextNode"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,0BAA0B,QAAQ,oBAAmB;AAI9D,SAASC,YAAY,QAAQ,kBAAiB;AAC9C,SAASC,2BAA2B,QAAQ,wCAAuC;AACnF,SAASC,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,aAAa,QAAQ,mBAAkB;AAChD,SAASC,uBAAuB,QAAQ,4BAA2B;AACnE,SAASC,oBAAoB,QAAQ,yBAAwB;AAE7D,OAAO,SAASC,YAAYC,IAAsB;IAChD,OAAO;QACLC,eAAeR;QACfS,gBAAgBN;QAChBO,sBAAsBN,wBAAwBG;QAC9CI,mBAAmBN,qBAAqBE;QACxCK,cAAc,CAAC,EAAEC,UAAU,EAAE;YAC3B,OAAO;gBACLC,MAAMf,2BAA2B,SAASc;gBAC1CE,OAAO;oBACLD,MAAM;gBACR;YACF;QACF;QACAE,mBAAkB,EAChBC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACX;YACC,IACEP,MAAMQ,KAAK,EAAEC,UAAUC,SAAS,mBAChCV,MAAMQ,KAAK,EAAEC,UAAUC,SAAS,aAChCV,MAAMQ,KAAK,EAAEC,UAAUC,SAAS,WAChC,CAACV,OAAOQ,OAAOC,UACf;gBACA,OAAO5B,4BAA4B;oBACjCgB;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;oBACAC;gBACF;YACF;YACA,OAAO;QACT;QACAI,UAAU7B;IACZ;AACF;AAEA,SAAS8B,aAAa,QAAQ,6BAA4B;AAE1D,SAASC,aAAa,QAAQ,6BAA4B;AAC1D,SAASC,UAAU,QAAQ,2BAA0B;AAYrD,SAASC,cAAc,QAAQ,aAAY"}
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import type { Config, RichTextAdapterProvider } from 'payload'\n\nimport { sanitizeFields, withNullableJSONSchemaType } from 'payload'\n\nimport type { AdapterArguments } from './types.js'\n\nimport { richTextRelationshipPromise } from './data/richTextRelationshipPromise.js'\nimport { richTextValidate } from './data/validation.js'\nimport { elements as elementTypes } from './field/elements/index.js'\nimport { transformExtraFields } from './field/elements/link/utilities.js'\nimport { defaultLeaves as leafTypes } from './field/leaves/index.js'\nimport { getGenerateSchemaMap } from './generateSchemaMap.js'\n\nexport function slateEditor(\n args: AdapterArguments,\n): RichTextAdapterProvider<any[], AdapterArguments, any> {\n return async ({ config }) => {\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n if (!args.admin) {\n args.admin = {}\n }\n if (!args.admin.link) {\n args.admin.link = {}\n }\n if (!args.admin.link.fields) {\n args.admin.link.fields = []\n }\n args.admin.link.fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: transformExtraFields(args.admin?.link?.fields, config),\n parentIsLocalized: false,\n validRelationships,\n })\n\n if (args?.admin?.upload?.collections) {\n for (const collection of Object.keys(args.admin.upload.collections)) {\n if (args?.admin?.upload?.collections[collection]?.fields) {\n args.admin.upload.collections[collection].fields = await sanitizeFields({\n config: config as unknown as Config,\n fields: args.admin?.upload?.collections[collection]?.fields,\n parentIsLocalized: false,\n validRelationships,\n })\n }\n }\n }\n\n return {\n CellComponent: '@payloadcms/richtext-slate/rsc#RscEntrySlateCell',\n FieldComponent: {\n path: '@payloadcms/richtext-slate/rsc#RscEntrySlateField',\n serverProps: {\n args,\n },\n },\n generateImportMap: ({ addToImportMap }) => {\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateCell')\n addToImportMap('@payloadcms/richtext-slate/rsc#RscEntrySlateField')\n Object.values(leafTypes).forEach((leaf) => {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n })\n args?.admin?.leaves?.forEach((leaf) => {\n if (typeof leaf === 'object') {\n if (leaf.Button) {\n addToImportMap(leaf.Button)\n }\n if (leaf.Leaf) {\n addToImportMap(leaf.Leaf)\n }\n if (Array.isArray(leaf.plugins) && leaf.plugins?.length) {\n addToImportMap(leaf.plugins)\n }\n }\n })\n\n Object.values(elementTypes).forEach((element) => {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n })\n\n args?.admin?.elements?.forEach((element) => {\n if (typeof element === 'object') {\n if (element.Button) {\n addToImportMap(element.Button)\n }\n if (element.Element) {\n addToImportMap(element.Element)\n }\n if (Array.isArray(element.plugins) && element.plugins?.length) {\n addToImportMap(element.plugins)\n }\n }\n })\n },\n generateSchemaMap: getGenerateSchemaMap(args),\n graphQLPopulationPromises({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n }) {\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc,\n })\n }\n },\n hooks: {\n afterRead: [\n ({\n context: _context,\n currentDepth,\n depth,\n draft,\n field: _field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingData,\n }) => {\n const context: any = _context\n const field = _field as any\n if (\n field.admin?.elements?.includes('relationship') ||\n field.admin?.elements?.includes('upload') ||\n field.admin?.elements?.includes('link') ||\n !field?.admin?.elements\n ) {\n richTextRelationshipPromise({\n context,\n currentDepth,\n depth,\n draft,\n field,\n fieldPromises,\n findMany,\n flattenLocales,\n overrideAccess,\n populateArg: populate,\n populationPromises,\n req,\n showHiddenFields,\n siblingDoc: siblingData,\n })\n }\n },\n ],\n },\n outputSchema: ({ isRequired }) => {\n return {\n type: withNullableJSONSchemaType('array', isRequired),\n items: {\n type: 'object',\n },\n }\n },\n validate: richTextValidate,\n }\n }\n}\n\nexport type {\n AdapterArguments,\n ElementNode,\n RichTextCustomElement,\n RichTextCustomLeaf,\n RichTextElement,\n RichTextLeaf,\n RichTextPlugin,\n RichTextPluginComponent,\n SlateFieldProps,\n TextNode,\n} from './types.js'\n\nexport { nodeIsTextNode } from './types.js'\n"],"names":["sanitizeFields","withNullableJSONSchemaType","richTextRelationshipPromise","richTextValidate","elements","elementTypes","transformExtraFields","defaultLeaves","leafTypes","getGenerateSchemaMap","slateEditor","args","config","validRelationships","collections","map","c","slug","admin","link","fields","parentIsLocalized","upload","collection","Object","keys","CellComponent","FieldComponent","path","serverProps","generateImportMap","addToImportMap","values","forEach","leaf","Button","Leaf","Array","isArray","plugins","length","leaves","element","Element","generateSchemaMap","graphQLPopulationPromises","context","currentDepth","depth","draft","field","fieldPromises","findMany","flattenLocales","overrideAccess","populationPromises","req","showHiddenFields","siblingDoc","includes","hooks","afterRead","_context","_field","populate","siblingData","populateArg","outputSchema","isRequired","type","items","validate","nodeIsTextNode"],"mappings":"AAEA,SAASA,cAAc,EAAEC,0BAA0B,QAAQ,UAAS;AAIpE,SAASC,2BAA2B,QAAQ,wCAAuC;AACnF,SAASC,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,YAAYC,YAAY,QAAQ,4BAA2B;AACpE,SAASC,oBAAoB,QAAQ,qCAAoC;AACzE,SAASC,iBAAiBC,SAAS,QAAQ,0BAAyB;AACpE,SAASC,oBAAoB,QAAQ,yBAAwB;AAE7D,OAAO,SAASC,YACdC,IAAsB;IAEtB,OAAO,OAAO,EAAEC,MAAM,EAAE;QACtB,MAAMC,qBAAqBD,OAAOE,WAAW,CAACC,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAK,EAAE;QAEtE,IAAI,CAACN,KAAKO,KAAK,EAAE;YACfP,KAAKO,KAAK,GAAG,CAAC;QAChB;QACA,IAAI,CAACP,KAAKO,KAAK,CAACC,IAAI,EAAE;YACpBR,KAAKO,KAAK,CAACC,IAAI,GAAG,CAAC;QACrB;QACA,IAAI,CAACR,KAAKO,KAAK,CAACC,IAAI,CAACC,MAAM,EAAE;YAC3BT,KAAKO,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG,EAAE;QAC7B;QACAT,KAAKO,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG,MAAMpB,eAAe;YAC5CY,QAAQA;YACRQ,QAAQd,qBAAqBK,KAAKO,KAAK,EAAEC,MAAMC,QAAQR;YACvDS,mBAAmB;YACnBR;QACF;QAEA,IAAIF,MAAMO,OAAOI,QAAQR,aAAa;YACpC,KAAK,MAAMS,cAAcC,OAAOC,IAAI,CAACd,KAAKO,KAAK,CAACI,MAAM,CAACR,WAAW,EAAG;gBACnE,IAAIH,MAAMO,OAAOI,QAAQR,WAAW,CAACS,WAAW,EAAEH,QAAQ;oBACxDT,KAAKO,KAAK,CAACI,MAAM,CAACR,WAAW,CAACS,WAAW,CAACH,MAAM,GAAG,MAAMpB,eAAe;wBACtEY,QAAQA;wBACRQ,QAAQT,KAAKO,KAAK,EAAEI,QAAQR,WAAW,CAACS,WAAW,EAAEH;wBACrDC,mBAAmB;wBACnBR;oBACF;gBACF;YACF;QACF;QAEA,OAAO;YACLa,eAAe;YACfC,gBAAgB;gBACdC,MAAM;gBACNC,aAAa;oBACXlB;gBACF;YACF;YACAmB,mBAAmB,CAAC,EAAEC,cAAc,EAAE;gBACpCA,eAAe;gBACfA,eAAe;gBACfP,OAAOQ,MAAM,CAACxB,WAAWyB,OAAO,CAAC,CAACC;oBAChC,IAAIA,KAAKC,MAAM,EAAE;wBACfJ,eAAeG,KAAKC,MAAM;oBAC5B;oBACA,IAAID,KAAKE,IAAI,EAAE;wBACbL,eAAeG,KAAKE,IAAI;oBAC1B;oBACA,IAAIC,MAAMC,OAAO,CAACJ,KAAKK,OAAO,KAAKL,KAAKK,OAAO,EAAEC,QAAQ;wBACvDT,eAAeG,KAAKK,OAAO;oBAC7B;gBACF;gBACA5B,MAAMO,OAAOuB,QAAQR,QAAQ,CAACC;oBAC5B,IAAI,OAAOA,SAAS,UAAU;wBAC5B,IAAIA,KAAKC,MAAM,EAAE;4BACfJ,eAAeG,KAAKC,MAAM;wBAC5B;wBACA,IAAID,KAAKE,IAAI,EAAE;4BACbL,eAAeG,KAAKE,IAAI;wBAC1B;wBACA,IAAIC,MAAMC,OAAO,CAACJ,KAAKK,OAAO,KAAKL,KAAKK,OAAO,EAAEC,QAAQ;4BACvDT,eAAeG,KAAKK,OAAO;wBAC7B;oBACF;gBACF;gBAEAf,OAAOQ,MAAM,CAAC3B,cAAc4B,OAAO,CAAC,CAACS;oBACnC,IAAIA,QAAQP,MAAM,EAAE;wBAClBJ,eAAeW,QAAQP,MAAM;oBAC/B;oBACA,IAAIO,QAAQC,OAAO,EAAE;wBACnBZ,eAAeW,QAAQC,OAAO;oBAChC;oBACA,IAAIN,MAAMC,OAAO,CAACI,QAAQH,OAAO,KAAKG,QAAQH,OAAO,EAAEC,QAAQ;wBAC7DT,eAAeW,QAAQH,OAAO;oBAChC;gBACF;gBAEA5B,MAAMO,OAAOd,UAAU6B,QAAQ,CAACS;oBAC9B,IAAI,OAAOA,YAAY,UAAU;wBAC/B,IAAIA,QAAQP,MAAM,EAAE;4BAClBJ,eAAeW,QAAQP,MAAM;wBAC/B;wBACA,IAAIO,QAAQC,OAAO,EAAE;4BACnBZ,eAAeW,QAAQC,OAAO;wBAChC;wBACA,IAAIN,MAAMC,OAAO,CAACI,QAAQH,OAAO,KAAKG,QAAQH,OAAO,EAAEC,QAAQ;4BAC7DT,eAAeW,QAAQH,OAAO;wBAChC;oBACF;gBACF;YACF;YACAK,mBAAmBnC,qBAAqBE;YACxCkC,2BAA0B,EACxBC,OAAO,EACPC,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBC,UAAU,EACX;gBACC,IACER,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,mBAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,aAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,WAChC,CAACT,OAAOhC,OAAOd,UACf;oBACAF,4BAA4B;wBAC1B4C;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAC;oBACF;gBACF;YACF;YACAE,OAAO;gBACLC,WAAW;oBACT,CAAC,EACCf,SAASgB,QAAQ,EACjBf,YAAY,EACZC,KAAK,EACLC,KAAK,EACLC,OAAOa,MAAM,EACbZ,aAAa,EACbC,QAAQ,EACRC,cAAc,EACdC,cAAc,EACdU,QAAQ,EACRT,kBAAkB,EAClBC,GAAG,EACHC,gBAAgB,EAChBQ,WAAW,EACZ;wBACC,MAAMnB,UAAegB;wBACrB,MAAMZ,QAAQa;wBACd,IACEb,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,mBAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,aAChCT,MAAMhC,KAAK,EAAEd,UAAUuD,SAAS,WAChC,CAACT,OAAOhC,OAAOd,UACf;4BACAF,4BAA4B;gCAC1B4C;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAC;gCACAY,aAAaF;gCACbT;gCACAC;gCACAC;gCACAC,YAAYO;4BACd;wBACF;oBACF;iBACD;YACH;YACAE,cAAc,CAAC,EAAEC,UAAU,EAAE;gBAC3B,OAAO;oBACLC,MAAMpE,2BAA2B,SAASmE;oBAC1CE,OAAO;wBACLD,MAAM;oBACR;gBACF;YACF;YACAE,UAAUpE;QACZ;IACF;AACF;AAeA,SAASqE,cAAc,QAAQ,aAAY"}