@payloadcms/richtext-slate 3.0.0-beta.9 → 3.0.0-beta.91

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 (411) hide show
  1. package/README.md +1 -1
  2. package/dist/cell/index.d.ts +1 -1
  3. package/dist/cell/index.d.ts.map +1 -1
  4. package/dist/cell/index.js +7 -2
  5. package/dist/cell/index.js.map +1 -1
  6. package/dist/data/defaultValue.js.map +1 -1
  7. package/dist/data/populate.d.ts +4 -4
  8. package/dist/data/populate.d.ts.map +1 -1
  9. package/dist/data/populate.js +13 -11
  10. package/dist/data/populate.js.map +1 -1
  11. package/dist/data/recurseNestedFields.d.ts +4 -3
  12. package/dist/data/recurseNestedFields.d.ts.map +1 -1
  13. package/dist/data/recurseNestedFields.js +23 -13
  14. package/dist/data/recurseNestedFields.js.map +1 -1
  15. package/dist/data/richTextRelationshipPromise.d.ts +7 -6
  16. package/dist/data/richTextRelationshipPromise.d.ts.map +1 -1
  17. package/dist/data/richTextRelationshipPromise.js +14 -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 -3
  22. package/dist/data/validation.js.map +1 -1
  23. package/dist/exports/client/index.d.ts +48 -0
  24. package/dist/exports/client/index.d.ts.map +1 -0
  25. package/dist/exports/client/index.js +50 -0
  26. package/dist/exports/client/index.js.map +1 -0
  27. package/dist/field/RichText.d.ts +4 -15
  28. package/dist/field/RichText.d.ts.map +1 -1
  29. package/dist/field/RichText.js +193 -149
  30. package/dist/field/RichText.js.map +1 -1
  31. package/dist/field/createFeatureMap.d.ts +2 -1
  32. package/dist/field/createFeatureMap.d.ts.map +1 -1
  33. package/dist/field/createFeatureMap.js.map +1 -1
  34. package/dist/field/elements/Button.d.ts.map +1 -1
  35. package/dist/field/elements/Button.js +18 -8
  36. package/dist/field/elements/Button.js.map +1 -1
  37. package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -1
  38. package/dist/field/elements/EnabledRelationshipsCondition.js +2 -4
  39. package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -1
  40. package/dist/field/elements/ListButton.js +5 -3
  41. package/dist/field/elements/ListButton.js.map +1 -1
  42. package/dist/field/elements/areAllChildrenElements.js.map +1 -1
  43. package/dist/field/elements/blockquote/Button.d.ts +4 -0
  44. package/dist/field/elements/blockquote/Button.d.ts.map +1 -0
  45. package/dist/field/elements/blockquote/Button.js +11 -0
  46. package/dist/field/elements/blockquote/Button.js.map +1 -0
  47. package/dist/field/elements/blockquote/Element.d.ts +3 -0
  48. package/dist/field/elements/blockquote/Element.d.ts.map +1 -0
  49. package/dist/field/elements/blockquote/{Blockquote.js → Element.js} +7 -5
  50. package/dist/field/elements/blockquote/Element.js.map +1 -0
  51. package/dist/field/elements/blockquote/index.d.ts.map +1 -1
  52. package/dist/field/elements/blockquote/index.js +6 -7
  53. package/dist/field/elements/blockquote/index.js.map +1 -1
  54. package/dist/field/elements/getCommonBlock.d.ts.map +1 -1
  55. package/dist/field/elements/getCommonBlock.js.map +1 -1
  56. package/dist/field/elements/h1/Button.d.ts +4 -0
  57. package/dist/field/elements/h1/Button.d.ts.map +1 -0
  58. package/dist/field/elements/h1/Button.js +11 -0
  59. package/dist/field/elements/h1/Button.js.map +1 -0
  60. package/dist/field/elements/h1/Heading1.d.ts +1 -2
  61. package/dist/field/elements/h1/Heading1.d.ts.map +1 -1
  62. package/dist/field/elements/h1/Heading1.js +6 -2
  63. package/dist/field/elements/h1/Heading1.js.map +1 -1
  64. package/dist/field/elements/h1/index.d.ts.map +1 -1
  65. package/dist/field/elements/h1/index.js +6 -7
  66. package/dist/field/elements/h1/index.js.map +1 -1
  67. package/dist/field/elements/h2/Button.d.ts +4 -0
  68. package/dist/field/elements/h2/Button.d.ts.map +1 -0
  69. package/dist/field/elements/h2/Button.js +11 -0
  70. package/dist/field/elements/h2/Button.js.map +1 -0
  71. package/dist/field/elements/h2/Heading2.d.ts +1 -2
  72. package/dist/field/elements/h2/Heading2.d.ts.map +1 -1
  73. package/dist/field/elements/h2/Heading2.js +6 -2
  74. package/dist/field/elements/h2/Heading2.js.map +1 -1
  75. package/dist/field/elements/h2/index.d.ts.map +1 -1
  76. package/dist/field/elements/h2/index.js +6 -7
  77. package/dist/field/elements/h2/index.js.map +1 -1
  78. package/dist/field/elements/h3/Button.d.ts +4 -0
  79. package/dist/field/elements/h3/Button.d.ts.map +1 -0
  80. package/dist/field/elements/h3/Button.js +11 -0
  81. package/dist/field/elements/h3/Button.js.map +1 -0
  82. package/dist/field/elements/h3/Heading3.d.ts +1 -2
  83. package/dist/field/elements/h3/Heading3.d.ts.map +1 -1
  84. package/dist/field/elements/h3/Heading3.js +6 -2
  85. package/dist/field/elements/h3/Heading3.js.map +1 -1
  86. package/dist/field/elements/h3/index.d.ts.map +1 -1
  87. package/dist/field/elements/h3/index.js +6 -7
  88. package/dist/field/elements/h3/index.js.map +1 -1
  89. package/dist/field/elements/h4/Button.d.ts +4 -0
  90. package/dist/field/elements/h4/Button.d.ts.map +1 -0
  91. package/dist/field/elements/h4/Button.js +11 -0
  92. package/dist/field/elements/h4/Button.js.map +1 -0
  93. package/dist/field/elements/h4/Heading4.d.ts +1 -2
  94. package/dist/field/elements/h4/Heading4.d.ts.map +1 -1
  95. package/dist/field/elements/h4/Heading4.js +6 -2
  96. package/dist/field/elements/h4/Heading4.js.map +1 -1
  97. package/dist/field/elements/h4/index.d.ts.map +1 -1
  98. package/dist/field/elements/h4/index.js +6 -7
  99. package/dist/field/elements/h4/index.js.map +1 -1
  100. package/dist/field/elements/h5/Button.d.ts +4 -0
  101. package/dist/field/elements/h5/Button.d.ts.map +1 -0
  102. package/dist/field/elements/h5/Button.js +11 -0
  103. package/dist/field/elements/h5/Button.js.map +1 -0
  104. package/dist/field/elements/h5/Heading5.d.ts +1 -2
  105. package/dist/field/elements/h5/Heading5.d.ts.map +1 -1
  106. package/dist/field/elements/h5/Heading5.js +6 -2
  107. package/dist/field/elements/h5/Heading5.js.map +1 -1
  108. package/dist/field/elements/h5/index.d.ts.map +1 -1
  109. package/dist/field/elements/h5/index.js +6 -7
  110. package/dist/field/elements/h5/index.js.map +1 -1
  111. package/dist/field/elements/h6/Button.d.ts +4 -0
  112. package/dist/field/elements/h6/Button.d.ts.map +1 -0
  113. package/dist/field/elements/h6/Button.js +11 -0
  114. package/dist/field/elements/h6/Button.js.map +1 -0
  115. package/dist/field/elements/h6/Heading6.d.ts +1 -2
  116. package/dist/field/elements/h6/Heading6.d.ts.map +1 -1
  117. package/dist/field/elements/h6/Heading6.js +6 -2
  118. package/dist/field/elements/h6/Heading6.js.map +1 -1
  119. package/dist/field/elements/h6/index.d.ts.map +1 -1
  120. package/dist/field/elements/h6/index.js +6 -7
  121. package/dist/field/elements/h6/index.js.map +1 -1
  122. package/dist/field/elements/indent/Button.d.ts.map +1 -1
  123. package/dist/field/elements/indent/Button.js +21 -14
  124. package/dist/field/elements/indent/Button.js.map +1 -1
  125. package/dist/field/elements/indent/Element.js +5 -3
  126. package/dist/field/elements/indent/Element.js.map +1 -1
  127. package/dist/field/elements/indent/index.d.ts.map +1 -1
  128. package/dist/field/elements/indent/index.js +2 -4
  129. package/dist/field/elements/indent/index.js.map +1 -1
  130. package/dist/field/elements/indent/shared.js.map +1 -1
  131. package/dist/field/elements/index.js.map +1 -1
  132. package/dist/field/elements/injectVoid.js.map +1 -1
  133. package/dist/field/elements/isActive.js.map +1 -1
  134. package/dist/field/elements/isBlockElement.d.ts +2 -2
  135. package/dist/field/elements/isBlockElement.d.ts.map +1 -1
  136. package/dist/field/elements/isBlockElement.js.map +1 -1
  137. package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -1
  138. package/dist/field/elements/isListActive.js.map +1 -1
  139. package/dist/field/elements/isWithinListItem.js.map +1 -1
  140. package/dist/field/elements/li/ListItem.d.ts.map +1 -1
  141. package/dist/field/elements/li/ListItem.js +6 -7
  142. package/dist/field/elements/li/ListItem.js.map +1 -1
  143. package/dist/field/elements/li/index.d.ts.map +1 -1
  144. package/dist/field/elements/li/index.js +1 -2
  145. package/dist/field/elements/li/index.js.map +1 -1
  146. package/dist/field/elements/link/Button/index.d.ts.map +1 -1
  147. package/dist/field/elements/link/Button/index.js +52 -50
  148. package/dist/field/elements/link/Button/index.js.map +1 -1
  149. package/dist/field/elements/link/Element/index.d.ts +1 -2
  150. package/dist/field/elements/link/Element/index.d.ts.map +1 -1
  151. package/dist/field/elements/link/Element/index.js +107 -100
  152. package/dist/field/elements/link/Element/index.js.map +1 -1
  153. package/dist/field/elements/link/Element/index.scss +3 -7
  154. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts +2 -3
  155. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts.map +1 -1
  156. package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -1
  157. package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
  158. package/dist/field/elements/link/LinkDrawer/index.js +33 -35
  159. package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
  160. package/dist/field/elements/link/LinkDrawer/index.scss +4 -4
  161. package/dist/field/elements/link/LinkDrawer/types.d.ts +6 -7
  162. package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
  163. package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
  164. package/dist/field/elements/link/WithLinks.js.map +1 -1
  165. package/dist/field/elements/link/index.d.ts.map +1 -1
  166. package/dist/field/elements/link/index.js +3 -6
  167. package/dist/field/elements/link/index.js.map +1 -1
  168. package/dist/field/elements/link/shared.js.map +1 -1
  169. package/dist/field/elements/link/types.d.ts +2 -2
  170. package/dist/field/elements/link/types.d.ts.map +1 -1
  171. package/dist/field/elements/link/types.js.map +1 -1
  172. package/dist/field/elements/link/utilities.d.ts +2 -5
  173. package/dist/field/elements/link/utilities.d.ts.map +1 -1
  174. package/dist/field/elements/link/utilities.js +3 -4
  175. package/dist/field/elements/link/utilities.js.map +1 -1
  176. package/dist/field/elements/listTypes.js.map +1 -1
  177. package/dist/field/elements/ol/Button.d.ts +4 -0
  178. package/dist/field/elements/ol/Button.d.ts.map +1 -0
  179. package/dist/field/elements/ol/Button.js +11 -0
  180. package/dist/field/elements/ol/Button.js.map +1 -0
  181. package/dist/field/elements/ol/OrderedList.d.ts +1 -1
  182. package/dist/field/elements/ol/OrderedList.d.ts.map +1 -1
  183. package/dist/field/elements/ol/OrderedList.js +6 -4
  184. package/dist/field/elements/ol/OrderedList.js.map +1 -1
  185. package/dist/field/elements/ol/index.d.ts.map +1 -1
  186. package/dist/field/elements/ol/index.js +6 -7
  187. package/dist/field/elements/ol/index.js.map +1 -1
  188. package/dist/field/elements/relationship/Button/index.d.ts +1 -1
  189. package/dist/field/elements/relationship/Button/index.d.ts.map +1 -1
  190. package/dist/field/elements/relationship/Button/index.js +29 -16
  191. package/dist/field/elements/relationship/Button/index.js.map +1 -1
  192. package/dist/field/elements/relationship/Element/index.d.ts +5 -5
  193. package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
  194. package/dist/field/elements/relationship/Element/index.js +73 -53
  195. package/dist/field/elements/relationship/Element/index.js.map +1 -1
  196. package/dist/field/elements/relationship/index.d.ts.map +1 -1
  197. package/dist/field/elements/relationship/index.js +3 -6
  198. package/dist/field/elements/relationship/index.js.map +1 -1
  199. package/dist/field/elements/relationship/plugin.js.map +1 -1
  200. package/dist/field/elements/relationship/shared.js.map +1 -1
  201. package/dist/field/elements/relationship/types.d.ts +2 -2
  202. package/dist/field/elements/relationship/types.d.ts.map +1 -1
  203. package/dist/field/elements/relationship/types.js.map +1 -1
  204. package/dist/field/elements/textAlign/Button.d.ts +2 -0
  205. package/dist/field/elements/textAlign/Button.d.ts.map +1 -0
  206. package/dist/field/elements/textAlign/Button.js +28 -0
  207. package/dist/field/elements/textAlign/Button.js.map +1 -0
  208. package/dist/field/elements/textAlign/index.d.ts.map +1 -1
  209. package/dist/field/elements/textAlign/index.js +2 -18
  210. package/dist/field/elements/textAlign/index.js.map +1 -1
  211. package/dist/field/elements/toggle.js.map +1 -1
  212. package/dist/field/elements/toggleList.js.map +1 -1
  213. package/dist/field/elements/types.d.ts +1 -0
  214. package/dist/field/elements/types.d.ts.map +1 -1
  215. package/dist/field/elements/types.js.map +1 -1
  216. package/dist/field/elements/ul/Button.d.ts +4 -0
  217. package/dist/field/elements/ul/Button.d.ts.map +1 -0
  218. package/dist/field/elements/ul/Button.js +11 -0
  219. package/dist/field/elements/ul/Button.js.map +1 -0
  220. package/dist/field/elements/ul/UnorderedList.d.ts +1 -1
  221. package/dist/field/elements/ul/UnorderedList.d.ts.map +1 -1
  222. package/dist/field/elements/ul/UnorderedList.js +6 -4
  223. package/dist/field/elements/ul/UnorderedList.js.map +1 -1
  224. package/dist/field/elements/ul/index.d.ts.map +1 -1
  225. package/dist/field/elements/ul/index.js +6 -7
  226. package/dist/field/elements/ul/index.js.map +1 -1
  227. package/dist/field/elements/unwrapList.d.ts.map +1 -1
  228. package/dist/field/elements/unwrapList.js.map +1 -1
  229. package/dist/field/elements/upload/Button/index.d.ts +1 -1
  230. package/dist/field/elements/upload/Button/index.d.ts.map +1 -1
  231. package/dist/field/elements/upload/Button/index.js +28 -17
  232. package/dist/field/elements/upload/Button/index.js.map +1 -1
  233. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +7 -10
  234. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
  235. package/dist/field/elements/upload/Element/UploadDrawer/index.js +31 -33
  236. package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
  237. package/dist/field/elements/upload/Element/index.d.ts +4 -4
  238. package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
  239. package/dist/field/elements/upload/Element/index.js +113 -84
  240. package/dist/field/elements/upload/Element/index.js.map +1 -1
  241. package/dist/field/elements/upload/index.d.ts.map +1 -1
  242. package/dist/field/elements/upload/index.js +3 -6
  243. package/dist/field/elements/upload/index.js.map +1 -1
  244. package/dist/field/elements/upload/plugin.js.map +1 -1
  245. package/dist/field/elements/upload/shared.js.map +1 -1
  246. package/dist/field/elements/upload/types.d.ts +2 -2
  247. package/dist/field/elements/upload/types.d.ts.map +1 -1
  248. package/dist/field/elements/upload/types.js.map +1 -1
  249. package/dist/field/hotkeys.js.map +1 -1
  250. package/dist/field/icons/AlignCenter/index.js +7 -5
  251. package/dist/field/icons/AlignCenter/index.js.map +1 -1
  252. package/dist/field/icons/AlignLeft/index.js +7 -5
  253. package/dist/field/icons/AlignLeft/index.js.map +1 -1
  254. package/dist/field/icons/AlignRight/index.js +7 -5
  255. package/dist/field/icons/AlignRight/index.js.map +1 -1
  256. package/dist/field/icons/Blockquote/index.js +14 -9
  257. package/dist/field/icons/Blockquote/index.js.map +1 -1
  258. package/dist/field/icons/Bold/index.js +14 -9
  259. package/dist/field/icons/Bold/index.js.map +1 -1
  260. package/dist/field/icons/Code/index.js +8 -6
  261. package/dist/field/icons/Code/index.js.map +1 -1
  262. package/dist/field/icons/IndentLeft/index.js +31 -24
  263. package/dist/field/icons/IndentLeft/index.js.map +1 -1
  264. package/dist/field/icons/IndentRight/index.js +31 -24
  265. package/dist/field/icons/IndentRight/index.js.map +1 -1
  266. package/dist/field/icons/Italic/index.js +14 -9
  267. package/dist/field/icons/Italic/index.js.map +1 -1
  268. package/dist/field/icons/Link/index.js +14 -9
  269. package/dist/field/icons/Link/index.js.map +1 -1
  270. package/dist/field/icons/OrderedList/index.js +14 -9
  271. package/dist/field/icons/OrderedList/index.js.map +1 -1
  272. package/dist/field/icons/Relationship/index.js +24 -18
  273. package/dist/field/icons/Relationship/index.js.map +1 -1
  274. package/dist/field/icons/Strikethrough/index.js +14 -9
  275. package/dist/field/icons/Strikethrough/index.js.map +1 -1
  276. package/dist/field/icons/Underline/index.js +14 -9
  277. package/dist/field/icons/Underline/index.js.map +1 -1
  278. package/dist/field/icons/UnorderedList/index.js +14 -9
  279. package/dist/field/icons/UnorderedList/index.js.map +1 -1
  280. package/dist/field/icons/Upload/index.js +16 -11
  281. package/dist/field/icons/Upload/index.js.map +1 -1
  282. package/dist/field/icons/headings/H1/index.js +14 -9
  283. package/dist/field/icons/headings/H1/index.js.map +1 -1
  284. package/dist/field/icons/headings/H2/index.js +14 -9
  285. package/dist/field/icons/headings/H2/index.js.map +1 -1
  286. package/dist/field/icons/headings/H3/index.js +14 -9
  287. package/dist/field/icons/headings/H3/index.js.map +1 -1
  288. package/dist/field/icons/headings/H4/index.js +14 -9
  289. package/dist/field/icons/headings/H4/index.js.map +1 -1
  290. package/dist/field/icons/headings/H5/index.js +14 -9
  291. package/dist/field/icons/headings/H5/index.js.map +1 -1
  292. package/dist/field/icons/headings/H6/index.js +14 -9
  293. package/dist/field/icons/headings/H6/index.js.map +1 -1
  294. package/dist/field/index.d.ts +2 -5
  295. package/dist/field/index.d.ts.map +1 -1
  296. package/dist/field/index.js +21 -17
  297. package/dist/field/index.js.map +1 -1
  298. package/dist/field/index.scss +33 -13
  299. package/dist/field/leaves/Button.d.ts +1 -2
  300. package/dist/field/leaves/Button.d.ts.map +1 -1
  301. package/dist/field/leaves/Button.js +5 -3
  302. package/dist/field/leaves/Button.js.map +1 -1
  303. package/dist/field/leaves/bold/Bold/index.d.ts +1 -2
  304. package/dist/field/leaves/bold/Bold/index.d.ts.map +1 -1
  305. package/dist/field/leaves/bold/Bold/index.js +6 -2
  306. package/dist/field/leaves/bold/Bold/index.js.map +1 -1
  307. package/dist/field/leaves/bold/LeafButton.d.ts +2 -0
  308. package/dist/field/leaves/bold/LeafButton.d.ts.map +1 -0
  309. package/dist/field/leaves/bold/LeafButton.js +11 -0
  310. package/dist/field/leaves/bold/LeafButton.js.map +1 -0
  311. package/dist/field/leaves/bold/index.d.ts.map +1 -1
  312. package/dist/field/leaves/bold/index.js +2 -8
  313. package/dist/field/leaves/bold/index.js.map +1 -1
  314. package/dist/field/leaves/code/Code/index.d.ts +1 -2
  315. package/dist/field/leaves/code/Code/index.d.ts.map +1 -1
  316. package/dist/field/leaves/code/Code/index.js +6 -2
  317. package/dist/field/leaves/code/Code/index.js.map +1 -1
  318. package/dist/field/leaves/code/LeafButton.d.ts +2 -0
  319. package/dist/field/leaves/code/LeafButton.d.ts.map +1 -0
  320. package/dist/field/leaves/code/LeafButton.js +11 -0
  321. package/dist/field/leaves/code/LeafButton.js.map +1 -0
  322. package/dist/field/leaves/code/index.d.ts.map +1 -1
  323. package/dist/field/leaves/code/index.js +2 -8
  324. package/dist/field/leaves/code/index.js.map +1 -1
  325. package/dist/field/leaves/index.js.map +1 -1
  326. package/dist/field/leaves/isActive.js.map +1 -1
  327. package/dist/field/leaves/italic/Italic/index.d.ts +1 -2
  328. package/dist/field/leaves/italic/Italic/index.d.ts.map +1 -1
  329. package/dist/field/leaves/italic/Italic/index.js +6 -2
  330. package/dist/field/leaves/italic/Italic/index.js.map +1 -1
  331. package/dist/field/leaves/italic/LeafButton.d.ts +2 -0
  332. package/dist/field/leaves/italic/LeafButton.d.ts.map +1 -0
  333. package/dist/field/leaves/italic/LeafButton.js +11 -0
  334. package/dist/field/leaves/italic/LeafButton.js.map +1 -0
  335. package/dist/field/leaves/italic/index.d.ts.map +1 -1
  336. package/dist/field/leaves/italic/index.js +2 -8
  337. package/dist/field/leaves/italic/index.js.map +1 -1
  338. package/dist/field/leaves/strikethrough/LeafButton.d.ts +2 -0
  339. package/dist/field/leaves/strikethrough/LeafButton.d.ts.map +1 -0
  340. package/dist/field/leaves/strikethrough/LeafButton.js +11 -0
  341. package/dist/field/leaves/strikethrough/LeafButton.js.map +1 -0
  342. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts +1 -2
  343. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts.map +1 -1
  344. package/dist/field/leaves/strikethrough/Strikethrough/index.js +6 -2
  345. package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -1
  346. package/dist/field/leaves/strikethrough/index.d.ts.map +1 -1
  347. package/dist/field/leaves/strikethrough/index.js +2 -8
  348. package/dist/field/leaves/strikethrough/index.js.map +1 -1
  349. package/dist/field/leaves/toggle.js.map +1 -1
  350. package/dist/field/leaves/underline/LeafButton.d.ts +2 -0
  351. package/dist/field/leaves/underline/LeafButton.d.ts.map +1 -0
  352. package/dist/field/leaves/underline/LeafButton.js +11 -0
  353. package/dist/field/leaves/underline/LeafButton.js.map +1 -0
  354. package/dist/field/leaves/underline/Underline/index.d.ts +1 -2
  355. package/dist/field/leaves/underline/Underline/index.d.ts.map +1 -1
  356. package/dist/field/leaves/underline/Underline/index.js +6 -2
  357. package/dist/field/leaves/underline/Underline/index.js.map +1 -1
  358. package/dist/field/leaves/underline/index.d.ts.map +1 -1
  359. package/dist/field/leaves/underline/index.js +2 -8
  360. package/dist/field/leaves/underline/index.js.map +1 -1
  361. package/dist/field/mergeCustomFunctions.js.map +1 -1
  362. package/dist/field/plugins/withEnterBreakOut.js.map +1 -1
  363. package/dist/field/plugins/withHTML.js.map +1 -1
  364. package/dist/field/providers/ElementButtonProvider.d.ts +5 -7
  365. package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -1
  366. package/dist/field/providers/ElementButtonProvider.js +5 -3
  367. package/dist/field/providers/ElementButtonProvider.js.map +1 -1
  368. package/dist/field/providers/ElementProvider.d.ts +5 -8
  369. package/dist/field/providers/ElementProvider.d.ts.map +1 -1
  370. package/dist/field/providers/ElementProvider.js +5 -3
  371. package/dist/field/providers/ElementProvider.js.map +1 -1
  372. package/dist/field/providers/LeafButtonProvider.d.ts +4 -6
  373. package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -1
  374. package/dist/field/providers/LeafButtonProvider.js +5 -3
  375. package/dist/field/providers/LeafButtonProvider.js.map +1 -1
  376. package/dist/field/providers/LeafProvider.d.ts +5 -7
  377. package/dist/field/providers/LeafProvider.d.ts.map +1 -1
  378. package/dist/field/providers/LeafProvider.js +5 -3
  379. package/dist/field/providers/LeafProvider.js.map +1 -1
  380. package/dist/field/types.d.ts +12 -6
  381. package/dist/field/types.d.ts.map +1 -1
  382. package/dist/field/types.js.map +1 -1
  383. package/dist/generateComponentMap.d.ts +2 -2
  384. package/dist/generateComponentMap.d.ts.map +1 -1
  385. package/dist/generateComponentMap.js +25 -34
  386. package/dist/generateComponentMap.js.map +1 -1
  387. package/dist/generateSchemaMap.d.ts +2 -2
  388. package/dist/generateSchemaMap.d.ts.map +1 -1
  389. package/dist/generateSchemaMap.js +3 -16
  390. package/dist/generateSchemaMap.js.map +1 -1
  391. package/dist/index.d.ts +3 -6
  392. package/dist/index.d.ts.map +1 -1
  393. package/dist/index.js +144 -37
  394. package/dist/index.js.map +1 -1
  395. package/dist/scss/app.scss +13 -18
  396. package/dist/scss/colors.scss +76 -76
  397. package/dist/scss/toastify.scss +1 -0
  398. package/dist/scss/toasts.scss +142 -0
  399. package/dist/scss/type.scss +19 -27
  400. package/dist/scss/vars.scss +26 -47
  401. package/dist/types.d.ts +7 -11
  402. package/dist/types.d.ts.map +1 -1
  403. package/dist/types.js.map +1 -1
  404. package/dist/utilities/useSlatePlugin.d.ts.map +1 -1
  405. package/dist/utilities/useSlatePlugin.js +1 -2
  406. package/dist/utilities/useSlatePlugin.js.map +1 -1
  407. package/package.json +42 -21
  408. package/dist/field/elements/blockquote/Blockquote.d.ts +0 -4
  409. package/dist/field/elements/blockquote/Blockquote.d.ts.map +0 -1
  410. package/dist/field/elements/blockquote/Blockquote.js.map +0 -1
  411. package/src/index.tsx +0 -82
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/indent/Button.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\nimport { useCallback } from 'react'\nimport { Editor, Element, Text, Transforms } from 'slate'\nimport { ReactEditor, useSlate } from 'slate-react'\n\nimport type { ElementNode } from '../../../types.js'\n\nimport { IndentLeft } from '../../icons/IndentLeft/index.js'\nimport { IndentRight } from '../../icons/IndentRight/index.js'\nimport { baseClass } from '../Button.js'\nimport { getCommonBlock } from '../getCommonBlock.js'\nimport { isElementActive } from '../isActive.js'\nimport { isBlockElement } from '../isBlockElement.js'\nimport { listTypes } from '../listTypes.js'\nimport { unwrapList } from '../unwrapList.js'\nimport { indentType } from './shared.js'\n\nexport const IndentButton: React.FC = () => {\n const editor = useSlate()\n const handleIndent = useCallback(\n (e, dir) => {\n e.preventDefault()\n\n if (dir === 'left') {\n if (isElementActive(editor, 'li')) {\n const [, listPath] = getCommonBlock(\n editor,\n (n) => Element.isElement(n) && listTypes.includes(n.type),\n )\n\n const matchedParentList = Editor.above(editor, {\n at: listPath,\n match: (n: ElementNode) => !Editor.isEditor(n) && isBlockElement(editor, n),\n })\n\n if (matchedParentList) {\n const [parentListItem, parentListItemPath] = matchedParentList\n\n if (parentListItem.children.length > 1) {\n // Remove nested list\n Transforms.unwrapNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n listTypes.includes(node.type) &&\n path.length === parentListItemPath.length + 1\n\n return matches\n },\n })\n\n // Set li type on any children that don't have a type\n Transforms.setNodes(\n editor,\n { type: 'li' },\n {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n node.type !== 'li' &&\n path.length === parentListItemPath.length + 1\n\n return matches\n },\n },\n )\n\n // Parent list item path has changed at this point\n // so we need to re-fetch the parent node\n const [newParentNode] = Editor.node(editor, parentListItemPath)\n\n // If the parent node is an li,\n // lift all li nodes within\n if (Element.isElement(newParentNode) && newParentNode.type === 'li') {\n // Lift the nested lis\n Transforms.liftNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n path.length === parentListItemPath.length + 1 &&\n node.type === 'li'\n\n return matches\n },\n })\n }\n } else {\n Transforms.unwrapNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n return (\n Element.isElement(node) &&\n node.type === 'li' &&\n path.length === parentListItemPath.length\n )\n },\n })\n\n Transforms.unwrapNodes(editor, {\n match: (n) => Element.isElement(n) && listTypes.includes(n.type),\n })\n }\n } else {\n unwrapList(editor, listPath)\n }\n } else {\n Transforms.unwrapNodes(editor, {\n match: (n) => Element.isElement(n) && n.type === indentType,\n mode: 'lowest',\n split: true,\n })\n }\n }\n\n if (dir === 'right') {\n const isCurrentlyOL = isElementActive(editor, 'ol')\n const isCurrentlyUL = isElementActive(editor, 'ul')\n\n if (isCurrentlyOL || isCurrentlyUL) {\n // Get the path of the first selected li -\n // Multiple lis could be selected\n // and the selection may start in the middle of the first li\n const [[, firstSelectedLIPath]] = Array.from(\n Editor.nodes(editor, {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n }),\n )\n\n // Is the first selected li the first in its list?\n const hasPrecedingLI = firstSelectedLIPath[firstSelectedLIPath.length - 1] > 0\n\n // If the first selected li is NOT the first in its list,\n // we need to inject it into the prior li\n if (hasPrecedingLI) {\n const [, precedingLIPath] = Editor.previous(editor, {\n at: firstSelectedLIPath,\n })\n\n const [precedingLIChildren] = Editor.node(editor, [...precedingLIPath, 0])\n const precedingLIChildrenIsText = Text.isText(precedingLIChildren)\n\n if (precedingLIChildrenIsText) {\n // Wrap the prior li text content so that it can be nested next to a list\n Transforms.wrapNodes(editor, { children: [] }, { at: [...precedingLIPath, 0] })\n }\n\n // Move the selected lis after the prior li contents\n Transforms.moveNodes(editor, {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n to: [...precedingLIPath, 1],\n })\n\n // Wrap the selected lis in a new list\n Transforms.wrapNodes(\n editor,\n {\n type: isCurrentlyOL ? 'ol' : 'ul',\n children: [],\n },\n {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n },\n )\n } else {\n // Otherwise, just wrap the node in a list / li\n Transforms.wrapNodes(\n editor,\n {\n type: isCurrentlyOL ? 'ol' : 'ul',\n children: [{ type: 'li', children: [] }],\n },\n {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n },\n )\n }\n } else {\n Transforms.wrapNodes(editor, { type: indentType, children: [] })\n }\n }\n\n ReactEditor.focus(editor)\n },\n [editor],\n )\n\n const canDeIndent = isElementActive(editor, 'li') || isElementActive(editor, indentType)\n\n return (\n <React.Fragment>\n <button\n className={[baseClass, !canDeIndent && `${baseClass}--disabled`].filter(Boolean).join(' ')}\n onClick={canDeIndent ? (e) => handleIndent(e, 'left') : undefined}\n type=\"button\"\n >\n <IndentLeft />\n </button>\n <button className={baseClass} onClick={(e) => handleIndent(e, 'right')} type=\"button\">\n <IndentRight />\n </button>\n </React.Fragment>\n )\n}\n"],"names":["React","useCallback","Editor","Element","Text","Transforms","ReactEditor","useSlate","IndentLeft","IndentRight","baseClass","getCommonBlock","isElementActive","isBlockElement","listTypes","unwrapList","indentType","IndentButton","editor","handleIndent","e","dir","preventDefault","listPath","n","isElement","includes","type","matchedParentList","above","at","match","isEditor","parentListItem","parentListItemPath","children","length","unwrapNodes","node","path","matches","setNodes","newParentNode","liftNodes","mode","split","isCurrentlyOL","isCurrentlyUL","firstSelectedLIPath","Array","from","nodes","hasPrecedingLI","precedingLIPath","previous","precedingLIChildren","precedingLIChildrenIsText","isText","wrapNodes","moveNodes","to","focus","canDeIndent","Fragment","button","className","filter","Boolean","join","onClick","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/field/elements/indent/Button.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\nimport { Editor, Element, Text, Transforms } from 'slate'\nimport { ReactEditor, useSlate } from 'slate-react'\n\nimport type { ElementNode } from '../../../types.js'\n\nimport { IndentLeft } from '../../icons/IndentLeft/index.js'\nimport { IndentRight } from '../../icons/IndentRight/index.js'\nimport { baseClass } from '../Button.js'\nimport { getCommonBlock } from '../getCommonBlock.js'\nimport { isElementActive } from '../isActive.js'\nimport { isBlockElement } from '../isBlockElement.js'\nimport { listTypes } from '../listTypes.js'\nimport { unwrapList } from '../unwrapList.js'\nimport { indentType } from './shared.js'\n\nexport const IndentButton: React.FC = () => {\n const editor = useSlate()\n const handleIndent = useCallback(\n (e, dir) => {\n e.preventDefault()\n\n if (dir === 'left') {\n if (isElementActive(editor, 'li')) {\n const [, listPath] = getCommonBlock(\n editor,\n (n) => Element.isElement(n) && listTypes.includes(n.type),\n )\n\n const matchedParentList = Editor.above(editor, {\n at: listPath,\n match: (n: ElementNode) => !Editor.isEditor(n) && isBlockElement(editor, n),\n })\n\n if (matchedParentList) {\n const [parentListItem, parentListItemPath] = matchedParentList\n\n if (parentListItem.children.length > 1) {\n // Remove nested list\n Transforms.unwrapNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n listTypes.includes(node.type) &&\n path.length === parentListItemPath.length + 1\n\n return matches\n },\n })\n\n // Set li type on any children that don't have a type\n Transforms.setNodes(\n editor,\n { type: 'li' },\n {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n node.type !== 'li' &&\n path.length === parentListItemPath.length + 1\n\n return matches\n },\n },\n )\n\n // Parent list item path has changed at this point\n // so we need to re-fetch the parent node\n const [newParentNode] = Editor.node(editor, parentListItemPath)\n\n // If the parent node is an li,\n // lift all li nodes within\n if (Element.isElement(newParentNode) && newParentNode.type === 'li') {\n // Lift the nested lis\n Transforms.liftNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n const matches =\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n path.length === parentListItemPath.length + 1 &&\n node.type === 'li'\n\n return matches\n },\n })\n }\n } else {\n Transforms.unwrapNodes(editor, {\n at: parentListItemPath,\n match: (node, path) => {\n return (\n Element.isElement(node) &&\n node.type === 'li' &&\n path.length === parentListItemPath.length\n )\n },\n })\n\n Transforms.unwrapNodes(editor, {\n match: (n) => Element.isElement(n) && listTypes.includes(n.type),\n })\n }\n } else {\n unwrapList(editor, listPath)\n }\n } else {\n Transforms.unwrapNodes(editor, {\n match: (n) => Element.isElement(n) && n.type === indentType,\n mode: 'lowest',\n split: true,\n })\n }\n }\n\n if (dir === 'right') {\n const isCurrentlyOL = isElementActive(editor, 'ol')\n const isCurrentlyUL = isElementActive(editor, 'ul')\n\n if (isCurrentlyOL || isCurrentlyUL) {\n // Get the path of the first selected li -\n // Multiple lis could be selected\n // and the selection may start in the middle of the first li\n const [[, firstSelectedLIPath]] = Array.from(\n Editor.nodes(editor, {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n }),\n )\n\n // Is the first selected li the first in its list?\n const hasPrecedingLI = firstSelectedLIPath[firstSelectedLIPath.length - 1] > 0\n\n // If the first selected li is NOT the first in its list,\n // we need to inject it into the prior li\n if (hasPrecedingLI) {\n const [, precedingLIPath] = Editor.previous(editor, {\n at: firstSelectedLIPath,\n })\n\n const [precedingLIChildren] = Editor.node(editor, [...precedingLIPath, 0])\n const precedingLIChildrenIsText = Text.isText(precedingLIChildren)\n\n if (precedingLIChildrenIsText) {\n // Wrap the prior li text content so that it can be nested next to a list\n Transforms.wrapNodes(editor, { children: [] }, { at: [...precedingLIPath, 0] })\n }\n\n // Move the selected lis after the prior li contents\n Transforms.moveNodes(editor, {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n to: [...precedingLIPath, 1],\n })\n\n // Wrap the selected lis in a new list\n Transforms.wrapNodes(\n editor,\n {\n type: isCurrentlyOL ? 'ol' : 'ul',\n children: [],\n },\n {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n },\n )\n } else {\n // Otherwise, just wrap the node in a list / li\n Transforms.wrapNodes(\n editor,\n {\n type: isCurrentlyOL ? 'ol' : 'ul',\n children: [{ type: 'li', children: [] }],\n },\n {\n match: (node) => Element.isElement(node) && node.type === 'li',\n mode: 'lowest',\n },\n )\n }\n } else {\n Transforms.wrapNodes(editor, { type: indentType, children: [] })\n }\n }\n\n ReactEditor.focus(editor)\n },\n [editor],\n )\n\n const canDeIndent = isElementActive(editor, 'li') || isElementActive(editor, indentType)\n\n return (\n <React.Fragment>\n <button\n className={[baseClass, !canDeIndent && `${baseClass}--disabled`].filter(Boolean).join(' ')}\n onClick={canDeIndent ? (e) => handleIndent(e, 'left') : undefined}\n type=\"button\"\n >\n <IndentLeft />\n </button>\n <button className={baseClass} onClick={(e) => handleIndent(e, 'right')} type=\"button\">\n <IndentRight />\n </button>\n </React.Fragment>\n )\n}\n"],"names":["React","useCallback","Editor","Element","Text","Transforms","ReactEditor","useSlate","IndentLeft","IndentRight","baseClass","getCommonBlock","isElementActive","isBlockElement","listTypes","unwrapList","indentType","IndentButton","editor","handleIndent","e","dir","preventDefault","listPath","n","isElement","includes","type","matchedParentList","above","at","match","isEditor","parentListItem","parentListItemPath","children","length","unwrapNodes","node","path","matches","setNodes","newParentNode","liftNodes","mode","split","isCurrentlyOL","isCurrentlyUL","firstSelectedLIPath","Array","from","nodes","hasPrecedingLI","precedingLIPath","previous","precedingLIChildren","precedingLIChildrenIsText","isText","wrapNodes","moveNodes","to","focus","canDeIndent","Fragment","button","className","filter","Boolean","join","onClick","undefined"],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import React from 'react';
3
4
  import { useElement } from '../../providers/ElementProvider.js';
4
5
  export const IndentElement = ()=>{
5
6
  const { attributes, children } = useElement();
6
- return /*#__PURE__*/ React.createElement("div", {
7
+ return /*#__PURE__*/ _jsx("div", {
7
8
  style: {
8
9
  paddingLeft: 25
9
10
  },
10
- ...attributes
11
- }, children);
11
+ ...attributes,
12
+ children: children
13
+ });
12
14
  };
13
15
 
14
16
  //# sourceMappingURL=Element.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/indent/Element.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\n\nexport const IndentElement: React.FC = () => {\n const { attributes, children } = useElement()\n\n return (\n <div style={{ paddingLeft: 25 }} {...attributes}>\n {children}\n </div>\n )\n}\n"],"names":["React","useElement","IndentElement","attributes","children","div","style","paddingLeft"],"rangeMappings":";;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAE/D,OAAO,MAAMC,gBAA0B;IACrC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBACE,oBAACI;QAAIC,OAAO;YAAEC,aAAa;QAAG;QAAI,GAAGJ,UAAU;OAC5CC;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/elements/indent/Element.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\n\nexport const IndentElement: React.FC = () => {\n const { attributes, children } = useElement()\n\n return (\n <div style={{ paddingLeft: 25 }} {...attributes}>\n {children}\n </div>\n )\n}\n"],"names":["React","useElement","IndentElement","attributes","children","div","style","paddingLeft"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAE/D,OAAO,MAAMC,gBAA0B;IACrC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBACE,KAACI;QAAIC,OAAO;YAAEC,aAAa;QAAG;QAAI,GAAGJ,UAAU;kBAC5CC;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAM9D,eAAO,MAAM,MAAM,EAAE,qBAIpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAI9D,eAAO,MAAM,MAAM,EAAE,qBAIpB,CAAA"}
@@ -1,10 +1,8 @@
1
- import { IndentButton } from './Button.js';
2
- import { IndentElement } from './Element.js';
3
1
  import { indentType } from './shared.js';
4
2
  export const indent = {
5
3
  name: indentType,
6
- Button: IndentButton,
7
- Element: IndentElement
4
+ Button: '@payloadcms/richtext-slate/client#IndentButton',
5
+ Element: '@payloadcms/richtext-slate/client#IndentElement'
8
6
  };
9
7
 
10
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/indent/index.ts"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nimport { IndentButton } from './Button.js'\nimport { IndentElement } from './Element.js'\nimport { indentType } from './shared.js'\n\nexport const indent: RichTextCustomElement = {\n name: indentType,\n Button: IndentButton,\n Element: IndentElement,\n}\n"],"names":["IndentButton","IndentElement","indentType","indent","name","Button","Element"],"rangeMappings":";;;;;;;","mappings":"AAEA,SAASA,YAAY,QAAQ,cAAa;AAC1C,SAASC,aAAa,QAAQ,eAAc;AAC5C,SAASC,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,SAAgC;IAC3CC,MAAMF;IACNG,QAAQL;IACRM,SAASL;AACX,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/elements/indent/index.ts"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nimport { indentType } from './shared.js'\n\nexport const indent: RichTextCustomElement = {\n name: indentType,\n Button: '@payloadcms/richtext-slate/client#IndentButton',\n Element: '@payloadcms/richtext-slate/client#IndentElement',\n}\n"],"names":["indentType","indent","name","Button","Element"],"mappings":"AAEA,SAASA,UAAU,QAAQ,cAAa;AAExC,OAAO,MAAMC,SAAgC;IAC3CC,MAAMF;IACNG,QAAQ;IACRC,SAAS;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/indent/shared.ts"],"sourcesContent":["export const indentType = 'indent'\n"],"names":["indentType"],"rangeMappings":"","mappings":"AAAA,OAAO,MAAMA,aAAa,SAAQ"}
1
+ {"version":3,"sources":["../../../../src/field/elements/indent/shared.ts"],"sourcesContent":["export const indentType = 'indent'\n"],"names":["indentType"],"mappings":"AAAA,OAAO,MAAMA,aAAa,SAAQ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../types.js'\n\nimport { blockquote } from './blockquote/index.js'\nimport { h1 } from './h1/index.js'\nimport { h2 } from './h2/index.js'\nimport { h3 } from './h3/index.js'\nimport { h4 } from './h4/index.js'\nimport { h5 } from './h5/index.js'\nimport { h6 } from './h6/index.js'\nimport { indent } from './indent/index.js'\nimport { li } from './li/index.js'\nimport { link } from './link/index.js'\nimport { ol } from './ol/index.js'\nimport { relationship } from './relationship/index.js'\nimport { textAlign } from './textAlign/index.js'\nimport { ul } from './ul/index.js'\nimport { upload } from './upload/index.js'\n\nexport const elements: Record<string, RichTextCustomElement> = {\n blockquote,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n indent,\n li,\n link,\n ol,\n relationship,\n textAlign,\n ul,\n upload,\n}\n"],"names":["blockquote","h1","h2","h3","h4","h5","h6","indent","li","link","ol","relationship","textAlign","ul","upload","elements"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,UAAU,QAAQ,wBAAuB;AAClD,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,MAAM,QAAQ,oBAAmB;AAE1C,OAAO,MAAMC,WAAkD;IAC7Df;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/elements/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../types.js'\n\nimport { blockquote } from './blockquote/index.js'\nimport { h1 } from './h1/index.js'\nimport { h2 } from './h2/index.js'\nimport { h3 } from './h3/index.js'\nimport { h4 } from './h4/index.js'\nimport { h5 } from './h5/index.js'\nimport { h6 } from './h6/index.js'\nimport { indent } from './indent/index.js'\nimport { li } from './li/index.js'\nimport { link } from './link/index.js'\nimport { ol } from './ol/index.js'\nimport { relationship } from './relationship/index.js'\nimport { textAlign } from './textAlign/index.js'\nimport { ul } from './ul/index.js'\nimport { upload } from './upload/index.js'\n\nexport const elements: Record<string, RichTextCustomElement> = {\n blockquote,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n indent,\n li,\n link,\n ol,\n relationship,\n textAlign,\n ul,\n upload,\n}\n"],"names":["blockquote","h1","h2","h3","h4","h5","h6","indent","li","link","ol","relationship","textAlign","ul","upload","elements"],"mappings":"AAEA,SAASA,UAAU,QAAQ,wBAAuB;AAClD,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,EAAE,QAAQ,gBAAe;AAClC,SAASC,MAAM,QAAQ,oBAAmB;AAE1C,OAAO,MAAMC,WAAkD;IAC7Df;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/injectVoid.ts"],"sourcesContent":["import type { Element } from 'slate'\n\nimport { Editor, Transforms } from 'slate'\n\nimport type { ElementNode } from '../../types.js'\n\nimport { isLastSelectedElementEmpty } from './isLastSelectedElementEmpty.js'\n\nexport const injectVoidElement = (editor: Editor, element: Element): void => {\n const lastSelectedElementIsEmpty = isLastSelectedElementEmpty(editor)\n const previous = Editor.previous<ElementNode>(editor)\n\n if (lastSelectedElementIsEmpty) {\n // If previous node is void\n if (previous?.[0] && Editor.isVoid(editor, previous[0])) {\n // Insert a blank element between void nodes\n // so user can place cursor between void nodes\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n Transforms.setNodes(editor, element)\n // Otherwise just set the empty node equal to new void\n } else {\n Transforms.setNodes(editor, element)\n }\n } else {\n Transforms.insertNodes(editor, element)\n }\n\n // Add an empty node after the new void\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n}\n"],"names":["Editor","Transforms","isLastSelectedElementEmpty","injectVoidElement","editor","element","lastSelectedElementIsEmpty","previous","isVoid","insertNodes","children","text","setNodes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,MAAM,EAAEC,UAAU,QAAQ,QAAO;AAI1C,SAASC,0BAA0B,QAAQ,kCAAiC;AAE5E,OAAO,MAAMC,oBAAoB,CAACC,QAAgBC;IAChD,MAAMC,6BAA6BJ,2BAA2BE;IAC9D,MAAMG,WAAWP,OAAOO,QAAQ,CAAcH;IAE9C,IAAIE,4BAA4B;QAC9B,2BAA2B;QAC3B,IAAIC,UAAU,CAAC,EAAE,IAAIP,OAAOQ,MAAM,CAACJ,QAAQG,QAAQ,CAAC,EAAE,GAAG;YACvD,4CAA4C;YAC5C,8CAA8C;YAC9CN,WAAWQ,WAAW,CAACL,QAAQ;gBAAEM,UAAU;oBAAC;wBAAEC,MAAM;oBAAG;iBAAE;YAAC;YAC1DV,WAAWW,QAAQ,CAACR,QAAQC;QAC5B,sDAAsD;QACxD,OAAO;YACLJ,WAAWW,QAAQ,CAACR,QAAQC;QAC9B;IACF,OAAO;QACLJ,WAAWQ,WAAW,CAACL,QAAQC;IACjC;IAEA,uCAAuC;IACvCJ,WAAWQ,WAAW,CAACL,QAAQ;QAAEM,UAAU;YAAC;gBAAEC,MAAM;YAAG;SAAE;IAAC;AAC5D,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/elements/injectVoid.ts"],"sourcesContent":["import type { Element } from 'slate'\n\nimport { Editor, Transforms } from 'slate'\n\nimport type { ElementNode } from '../../types.js'\n\nimport { isLastSelectedElementEmpty } from './isLastSelectedElementEmpty.js'\n\nexport const injectVoidElement = (editor: Editor, element: Element): void => {\n const lastSelectedElementIsEmpty = isLastSelectedElementEmpty(editor)\n const previous = Editor.previous<ElementNode>(editor)\n\n if (lastSelectedElementIsEmpty) {\n // If previous node is void\n if (previous?.[0] && Editor.isVoid(editor, previous[0])) {\n // Insert a blank element between void nodes\n // so user can place cursor between void nodes\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n Transforms.setNodes(editor, element)\n // Otherwise just set the empty node equal to new void\n } else {\n Transforms.setNodes(editor, element)\n }\n } else {\n Transforms.insertNodes(editor, element)\n }\n\n // Add an empty node after the new void\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n}\n"],"names":["Editor","Transforms","isLastSelectedElementEmpty","injectVoidElement","editor","element","lastSelectedElementIsEmpty","previous","isVoid","insertNodes","children","text","setNodes"],"mappings":"AAEA,SAASA,MAAM,EAAEC,UAAU,QAAQ,QAAO;AAI1C,SAASC,0BAA0B,QAAQ,kCAAiC;AAE5E,OAAO,MAAMC,oBAAoB,CAACC,QAAgBC;IAChD,MAAMC,6BAA6BJ,2BAA2BE;IAC9D,MAAMG,WAAWP,OAAOO,QAAQ,CAAcH;IAE9C,IAAIE,4BAA4B;QAC9B,2BAA2B;QAC3B,IAAIC,UAAU,CAAC,EAAE,IAAIP,OAAOQ,MAAM,CAACJ,QAAQG,QAAQ,CAAC,EAAE,GAAG;YACvD,4CAA4C;YAC5C,8CAA8C;YAC9CN,WAAWQ,WAAW,CAACL,QAAQ;gBAAEM,UAAU;oBAAC;wBAAEC,MAAM;oBAAG;iBAAE;YAAC;YAC1DV,WAAWW,QAAQ,CAACR,QAAQC;QAC5B,sDAAsD;QACxD,OAAO;YACLJ,WAAWW,QAAQ,CAACR,QAAQC;QAC9B;IACF,OAAO;QACLJ,WAAWQ,WAAW,CAACL,QAAQC;IACjC;IAEA,uCAAuC;IACvCJ,WAAWQ,WAAW,CAACL,QAAQ;QAAEM,UAAU;YAAC;gBAAEC,MAAM;YAAG;SAAE;IAAC;AAC5D,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/isActive.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nexport const isElementActive = (editor: Editor, format: string, blockType = 'type'): boolean => {\n if (!editor.selection) return false\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, editor.selection),\n match: (n) => !Editor.isEditor(n) && Element.isElement(n) && n[blockType] === format,\n }),\n )\n\n return !!match\n}\n"],"names":["Editor","Element","isElementActive","editor","format","blockType","selection","match","Array","from","nodes","at","unhangRange","n","isEditor","isElement"],"rangeMappings":";;;;;;;;","mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,OAAO,MAAMC,kBAAkB,CAACC,QAAgBC,QAAgBC,YAAY,MAAM;IAChF,IAAI,CAACF,OAAOG,SAAS,EAAE,OAAO;IAE9B,MAAM,CAACC,MAAM,GAAGC,MAAMC,IAAI,CACxBT,OAAOU,KAAK,CAACP,QAAQ;QACnBQ,IAAIX,OAAOY,WAAW,CAACT,QAAQA,OAAOG,SAAS;QAC/CC,OAAO,CAACM,IAAM,CAACb,OAAOc,QAAQ,CAACD,MAAMZ,QAAQc,SAAS,CAACF,MAAMA,CAAC,CAACR,UAAU,KAAKD;IAChF;IAGF,OAAO,CAAC,CAACG;AACX,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/elements/isActive.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nexport const isElementActive = (editor: Editor, format: string, blockType = 'type'): boolean => {\n if (!editor.selection) return false\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, editor.selection),\n match: (n) => !Editor.isEditor(n) && Element.isElement(n) && n[blockType] === format,\n }),\n )\n\n return !!match\n}\n"],"names":["Editor","Element","isElementActive","editor","format","blockType","selection","match","Array","from","nodes","at","unhangRange","n","isEditor","isElement"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,OAAO,MAAMC,kBAAkB,CAACC,QAAgBC,QAAgBC,YAAY,MAAM;IAChF,IAAI,CAACF,OAAOG,SAAS,EAAE,OAAO;IAE9B,MAAM,CAACC,MAAM,GAAGC,MAAMC,IAAI,CACxBT,OAAOU,KAAK,CAACP,QAAQ;QACnBQ,IAAIX,OAAOY,WAAW,CAACT,QAAQA,OAAOG,SAAS;QAC/CC,OAAO,CAACM,IAAM,CAACb,OAAOc,QAAQ,CAACD,MAAMZ,QAAQc,SAAS,CAACF,MAAMA,CAAC,CAACR,UAAU,KAAKD;IAChF;IAGF,OAAO,CAAC,CAACG;AACX,EAAC"}
@@ -1,9 +1,9 @@
1
- import { Editor } from 'slate';
1
+ import { Editor, Element } from 'slate';
2
2
  /**
3
3
  * Returns true, if the provided node is a Block Element.
4
4
  * Note: Using Editor.isBlock() is not sufficient, as since slate 0.90 it returns `true` for Text nodes and the editor as well.
5
5
  *
6
6
  * Related Issue: https://github.com/ianstormtaylor/slate/issues/5287
7
7
  */
8
- export declare const isBlockElement: (editor: Editor, node: any) => node is import("../../types.js").ElementNode;
8
+ export declare const isBlockElement: (editor: Editor, node: any) => node is Element;
9
9
  //# sourceMappingURL=isBlockElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isBlockElement.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isBlockElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,OAAO,CAAA;AAkBvC;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,WAAY,MAAM,QAAQ,GAAG,iDACP,CAAA"}
1
+ {"version":3,"file":"isBlockElement.d.ts","sourceRoot":"","sources":["../../../src/field/elements/isBlockElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAkBvC;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,WAAY,MAAM,QAAQ,GAAG,KAAG,IAAI,IAAI,OAClB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/isBlockElement.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\n/**\n * Returns true, if the provided node is an Element (optionally of a specific type)\n */\nconst isElement = (node: any, specificType?: string | string[]): node is Element => {\n if (Editor.isEditor(node) || !Element.isElement(node)) {\n return false\n }\n if (undefined === specificType) {\n return true\n }\n if (typeof specificType === 'string') {\n return node.type === specificType\n }\n return specificType.includes(node.type)\n}\n\n/**\n * Returns true, if the provided node is a Block Element.\n * Note: Using Editor.isBlock() is not sufficient, as since slate 0.90 it returns `true` for Text nodes and the editor as well.\n *\n * Related Issue: https://github.com/ianstormtaylor/slate/issues/5287\n */\n\nexport const isBlockElement = (editor: Editor, node: any): node is Element =>\n Editor.isBlock(editor, node) && isElement(node)\n"],"names":["Editor","Element","isElement","node","specificType","isEditor","undefined","type","includes","isBlockElement","editor","isBlock"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC;;CAEC,GACD,MAAMC,YAAY,CAACC,MAAWC;IAC5B,IAAIJ,OAAOK,QAAQ,CAACF,SAAS,CAACF,QAAQC,SAAS,CAACC,OAAO;QACrD,OAAO;IACT;IACA,IAAIG,cAAcF,cAAc;QAC9B,OAAO;IACT;IACA,IAAI,OAAOA,iBAAiB,UAAU;QACpC,OAAOD,KAAKI,IAAI,KAAKH;IACvB;IACA,OAAOA,aAAaI,QAAQ,CAACL,KAAKI,IAAI;AACxC;AAEA;;;;;CAKC,GAED,OAAO,MAAME,iBAAiB,CAACC,QAAgBP,OAC7CH,OAAOW,OAAO,CAACD,QAAQP,SAASD,UAAUC,MAAK"}
1
+ {"version":3,"sources":["../../../src/field/elements/isBlockElement.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\n/**\n * Returns true, if the provided node is an Element (optionally of a specific type)\n */\nconst isElement = (node: any, specificType?: string | string[]): node is Element => {\n if (Editor.isEditor(node) || !Element.isElement(node)) {\n return false\n }\n if (undefined === specificType) {\n return true\n }\n if (typeof specificType === 'string') {\n return node.type === specificType\n }\n return specificType.includes(node.type)\n}\n\n/**\n * Returns true, if the provided node is a Block Element.\n * Note: Using Editor.isBlock() is not sufficient, as since slate 0.90 it returns `true` for Text nodes and the editor as well.\n *\n * Related Issue: https://github.com/ianstormtaylor/slate/issues/5287\n */\n\nexport const isBlockElement = (editor: Editor, node: any): node is Element =>\n Editor.isBlock(editor, node) && isElement(node)\n"],"names":["Editor","Element","isElement","node","specificType","isEditor","undefined","type","includes","isBlockElement","editor","isBlock"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC;;CAEC,GACD,MAAMC,YAAY,CAACC,MAAWC;IAC5B,IAAIJ,OAAOK,QAAQ,CAACF,SAAS,CAACF,QAAQC,SAAS,CAACC,OAAO;QACrD,OAAO;IACT;IACA,IAAIG,cAAcF,cAAc;QAC9B,OAAO;IACT;IACA,IAAI,OAAOA,iBAAiB,UAAU;QACpC,OAAOD,KAAKI,IAAI,KAAKH;IACvB;IACA,OAAOA,aAAaI,QAAQ,CAACL,KAAKI,IAAI;AACxC;AAEA;;;;;CAKC,GAED,OAAO,MAAME,iBAAiB,CAACC,QAAgBP,OAC7CH,OAAOW,OAAO,CAACD,QAAQP,SAASD,UAAUC,MAAK"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/isLastSelectedElementEmpty.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nimport { nodeIsTextNode } from '../../types.js'\n\nexport const isLastSelectedElementEmpty = (editor: Editor): boolean => {\n if (!editor.selection) return false\n\n const currentlySelectedNodes = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, editor.selection),\n match: (n) => !Editor.isEditor(n) && Element.isElement(n) && (!n.type || n.type === 'p'),\n }),\n )\n\n const lastSelectedNode = currentlySelectedNodes?.[currentlySelectedNodes?.length - 1]\n\n return (\n lastSelectedNode &&\n Element.isElement(lastSelectedNode[0]) &&\n (!lastSelectedNode[0].type || lastSelectedNode[0].type === 'p') &&\n nodeIsTextNode(lastSelectedNode[0].children?.[0]) &&\n lastSelectedNode[0].children?.[0].text === ''\n )\n}\n"],"names":["Editor","Element","nodeIsTextNode","isLastSelectedElementEmpty","editor","selection","currentlySelectedNodes","Array","from","nodes","at","unhangRange","match","n","isEditor","isElement","type","lastSelectedNode","length","children","text"],"rangeMappings":";;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,SAASC,cAAc,QAAQ,iBAAgB;AAE/C,OAAO,MAAMC,6BAA6B,CAACC;IACzC,IAAI,CAACA,OAAOC,SAAS,EAAE,OAAO;IAE9B,MAAMC,yBAAyBC,MAAMC,IAAI,CACvCR,OAAOS,KAAK,CAACL,QAAQ;QACnBM,IAAIV,OAAOW,WAAW,CAACP,QAAQA,OAAOC,SAAS;QAC/CO,OAAO,CAACC,IAAM,CAACb,OAAOc,QAAQ,CAACD,MAAMZ,QAAQc,SAAS,CAACF,MAAO,CAAA,CAACA,EAAEG,IAAI,IAAIH,EAAEG,IAAI,KAAK,GAAE;IACxF;IAGF,MAAMC,mBAAmBX,wBAAwB,CAACA,wBAAwBY,SAAS,EAAE;IAErF,OACED,oBACAhB,QAAQc,SAAS,CAACE,gBAAgB,CAAC,EAAE,KACpC,CAAA,CAACA,gBAAgB,CAAC,EAAE,CAACD,IAAI,IAAIC,gBAAgB,CAAC,EAAE,CAACD,IAAI,KAAK,GAAE,KAC7Dd,eAAee,gBAAgB,CAAC,EAAE,CAACE,QAAQ,EAAE,CAAC,EAAE,KAChDF,gBAAgB,CAAC,EAAE,CAACE,QAAQ,EAAE,CAAC,EAAE,CAACC,SAAS;AAE/C,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/elements/isLastSelectedElementEmpty.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nimport { nodeIsTextNode } from '../../types.js'\n\nexport const isLastSelectedElementEmpty = (editor: Editor): boolean => {\n if (!editor.selection) return false\n\n const currentlySelectedNodes = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, editor.selection),\n match: (n) => !Editor.isEditor(n) && Element.isElement(n) && (!n.type || n.type === 'p'),\n }),\n )\n\n const lastSelectedNode = currentlySelectedNodes?.[currentlySelectedNodes?.length - 1]\n\n return (\n lastSelectedNode &&\n Element.isElement(lastSelectedNode[0]) &&\n (!lastSelectedNode[0].type || lastSelectedNode[0].type === 'p') &&\n nodeIsTextNode(lastSelectedNode[0].children?.[0]) &&\n lastSelectedNode[0].children?.[0].text === ''\n )\n}\n"],"names":["Editor","Element","nodeIsTextNode","isLastSelectedElementEmpty","editor","selection","currentlySelectedNodes","Array","from","nodes","at","unhangRange","match","n","isEditor","isElement","type","lastSelectedNode","length","children","text"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,SAASC,cAAc,QAAQ,iBAAgB;AAE/C,OAAO,MAAMC,6BAA6B,CAACC;IACzC,IAAI,CAACA,OAAOC,SAAS,EAAE,OAAO;IAE9B,MAAMC,yBAAyBC,MAAMC,IAAI,CACvCR,OAAOS,KAAK,CAACL,QAAQ;QACnBM,IAAIV,OAAOW,WAAW,CAACP,QAAQA,OAAOC,SAAS;QAC/CO,OAAO,CAACC,IAAM,CAACb,OAAOc,QAAQ,CAACD,MAAMZ,QAAQc,SAAS,CAACF,MAAO,CAAA,CAACA,EAAEG,IAAI,IAAIH,EAAEG,IAAI,KAAK,GAAE;IACxF;IAGF,MAAMC,mBAAmBX,wBAAwB,CAACA,wBAAwBY,SAAS,EAAE;IAErF,OACED,oBACAhB,QAAQc,SAAS,CAACE,gBAAgB,CAAC,EAAE,KACpC,CAAA,CAACA,gBAAgB,CAAC,EAAE,CAACD,IAAI,IAAIC,gBAAgB,CAAC,EAAE,CAACD,IAAI,KAAK,GAAE,KAC7Dd,eAAee,gBAAgB,CAAC,EAAE,CAACE,QAAQ,EAAE,CAAC,EAAE,KAChDF,gBAAgB,CAAC,EAAE,CAACE,QAAQ,EAAE,CAAC,EAAE,CAACC,SAAS;AAE/C,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/isListActive.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nimport { getCommonBlock } from './getCommonBlock.js'\n\nexport const isListActive = (editor: Editor, format: string): boolean => {\n if (!editor.selection) return false\n const [topmostSelectedNode, topmostSelectedNodePath] = getCommonBlock(editor)\n\n if (Editor.isEditor(topmostSelectedNode)) return false\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: topmostSelectedNodePath,\n match: (node, path) => {\n return (\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n node.type === format &&\n path.length >= topmostSelectedNodePath.length - 2\n )\n },\n mode: 'lowest',\n }),\n )\n\n return !!match\n}\n"],"names":["Editor","Element","getCommonBlock","isListActive","editor","format","selection","topmostSelectedNode","topmostSelectedNodePath","isEditor","match","Array","from","nodes","at","node","path","isElement","type","length","mode"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,eAAe,CAACC,QAAgBC;IAC3C,IAAI,CAACD,OAAOE,SAAS,EAAE,OAAO;IAC9B,MAAM,CAACC,qBAAqBC,wBAAwB,GAAGN,eAAeE;IAEtE,IAAIJ,OAAOS,QAAQ,CAACF,sBAAsB,OAAO;IAEjD,MAAM,CAACG,MAAM,GAAGC,MAAMC,IAAI,CACxBZ,OAAOa,KAAK,CAACT,QAAQ;QACnBU,IAAIN;QACJE,OAAO,CAACK,MAAMC;YACZ,OACE,CAAChB,OAAOS,QAAQ,CAACM,SACjBd,QAAQgB,SAAS,CAACF,SAClBA,KAAKG,IAAI,KAAKb,UACdW,KAAKG,MAAM,IAAIX,wBAAwBW,MAAM,GAAG;QAEpD;QACAC,MAAM;IACR;IAGF,OAAO,CAAC,CAACV;AACX,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/elements/isListActive.ts"],"sourcesContent":["import { Editor, Element } from 'slate'\n\nimport { getCommonBlock } from './getCommonBlock.js'\n\nexport const isListActive = (editor: Editor, format: string): boolean => {\n if (!editor.selection) return false\n const [topmostSelectedNode, topmostSelectedNodePath] = getCommonBlock(editor)\n\n if (Editor.isEditor(topmostSelectedNode)) return false\n\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: topmostSelectedNodePath,\n match: (node, path) => {\n return (\n !Editor.isEditor(node) &&\n Element.isElement(node) &&\n node.type === format &&\n path.length >= topmostSelectedNodePath.length - 2\n )\n },\n mode: 'lowest',\n }),\n )\n\n return !!match\n}\n"],"names":["Editor","Element","getCommonBlock","isListActive","editor","format","selection","topmostSelectedNode","topmostSelectedNodePath","isEditor","match","Array","from","nodes","at","node","path","isElement","type","length","mode"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,eAAe,CAACC,QAAgBC;IAC3C,IAAI,CAACD,OAAOE,SAAS,EAAE,OAAO;IAC9B,MAAM,CAACC,qBAAqBC,wBAAwB,GAAGN,eAAeE;IAEtE,IAAIJ,OAAOS,QAAQ,CAACF,sBAAsB,OAAO;IAEjD,MAAM,CAACG,MAAM,GAAGC,MAAMC,IAAI,CACxBZ,OAAOa,KAAK,CAACT,QAAQ;QACnBU,IAAIN;QACJE,OAAO,CAACK,MAAMC;YACZ,OACE,CAAChB,OAAOS,QAAQ,CAACM,SACjBd,QAAQgB,SAAS,CAACF,SAClBA,KAAKG,IAAI,KAAKb,UACdW,KAAKG,MAAM,IAAIX,wBAAwBW,MAAM,GAAG;QAEpD;QACAC,MAAM;IACR;IAGF,OAAO,CAAC,CAACV;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/field/elements/isWithinListItem.ts"],"sourcesContent":["import type { Ancestor, NodeEntry } from 'slate'\n\nimport { Editor, Element } from 'slate'\n\nexport const isWithinListItem = (editor: Editor): boolean => {\n let parentLI: NodeEntry<Ancestor>\n\n try {\n parentLI = Editor.parent(editor, editor.selection)\n } catch (e) {\n // swallow error, Slate\n }\n\n if (Element.isElement(parentLI?.[0]) && parentLI?.[0]?.type === 'li') {\n return true\n }\n\n return false\n}\n"],"names":["Editor","Element","isWithinListItem","editor","parentLI","parent","selection","e","isElement","type"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAEA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,OAAO,MAAMC,mBAAmB,CAACC;IAC/B,IAAIC;IAEJ,IAAI;QACFA,WAAWJ,OAAOK,MAAM,CAACF,QAAQA,OAAOG,SAAS;IACnD,EAAE,OAAOC,GAAG;IACV,uBAAuB;IACzB;IAEA,IAAIN,QAAQO,SAAS,CAACJ,UAAU,CAAC,EAAE,KAAKA,UAAU,CAAC,EAAE,EAAEK,SAAS,MAAM;QACpE,OAAO;IACT;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/field/elements/isWithinListItem.ts"],"sourcesContent":["import type { Ancestor, NodeEntry } from 'slate'\n\nimport { Editor, Element } from 'slate'\n\nexport const isWithinListItem = (editor: Editor): boolean => {\n let parentLI: NodeEntry<Ancestor>\n\n try {\n parentLI = Editor.parent(editor, editor.selection)\n } catch (e) {\n // swallow error, Slate\n }\n\n if (Element.isElement(parentLI?.[0]) && parentLI?.[0]?.type === 'li') {\n return true\n }\n\n return false\n}\n"],"names":["Editor","Element","isWithinListItem","editor","parentLI","parent","selection","e","isElement","type"],"mappings":"AAEA,SAASA,MAAM,EAAEC,OAAO,QAAQ,QAAO;AAEvC,OAAO,MAAMC,mBAAmB,CAACC;IAC/B,IAAIC;IAEJ,IAAI;QACFA,WAAWJ,OAAOK,MAAM,CAACF,QAAQA,OAAOG,SAAS;IACnD,EAAE,OAAOC,GAAG;IACV,uBAAuB;IACzB;IAEA,IAAIN,QAAQO,SAAS,CAACJ,UAAU,CAAC,EAAE,KAAKA,UAAU,CAAC,EAAE,EAAEK,SAAS,MAAM;QACpE,OAAO;IACT;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/li/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAK7C,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAqBnC,CAAA"}
1
+ {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/li/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAiBnC,CAAA"}
@@ -1,21 +1,20 @@
1
1
  'use client';
2
- import React, { isValidElement } from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
3
4
  import { useElement } from '../../providers/ElementProvider.js';
4
5
  import { listTypes } from '../listTypes.js';
5
6
  export const ListItemElement = ()=>{
6
7
  const { attributes, children, element } = useElement();
7
- if (!/*#__PURE__*/ isValidElement(element)) {
8
- return null;
9
- }
10
8
  const listType = typeof element.children?.[0]?.type === 'string' ? element.children[0].type : '';
11
9
  const disableListStyle = element.children.length >= 1 && listTypes.includes(listType);
12
- return /*#__PURE__*/ React.createElement("li", {
10
+ return /*#__PURE__*/ _jsx("li", {
13
11
  style: {
14
12
  listStyle: disableListStyle ? 'none' : undefined,
15
13
  listStylePosition: disableListStyle ? 'outside' : undefined
16
14
  },
17
- ...attributes
18
- }, children);
15
+ ...attributes,
16
+ children: children
17
+ });
19
18
  };
20
19
 
21
20
  //# sourceMappingURL=ListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/li/ListItem.tsx"],"sourcesContent":["'use client'\n\nimport type { Element } from 'slate'\n\nimport React, { isValidElement } from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\nimport { listTypes } from '../listTypes.js'\n\nexport const ListItemElement: React.FC = () => {\n const { attributes, children, element } = useElement<Element>()\n\n if (!isValidElement(element)) {\n return null\n }\n\n const listType = typeof element.children?.[0]?.type === 'string' ? element.children[0].type : ''\n const disableListStyle = element.children.length >= 1 && listTypes.includes(listType)\n\n return (\n <li\n style={{\n listStyle: disableListStyle ? 'none' : undefined,\n listStylePosition: disableListStyle ? 'outside' : undefined,\n }}\n {...attributes}\n >\n {children}\n </li>\n )\n}\n"],"names":["React","isValidElement","useElement","listTypes","ListItemElement","attributes","children","element","listType","type","disableListStyle","length","includes","li","style","listStyle","undefined","listStylePosition"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,OAAOA,SAASC,cAAc,QAAQ,QAAO;AAE7C,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,SAAS,QAAQ,kBAAiB;AAE3C,OAAO,MAAMC,kBAA4B;IACvC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,OAAO,EAAE,GAAGL;IAE1C,IAAI,eAACD,eAAeM,UAAU;QAC5B,OAAO;IACT;IAEA,MAAMC,WAAW,OAAOD,QAAQD,QAAQ,EAAE,CAAC,EAAE,EAAEG,SAAS,WAAWF,QAAQD,QAAQ,CAAC,EAAE,CAACG,IAAI,GAAG;IAC9F,MAAMC,mBAAmBH,QAAQD,QAAQ,CAACK,MAAM,IAAI,KAAKR,UAAUS,QAAQ,CAACJ;IAE5E,qBACE,oBAACK;QACCC,OAAO;YACLC,WAAWL,mBAAmB,SAASM;YACvCC,mBAAmBP,mBAAmB,YAAYM;QACpD;QACC,GAAGX,UAAU;OAEbC;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/elements/li/ListItem.tsx"],"sourcesContent":["'use client'\n\nimport type { Element } from 'slate'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\nimport { listTypes } from '../listTypes.js'\n\nexport const ListItemElement: React.FC = () => {\n const { attributes, children, element } = useElement<Element>()\n\n const listType = typeof element.children?.[0]?.type === 'string' ? element.children[0].type : ''\n const disableListStyle = element.children.length >= 1 && listTypes.includes(listType)\n\n return (\n <li\n style={{\n listStyle: disableListStyle ? 'none' : undefined,\n listStylePosition: disableListStyle ? 'outside' : undefined,\n }}\n {...attributes}\n >\n {children}\n </li>\n )\n}\n"],"names":["React","useElement","listTypes","ListItemElement","attributes","children","element","listType","type","disableListStyle","length","includes","li","style","listStyle","undefined","listStylePosition"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,SAAS,QAAQ,kBAAiB;AAE3C,OAAO,MAAMC,kBAA4B;IACvC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,OAAO,EAAE,GAAGL;IAE1C,MAAMM,WAAW,OAAOD,QAAQD,QAAQ,EAAE,CAAC,EAAE,EAAEG,SAAS,WAAWF,QAAQD,QAAQ,CAAC,EAAE,CAACG,IAAI,GAAG;IAC9F,MAAMC,mBAAmBH,QAAQD,QAAQ,CAACK,MAAM,IAAI,KAAKR,UAAUS,QAAQ,CAACJ;IAE5E,qBACE,KAACK;QACCC,OAAO;YACLC,WAAWL,mBAAmB,SAASM;YACvCC,mBAAmBP,mBAAmB,YAAYM;QACpD;QACC,GAAGX,UAAU;kBAEbC;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/li/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAI9D,eAAO,MAAM,EAAE,EAAE,qBAGhB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/li/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE9D,eAAO,MAAM,EAAE,EAAE,qBAGhB,CAAA"}
@@ -1,7 +1,6 @@
1
- import { ListItemElement } from './ListItem.js';
2
1
  export const li = {
3
2
  name: 'li',
4
- Element: ListItemElement
3
+ Element: '@payloadcms/richtext-slate/client#ListItemElement'
5
4
  };
6
5
 
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/li/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nimport { ListItemElement } from './ListItem.js'\n\nexport const li: RichTextCustomElement = {\n name: 'li',\n Element: ListItemElement,\n}\n"],"names":["ListItemElement","li","name","Element"],"rangeMappings":";;;;","mappings":"AAEA,SAASA,eAAe,QAAQ,gBAAe;AAE/C,OAAO,MAAMC,KAA4B;IACvCC,MAAM;IACNC,SAASH;AACX,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/elements/li/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nexport const li: RichTextCustomElement = {\n name: 'li',\n Element: '@payloadcms/richtext-slate/client#ListItemElement',\n}\n"],"names":["li","name","Element"],"mappings":"AAEA,OAAO,MAAMA,KAA4B;IACvCC,MAAM;IACNC,SAAS;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/elements/link/Button/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAkDjD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAgE9B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/elements/link/Button/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAkDjD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAmE9B,CAAA"}
@@ -1,11 +1,8 @@
1
1
  'use client';
2
- import * as facelessUIImport from '@faceless-ui/modal';
3
- import { useDrawerSlug } from '@payloadcms/ui/elements/Drawer';
4
- import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
5
- import { useConfig } from '@payloadcms/ui/providers/Config';
6
- import { useTranslation } from '@payloadcms/ui/providers/Translation';
7
- import { getFormState } from '@payloadcms/ui/utilities/getFormState';
8
- import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useConfig, useDrawerSlug, useFieldProps, useModal, useTranslation } from '@payloadcms/ui';
4
+ import { getFormState } from '@payloadcms/ui/shared';
5
+ import { reduceFieldsToValues } from 'payload/shared';
9
6
  import React, { Fragment, useState } from 'react';
10
7
  import { Editor, Range, Transforms } from 'slate';
11
8
  import { ReactEditor, useSlate } from 'slate-react';
@@ -64,56 +61,61 @@ import { unwrapLink } from '../utilities.js';
64
61
  ReactEditor.focus(editor);
65
62
  };
66
63
  export const LinkButton = ()=>{
67
- const { useModal } = facelessUIImport;
68
64
  const { fieldProps } = useElementButton();
69
65
  const [initialState, setInitialState] = useState({});
70
66
  const { t } = useTranslation();
71
67
  const editor = useSlate();
72
- const config = useConfig();
68
+ const { config } = useConfig();
73
69
  const { closeModal, openModal } = useModal();
74
70
  const drawerSlug = useDrawerSlug('rich-text-link');
75
71
  const { schemaPath } = useFieldProps();
76
- const { richTextComponentMap } = fieldProps;
77
- const fieldMap = richTextComponentMap.get(linkFieldsSchemaPath);
78
- return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(ElementButton, {
79
- className: "link",
80
- format: "link",
81
- onClick: async ()=>{
82
- if (isElementActive(editor, 'link')) {
83
- unwrapLink(editor);
84
- } else {
85
- openModal(drawerSlug);
86
- const isCollapsed = editor.selection && Range.isCollapsed(editor.selection);
87
- if (!isCollapsed) {
88
- const data = {
89
- text: editor.selection ? Editor.string(editor, editor.selection) : ''
90
- };
91
- const state = await getFormState({
92
- apiRoute: config.routes.api,
93
- body: {
94
- data,
95
- operation: 'update',
96
- schemaPath: `${schemaPath}.${linkFieldsSchemaPath}`
97
- },
98
- serverURL: config.serverURL
99
- });
100
- setInitialState(state);
101
- }
102
- }
103
- },
104
- tooltip: t('fields:addLink')
105
- }, /*#__PURE__*/ React.createElement(LinkIcon, null)), /*#__PURE__*/ React.createElement(LinkDrawer, {
106
- drawerSlug: drawerSlug,
107
- fieldMap: Array.isArray(fieldMap) ? fieldMap : [],
108
- handleClose: ()=>{
109
- closeModal(drawerSlug);
110
- },
111
- handleModalSubmit: (fields)=>{
112
- insertLink(editor, fields);
113
- closeModal(drawerSlug);
114
- },
115
- initialState: initialState
116
- }));
72
+ const { field: { richTextComponentMap } } = fieldProps;
73
+ const fields = richTextComponentMap.get(linkFieldsSchemaPath);
74
+ return /*#__PURE__*/ _jsxs(Fragment, {
75
+ children: [
76
+ /*#__PURE__*/ _jsx(ElementButton, {
77
+ className: "link",
78
+ format: "link",
79
+ onClick: async ()=>{
80
+ if (isElementActive(editor, 'link')) {
81
+ unwrapLink(editor);
82
+ } else {
83
+ openModal(drawerSlug);
84
+ const isCollapsed = editor.selection && Range.isCollapsed(editor.selection);
85
+ if (!isCollapsed) {
86
+ const data = {
87
+ text: editor.selection ? Editor.string(editor, editor.selection) : ''
88
+ };
89
+ const state = await getFormState({
90
+ apiRoute: config.routes.api,
91
+ body: {
92
+ data,
93
+ operation: 'update',
94
+ schemaPath: `${schemaPath}.${linkFieldsSchemaPath}`
95
+ },
96
+ serverURL: config.serverURL
97
+ });
98
+ setInitialState(state);
99
+ }
100
+ }
101
+ },
102
+ tooltip: t('fields:addLink'),
103
+ children: /*#__PURE__*/ _jsx(LinkIcon, {})
104
+ }),
105
+ /*#__PURE__*/ _jsx(LinkDrawer, {
106
+ drawerSlug: drawerSlug,
107
+ fields: Array.isArray(fields) ? fields : [],
108
+ handleClose: ()=>{
109
+ closeModal(drawerSlug);
110
+ },
111
+ handleModalSubmit: (fields)=>{
112
+ insertLink(editor, fields);
113
+ closeModal(drawerSlug);
114
+ },
115
+ initialState: initialState
116
+ })
117
+ ]
118
+ });
117
119
  };
118
120
 
119
121
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/field/elements/link/Button/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormState } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { useDrawerSlug } from '@payloadcms/ui/elements/Drawer'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport React, { Fragment, useState } from 'react'\nimport { Editor, Range, Transforms } from 'slate'\nimport { ReactEditor, useSlate } from 'slate-react'\n\nimport { LinkIcon } from '../../../icons/Link/index.js'\nimport { useElementButton } from '../../../providers/ElementButtonProvider.js'\nimport { ElementButton } from '../../Button.js'\nimport { isElementActive } from '../../isActive.js'\nimport { LinkDrawer } from '../LinkDrawer/index.js'\nimport { linkFieldsSchemaPath } from '../shared.js'\nimport { unwrapLink } from '../utilities.js'\n\n/**\n * This function is called when a new link is created - not when an existing link is edited.\n */\nconst insertLink = (editor, fields) => {\n const isCollapsed = editor.selection && Range.isCollapsed(editor.selection)\n const data = reduceFieldsToValues(fields, true)\n\n const newLink = {\n type: 'link',\n children: [],\n doc: data.doc,\n fields: data.fields, // Any custom user-added fields are part of data.fields\n linkType: data.linkType,\n newTab: data.newTab,\n url: data.url,\n }\n\n if (isCollapsed || !editor.selection) {\n // If selection anchor and focus are the same,\n // Just inject a new node with children already set\n Transforms.insertNodes(editor, {\n ...newLink,\n children: [{ text: String(data.text) }],\n })\n } else if (editor.selection) {\n // Otherwise we need to wrap the selected node in a link,\n // Delete its old text,\n // Move the selection one position forward into the link,\n // And insert the text back into the new link\n Transforms.wrapNodes(editor, newLink, { split: true })\n Transforms.delete(editor, { at: editor.selection.focus.path, unit: 'word' })\n Transforms.move(editor, { distance: 1, unit: 'offset' })\n Transforms.insertText(editor, String(data.text), { at: editor.selection.focus.path })\n }\n\n ReactEditor.focus(editor)\n}\n\nexport const LinkButton: React.FC = () => {\n const { useModal } = facelessUIImport\n\n const { fieldProps } = useElementButton()\n const [initialState, setInitialState] = useState<FormState>({})\n\n const { t } = useTranslation()\n const editor = useSlate()\n const config = useConfig()\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('rich-text-link')\n const { schemaPath } = useFieldProps()\n\n const { richTextComponentMap } = fieldProps\n\n const fieldMap = richTextComponentMap.get(linkFieldsSchemaPath)\n\n return (\n <Fragment>\n <ElementButton\n className=\"link\"\n format=\"link\"\n onClick={async () => {\n if (isElementActive(editor, 'link')) {\n unwrapLink(editor)\n } else {\n openModal(drawerSlug)\n const isCollapsed = editor.selection && Range.isCollapsed(editor.selection)\n if (!isCollapsed) {\n const data = {\n text: editor.selection ? Editor.string(editor, editor.selection) : '',\n }\n const state = await getFormState({\n apiRoute: config.routes.api,\n body: {\n data,\n operation: 'update',\n schemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,\n },\n serverURL: config.serverURL,\n })\n setInitialState(state)\n }\n }\n }}\n tooltip={t('fields:addLink')}\n >\n <LinkIcon />\n </ElementButton>\n <LinkDrawer\n drawerSlug={drawerSlug}\n fieldMap={Array.isArray(fieldMap) ? fieldMap : []}\n handleClose={() => {\n closeModal(drawerSlug)\n }}\n handleModalSubmit={(fields) => {\n insertLink(editor, fields)\n closeModal(drawerSlug)\n }}\n initialState={initialState}\n />\n </Fragment>\n )\n}\n"],"names":["facelessUIImport","useDrawerSlug","useFieldProps","useConfig","useTranslation","getFormState","reduceFieldsToValues","React","Fragment","useState","Editor","Range","Transforms","ReactEditor","useSlate","LinkIcon","useElementButton","ElementButton","isElementActive","LinkDrawer","linkFieldsSchemaPath","unwrapLink","insertLink","editor","fields","isCollapsed","selection","data","newLink","type","children","doc","linkType","newTab","url","insertNodes","text","String","wrapNodes","split","delete","at","focus","path","unit","move","distance","insertText","LinkButton","useModal","fieldProps","initialState","setInitialState","t","config","closeModal","openModal","drawerSlug","schemaPath","richTextComponentMap","fieldMap","get","className","format","onClick","string","state","apiRoute","routes","api","body","operation","serverURL","tooltip","Array","isArray","handleClose","handleModalSubmit"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/field/elements/link/Button/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormState } from 'payload'\n\nimport { useConfig, useDrawerSlug, useFieldProps, useModal, useTranslation } from '@payloadcms/ui'\nimport { getFormState } from '@payloadcms/ui/shared'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\nimport { Editor, Range, Transforms } from 'slate'\nimport { ReactEditor, useSlate } from 'slate-react'\n\nimport { LinkIcon } from '../../../icons/Link/index.js'\nimport { useElementButton } from '../../../providers/ElementButtonProvider.js'\nimport { ElementButton } from '../../Button.js'\nimport { isElementActive } from '../../isActive.js'\nimport { LinkDrawer } from '../LinkDrawer/index.js'\nimport { linkFieldsSchemaPath } from '../shared.js'\nimport { unwrapLink } from '../utilities.js'\n\n/**\n * This function is called when a new link is created - not when an existing link is edited.\n */\nconst insertLink = (editor, fields) => {\n const isCollapsed = editor.selection && Range.isCollapsed(editor.selection)\n const data = reduceFieldsToValues(fields, true)\n\n const newLink = {\n type: 'link',\n children: [],\n doc: data.doc,\n fields: data.fields, // Any custom user-added fields are part of data.fields\n linkType: data.linkType,\n newTab: data.newTab,\n url: data.url,\n }\n\n if (isCollapsed || !editor.selection) {\n // If selection anchor and focus are the same,\n // Just inject a new node with children already set\n Transforms.insertNodes(editor, {\n ...newLink,\n children: [{ text: String(data.text) }],\n })\n } else if (editor.selection) {\n // Otherwise we need to wrap the selected node in a link,\n // Delete its old text,\n // Move the selection one position forward into the link,\n // And insert the text back into the new link\n Transforms.wrapNodes(editor, newLink, { split: true })\n Transforms.delete(editor, { at: editor.selection.focus.path, unit: 'word' })\n Transforms.move(editor, { distance: 1, unit: 'offset' })\n Transforms.insertText(editor, String(data.text), { at: editor.selection.focus.path })\n }\n\n ReactEditor.focus(editor)\n}\n\nexport const LinkButton: React.FC = () => {\n const { fieldProps } = useElementButton()\n const [initialState, setInitialState] = useState<FormState>({})\n\n const { t } = useTranslation()\n const editor = useSlate()\n const { config } = useConfig()\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('rich-text-link')\n const { schemaPath } = useFieldProps()\n\n const {\n field: { richTextComponentMap },\n } = fieldProps\n\n const fields = richTextComponentMap.get(linkFieldsSchemaPath)\n\n return (\n <Fragment>\n <ElementButton\n className=\"link\"\n format=\"link\"\n onClick={async () => {\n if (isElementActive(editor, 'link')) {\n unwrapLink(editor)\n } else {\n openModal(drawerSlug)\n const isCollapsed = editor.selection && Range.isCollapsed(editor.selection)\n\n if (!isCollapsed) {\n const data = {\n text: editor.selection ? Editor.string(editor, editor.selection) : '',\n }\n\n const state = await getFormState({\n apiRoute: config.routes.api,\n body: {\n data,\n operation: 'update',\n schemaPath: `${schemaPath}.${linkFieldsSchemaPath}`,\n },\n serverURL: config.serverURL,\n })\n\n setInitialState(state)\n }\n }\n }}\n tooltip={t('fields:addLink')}\n >\n <LinkIcon />\n </ElementButton>\n <LinkDrawer\n drawerSlug={drawerSlug}\n fields={Array.isArray(fields) ? fields : []}\n handleClose={() => {\n closeModal(drawerSlug)\n }}\n handleModalSubmit={(fields) => {\n insertLink(editor, fields)\n closeModal(drawerSlug)\n }}\n initialState={initialState}\n />\n </Fragment>\n )\n}\n"],"names":["useConfig","useDrawerSlug","useFieldProps","useModal","useTranslation","getFormState","reduceFieldsToValues","React","Fragment","useState","Editor","Range","Transforms","ReactEditor","useSlate","LinkIcon","useElementButton","ElementButton","isElementActive","LinkDrawer","linkFieldsSchemaPath","unwrapLink","insertLink","editor","fields","isCollapsed","selection","data","newLink","type","children","doc","linkType","newTab","url","insertNodes","text","String","wrapNodes","split","delete","at","focus","path","unit","move","distance","insertText","LinkButton","fieldProps","initialState","setInitialState","t","config","closeModal","openModal","drawerSlug","schemaPath","field","richTextComponentMap","get","className","format","onClick","string","state","apiRoute","routes","api","body","operation","serverURL","tooltip","Array","isArray","handleClose","handleModalSubmit"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import './index.scss';
3
- export declare const LinkElement: () => React.JSX.Element;
2
+ export declare const LinkElement: () => import("react/jsx-runtime").JSX.Element;
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/elements/link/Element/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAU/D,OAAO,cAAc,CAAA;AA+BrB,eAAO,MAAM,WAAW,yBAqKvB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/elements/link/Element/index.tsx"],"names":[],"mappings":"AA4BA,OAAO,cAAc,CAAA;AA+BrB,eAAO,MAAM,WAAW,+CAsKvB,CAAA"}