@payloadcms/richtext-slate 3.0.0-beta.7 → 3.0.0-beta.71

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 (308) 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 +6 -5
  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/field/RichText.d.ts +6 -8
  24. package/dist/field/RichText.d.ts.map +1 -1
  25. package/dist/field/RichText.js +180 -149
  26. package/dist/field/RichText.js.map +1 -1
  27. package/dist/field/createFeatureMap.d.ts.map +1 -1
  28. package/dist/field/createFeatureMap.js.map +1 -1
  29. package/dist/field/elements/Button.d.ts.map +1 -1
  30. package/dist/field/elements/Button.js +18 -8
  31. package/dist/field/elements/Button.js.map +1 -1
  32. package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -1
  33. package/dist/field/elements/EnabledRelationshipsCondition.js +1 -3
  34. package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -1
  35. package/dist/field/elements/ListButton.js +5 -3
  36. package/dist/field/elements/ListButton.js.map +1 -1
  37. package/dist/field/elements/areAllChildrenElements.js.map +1 -1
  38. package/dist/field/elements/blockquote/Blockquote.d.ts +1 -2
  39. package/dist/field/elements/blockquote/Blockquote.d.ts.map +1 -1
  40. package/dist/field/elements/blockquote/Blockquote.js +5 -3
  41. package/dist/field/elements/blockquote/Blockquote.js.map +1 -1
  42. package/dist/field/elements/blockquote/index.js +5 -3
  43. package/dist/field/elements/blockquote/index.js.map +1 -1
  44. package/dist/field/elements/getCommonBlock.d.ts.map +1 -1
  45. package/dist/field/elements/getCommonBlock.js.map +1 -1
  46. package/dist/field/elements/h1/Heading1.d.ts +1 -2
  47. package/dist/field/elements/h1/Heading1.d.ts.map +1 -1
  48. package/dist/field/elements/h1/Heading1.js +5 -1
  49. package/dist/field/elements/h1/Heading1.js.map +1 -1
  50. package/dist/field/elements/h1/index.js +5 -3
  51. package/dist/field/elements/h1/index.js.map +1 -1
  52. package/dist/field/elements/h2/Heading2.d.ts +1 -2
  53. package/dist/field/elements/h2/Heading2.d.ts.map +1 -1
  54. package/dist/field/elements/h2/Heading2.js +5 -1
  55. package/dist/field/elements/h2/Heading2.js.map +1 -1
  56. package/dist/field/elements/h2/index.js +5 -3
  57. package/dist/field/elements/h2/index.js.map +1 -1
  58. package/dist/field/elements/h3/Heading3.d.ts +1 -2
  59. package/dist/field/elements/h3/Heading3.d.ts.map +1 -1
  60. package/dist/field/elements/h3/Heading3.js +5 -1
  61. package/dist/field/elements/h3/Heading3.js.map +1 -1
  62. package/dist/field/elements/h3/index.js +5 -3
  63. package/dist/field/elements/h3/index.js.map +1 -1
  64. package/dist/field/elements/h4/Heading4.d.ts +1 -2
  65. package/dist/field/elements/h4/Heading4.d.ts.map +1 -1
  66. package/dist/field/elements/h4/Heading4.js +5 -1
  67. package/dist/field/elements/h4/Heading4.js.map +1 -1
  68. package/dist/field/elements/h4/index.js +5 -3
  69. package/dist/field/elements/h4/index.js.map +1 -1
  70. package/dist/field/elements/h5/Heading5.d.ts +1 -2
  71. package/dist/field/elements/h5/Heading5.d.ts.map +1 -1
  72. package/dist/field/elements/h5/Heading5.js +5 -1
  73. package/dist/field/elements/h5/Heading5.js.map +1 -1
  74. package/dist/field/elements/h5/index.js +5 -3
  75. package/dist/field/elements/h5/index.js.map +1 -1
  76. package/dist/field/elements/h6/Heading6.d.ts +1 -2
  77. package/dist/field/elements/h6/Heading6.d.ts.map +1 -1
  78. package/dist/field/elements/h6/Heading6.js +5 -1
  79. package/dist/field/elements/h6/Heading6.js.map +1 -1
  80. package/dist/field/elements/h6/index.js +5 -3
  81. package/dist/field/elements/h6/index.js.map +1 -1
  82. package/dist/field/elements/indent/Button.d.ts.map +1 -1
  83. package/dist/field/elements/indent/Button.js +21 -14
  84. package/dist/field/elements/indent/Button.js.map +1 -1
  85. package/dist/field/elements/indent/Element.js +5 -3
  86. package/dist/field/elements/indent/Element.js.map +1 -1
  87. package/dist/field/elements/indent/index.js.map +1 -1
  88. package/dist/field/elements/indent/shared.js.map +1 -1
  89. package/dist/field/elements/index.js.map +1 -1
  90. package/dist/field/elements/injectVoid.js.map +1 -1
  91. package/dist/field/elements/isActive.js.map +1 -1
  92. package/dist/field/elements/isBlockElement.d.ts +2 -2
  93. package/dist/field/elements/isBlockElement.d.ts.map +1 -1
  94. package/dist/field/elements/isBlockElement.js.map +1 -1
  95. package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -1
  96. package/dist/field/elements/isListActive.js.map +1 -1
  97. package/dist/field/elements/isWithinListItem.js.map +1 -1
  98. package/dist/field/elements/li/ListItem.d.ts.map +1 -1
  99. package/dist/field/elements/li/ListItem.js +6 -7
  100. package/dist/field/elements/li/ListItem.js.map +1 -1
  101. package/dist/field/elements/li/index.js.map +1 -1
  102. package/dist/field/elements/link/Button/index.d.ts.map +1 -1
  103. package/dist/field/elements/link/Button/index.js +49 -47
  104. package/dist/field/elements/link/Button/index.js.map +1 -1
  105. package/dist/field/elements/link/Element/index.d.ts +1 -2
  106. package/dist/field/elements/link/Element/index.d.ts.map +1 -1
  107. package/dist/field/elements/link/Element/index.js +104 -97
  108. package/dist/field/elements/link/Element/index.js.map +1 -1
  109. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts +2 -3
  110. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts.map +1 -1
  111. package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -1
  112. package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -1
  113. package/dist/field/elements/link/LinkDrawer/index.js +31 -33
  114. package/dist/field/elements/link/LinkDrawer/index.js.map +1 -1
  115. package/dist/field/elements/link/LinkDrawer/types.d.ts +1 -2
  116. package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
  117. package/dist/field/elements/link/LinkDrawer/types.js.map +1 -1
  118. package/dist/field/elements/link/WithLinks.js.map +1 -1
  119. package/dist/field/elements/link/index.js.map +1 -1
  120. package/dist/field/elements/link/shared.js.map +1 -1
  121. package/dist/field/elements/link/types.d.ts +2 -2
  122. package/dist/field/elements/link/types.d.ts.map +1 -1
  123. package/dist/field/elements/link/types.js.map +1 -1
  124. package/dist/field/elements/link/utilities.d.ts +2 -5
  125. package/dist/field/elements/link/utilities.d.ts.map +1 -1
  126. package/dist/field/elements/link/utilities.js +3 -4
  127. package/dist/field/elements/link/utilities.js.map +1 -1
  128. package/dist/field/elements/listTypes.js.map +1 -1
  129. package/dist/field/elements/ol/OrderedList.js +5 -3
  130. package/dist/field/elements/ol/OrderedList.js.map +1 -1
  131. package/dist/field/elements/ol/index.js +5 -3
  132. package/dist/field/elements/ol/index.js.map +1 -1
  133. package/dist/field/elements/relationship/Button/index.d.ts.map +1 -1
  134. package/dist/field/elements/relationship/Button/index.js +27 -14
  135. package/dist/field/elements/relationship/Button/index.js.map +1 -1
  136. package/dist/field/elements/relationship/Element/index.d.ts +3 -3
  137. package/dist/field/elements/relationship/Element/index.d.ts.map +1 -1
  138. package/dist/field/elements/relationship/Element/index.js +70 -50
  139. package/dist/field/elements/relationship/Element/index.js.map +1 -1
  140. package/dist/field/elements/relationship/index.js.map +1 -1
  141. package/dist/field/elements/relationship/plugin.js.map +1 -1
  142. package/dist/field/elements/relationship/shared.js.map +1 -1
  143. package/dist/field/elements/relationship/types.d.ts +2 -2
  144. package/dist/field/elements/relationship/types.d.ts.map +1 -1
  145. package/dist/field/elements/relationship/types.js.map +1 -1
  146. package/dist/field/elements/textAlign/index.js +20 -10
  147. package/dist/field/elements/textAlign/index.js.map +1 -1
  148. package/dist/field/elements/toggle.js.map +1 -1
  149. package/dist/field/elements/toggleList.js.map +1 -1
  150. package/dist/field/elements/types.d.ts +1 -0
  151. package/dist/field/elements/types.d.ts.map +1 -1
  152. package/dist/field/elements/types.js.map +1 -1
  153. package/dist/field/elements/ul/UnorderedList.js +5 -3
  154. package/dist/field/elements/ul/UnorderedList.js.map +1 -1
  155. package/dist/field/elements/ul/index.js +5 -3
  156. package/dist/field/elements/ul/index.js.map +1 -1
  157. package/dist/field/elements/unwrapList.d.ts.map +1 -1
  158. package/dist/field/elements/unwrapList.js.map +1 -1
  159. package/dist/field/elements/upload/Button/index.d.ts.map +1 -1
  160. package/dist/field/elements/upload/Button/index.js +27 -16
  161. package/dist/field/elements/upload/Button/index.js.map +1 -1
  162. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +3 -4
  163. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -1
  164. package/dist/field/elements/upload/Element/UploadDrawer/index.js +28 -30
  165. package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -1
  166. package/dist/field/elements/upload/Element/index.d.ts +3 -3
  167. package/dist/field/elements/upload/Element/index.d.ts.map +1 -1
  168. package/dist/field/elements/upload/Element/index.js +109 -80
  169. package/dist/field/elements/upload/Element/index.js.map +1 -1
  170. package/dist/field/elements/upload/index.js.map +1 -1
  171. package/dist/field/elements/upload/plugin.js.map +1 -1
  172. package/dist/field/elements/upload/shared.js.map +1 -1
  173. package/dist/field/elements/upload/types.d.ts +2 -2
  174. package/dist/field/elements/upload/types.d.ts.map +1 -1
  175. package/dist/field/elements/upload/types.js.map +1 -1
  176. package/dist/field/hotkeys.js.map +1 -1
  177. package/dist/field/icons/AlignCenter/index.js +7 -5
  178. package/dist/field/icons/AlignCenter/index.js.map +1 -1
  179. package/dist/field/icons/AlignLeft/index.js +7 -5
  180. package/dist/field/icons/AlignLeft/index.js.map +1 -1
  181. package/dist/field/icons/AlignRight/index.js +7 -5
  182. package/dist/field/icons/AlignRight/index.js.map +1 -1
  183. package/dist/field/icons/Blockquote/index.js +14 -9
  184. package/dist/field/icons/Blockquote/index.js.map +1 -1
  185. package/dist/field/icons/Bold/index.js +14 -9
  186. package/dist/field/icons/Bold/index.js.map +1 -1
  187. package/dist/field/icons/Code/index.js +8 -6
  188. package/dist/field/icons/Code/index.js.map +1 -1
  189. package/dist/field/icons/IndentLeft/index.js +31 -24
  190. package/dist/field/icons/IndentLeft/index.js.map +1 -1
  191. package/dist/field/icons/IndentRight/index.js +31 -24
  192. package/dist/field/icons/IndentRight/index.js.map +1 -1
  193. package/dist/field/icons/Italic/index.js +14 -9
  194. package/dist/field/icons/Italic/index.js.map +1 -1
  195. package/dist/field/icons/Link/index.js +14 -9
  196. package/dist/field/icons/Link/index.js.map +1 -1
  197. package/dist/field/icons/OrderedList/index.js +14 -9
  198. package/dist/field/icons/OrderedList/index.js.map +1 -1
  199. package/dist/field/icons/Relationship/index.js +24 -18
  200. package/dist/field/icons/Relationship/index.js.map +1 -1
  201. package/dist/field/icons/Strikethrough/index.js +14 -9
  202. package/dist/field/icons/Strikethrough/index.js.map +1 -1
  203. package/dist/field/icons/Underline/index.js +14 -9
  204. package/dist/field/icons/Underline/index.js.map +1 -1
  205. package/dist/field/icons/UnorderedList/index.js +14 -9
  206. package/dist/field/icons/UnorderedList/index.js.map +1 -1
  207. package/dist/field/icons/Upload/index.js +16 -11
  208. package/dist/field/icons/Upload/index.js.map +1 -1
  209. package/dist/field/icons/headings/H1/index.js +14 -9
  210. package/dist/field/icons/headings/H1/index.js.map +1 -1
  211. package/dist/field/icons/headings/H2/index.js +14 -9
  212. package/dist/field/icons/headings/H2/index.js.map +1 -1
  213. package/dist/field/icons/headings/H3/index.js +14 -9
  214. package/dist/field/icons/headings/H3/index.js.map +1 -1
  215. package/dist/field/icons/headings/H4/index.js +14 -9
  216. package/dist/field/icons/headings/H4/index.js.map +1 -1
  217. package/dist/field/icons/headings/H5/index.js +14 -9
  218. package/dist/field/icons/headings/H5/index.js.map +1 -1
  219. package/dist/field/icons/headings/H6/index.js +14 -9
  220. package/dist/field/icons/headings/H6/index.js.map +1 -1
  221. package/dist/field/index.d.ts +3 -3
  222. package/dist/field/index.d.ts.map +1 -1
  223. package/dist/field/index.js +18 -16
  224. package/dist/field/index.js.map +1 -1
  225. package/dist/field/index.scss +1 -0
  226. package/dist/field/leaves/Button.d.ts +1 -2
  227. package/dist/field/leaves/Button.d.ts.map +1 -1
  228. package/dist/field/leaves/Button.js +5 -3
  229. package/dist/field/leaves/Button.js.map +1 -1
  230. package/dist/field/leaves/bold/Bold/index.d.ts +1 -2
  231. package/dist/field/leaves/bold/Bold/index.d.ts.map +1 -1
  232. package/dist/field/leaves/bold/Bold/index.js +5 -1
  233. package/dist/field/leaves/bold/Bold/index.js.map +1 -1
  234. package/dist/field/leaves/bold/index.js +5 -3
  235. package/dist/field/leaves/bold/index.js.map +1 -1
  236. package/dist/field/leaves/code/Code/index.d.ts +1 -2
  237. package/dist/field/leaves/code/Code/index.d.ts.map +1 -1
  238. package/dist/field/leaves/code/Code/index.js +5 -1
  239. package/dist/field/leaves/code/Code/index.js.map +1 -1
  240. package/dist/field/leaves/code/index.js +5 -3
  241. package/dist/field/leaves/code/index.js.map +1 -1
  242. package/dist/field/leaves/index.js.map +1 -1
  243. package/dist/field/leaves/isActive.js.map +1 -1
  244. package/dist/field/leaves/italic/Italic/index.d.ts +1 -2
  245. package/dist/field/leaves/italic/Italic/index.d.ts.map +1 -1
  246. package/dist/field/leaves/italic/Italic/index.js +5 -1
  247. package/dist/field/leaves/italic/Italic/index.js.map +1 -1
  248. package/dist/field/leaves/italic/index.js +5 -3
  249. package/dist/field/leaves/italic/index.js.map +1 -1
  250. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts +1 -2
  251. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts.map +1 -1
  252. package/dist/field/leaves/strikethrough/Strikethrough/index.js +5 -1
  253. package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -1
  254. package/dist/field/leaves/strikethrough/index.js +5 -3
  255. package/dist/field/leaves/strikethrough/index.js.map +1 -1
  256. package/dist/field/leaves/toggle.js.map +1 -1
  257. package/dist/field/leaves/underline/Underline/index.d.ts +1 -2
  258. package/dist/field/leaves/underline/Underline/index.d.ts.map +1 -1
  259. package/dist/field/leaves/underline/Underline/index.js +5 -1
  260. package/dist/field/leaves/underline/Underline/index.js.map +1 -1
  261. package/dist/field/leaves/underline/index.js +5 -3
  262. package/dist/field/leaves/underline/index.js.map +1 -1
  263. package/dist/field/mergeCustomFunctions.js.map +1 -1
  264. package/dist/field/plugins/withEnterBreakOut.js.map +1 -1
  265. package/dist/field/plugins/withHTML.js.map +1 -1
  266. package/dist/field/providers/ElementButtonProvider.d.ts +6 -5
  267. package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -1
  268. package/dist/field/providers/ElementButtonProvider.js +5 -3
  269. package/dist/field/providers/ElementButtonProvider.js.map +1 -1
  270. package/dist/field/providers/ElementProvider.d.ts +5 -5
  271. package/dist/field/providers/ElementProvider.d.ts.map +1 -1
  272. package/dist/field/providers/ElementProvider.js +5 -3
  273. package/dist/field/providers/ElementProvider.js.map +1 -1
  274. package/dist/field/providers/LeafButtonProvider.d.ts +5 -5
  275. package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -1
  276. package/dist/field/providers/LeafButtonProvider.js +5 -3
  277. package/dist/field/providers/LeafButtonProvider.js.map +1 -1
  278. package/dist/field/providers/LeafProvider.d.ts +5 -5
  279. package/dist/field/providers/LeafProvider.d.ts.map +1 -1
  280. package/dist/field/providers/LeafProvider.js +5 -3
  281. package/dist/field/providers/LeafProvider.js.map +1 -1
  282. package/dist/field/types.d.ts +0 -1
  283. package/dist/field/types.d.ts.map +1 -1
  284. package/dist/field/types.js.map +1 -1
  285. package/dist/generateComponentMap.d.ts +2 -2
  286. package/dist/generateComponentMap.d.ts.map +1 -1
  287. package/dist/generateComponentMap.js +9 -21
  288. package/dist/generateComponentMap.js.map +1 -1
  289. package/dist/generateSchemaMap.d.ts +2 -2
  290. package/dist/generateSchemaMap.d.ts.map +1 -1
  291. package/dist/generateSchemaMap.js +3 -16
  292. package/dist/generateSchemaMap.js.map +1 -1
  293. package/dist/index.d.ts +3 -2
  294. package/dist/index.d.ts.map +1 -1
  295. package/dist/index.js +87 -31
  296. package/dist/index.js.map +1 -1
  297. package/dist/scss/app.scss +1 -1
  298. package/dist/scss/colors.scss +76 -76
  299. package/dist/scss/toasts.scss +111 -0
  300. package/dist/types.d.ts +1 -5
  301. package/dist/types.d.ts.map +1 -1
  302. package/dist/types.js.map +1 -1
  303. package/dist/utilities/useSlatePlugin.d.ts.map +1 -1
  304. package/dist/utilities/useSlatePlugin.js +1 -2
  305. package/dist/utilities/useSlatePlugin.js.map +1 -1
  306. package/package.json +32 -21
  307. package/dist/scss/toastify.scss +0 -58
  308. package/src/index.tsx +0 -82
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/h6/Heading6.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\n\nexport const Heading6 = () => {\n const { attributes, children } = useElement()\n\n return <h6 {...attributes}>{children}</h6>\n}\n"],"names":["React","useElement","Heading6","attributes","children","h6"],"rangeMappings":";;;;;;","mappings":"AAAA;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAE/D,OAAO,MAAMC,WAAW;IACtB,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBAAO,oBAACI,MAAOF,YAAaC;AAC9B,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/elements/h6/Heading6.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\n\nexport const Heading6 = () => {\n const { attributes, children } = useElement()\n\n return <h6 {...attributes}>{children}</h6>\n}\n"],"names":["React","useElement","Heading6","attributes","children","h6"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAE/D,OAAO,MAAMC,WAAW;IACtB,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBAAO,KAACI;QAAI,GAAGF,UAAU;kBAAGC;;AAC9B,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import React from 'react';
2
3
  import { H6Icon } from '../../icons/headings/H6/index.js';
3
4
  import { ElementButton } from '../Button.js';
@@ -5,9 +6,10 @@ import { Heading6 } from './Heading6.js';
5
6
  const name = 'h6';
6
7
  export const h6 = {
7
8
  name,
8
- Button: ()=>/*#__PURE__*/ React.createElement(ElementButton, {
9
- format: name
10
- }, /*#__PURE__*/ React.createElement(H6Icon, null)),
9
+ Button: ()=>/*#__PURE__*/ _jsx(ElementButton, {
10
+ format: name,
11
+ children: /*#__PURE__*/ _jsx(H6Icon, {})
12
+ }),
11
13
  Element: Heading6
12
14
  };
13
15
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/field/elements/h6/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomElement } from '../../../types.js'\n\nimport { H6Icon } from '../../icons/headings/H6/index.js'\nimport { ElementButton } from '../Button.js'\nimport { Heading6 } from './Heading6.js'\n\nconst name = 'h6'\n\nexport const h6: RichTextCustomElement = {\n name,\n Button: () => (\n <ElementButton format={name}>\n <H6Icon />\n </ElementButton>\n ),\n Element: Heading6,\n}\n"],"names":["React","H6Icon","ElementButton","Heading6","name","h6","Button","format","Element"],"rangeMappings":";;;;;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,MAAM,QAAQ,mCAAkC;AACzD,SAASC,aAAa,QAAQ,eAAc;AAC5C,SAASC,QAAQ,QAAQ,gBAAe;AAExC,MAAMC,OAAO;AAEb,OAAO,MAAMC,KAA4B;IACvCD;IACAE,QAAQ,kBACN,oBAACJ;YAAcK,QAAQH;yBACrB,oBAACH;IAGLO,SAASL;AACX,EAAC"}
1
+ {"version":3,"sources":["../../../../src/field/elements/h6/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport type { RichTextCustomElement } from '../../../types.js'\n\nimport { H6Icon } from '../../icons/headings/H6/index.js'\nimport { ElementButton } from '../Button.js'\nimport { Heading6 } from './Heading6.js'\n\nconst name = 'h6'\n\nexport const h6: RichTextCustomElement = {\n name,\n Button: () => (\n <ElementButton format={name}>\n <H6Icon />\n </ElementButton>\n ),\n Element: Heading6,\n}\n"],"names":["React","H6Icon","ElementButton","Heading6","name","h6","Button","format","Element"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAIzB,SAASC,MAAM,QAAQ,mCAAkC;AACzD,SAASC,aAAa,QAAQ,eAAc;AAC5C,SAASC,QAAQ,QAAQ,gBAAe;AAExC,MAAMC,OAAO;AAEb,OAAO,MAAMC,KAA4B;IACvCD;IACAE,QAAQ,kBACN,KAACJ;YAAcK,QAAQH;sBACrB,cAAA,KAACH;;IAGLO,SAASL;AACX,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAmMhC,CAAA"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/indent/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAgB1C,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAmMhC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import React from 'react';
3
- import { useCallback } from 'react';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useCallback } from 'react';
4
4
  import { Editor, Element, Text, Transforms } from 'slate';
5
5
  import { ReactEditor, useSlate } from 'slate-react';
6
6
  import { IndentLeft } from '../../icons/IndentLeft/index.js';
@@ -160,18 +160,25 @@ export const IndentButton = ()=>{
160
160
  editor
161
161
  ]);
162
162
  const canDeIndent = isElementActive(editor, 'li') || isElementActive(editor, indentType);
163
- return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("button", {
164
- className: [
165
- baseClass,
166
- !canDeIndent && `${baseClass}--disabled`
167
- ].filter(Boolean).join(' '),
168
- onClick: canDeIndent ? (e)=>handleIndent(e, 'left') : undefined,
169
- type: "button"
170
- }, /*#__PURE__*/ React.createElement(IndentLeft, null)), /*#__PURE__*/ React.createElement("button", {
171
- className: baseClass,
172
- onClick: (e)=>handleIndent(e, 'right'),
173
- type: "button"
174
- }, /*#__PURE__*/ React.createElement(IndentRight, null)));
163
+ return /*#__PURE__*/ _jsxs(React.Fragment, {
164
+ children: [
165
+ /*#__PURE__*/ _jsx("button", {
166
+ className: [
167
+ baseClass,
168
+ !canDeIndent && `${baseClass}--disabled`
169
+ ].filter(Boolean).join(' '),
170
+ onClick: canDeIndent ? (e)=>handleIndent(e, 'left') : undefined,
171
+ type: "button",
172
+ children: /*#__PURE__*/ _jsx(IndentLeft, {})
173
+ }),
174
+ /*#__PURE__*/ _jsx("button", {
175
+ className: baseClass,
176
+ onClick: (e)=>handleIndent(e, 'right'),
177
+ type: "button",
178
+ children: /*#__PURE__*/ _jsx(IndentRight, {})
179
+ })
180
+ ]
181
+ });
175
182
  };
176
183
 
177
184
  //# sourceMappingURL=Button.js.map
@@ -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,"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 { 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"],"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 +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,"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\nimport { ListItemElement } from './ListItem.js'\n\nexport const li: RichTextCustomElement = {\n name: 'li',\n Element: ListItemElement,\n}\n"],"names":["ListItemElement","li","name","Element"],"mappings":"AAEA,SAASA,eAAe,QAAQ,gBAAe;AAE/C,OAAO,MAAMC,KAA4B;IACvCC,MAAM;IACNC,SAASH;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,EA8D9B,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,7 +61,6 @@ 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();
@@ -75,45 +71,51 @@ export const LinkButton = ()=>{
75
71
  const { schemaPath } = useFieldProps();
76
72
  const { richTextComponentMap } = fieldProps;
77
73
  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
- }));
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
+ 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
+ })
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 { 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":["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","richTextComponentMap","fieldMap","get","className","format","onClick","string","state","apiRoute","routes","api","body","operation","serverURL","tooltip","Array","isArray","handleClose","handleModalSubmit"],"mappings":"AAAA;;AAIA,SAASA,SAAS,EAAEC,aAAa,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,iBAAgB;AAClG,SAASC,YAAY,QAAQ,wBAAuB;AACpD,SAASC,oBAAoB,QAAQ,iBAAgB;AACrD,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AACjD,SAASC,MAAM,EAAEC,KAAK,EAAEC,UAAU,QAAQ,QAAO;AACjD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,cAAa;AAEnD,SAASC,QAAQ,QAAQ,+BAA8B;AACvD,SAASC,gBAAgB,QAAQ,8CAA6C;AAC9E,SAASC,aAAa,QAAQ,kBAAiB;AAC/C,SAASC,eAAe,QAAQ,oBAAmB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,oBAAoB,QAAQ,eAAc;AACnD,SAASC,UAAU,QAAQ,kBAAiB;AAE5C;;CAEC,GACD,MAAMC,aAAa,CAACC,QAAQC;IAC1B,MAAMC,cAAcF,OAAOG,SAAS,IAAIf,MAAMc,WAAW,CAACF,OAAOG,SAAS;IAC1E,MAAMC,OAAOrB,qBAAqBkB,QAAQ;IAE1C,MAAMI,UAAU;QACdC,MAAM;QACNC,UAAU,EAAE;QACZC,KAAKJ,KAAKI,GAAG;QACbP,QAAQG,KAAKH,MAAM;QACnBQ,UAAUL,KAAKK,QAAQ;QACvBC,QAAQN,KAAKM,MAAM;QACnBC,KAAKP,KAAKO,GAAG;IACf;IAEA,IAAIT,eAAe,CAACF,OAAOG,SAAS,EAAE;QACpC,8CAA8C;QAC9C,mDAAmD;QACnDd,WAAWuB,WAAW,CAACZ,QAAQ;YAC7B,GAAGK,OAAO;YACVE,UAAU;gBAAC;oBAAEM,MAAMC,OAAOV,KAAKS,IAAI;gBAAE;aAAE;QACzC;IACF,OAAO,IAAIb,OAAOG,SAAS,EAAE;QAC3B,yDAAyD;QACzD,uBAAuB;QACvB,yDAAyD;QACzD,6CAA6C;QAC7Cd,WAAW0B,SAAS,CAACf,QAAQK,SAAS;YAAEW,OAAO;QAAK;QACpD3B,WAAW4B,MAAM,CAACjB,QAAQ;YAAEkB,IAAIlB,OAAOG,SAAS,CAACgB,KAAK,CAACC,IAAI;YAAEC,MAAM;QAAO;QAC1EhC,WAAWiC,IAAI,CAACtB,QAAQ;YAAEuB,UAAU;YAAGF,MAAM;QAAS;QACtDhC,WAAWmC,UAAU,CAACxB,QAAQc,OAAOV,KAAKS,IAAI,GAAG;YAAEK,IAAIlB,OAAOG,SAAS,CAACgB,KAAK,CAACC,IAAI;QAAC;IACrF;IAEA9B,YAAY6B,KAAK,CAACnB;AACpB;AAEA,OAAO,MAAMyB,aAAuB;IAClC,MAAM,EAAEC,UAAU,EAAE,GAAGjC;IACvB,MAAM,CAACkC,cAAcC,gBAAgB,GAAG1C,SAAoB,CAAC;IAE7D,MAAM,EAAE2C,CAAC,EAAE,GAAGhD;IACd,MAAMmB,SAAST;IACf,MAAMuC,SAASrD;IAEf,MAAM,EAAEsD,UAAU,EAAEC,SAAS,EAAE,GAAGpD;IAClC,MAAMqD,aAAavD,cAAc;IACjC,MAAM,EAAEwD,UAAU,EAAE,GAAGvD;IAEvB,MAAM,EAAEwD,oBAAoB,EAAE,GAAGT;IAEjC,MAAMU,WAAWD,qBAAqBE,GAAG,CAACxC;IAE1C,qBACE,MAACZ;;0BACC,KAACS;gBACC4C,WAAU;gBACVC,QAAO;gBACPC,SAAS;oBACP,IAAI7C,gBAAgBK,QAAQ,SAAS;wBACnCF,WAAWE;oBACb,OAAO;wBACLgC,UAAUC;wBACV,MAAM/B,cAAcF,OAAOG,SAAS,IAAIf,MAAMc,WAAW,CAACF,OAAOG,SAAS;wBAC1E,IAAI,CAACD,aAAa;4BAChB,MAAME,OAAO;gCACXS,MAAMb,OAAOG,SAAS,GAAGhB,OAAOsD,MAAM,CAACzC,QAAQA,OAAOG,SAAS,IAAI;4BACrE;4BACA,MAAMuC,QAAQ,MAAM5D,aAAa;gCAC/B6D,UAAUb,OAAOc,MAAM,CAACC,GAAG;gCAC3BC,MAAM;oCACJ1C;oCACA2C,WAAW;oCACXb,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAErC,qBAAqB,CAAC;gCACrD;gCACAmD,WAAWlB,OAAOkB,SAAS;4BAC7B;4BACApB,gBAAgBc;wBAClB;oBACF;gBACF;gBACAO,SAASpB,EAAE;0BAEX,cAAA,KAACrC;;0BAEH,KAACI;gBACCqC,YAAYA;gBACZG,UAAUc,MAAMC,OAAO,CAACf,YAAYA,WAAW,EAAE;gBACjDgB,aAAa;oBACXrB,WAAWE;gBACb;gBACAoB,mBAAmB,CAACpD;oBAClBF,WAAWC,QAAQC;oBACnB8B,WAAWE;gBACb;gBACAN,cAAcA;;;;AAItB,EAAC"}
@@ -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,+CAoKvB,CAAA"}