@ruya.sa/richtext-slate 3.71.3

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 (587) hide show
  1. package/LICENSE.md +22 -0
  2. package/README.md +26 -0
  3. package/dist/cell/rscEntry.d.ts +11 -0
  4. package/dist/cell/rscEntry.d.ts.map +1 -0
  5. package/dist/cell/rscEntry.js +54 -0
  6. package/dist/cell/rscEntry.js.map +1 -0
  7. package/dist/data/defaultValue.d.ts +6 -0
  8. package/dist/data/defaultValue.d.ts.map +1 -0
  9. package/dist/data/defaultValue.js +11 -0
  10. package/dist/data/defaultValue.js.map +1 -0
  11. package/dist/data/populate.d.ts +21 -0
  12. package/dist/data/populate.d.ts.map +1 -0
  13. package/dist/data/populate.js +24 -0
  14. package/dist/data/populate.js.map +1 -0
  15. package/dist/data/recurseNestedFields.d.ts +16 -0
  16. package/dist/data/recurseNestedFields.d.ts.map +1 -0
  17. package/dist/data/recurseNestedFields.js +187 -0
  18. package/dist/data/recurseNestedFields.js.map +1 -0
  19. package/dist/data/richTextRelationshipPromise.d.ts +19 -0
  20. package/dist/data/richTextRelationshipPromise.d.ts.map +1 -0
  21. package/dist/data/richTextRelationshipPromise.js +110 -0
  22. package/dist/data/richTextRelationshipPromise.js.map +1 -0
  23. package/dist/data/validation.d.ts +4 -0
  24. package/dist/data/validation.d.ts.map +1 -0
  25. package/dist/data/validation.js +14 -0
  26. package/dist/data/validation.js.map +1 -0
  27. package/dist/exports/client/index.d.ts +51 -0
  28. package/dist/exports/client/index.d.ts.map +1 -0
  29. package/dist/exports/client/index.js +53 -0
  30. package/dist/exports/client/index.js.map +1 -0
  31. package/dist/exports/server/rsc.d.ts +3 -0
  32. package/dist/exports/server/rsc.d.ts.map +1 -0
  33. package/dist/exports/server/rsc.js +4 -0
  34. package/dist/exports/server/rsc.js.map +1 -0
  35. package/dist/field/RichText.d.ts +16 -0
  36. package/dist/field/RichText.d.ts.map +1 -0
  37. package/dist/field/RichText.js +434 -0
  38. package/dist/field/RichText.js.map +1 -0
  39. package/dist/field/buttons.scss +17 -0
  40. package/dist/field/createFeatureMap.d.ts +4 -0
  41. package/dist/field/createFeatureMap.d.ts.map +1 -0
  42. package/dist/field/createFeatureMap.js +50 -0
  43. package/dist/field/createFeatureMap.js.map +1 -0
  44. package/dist/field/elements/Button.d.ts +6 -0
  45. package/dist/field/elements/Button.d.ts.map +1 -0
  46. package/dist/field/elements/Button.js +50 -0
  47. package/dist/field/elements/Button.js.map +1 -0
  48. package/dist/field/elements/EnabledRelationshipsCondition.d.ts +3 -0
  49. package/dist/field/elements/EnabledRelationshipsCondition.d.ts.map +1 -0
  50. package/dist/field/elements/EnabledRelationshipsCondition.js +34 -0
  51. package/dist/field/elements/EnabledRelationshipsCondition.js.map +1 -0
  52. package/dist/field/elements/ListButton.d.ts +6 -0
  53. package/dist/field/elements/ListButton.d.ts.map +1 -0
  54. package/dist/field/elements/ListButton.js +30 -0
  55. package/dist/field/elements/ListButton.js.map +1 -0
  56. package/dist/field/elements/areAllChildrenElements.d.ts +3 -0
  57. package/dist/field/elements/areAllChildrenElements.d.ts.map +1 -0
  58. package/dist/field/elements/areAllChildrenElements.js +6 -0
  59. package/dist/field/elements/areAllChildrenElements.js.map +1 -0
  60. package/dist/field/elements/blockquote/Button.d.ts +4 -0
  61. package/dist/field/elements/blockquote/Button.d.ts.map +1 -0
  62. package/dist/field/elements/blockquote/Button.js +11 -0
  63. package/dist/field/elements/blockquote/Button.js.map +1 -0
  64. package/dist/field/elements/blockquote/Element.d.ts +3 -0
  65. package/dist/field/elements/blockquote/Element.d.ts.map +1 -0
  66. package/dist/field/elements/blockquote/Element.js +15 -0
  67. package/dist/field/elements/blockquote/Element.js.map +1 -0
  68. package/dist/field/elements/blockquote/index.d.ts +3 -0
  69. package/dist/field/elements/blockquote/index.d.ts.map +1 -0
  70. package/dist/field/elements/blockquote/index.js +13 -0
  71. package/dist/field/elements/blockquote/index.js.map +1 -0
  72. package/dist/field/elements/blockquote/index.scss +11 -0
  73. package/dist/field/elements/getCommonBlock.d.ts +4 -0
  74. package/dist/field/elements/getCommonBlock.d.ts.map +1 -0
  75. package/dist/field/elements/getCommonBlock.js +20 -0
  76. package/dist/field/elements/getCommonBlock.js.map +1 -0
  77. package/dist/field/elements/h1/Button.d.ts +4 -0
  78. package/dist/field/elements/h1/Button.d.ts.map +1 -0
  79. package/dist/field/elements/h1/Button.js +11 -0
  80. package/dist/field/elements/h1/Button.js.map +1 -0
  81. package/dist/field/elements/h1/Heading1.d.ts +2 -0
  82. package/dist/field/elements/h1/Heading1.d.ts.map +1 -0
  83. package/dist/field/elements/h1/Heading1.js +13 -0
  84. package/dist/field/elements/h1/Heading1.js.map +1 -0
  85. package/dist/field/elements/h1/index.d.ts +3 -0
  86. package/dist/field/elements/h1/index.d.ts.map +1 -0
  87. package/dist/field/elements/h1/index.js +13 -0
  88. package/dist/field/elements/h1/index.js.map +1 -0
  89. package/dist/field/elements/h2/Button.d.ts +4 -0
  90. package/dist/field/elements/h2/Button.d.ts.map +1 -0
  91. package/dist/field/elements/h2/Button.js +11 -0
  92. package/dist/field/elements/h2/Button.js.map +1 -0
  93. package/dist/field/elements/h2/Heading2.d.ts +2 -0
  94. package/dist/field/elements/h2/Heading2.d.ts.map +1 -0
  95. package/dist/field/elements/h2/Heading2.js +13 -0
  96. package/dist/field/elements/h2/Heading2.js.map +1 -0
  97. package/dist/field/elements/h2/index.d.ts +3 -0
  98. package/dist/field/elements/h2/index.d.ts.map +1 -0
  99. package/dist/field/elements/h2/index.js +13 -0
  100. package/dist/field/elements/h2/index.js.map +1 -0
  101. package/dist/field/elements/h3/Button.d.ts +4 -0
  102. package/dist/field/elements/h3/Button.d.ts.map +1 -0
  103. package/dist/field/elements/h3/Button.js +11 -0
  104. package/dist/field/elements/h3/Button.js.map +1 -0
  105. package/dist/field/elements/h3/Heading3.d.ts +2 -0
  106. package/dist/field/elements/h3/Heading3.d.ts.map +1 -0
  107. package/dist/field/elements/h3/Heading3.js +13 -0
  108. package/dist/field/elements/h3/Heading3.js.map +1 -0
  109. package/dist/field/elements/h3/index.d.ts +3 -0
  110. package/dist/field/elements/h3/index.d.ts.map +1 -0
  111. package/dist/field/elements/h3/index.js +13 -0
  112. package/dist/field/elements/h3/index.js.map +1 -0
  113. package/dist/field/elements/h4/Button.d.ts +4 -0
  114. package/dist/field/elements/h4/Button.d.ts.map +1 -0
  115. package/dist/field/elements/h4/Button.js +11 -0
  116. package/dist/field/elements/h4/Button.js.map +1 -0
  117. package/dist/field/elements/h4/Heading4.d.ts +2 -0
  118. package/dist/field/elements/h4/Heading4.d.ts.map +1 -0
  119. package/dist/field/elements/h4/Heading4.js +13 -0
  120. package/dist/field/elements/h4/Heading4.js.map +1 -0
  121. package/dist/field/elements/h4/index.d.ts +3 -0
  122. package/dist/field/elements/h4/index.d.ts.map +1 -0
  123. package/dist/field/elements/h4/index.js +13 -0
  124. package/dist/field/elements/h4/index.js.map +1 -0
  125. package/dist/field/elements/h5/Button.d.ts +4 -0
  126. package/dist/field/elements/h5/Button.d.ts.map +1 -0
  127. package/dist/field/elements/h5/Button.js +11 -0
  128. package/dist/field/elements/h5/Button.js.map +1 -0
  129. package/dist/field/elements/h5/Heading5.d.ts +2 -0
  130. package/dist/field/elements/h5/Heading5.d.ts.map +1 -0
  131. package/dist/field/elements/h5/Heading5.js +13 -0
  132. package/dist/field/elements/h5/Heading5.js.map +1 -0
  133. package/dist/field/elements/h5/index.d.ts +3 -0
  134. package/dist/field/elements/h5/index.d.ts.map +1 -0
  135. package/dist/field/elements/h5/index.js +13 -0
  136. package/dist/field/elements/h5/index.js.map +1 -0
  137. package/dist/field/elements/h6/Button.d.ts +4 -0
  138. package/dist/field/elements/h6/Button.d.ts.map +1 -0
  139. package/dist/field/elements/h6/Button.js +11 -0
  140. package/dist/field/elements/h6/Button.js.map +1 -0
  141. package/dist/field/elements/h6/Heading6.d.ts +2 -0
  142. package/dist/field/elements/h6/Heading6.d.ts.map +1 -0
  143. package/dist/field/elements/h6/Heading6.js +13 -0
  144. package/dist/field/elements/h6/Heading6.js.map +1 -0
  145. package/dist/field/elements/h6/index.d.ts +3 -0
  146. package/dist/field/elements/h6/index.d.ts.map +1 -0
  147. package/dist/field/elements/h6/index.js +13 -0
  148. package/dist/field/elements/h6/index.js.map +1 -0
  149. package/dist/field/elements/indent/Button.d.ts +3 -0
  150. package/dist/field/elements/indent/Button.d.ts.map +1 -0
  151. package/dist/field/elements/indent/Button.js +184 -0
  152. package/dist/field/elements/indent/Button.js.map +1 -0
  153. package/dist/field/elements/indent/Element.d.ts +3 -0
  154. package/dist/field/elements/indent/Element.d.ts.map +1 -0
  155. package/dist/field/elements/indent/Element.js +16 -0
  156. package/dist/field/elements/indent/Element.js.map +1 -0
  157. package/dist/field/elements/indent/index.d.ts +3 -0
  158. package/dist/field/elements/indent/index.d.ts.map +1 -0
  159. package/dist/field/elements/indent/index.js +8 -0
  160. package/dist/field/elements/indent/index.js.map +1 -0
  161. package/dist/field/elements/indent/shared.d.ts +2 -0
  162. package/dist/field/elements/indent/shared.d.ts.map +1 -0
  163. package/dist/field/elements/indent/shared.js +3 -0
  164. package/dist/field/elements/indent/shared.js.map +1 -0
  165. package/dist/field/elements/index.d.ts +3 -0
  166. package/dist/field/elements/index.d.ts.map +1 -0
  167. package/dist/field/elements/index.js +34 -0
  168. package/dist/field/elements/index.js.map +1 -0
  169. package/dist/field/elements/injectVoid.d.ts +4 -0
  170. package/dist/field/elements/injectVoid.d.ts.map +1 -0
  171. package/dist/field/elements/injectVoid.js +36 -0
  172. package/dist/field/elements/injectVoid.js.map +1 -0
  173. package/dist/field/elements/isActive.d.ts +3 -0
  174. package/dist/field/elements/isActive.d.ts.map +1 -0
  175. package/dist/field/elements/isActive.js +13 -0
  176. package/dist/field/elements/isActive.js.map +1 -0
  177. package/dist/field/elements/isBlockElement.d.ts +9 -0
  178. package/dist/field/elements/isBlockElement.d.ts.map +1 -0
  179. package/dist/field/elements/isBlockElement.js +23 -0
  180. package/dist/field/elements/isBlockElement.js.map +1 -0
  181. package/dist/field/elements/isLastSelectedElementEmpty.d.ts +3 -0
  182. package/dist/field/elements/isLastSelectedElementEmpty.d.ts.map +1 -0
  183. package/dist/field/elements/isLastSelectedElementEmpty.js +15 -0
  184. package/dist/field/elements/isLastSelectedElementEmpty.js.map +1 -0
  185. package/dist/field/elements/isListActive.d.ts +3 -0
  186. package/dist/field/elements/isListActive.d.ts.map +1 -0
  187. package/dist/field/elements/isListActive.js +21 -0
  188. package/dist/field/elements/isListActive.js.map +1 -0
  189. package/dist/field/elements/isWithinListItem.d.ts +3 -0
  190. package/dist/field/elements/isWithinListItem.d.ts.map +1 -0
  191. package/dist/field/elements/isWithinListItem.js +15 -0
  192. package/dist/field/elements/isWithinListItem.js.map +1 -0
  193. package/dist/field/elements/li/ListItem.d.ts +3 -0
  194. package/dist/field/elements/li/ListItem.d.ts.map +1 -0
  195. package/dist/field/elements/li/ListItem.js +20 -0
  196. package/dist/field/elements/li/ListItem.js.map +1 -0
  197. package/dist/field/elements/li/index.d.ts +3 -0
  198. package/dist/field/elements/li/index.d.ts.map +1 -0
  199. package/dist/field/elements/li/index.js +6 -0
  200. package/dist/field/elements/li/index.js.map +1 -0
  201. package/dist/field/elements/link/Button/index.d.ts +5 -0
  202. package/dist/field/elements/link/Button/index.d.ts.map +1 -0
  203. package/dist/field/elements/link/Button/index.js +127 -0
  204. package/dist/field/elements/link/Button/index.js.map +1 -0
  205. package/dist/field/elements/link/Element/index.d.ts +3 -0
  206. package/dist/field/elements/link/Element/index.d.ts.map +1 -0
  207. package/dist/field/elements/link/Element/index.js +218 -0
  208. package/dist/field/elements/link/Element/index.js.map +1 -0
  209. package/dist/field/elements/link/Element/index.scss +90 -0
  210. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts +3 -0
  211. package/dist/field/elements/link/LinkDrawer/baseFields.d.ts.map +1 -0
  212. package/dist/field/elements/link/LinkDrawer/baseFields.js +70 -0
  213. package/dist/field/elements/link/LinkDrawer/baseFields.js.map +1 -0
  214. package/dist/field/elements/link/LinkDrawer/index.d.ts +5 -0
  215. package/dist/field/elements/link/LinkDrawer/index.d.ts.map +1 -0
  216. package/dist/field/elements/link/LinkDrawer/index.js +89 -0
  217. package/dist/field/elements/link/LinkDrawer/index.js.map +1 -0
  218. package/dist/field/elements/link/LinkDrawer/index.scss +52 -0
  219. package/dist/field/elements/link/LinkDrawer/types.d.ts +10 -0
  220. package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -0
  221. package/dist/field/elements/link/LinkDrawer/types.js +3 -0
  222. package/dist/field/elements/link/LinkDrawer/types.js.map +1 -0
  223. package/dist/field/elements/link/WithLinks.d.ts +3 -0
  224. package/dist/field/elements/link/WithLinks.d.ts.map +1 -0
  225. package/dist/field/elements/link/WithLinks.js +19 -0
  226. package/dist/field/elements/link/WithLinks.js.map +1 -0
  227. package/dist/field/elements/link/index.d.ts +3 -0
  228. package/dist/field/elements/link/index.d.ts.map +1 -0
  229. package/dist/field/elements/link/index.js +10 -0
  230. package/dist/field/elements/link/index.js.map +1 -0
  231. package/dist/field/elements/link/shared.d.ts +3 -0
  232. package/dist/field/elements/link/shared.d.ts.map +1 -0
  233. package/dist/field/elements/link/shared.js +4 -0
  234. package/dist/field/elements/link/shared.js.map +1 -0
  235. package/dist/field/elements/link/types.d.ts +9 -0
  236. package/dist/field/elements/link/types.d.ts.map +1 -0
  237. package/dist/field/elements/link/types.js +3 -0
  238. package/dist/field/elements/link/types.js.map +1 -0
  239. package/dist/field/elements/link/utilities.d.ts +12 -0
  240. package/dist/field/elements/link/utilities.d.ts.map +1 -0
  241. package/dist/field/elements/link/utilities.js +72 -0
  242. package/dist/field/elements/link/utilities.js.map +1 -0
  243. package/dist/field/elements/listTypes.d.ts +2 -0
  244. package/dist/field/elements/listTypes.d.ts.map +1 -0
  245. package/dist/field/elements/listTypes.js +6 -0
  246. package/dist/field/elements/listTypes.js.map +1 -0
  247. package/dist/field/elements/ol/Button.d.ts +4 -0
  248. package/dist/field/elements/ol/Button.d.ts.map +1 -0
  249. package/dist/field/elements/ol/Button.js +11 -0
  250. package/dist/field/elements/ol/Button.js.map +1 -0
  251. package/dist/field/elements/ol/OrderedList.d.ts +4 -0
  252. package/dist/field/elements/ol/OrderedList.d.ts.map +1 -0
  253. package/dist/field/elements/ol/OrderedList.js +15 -0
  254. package/dist/field/elements/ol/OrderedList.js.map +1 -0
  255. package/dist/field/elements/ol/index.d.ts +3 -0
  256. package/dist/field/elements/ol/index.d.ts.map +1 -0
  257. package/dist/field/elements/ol/index.js +13 -0
  258. package/dist/field/elements/ol/index.js.map +1 -0
  259. package/dist/field/elements/ol/index.scss +9 -0
  260. package/dist/field/elements/relationship/Button/index.d.ts +9 -0
  261. package/dist/field/elements/relationship/Button/index.d.ts.map +1 -0
  262. package/dist/field/elements/relationship/Button/index.js +76 -0
  263. package/dist/field/elements/relationship/Button/index.js.map +1 -0
  264. package/dist/field/elements/relationship/Button/index.scss +9 -0
  265. package/dist/field/elements/relationship/Element/index.d.ts +4 -0
  266. package/dist/field/elements/relationship/Element/index.d.ts.map +1 -0
  267. package/dist/field/elements/relationship/Element/index.js +192 -0
  268. package/dist/field/elements/relationship/Element/index.js.map +1 -0
  269. package/dist/field/elements/relationship/Element/index.scss +95 -0
  270. package/dist/field/elements/relationship/index.d.ts +3 -0
  271. package/dist/field/elements/relationship/index.d.ts.map +1 -0
  272. package/dist/field/elements/relationship/index.js +11 -0
  273. package/dist/field/elements/relationship/index.js.map +1 -0
  274. package/dist/field/elements/relationship/plugin.d.ts +3 -0
  275. package/dist/field/elements/relationship/plugin.d.ts.map +1 -0
  276. package/dist/field/elements/relationship/plugin.js +14 -0
  277. package/dist/field/elements/relationship/plugin.js.map +1 -0
  278. package/dist/field/elements/relationship/shared.d.ts +2 -0
  279. package/dist/field/elements/relationship/shared.d.ts.map +1 -0
  280. package/dist/field/elements/relationship/shared.js +3 -0
  281. package/dist/field/elements/relationship/shared.js.map +1 -0
  282. package/dist/field/elements/relationship/types.d.ts +8 -0
  283. package/dist/field/elements/relationship/types.d.ts.map +1 -0
  284. package/dist/field/elements/relationship/types.js +3 -0
  285. package/dist/field/elements/relationship/types.js.map +1 -0
  286. package/dist/field/elements/textAlign/Button.d.ts +2 -0
  287. package/dist/field/elements/textAlign/Button.d.ts.map +1 -0
  288. package/dist/field/elements/textAlign/Button.js +28 -0
  289. package/dist/field/elements/textAlign/Button.js.map +1 -0
  290. package/dist/field/elements/textAlign/index.d.ts +3 -0
  291. package/dist/field/elements/textAlign/index.d.ts.map +1 -0
  292. package/dist/field/elements/textAlign/index.js +7 -0
  293. package/dist/field/elements/textAlign/index.js.map +1 -0
  294. package/dist/field/elements/toggle.d.ts +3 -0
  295. package/dist/field/elements/toggle.d.ts.map +1 -0
  296. package/dist/field/elements/toggle.js +32 -0
  297. package/dist/field/elements/toggle.js.map +1 -0
  298. package/dist/field/elements/toggleList.d.ts +3 -0
  299. package/dist/field/elements/toggleList.d.ts.map +1 -0
  300. package/dist/field/elements/toggleList.js +82 -0
  301. package/dist/field/elements/toggleList.js.map +1 -0
  302. package/dist/field/elements/types.d.ts +12 -0
  303. package/dist/field/elements/types.d.ts.map +1 -0
  304. package/dist/field/elements/types.js +3 -0
  305. package/dist/field/elements/types.js.map +1 -0
  306. package/dist/field/elements/ul/Button.d.ts +4 -0
  307. package/dist/field/elements/ul/Button.d.ts.map +1 -0
  308. package/dist/field/elements/ul/Button.js +11 -0
  309. package/dist/field/elements/ul/Button.js.map +1 -0
  310. package/dist/field/elements/ul/UnorderedList.d.ts +4 -0
  311. package/dist/field/elements/ul/UnorderedList.d.ts.map +1 -0
  312. package/dist/field/elements/ul/UnorderedList.js +15 -0
  313. package/dist/field/elements/ul/UnorderedList.js.map +1 -0
  314. package/dist/field/elements/ul/index.d.ts +3 -0
  315. package/dist/field/elements/ul/index.d.ts.map +1 -0
  316. package/dist/field/elements/ul/index.js +13 -0
  317. package/dist/field/elements/ul/index.js.map +1 -0
  318. package/dist/field/elements/ul/index.scss +9 -0
  319. package/dist/field/elements/unwrapList.d.ts +4 -0
  320. package/dist/field/elements/unwrapList.d.ts.map +1 -0
  321. package/dist/field/elements/unwrapList.js +34 -0
  322. package/dist/field/elements/unwrapList.js.map +1 -0
  323. package/dist/field/elements/upload/Button/index.d.ts +9 -0
  324. package/dist/field/elements/upload/Button/index.d.ts.map +1 -0
  325. package/dist/field/elements/upload/Button/index.js +76 -0
  326. package/dist/field/elements/upload/Button/index.js.map +1 -0
  327. package/dist/field/elements/upload/Button/index.scss +9 -0
  328. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts +12 -0
  329. package/dist/field/elements/upload/Element/UploadDrawer/index.d.ts.map +1 -0
  330. package/dist/field/elements/upload/Element/UploadDrawer/index.js +127 -0
  331. package/dist/field/elements/upload/Element/UploadDrawer/index.js.map +1 -0
  332. package/dist/field/elements/upload/Element/index.d.ts +4 -0
  333. package/dist/field/elements/upload/Element/index.d.ts.map +1 -0
  334. package/dist/field/elements/upload/Element/index.js +230 -0
  335. package/dist/field/elements/upload/Element/index.js.map +1 -0
  336. package/dist/field/elements/upload/Element/index.scss +149 -0
  337. package/dist/field/elements/upload/index.d.ts +3 -0
  338. package/dist/field/elements/upload/index.d.ts.map +1 -0
  339. package/dist/field/elements/upload/index.js +11 -0
  340. package/dist/field/elements/upload/index.js.map +1 -0
  341. package/dist/field/elements/upload/plugin.d.ts +3 -0
  342. package/dist/field/elements/upload/plugin.d.ts.map +1 -0
  343. package/dist/field/elements/upload/plugin.js +14 -0
  344. package/dist/field/elements/upload/plugin.js.map +1 -0
  345. package/dist/field/elements/upload/shared.d.ts +3 -0
  346. package/dist/field/elements/upload/shared.d.ts.map +1 -0
  347. package/dist/field/elements/upload/shared.js +4 -0
  348. package/dist/field/elements/upload/shared.js.map +1 -0
  349. package/dist/field/elements/upload/types.d.ts +9 -0
  350. package/dist/field/elements/upload/types.d.ts.map +1 -0
  351. package/dist/field/elements/upload/types.js +3 -0
  352. package/dist/field/elements/upload/types.js.map +1 -0
  353. package/dist/field/hotkeys.d.ts +7 -0
  354. package/dist/field/hotkeys.d.ts.map +1 -0
  355. package/dist/field/hotkeys.js +8 -0
  356. package/dist/field/hotkeys.js.map +1 -0
  357. package/dist/field/icons/AlignCenter/index.d.ts +3 -0
  358. package/dist/field/icons/AlignCenter/index.d.ts.map +1 -0
  359. package/dist/field/icons/AlignCenter/index.js +13 -0
  360. package/dist/field/icons/AlignCenter/index.js.map +1 -0
  361. package/dist/field/icons/AlignLeft/index.d.ts +3 -0
  362. package/dist/field/icons/AlignLeft/index.d.ts.map +1 -0
  363. package/dist/field/icons/AlignLeft/index.js +13 -0
  364. package/dist/field/icons/AlignLeft/index.js.map +1 -0
  365. package/dist/field/icons/AlignRight/index.d.ts +3 -0
  366. package/dist/field/icons/AlignRight/index.d.ts.map +1 -0
  367. package/dist/field/icons/AlignRight/index.js +13 -0
  368. package/dist/field/icons/AlignRight/index.js.map +1 -0
  369. package/dist/field/icons/Blockquote/index.d.ts +3 -0
  370. package/dist/field/icons/Blockquote/index.d.ts.map +1 -0
  371. package/dist/field/icons/Blockquote/index.js +22 -0
  372. package/dist/field/icons/Blockquote/index.js.map +1 -0
  373. package/dist/field/icons/Bold/index.d.ts +3 -0
  374. package/dist/field/icons/Bold/index.d.ts.map +1 -0
  375. package/dist/field/icons/Bold/index.js +22 -0
  376. package/dist/field/icons/Bold/index.js.map +1 -0
  377. package/dist/field/icons/Code/index.d.ts +3 -0
  378. package/dist/field/icons/Code/index.d.ts.map +1 -0
  379. package/dist/field/icons/Code/index.js +16 -0
  380. package/dist/field/icons/Code/index.js.map +1 -0
  381. package/dist/field/icons/IndentLeft/index.d.ts +4 -0
  382. package/dist/field/icons/IndentLeft/index.d.ts.map +1 -0
  383. package/dist/field/icons/IndentLeft/index.js +37 -0
  384. package/dist/field/icons/IndentLeft/index.js.map +1 -0
  385. package/dist/field/icons/IndentLeft/index.scss +18 -0
  386. package/dist/field/icons/IndentRight/index.d.ts +4 -0
  387. package/dist/field/icons/IndentRight/index.d.ts.map +1 -0
  388. package/dist/field/icons/IndentRight/index.js +37 -0
  389. package/dist/field/icons/IndentRight/index.js.map +1 -0
  390. package/dist/field/icons/IndentRight/index.scss +18 -0
  391. package/dist/field/icons/Italic/index.d.ts +3 -0
  392. package/dist/field/icons/Italic/index.d.ts.map +1 -0
  393. package/dist/field/icons/Italic/index.js +22 -0
  394. package/dist/field/icons/Italic/index.js.map +1 -0
  395. package/dist/field/icons/Link/index.d.ts +4 -0
  396. package/dist/field/icons/Link/index.d.ts.map +1 -0
  397. package/dist/field/icons/Link/index.js +23 -0
  398. package/dist/field/icons/Link/index.js.map +1 -0
  399. package/dist/field/icons/Link/index.scss +13 -0
  400. package/dist/field/icons/OrderedList/index.d.ts +3 -0
  401. package/dist/field/icons/OrderedList/index.d.ts.map +1 -0
  402. package/dist/field/icons/OrderedList/index.js +22 -0
  403. package/dist/field/icons/OrderedList/index.js.map +1 -0
  404. package/dist/field/icons/Relationship/index.d.ts +4 -0
  405. package/dist/field/icons/Relationship/index.d.ts.map +1 -0
  406. package/dist/field/icons/Relationship/index.js +30 -0
  407. package/dist/field/icons/Relationship/index.js.map +1 -0
  408. package/dist/field/icons/Relationship/index.scss +14 -0
  409. package/dist/field/icons/Strikethrough/index.d.ts +3 -0
  410. package/dist/field/icons/Strikethrough/index.d.ts.map +1 -0
  411. package/dist/field/icons/Strikethrough/index.js +22 -0
  412. package/dist/field/icons/Strikethrough/index.js.map +1 -0
  413. package/dist/field/icons/Underline/index.d.ts +3 -0
  414. package/dist/field/icons/Underline/index.d.ts.map +1 -0
  415. package/dist/field/icons/Underline/index.js +22 -0
  416. package/dist/field/icons/Underline/index.js.map +1 -0
  417. package/dist/field/icons/UnorderedList/index.d.ts +3 -0
  418. package/dist/field/icons/UnorderedList/index.d.ts.map +1 -0
  419. package/dist/field/icons/UnorderedList/index.js +22 -0
  420. package/dist/field/icons/UnorderedList/index.js.map +1 -0
  421. package/dist/field/icons/Upload/index.d.ts +4 -0
  422. package/dist/field/icons/Upload/index.d.ts.map +1 -0
  423. package/dist/field/icons/Upload/index.js +22 -0
  424. package/dist/field/icons/Upload/index.js.map +1 -0
  425. package/dist/field/icons/Upload/index.scss +13 -0
  426. package/dist/field/icons/headings/H1/index.d.ts +3 -0
  427. package/dist/field/icons/headings/H1/index.d.ts.map +1 -0
  428. package/dist/field/icons/headings/H1/index.js +22 -0
  429. package/dist/field/icons/headings/H1/index.js.map +1 -0
  430. package/dist/field/icons/headings/H2/index.d.ts +3 -0
  431. package/dist/field/icons/headings/H2/index.d.ts.map +1 -0
  432. package/dist/field/icons/headings/H2/index.js +22 -0
  433. package/dist/field/icons/headings/H2/index.js.map +1 -0
  434. package/dist/field/icons/headings/H3/index.d.ts +3 -0
  435. package/dist/field/icons/headings/H3/index.d.ts.map +1 -0
  436. package/dist/field/icons/headings/H3/index.js +22 -0
  437. package/dist/field/icons/headings/H3/index.js.map +1 -0
  438. package/dist/field/icons/headings/H4/index.d.ts +3 -0
  439. package/dist/field/icons/headings/H4/index.d.ts.map +1 -0
  440. package/dist/field/icons/headings/H4/index.js +22 -0
  441. package/dist/field/icons/headings/H4/index.js.map +1 -0
  442. package/dist/field/icons/headings/H5/index.d.ts +3 -0
  443. package/dist/field/icons/headings/H5/index.d.ts.map +1 -0
  444. package/dist/field/icons/headings/H5/index.js +22 -0
  445. package/dist/field/icons/headings/H5/index.js.map +1 -0
  446. package/dist/field/icons/headings/H6/index.d.ts +3 -0
  447. package/dist/field/icons/headings/H6/index.d.ts.map +1 -0
  448. package/dist/field/icons/headings/H6/index.js +22 -0
  449. package/dist/field/icons/headings/H6/index.js.map +1 -0
  450. package/dist/field/index.d.ts +4 -0
  451. package/dist/field/index.d.ts.map +1 -0
  452. package/dist/field/index.js +63 -0
  453. package/dist/field/index.js.map +1 -0
  454. package/dist/field/index.scss +215 -0
  455. package/dist/field/leaves/Button.d.ts +6 -0
  456. package/dist/field/leaves/Button.d.ts.map +1 -0
  457. package/dist/field/leaves/Button.js +25 -0
  458. package/dist/field/leaves/Button.js.map +1 -0
  459. package/dist/field/leaves/bold/Bold/index.d.ts +2 -0
  460. package/dist/field/leaves/bold/Bold/index.d.ts.map +1 -0
  461. package/dist/field/leaves/bold/Bold/index.js +13 -0
  462. package/dist/field/leaves/bold/Bold/index.js.map +1 -0
  463. package/dist/field/leaves/bold/LeafButton.d.ts +2 -0
  464. package/dist/field/leaves/bold/LeafButton.d.ts.map +1 -0
  465. package/dist/field/leaves/bold/LeafButton.js +11 -0
  466. package/dist/field/leaves/bold/LeafButton.js.map +1 -0
  467. package/dist/field/leaves/bold/index.d.ts +3 -0
  468. package/dist/field/leaves/bold/index.d.ts.map +1 -0
  469. package/dist/field/leaves/bold/index.js +7 -0
  470. package/dist/field/leaves/bold/index.js.map +1 -0
  471. package/dist/field/leaves/code/Code/index.d.ts +2 -0
  472. package/dist/field/leaves/code/Code/index.d.ts.map +1 -0
  473. package/dist/field/leaves/code/Code/index.js +13 -0
  474. package/dist/field/leaves/code/Code/index.js.map +1 -0
  475. package/dist/field/leaves/code/LeafButton.d.ts +2 -0
  476. package/dist/field/leaves/code/LeafButton.d.ts.map +1 -0
  477. package/dist/field/leaves/code/LeafButton.js +11 -0
  478. package/dist/field/leaves/code/LeafButton.js.map +1 -0
  479. package/dist/field/leaves/code/index.d.ts +3 -0
  480. package/dist/field/leaves/code/index.d.ts.map +1 -0
  481. package/dist/field/leaves/code/index.js +7 -0
  482. package/dist/field/leaves/code/index.js.map +1 -0
  483. package/dist/field/leaves/index.d.ts +3 -0
  484. package/dist/field/leaves/index.d.ts.map +1 -0
  485. package/dist/field/leaves/index.js +14 -0
  486. package/dist/field/leaves/index.js.map +1 -0
  487. package/dist/field/leaves/isActive.d.ts +2 -0
  488. package/dist/field/leaves/isActive.d.ts.map +1 -0
  489. package/dist/field/leaves/isActive.js +7 -0
  490. package/dist/field/leaves/isActive.js.map +1 -0
  491. package/dist/field/leaves/italic/Italic/index.d.ts +2 -0
  492. package/dist/field/leaves/italic/Italic/index.d.ts.map +1 -0
  493. package/dist/field/leaves/italic/Italic/index.js +13 -0
  494. package/dist/field/leaves/italic/Italic/index.js.map +1 -0
  495. package/dist/field/leaves/italic/LeafButton.d.ts +2 -0
  496. package/dist/field/leaves/italic/LeafButton.d.ts.map +1 -0
  497. package/dist/field/leaves/italic/LeafButton.js +11 -0
  498. package/dist/field/leaves/italic/LeafButton.js.map +1 -0
  499. package/dist/field/leaves/italic/index.d.ts +3 -0
  500. package/dist/field/leaves/italic/index.d.ts.map +1 -0
  501. package/dist/field/leaves/italic/index.js +7 -0
  502. package/dist/field/leaves/italic/index.js.map +1 -0
  503. package/dist/field/leaves/strikethrough/LeafButton.d.ts +2 -0
  504. package/dist/field/leaves/strikethrough/LeafButton.d.ts.map +1 -0
  505. package/dist/field/leaves/strikethrough/LeafButton.js +11 -0
  506. package/dist/field/leaves/strikethrough/LeafButton.js.map +1 -0
  507. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts +2 -0
  508. package/dist/field/leaves/strikethrough/Strikethrough/index.d.ts.map +1 -0
  509. package/dist/field/leaves/strikethrough/Strikethrough/index.js +13 -0
  510. package/dist/field/leaves/strikethrough/Strikethrough/index.js.map +1 -0
  511. package/dist/field/leaves/strikethrough/index.d.ts +3 -0
  512. package/dist/field/leaves/strikethrough/index.d.ts.map +1 -0
  513. package/dist/field/leaves/strikethrough/index.js +7 -0
  514. package/dist/field/leaves/strikethrough/index.js.map +1 -0
  515. package/dist/field/leaves/toggle.d.ts +2 -0
  516. package/dist/field/leaves/toggle.d.ts.map +1 -0
  517. package/dist/field/leaves/toggle.js +12 -0
  518. package/dist/field/leaves/toggle.js.map +1 -0
  519. package/dist/field/leaves/underline/LeafButton.d.ts +2 -0
  520. package/dist/field/leaves/underline/LeafButton.d.ts.map +1 -0
  521. package/dist/field/leaves/underline/LeafButton.js +11 -0
  522. package/dist/field/leaves/underline/LeafButton.js.map +1 -0
  523. package/dist/field/leaves/underline/Underline/index.d.ts +2 -0
  524. package/dist/field/leaves/underline/Underline/index.d.ts.map +1 -0
  525. package/dist/field/leaves/underline/Underline/index.js +13 -0
  526. package/dist/field/leaves/underline/Underline/index.js.map +1 -0
  527. package/dist/field/leaves/underline/index.d.ts +3 -0
  528. package/dist/field/leaves/underline/index.d.ts.map +1 -0
  529. package/dist/field/leaves/underline/index.js +7 -0
  530. package/dist/field/leaves/underline/index.js.map +1 -0
  531. package/dist/field/mergeCustomFunctions.d.ts +3 -0
  532. package/dist/field/mergeCustomFunctions.d.ts.map +1 -0
  533. package/dist/field/mergeCustomFunctions.js +25 -0
  534. package/dist/field/mergeCustomFunctions.js.map +1 -0
  535. package/dist/field/plugins/withEnterBreakOut.d.ts +2 -0
  536. package/dist/field/plugins/withEnterBreakOut.d.ts.map +1 -0
  537. package/dist/field/plugins/withEnterBreakOut.js +16 -0
  538. package/dist/field/plugins/withEnterBreakOut.js.map +1 -0
  539. package/dist/field/plugins/withHTML.d.ts +2 -0
  540. package/dist/field/plugins/withHTML.d.ts.map +1 -0
  541. package/dist/field/plugins/withHTML.js +122 -0
  542. package/dist/field/plugins/withHTML.js.map +1 -0
  543. package/dist/field/providers/ElementButtonProvider.d.ts +14 -0
  544. package/dist/field/providers/ElementButtonProvider.d.ts.map +1 -0
  545. package/dist/field/providers/ElementButtonProvider.js +23 -0
  546. package/dist/field/providers/ElementButtonProvider.js.map +1 -0
  547. package/dist/field/providers/ElementProvider.d.ts +18 -0
  548. package/dist/field/providers/ElementProvider.d.ts.map +1 -0
  549. package/dist/field/providers/ElementProvider.js +27 -0
  550. package/dist/field/providers/ElementProvider.js.map +1 -0
  551. package/dist/field/providers/LeafButtonProvider.d.ts +13 -0
  552. package/dist/field/providers/LeafButtonProvider.d.ts.map +1 -0
  553. package/dist/field/providers/LeafButtonProvider.js +23 -0
  554. package/dist/field/providers/LeafButtonProvider.js.map +1 -0
  555. package/dist/field/providers/LeafProvider.d.ts +17 -0
  556. package/dist/field/providers/LeafProvider.d.ts.map +1 -0
  557. package/dist/field/providers/LeafProvider.js +28 -0
  558. package/dist/field/providers/LeafProvider.js.map +1 -0
  559. package/dist/field/rscEntry.d.ts +10 -0
  560. package/dist/field/rscEntry.d.ts.map +1 -0
  561. package/dist/field/rscEntry.js +129 -0
  562. package/dist/field/rscEntry.js.map +1 -0
  563. package/dist/field/types.d.ts +24 -0
  564. package/dist/field/types.d.ts.map +1 -0
  565. package/dist/field/types.js +3 -0
  566. package/dist/field/types.js.map +1 -0
  567. package/dist/generateSchemaMap.d.ts +4 -0
  568. package/dist/generateSchemaMap.d.ts.map +1 -0
  569. package/dist/generateSchemaMap.js +68 -0
  570. package/dist/generateSchemaMap.js.map +1 -0
  571. package/dist/index.d.ts +9 -0
  572. package/dist/index.d.ts.map +1 -0
  573. package/dist/index.js +162 -0
  574. package/dist/index.js.map +1 -0
  575. package/dist/types.d.ts +88 -0
  576. package/dist/types.d.ts.map +1 -0
  577. package/dist/types.js +7 -0
  578. package/dist/types.js.map +1 -0
  579. package/dist/utilities/SlatePropsProvider.d.ts +11 -0
  580. package/dist/utilities/SlatePropsProvider.d.ts.map +1 -0
  581. package/dist/utilities/SlatePropsProvider.js +21 -0
  582. package/dist/utilities/SlatePropsProvider.js.map +1 -0
  583. package/dist/utilities/useSlatePlugin.d.ts +5 -0
  584. package/dist/utilities/useSlatePlugin.d.ts.map +1 -0
  585. package/dist/utilities/useSlatePlugin.js +8 -0
  586. package/dist/utilities/useSlatePlugin.js.map +1 -0
  587. package/package.json +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/field/RichText.tsx"],"sourcesContent":["'use client'\n\nimport type { PayloadRequest } from '@ruya.sa/payload'\nimport type { BaseEditor, BaseOperation } from 'slate'\nimport type { HistoryEditor } from 'slate-history'\nimport type { ReactEditor } from 'slate-react'\n\nimport { getTranslation } from '@ruya.sa/translations'\nimport {\n FieldDescription,\n FieldError,\n FieldLabel,\n RenderCustomComponent,\n useEditDepth,\n useField,\n useTranslation,\n} from '@ruya.sa/ui'\nimport { mergeFieldStyles } from '@ruya.sa/ui/shared'\nimport { isHotkey } from 'is-hotkey'\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { createEditor, Node, Element as SlateElement, Text, Transforms } from 'slate'\nimport { withHistory } from 'slate-history'\nimport { Editable, Slate, withReact } from 'slate-react'\n\nimport type { ElementNode, TextNode } from '../types.js'\nimport type { LoadedSlateFieldProps } from './types.js'\n\nimport { defaultRichTextValue } from '../data/defaultValue.js'\nimport { richTextValidate } from '../data/validation.js'\nimport { listTypes } from './elements/listTypes.js'\nimport { hotkeys } from './hotkeys.js'\nimport { toggleLeaf } from './leaves/toggle.js'\nimport { withEnterBreakOut } from './plugins/withEnterBreakOut.js'\nimport { withHTML } from './plugins/withHTML.js'\nimport { ElementButtonProvider } from './providers/ElementButtonProvider.js'\nimport { ElementProvider } from './providers/ElementProvider.js'\nimport { LeafButtonProvider } from './providers/LeafButtonProvider.js'\nimport { LeafProvider } from './providers/LeafProvider.js'\nimport './index.scss'\n\nconst baseClass = 'rich-text'\n\ndeclare module 'slate' {\n interface CustomTypes {\n Editor: BaseEditor & HistoryEditor & ReactEditor\n Element: ElementNode\n Text: TextNode\n }\n}\n\nconst RichTextField: React.FC<LoadedSlateFieldProps> = (props) => {\n const {\n elements,\n field,\n field: {\n name,\n admin: { className, description, placeholder, readOnly: readOnlyFromAdmin } = {},\n label,\n required,\n },\n leaves,\n path: pathFromProps,\n plugins,\n readOnly: readOnlyFromTopLevelProps,\n schemaPath: schemaPathFromProps,\n validate = richTextValidate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { i18n } = useTranslation()\n const editorRef = useRef(null)\n const toolbarRef = useRef(null)\n\n const drawerDepth = useEditDepth()\n const drawerIsOpen = drawerDepth > 1\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, {\n ...validationOptions,\n req: {\n t: i18n.t,\n } as PayloadRequest,\n required,\n })\n }\n },\n [validate, required, i18n],\n )\n\n const {\n customComponents: { Description, Error, Label } = {},\n disabled: disabledFromField,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || disabledFromField\n\n const editor = useMemo(() => {\n let CreatedEditor = withEnterBreakOut(withHistory(withReact(createEditor())))\n\n CreatedEditor = withHTML(CreatedEditor)\n\n if (plugins.length) {\n CreatedEditor = plugins.reduce((editorWithPlugins, plugin) => {\n return plugin(editorWithPlugins)\n }, CreatedEditor)\n }\n\n return CreatedEditor\n }, [plugins])\n\n const renderElement = useCallback(\n ({ attributes, children, element }) => {\n // return <div {...attributes}>{children}</div>\n\n const matchedElement = elements[element.type]\n const Element = matchedElement?.Element\n\n let attr = { ...attributes }\n\n // this converts text alignment to margin when dealing with void elements\n if (element.textAlign) {\n if (element.type === 'relationship' || element.type === 'upload') {\n switch (element.textAlign) {\n case 'center':\n attr = { ...attr, style: { marginLeft: 'auto', marginRight: 'auto' } }\n break\n case 'left':\n attr = { ...attr, style: { marginRight: 'auto' } }\n break\n case 'right':\n attr = { ...attr, style: { marginLeft: 'auto' } }\n break\n default:\n attr = { ...attr, style: { textAlign: element.textAlign } }\n break\n }\n } else if (element.type === 'li') {\n switch (element.textAlign) {\n case 'center':\n attr = { ...attr, style: { listStylePosition: 'inside', textAlign: 'center' } }\n break\n case 'right':\n attr = { ...attr, style: { listStylePosition: 'inside', textAlign: 'right' } }\n break\n case 'left':\n default:\n attr = { ...attr, style: { listStylePosition: 'outside', textAlign: 'left' } }\n break\n }\n } else {\n attr = { ...attr, style: { textAlign: element.textAlign } }\n }\n }\n\n if (Element) {\n const el = (\n <ElementProvider\n attributes={attr}\n childNodes={children}\n editorRef={editorRef}\n element={element}\n fieldProps={props}\n path={path}\n schemaPath={schemaPath}\n >\n {Element}\n </ElementProvider>\n )\n\n return el\n }\n\n return <div {...attr}>{children}</div>\n },\n [elements, path, props, schemaPath],\n )\n\n const renderLeaf = useCallback(\n ({ attributes, children, leaf }) => {\n const matchedLeaves = Object.entries(leaves).filter(([leafName]) => leaf[leafName])\n\n if (matchedLeaves.length > 0) {\n return matchedLeaves.reduce(\n (result, [, leafConfig], i) => {\n if (leafConfig?.Leaf) {\n const Leaf = leafConfig.Leaf\n\n return (\n <LeafProvider\n attributes={attributes}\n editorRef={editorRef}\n fieldProps={props}\n key={i}\n leaf={leaf}\n path={path}\n result={result}\n schemaPath={schemaPath}\n >\n {Leaf}\n </LeafProvider>\n )\n }\n\n return result\n },\n <span {...attributes}>{children}</span>,\n )\n }\n\n return <span {...attributes}>{children}</span>\n },\n [path, props, schemaPath, leaves],\n )\n\n // All slate changes fire the onChange event\n // including selection changes\n // so we will filter the set_selection operations out\n // and only fire setValue when onChange is because of value\n const handleChange = useCallback(\n (val: unknown) => {\n const ops = editor?.operations.filter((o: BaseOperation) => {\n if (o) {\n return o.type !== 'set_selection'\n }\n return false\n })\n\n if (ops && Array.isArray(ops) && ops.length > 0) {\n if (!disabled && val !== defaultRichTextValue && val !== value) {\n setValue(val)\n }\n }\n },\n [editor?.operations, disabled, setValue, value],\n )\n\n useEffect(() => {\n function setClickableState(clickState: 'disabled' | 'enabled') {\n const selectors = 'button, a, [role=\"button\"]'\n const toolbarButtons: (HTMLAnchorElement | HTMLButtonElement)[] =\n toolbarRef.current?.querySelectorAll(selectors)\n\n ;(toolbarButtons || []).forEach((child) => {\n const isButton = child.tagName === 'BUTTON'\n const isDisabling = clickState === 'disabled'\n child.setAttribute('tabIndex', isDisabling ? '-1' : '0')\n if (isButton) {\n child.setAttribute('disabled', isDisabling ? 'disabled' : null)\n }\n })\n }\n\n if (disabled) {\n setClickableState('disabled')\n }\n\n return () => {\n if (disabled) {\n setClickableState('enabled')\n }\n }\n }, [disabled])\n\n // useEffect(() => {\n // // If there is a change to the initial value, we need to reset Slate history\n // // and clear selection because the old selection may no longer be valid\n // // as returned JSON may be modified in hooks and have a different shape\n // if (editor.selection) {\n // console.log('deselecting');\n // ReactEditor.deselect(editor);\n // }\n // }, [path, editor]);\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const classes = [\n baseClass,\n 'field-type',\n className,\n showError && 'error',\n disabled && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let valueToRender = value\n\n if (typeof valueToRender === 'string') {\n try {\n const parsedJSON = JSON.parse(valueToRender)\n valueToRender = parsedJSON\n } catch (err) {\n valueToRender = null\n }\n }\n\n if (!valueToRender) {\n valueToRender = defaultRichTextValue\n }\n\n return (\n <div className={classes} style={styles}>\n {Label || <FieldLabel label={label} path={path} required={required} />}\n <div className={`${baseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <Slate\n editor={editor}\n key={JSON.stringify({ initialValue, path })} // makes sure slate is completely re-rendered when initialValue changes, bypassing the slate-internal value memoization. That way, external changes to the form will update the editor\n onChange={handleChange}\n value={valueToRender as any[]}\n >\n <div className={`${baseClass}__wrapper`}>\n {Object.keys(elements)?.length + Object.keys(leaves)?.length > 0 && (\n <div\n className={[`${baseClass}__toolbar`, drawerIsOpen && `${baseClass}__drawerIsOpen`]\n .filter(Boolean)\n .join(' ')}\n ref={toolbarRef}\n >\n <div className={`${baseClass}__toolbar-wrap`}>\n {Object.values(elements).map((element) => {\n const Button = element?.Button\n\n if (Button) {\n return (\n <ElementButtonProvider\n disabled={disabled}\n fieldProps={props}\n key={element.name}\n path={path}\n schemaPath={schemaPath}\n >\n {Button}\n </ElementButtonProvider>\n )\n }\n\n return null\n })}\n {Object.values(leaves).map((leaf) => {\n const Button = leaf?.Button\n\n if (Button) {\n return (\n <LeafButtonProvider\n fieldProps={props}\n key={leaf.name}\n path={path}\n schemaPath={schemaPath}\n >\n {Button}\n </LeafButtonProvider>\n )\n }\n\n return null\n })}\n </div>\n </div>\n )}\n <div className={`${baseClass}__editor`} ref={editorRef}>\n <Editable\n className={`${baseClass}__input`}\n id={`field-${path.replace(/\\./g, '__')}`}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n if (event.shiftKey) {\n event.preventDefault()\n editor.insertText('\\n')\n } else {\n const selectedElement = Node.descendant(\n editor,\n editor.selection.anchor.path.slice(0, -1),\n )\n\n if (SlateElement.isElement(selectedElement)) {\n // Allow hard enter to \"break out\" of certain elements\n if (editor.shouldBreakOutOnEnter(selectedElement)) {\n event.preventDefault()\n const selectedLeaf = Node.descendant(editor, editor.selection.anchor.path)\n\n if (\n Text.isText(selectedLeaf) &&\n String(selectedLeaf.text).length === editor.selection.anchor.offset\n ) {\n Transforms.insertNodes(editor, { children: [{ text: '' }] })\n } else {\n Transforms.splitNodes(editor)\n Transforms.setNodes(editor, {})\n }\n }\n }\n }\n }\n\n if (event.key === 'Backspace') {\n const selectedElement = Node.descendant(\n editor,\n editor.selection.anchor.path.slice(0, -1),\n )\n\n if (SlateElement.isElement(selectedElement) && selectedElement.type === 'li') {\n const selectedLeaf = Node.descendant(editor, editor.selection.anchor.path)\n if (Text.isText(selectedLeaf) && String(selectedLeaf.text).length === 0) {\n event.preventDefault()\n Transforms.unwrapNodes(editor, {\n match: (n) => SlateElement.isElement(n) && listTypes.includes(n.type),\n mode: 'lowest',\n split: true,\n })\n\n Transforms.setNodes(editor, { type: undefined })\n }\n } else if (editor.isVoid(selectedElement)) {\n Transforms.removeNodes(editor)\n }\n }\n\n Object.keys(hotkeys).forEach((hotkey) => {\n if (isHotkey(hotkey, event as any)) {\n event.preventDefault()\n const mark = hotkeys[hotkey]\n toggleLeaf(editor, mark)\n }\n })\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n renderElement={renderElement}\n renderLeaf={renderLeaf}\n spellCheck\n />\n </div>\n </div>\n </Slate>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const RichText = RichTextField\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","RenderCustomComponent","useEditDepth","useField","useTranslation","mergeFieldStyles","isHotkey","React","useCallback","useEffect","useMemo","useRef","createEditor","Node","Element","SlateElement","Text","Transforms","withHistory","Editable","Slate","withReact","defaultRichTextValue","richTextValidate","listTypes","hotkeys","toggleLeaf","withEnterBreakOut","withHTML","ElementButtonProvider","ElementProvider","LeafButtonProvider","LeafProvider","baseClass","RichTextField","props","elements","field","name","admin","className","description","placeholder","readOnly","readOnlyFromAdmin","label","required","leaves","path","pathFromProps","plugins","readOnlyFromTopLevelProps","schemaPath","schemaPathFromProps","validate","readOnlyFromProps","i18n","editorRef","toolbarRef","drawerDepth","drawerIsOpen","memoizedValidate","value","validationOptions","req","t","customComponents","Description","Error","Label","disabled","disabledFromField","initialValue","setValue","showError","potentiallyStalePath","editor","CreatedEditor","length","reduce","editorWithPlugins","plugin","renderElement","attributes","children","element","matchedElement","type","attr","textAlign","style","marginLeft","marginRight","listStylePosition","el","childNodes","fieldProps","div","renderLeaf","leaf","matchedLeaves","Object","entries","filter","leafName","result","leafConfig","i","Leaf","span","handleChange","val","ops","operations","o","Array","isArray","setClickableState","clickState","selectors","toolbarButtons","current","querySelectorAll","forEach","child","isButton","tagName","isDisabling","setAttribute","styles","classes","Boolean","join","valueToRender","parsedJSON","JSON","parse","err","CustomComponent","Fallback","onChange","keys","ref","values","map","Button","id","replace","onKeyDown","event","key","shiftKey","preventDefault","insertText","selectedElement","descendant","selection","anchor","slice","isElement","shouldBreakOutOnEnter","selectedLeaf","isText","String","text","offset","insertNodes","splitNodes","setNodes","unwrapNodes","match","n","includes","mode","split","undefined","isVoid","removeNodes","hotkey","mark","spellCheck","stringify","RichText"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ @import '~@payloadcms/ui/scss';
2
+
3
+ @layer payload-default {
4
+ .rich-text__button {
5
+ position: relative;
6
+ cursor: pointer;
7
+
8
+ svg {
9
+ width: base(0.75);
10
+ height: base(0.75);
11
+ }
12
+
13
+ &--disabled {
14
+ opacity: 0.4;
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { ClientField } from '@ruya.sa/payload';
2
+ import type { EnabledFeatures } from './types.js';
3
+ export declare const createFeatureMap: (richTextComponentMap: Map<string, ClientField[] | React.ReactNode>) => EnabledFeatures;
4
+ //# sourceMappingURL=createFeatureMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFeatureMap.d.ts","sourceRoot":"","sources":["../../src/field/createFeatureMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAO,MAAM,gBAAgB,yBACL,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KACjE,eAuDF,CAAA"}
@@ -0,0 +1,50 @@
1
+ export const createFeatureMap = (richTextComponentMap)=>{
2
+ const features = {
3
+ elements: {},
4
+ leaves: {},
5
+ plugins: []
6
+ };
7
+ for (const [key, value] of richTextComponentMap){
8
+ if (Array.isArray(value)) {
9
+ continue; // We only wanna process react nodes here
10
+ }
11
+ if (key.startsWith('leaf.button') || key.startsWith('leaf.component.')) {
12
+ const leafName = key.replace('leaf.button.', '').replace('leaf.component.', '');
13
+ if (!features.leaves[leafName]) {
14
+ features.leaves[leafName] = {
15
+ name: leafName,
16
+ Button: null,
17
+ Leaf: null
18
+ };
19
+ }
20
+ if (key.startsWith('leaf.button.')) {
21
+ features.leaves[leafName].Button = value;
22
+ }
23
+ if (key.startsWith('leaf.component.')) {
24
+ features.leaves[leafName].Leaf = value;
25
+ }
26
+ }
27
+ if (key.startsWith('element.button.') || key.startsWith('element.component.')) {
28
+ const elementName = key.replace('element.button.', '').replace('element.component.', '');
29
+ if (!features.elements[elementName]) {
30
+ features.elements[elementName] = {
31
+ name: elementName,
32
+ Button: null,
33
+ Element: null
34
+ };
35
+ }
36
+ if (key.startsWith('element.button.')) {
37
+ features.elements[elementName].Button = value;
38
+ }
39
+ if (key.startsWith('element.component.')) {
40
+ features.elements[elementName].Element = value;
41
+ }
42
+ }
43
+ if (key.startsWith('leaf.plugin.') || key.startsWith('element.plugin.')) {
44
+ features.plugins.push(value);
45
+ }
46
+ }
47
+ return features;
48
+ };
49
+
50
+ //# sourceMappingURL=createFeatureMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/field/createFeatureMap.ts"],"sourcesContent":["import type { ClientField } from '@ruya.sa/payload'\n\nimport type { EnabledFeatures } from './types.js'\n\nexport const createFeatureMap = (\n richTextComponentMap: Map<string, ClientField[] | React.ReactNode>,\n): EnabledFeatures => {\n const features: EnabledFeatures = {\n elements: {},\n leaves: {},\n plugins: [],\n }\n\n for (const [key, value] of richTextComponentMap) {\n if (Array.isArray(value)) {\n continue // We only wanna process react nodes here\n }\n if (key.startsWith('leaf.button') || key.startsWith('leaf.component.')) {\n const leafName = key.replace('leaf.button.', '').replace('leaf.component.', '')\n\n if (!features.leaves[leafName]) {\n features.leaves[leafName] = {\n name: leafName,\n Button: null,\n Leaf: null,\n }\n }\n\n if (key.startsWith('leaf.button.')) {\n features.leaves[leafName].Button = value\n }\n if (key.startsWith('leaf.component.')) {\n features.leaves[leafName].Leaf = value\n }\n }\n\n if (key.startsWith('element.button.') || key.startsWith('element.component.')) {\n const elementName = key.replace('element.button.', '').replace('element.component.', '')\n\n if (!features.elements[elementName]) {\n features.elements[elementName] = {\n name: elementName,\n Button: null,\n Element: null,\n }\n }\n\n if (key.startsWith('element.button.')) {\n features.elements[elementName].Button = value\n }\n if (key.startsWith('element.component.')) {\n features.elements[elementName].Element = value\n }\n }\n\n if (key.startsWith('leaf.plugin.') || key.startsWith('element.plugin.')) {\n features.plugins.push(value)\n }\n }\n\n return features\n}\n"],"names":["createFeatureMap","richTextComponentMap","features","elements","leaves","plugins","key","value","Array","isArray","startsWith","leafName","replace","name","Button","Leaf","elementName","Element","push"],"mappings":"AAIA,OAAO,MAAMA,mBAAmB,CAC9BC;IAEA,MAAMC,WAA4B;QAChCC,UAAU,CAAC;QACXC,QAAQ,CAAC;QACTC,SAAS,EAAE;IACb;IAEA,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIN,qBAAsB;QAC/C,IAAIO,MAAMC,OAAO,CAACF,QAAQ;YACxB,UAAS,yCAAyC;QACpD;QACA,IAAID,IAAII,UAAU,CAAC,kBAAkBJ,IAAII,UAAU,CAAC,oBAAoB;YACtE,MAAMC,WAAWL,IAAIM,OAAO,CAAC,gBAAgB,IAAIA,OAAO,CAAC,mBAAmB;YAE5E,IAAI,CAACV,SAASE,MAAM,CAACO,SAAS,EAAE;gBAC9BT,SAASE,MAAM,CAACO,SAAS,GAAG;oBAC1BE,MAAMF;oBACNG,QAAQ;oBACRC,MAAM;gBACR;YACF;YAEA,IAAIT,IAAII,UAAU,CAAC,iBAAiB;gBAClCR,SAASE,MAAM,CAACO,SAAS,CAACG,MAAM,GAAGP;YACrC;YACA,IAAID,IAAII,UAAU,CAAC,oBAAoB;gBACrCR,SAASE,MAAM,CAACO,SAAS,CAACI,IAAI,GAAGR;YACnC;QACF;QAEA,IAAID,IAAII,UAAU,CAAC,sBAAsBJ,IAAII,UAAU,CAAC,uBAAuB;YAC7E,MAAMM,cAAcV,IAAIM,OAAO,CAAC,mBAAmB,IAAIA,OAAO,CAAC,sBAAsB;YAErF,IAAI,CAACV,SAASC,QAAQ,CAACa,YAAY,EAAE;gBACnCd,SAASC,QAAQ,CAACa,YAAY,GAAG;oBAC/BH,MAAMG;oBACNF,QAAQ;oBACRG,SAAS;gBACX;YACF;YAEA,IAAIX,IAAII,UAAU,CAAC,oBAAoB;gBACrCR,SAASC,QAAQ,CAACa,YAAY,CAACF,MAAM,GAAGP;YAC1C;YACA,IAAID,IAAII,UAAU,CAAC,uBAAuB;gBACxCR,SAASC,QAAQ,CAACa,YAAY,CAACC,OAAO,GAAGV;YAC3C;QACF;QAEA,IAAID,IAAII,UAAU,CAAC,mBAAmBJ,IAAII,UAAU,CAAC,oBAAoB;YACvER,SAASG,OAAO,CAACa,IAAI,CAACX;QACxB;IACF;IAEA,OAAOL;AACT,EAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { ButtonProps } from './types.js';
3
+ import '../buttons.scss';
4
+ export declare const baseClass = "rich-text__button";
5
+ export declare const ElementButton: React.FC<ButtonProps>;
6
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/field/elements/Button.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,iBAAiB,CAAA;AAKxB,eAAO,MAAM,SAAS,sBAAsB,CAAA;AAE5C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA+C/C,CAAA"}
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Tooltip } from '@ruya.sa/ui';
4
+ import React, { useCallback, useState } from 'react';
5
+ import { useSlate } from 'slate-react';
6
+ import '../buttons.scss';
7
+ import { useElementButton } from '../providers/ElementButtonProvider.js';
8
+ import { isElementActive } from './isActive.js';
9
+ import { toggleElement } from './toggle.js';
10
+ export const baseClass = 'rich-text__button';
11
+ export const ElementButton = (props)=>{
12
+ const { type = 'type', children, className, disabled: disabledFromProps, el = 'button', format, onClick, tooltip } = props;
13
+ const editor = useSlate();
14
+ const { disabled: disabledFromContext } = useElementButton();
15
+ const [showTooltip, setShowTooltip] = useState(false);
16
+ const defaultOnClick = useCallback((event)=>{
17
+ event.preventDefault();
18
+ setShowTooltip(false);
19
+ toggleElement(editor, format, type);
20
+ }, [
21
+ editor,
22
+ format,
23
+ type
24
+ ]);
25
+ const Tag = el;
26
+ const disabled = disabledFromProps || disabledFromContext;
27
+ return /*#__PURE__*/ _jsxs(Tag, {
28
+ ...el === 'button' && {
29
+ type: 'button',
30
+ disabled
31
+ },
32
+ className: [
33
+ baseClass,
34
+ className,
35
+ isElementActive(editor, format, type) && `${baseClass}__button--active`
36
+ ].filter(Boolean).join(' '),
37
+ onClick: onClick || defaultOnClick,
38
+ onPointerEnter: ()=>setShowTooltip(true),
39
+ onPointerLeave: ()=>setShowTooltip(false),
40
+ children: [
41
+ tooltip && /*#__PURE__*/ _jsx(Tooltip, {
42
+ show: showTooltip,
43
+ children: tooltip
44
+ }),
45
+ children
46
+ ]
47
+ });
48
+ };
49
+
50
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/field/elements/Button.tsx"],"sourcesContent":["'use client'\nimport type { ElementType } from 'react'\n\nimport { Tooltip } from '@ruya.sa/ui'\nimport React, { useCallback, useState } from 'react'\nimport { useSlate } from 'slate-react'\n\nimport type { ButtonProps } from './types.js'\n\nimport '../buttons.scss'\nimport { useElementButton } from '../providers/ElementButtonProvider.js'\nimport { isElementActive } from './isActive.js'\nimport { toggleElement } from './toggle.js'\n\nexport const baseClass = 'rich-text__button'\n\nexport const ElementButton: React.FC<ButtonProps> = (props) => {\n const {\n type = 'type',\n children,\n className,\n disabled: disabledFromProps,\n el = 'button',\n format,\n onClick,\n tooltip,\n } = props\n\n const editor = useSlate()\n const { disabled: disabledFromContext } = useElementButton()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const defaultOnClick = useCallback(\n (event) => {\n event.preventDefault()\n setShowTooltip(false)\n toggleElement(editor, format, type)\n },\n [editor, format, type],\n )\n\n const Tag: ElementType = el\n\n const disabled = disabledFromProps || disabledFromContext\n\n return (\n <Tag\n {...(el === 'button' && { type: 'button', disabled })}\n className={[\n baseClass,\n className,\n isElementActive(editor, format, type) && `${baseClass}__button--active`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={onClick || defaultOnClick}\n onPointerEnter={() => setShowTooltip(true)}\n onPointerLeave={() => setShowTooltip(false)}\n >\n {tooltip && <Tooltip show={showTooltip}>{tooltip}</Tooltip>}\n {children}\n </Tag>\n )\n}\n"],"names":["Tooltip","React","useCallback","useState","useSlate","useElementButton","isElementActive","toggleElement","baseClass","ElementButton","props","type","children","className","disabled","disabledFromProps","el","format","onClick","tooltip","editor","disabledFromContext","showTooltip","setShowTooltip","defaultOnClick","event","preventDefault","Tag","filter","Boolean","join","onPointerEnter","onPointerLeave","show"],"mappings":"AAAA;;AAGA,SAASA,OAAO,QAAQ,cAAa;AACrC,OAAOC,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AACpD,SAASC,QAAQ,QAAQ,cAAa;AAItC,OAAO,kBAAiB;AACxB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,eAAe,QAAQ,gBAAe;AAC/C,SAASC,aAAa,QAAQ,cAAa;AAE3C,OAAO,MAAMC,YAAY,oBAAmB;AAE5C,OAAO,MAAMC,gBAAuC,CAACC;IACnD,MAAM,EACJC,OAAO,MAAM,EACbC,QAAQ,EACRC,SAAS,EACTC,UAAUC,iBAAiB,EAC3BC,KAAK,QAAQ,EACbC,MAAM,EACNC,OAAO,EACPC,OAAO,EACR,GAAGT;IAEJ,MAAMU,SAAShB;IACf,MAAM,EAAEU,UAAUO,mBAAmB,EAAE,GAAGhB;IAC1C,MAAM,CAACiB,aAAaC,eAAe,GAAGpB,SAAS;IAE/C,MAAMqB,iBAAiBtB,YACrB,CAACuB;QACCA,MAAMC,cAAc;QACpBH,eAAe;QACfhB,cAAca,QAAQH,QAAQN;IAChC,GACA;QAACS;QAAQH;QAAQN;KAAK;IAGxB,MAAMgB,MAAmBX;IAEzB,MAAMF,WAAWC,qBAAqBM;IAEtC,qBACE,MAACM;QACE,GAAIX,OAAO,YAAY;YAAEL,MAAM;YAAUG;QAAS,CAAC;QACpDD,WAAW;YACTL;YACAK;YACAP,gBAAgBc,QAAQH,QAAQN,SAAS,GAAGH,UAAU,gBAAgB,CAAC;SACxE,CACEoB,MAAM,CAACC,SACPC,IAAI,CAAC;QACRZ,SAASA,WAAWM;QACpBO,gBAAgB,IAAMR,eAAe;QACrCS,gBAAgB,IAAMT,eAAe;;YAEpCJ,yBAAW,KAACnB;gBAAQiC,MAAMX;0BAAcH;;YACxCP;;;AAGP,EAAC"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ export declare const EnabledRelationshipsCondition: React.FC<any>;
3
+ //# sourceMappingURL=EnabledRelationshipsCondition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnabledRelationshipsCondition.d.ts","sourceRoot":"","sources":["../../../src/field/elements/EnabledRelationshipsCondition.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA2B9B,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAmBvD,CAAA"}
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+ import { useAuth, useConfig, useEntityVisibility } from '@ruya.sa/ui';
3
+ import * as React from 'react';
4
+ const filterRichTextCollections = (collections, options)=>{
5
+ return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload })=>{
6
+ if (!options.visibleEntities.collections.includes(slug)) {
7
+ return false;
8
+ }
9
+ if (options?.uploads) {
10
+ return enableRichTextRelationship && Boolean(upload) === true;
11
+ }
12
+ return upload ? false : enableRichTextRelationship;
13
+ });
14
+ };
15
+ export const EnabledRelationshipsCondition = (props)=>{
16
+ const { children, uploads = false, ...rest } = props;
17
+ const { config: { collections } } = useConfig();
18
+ const { user } = useAuth();
19
+ const { visibleEntities } = useEntityVisibility();
20
+ const [enabledCollectionSlugs] = React.useState(()=>filterRichTextCollections(collections, {
21
+ uploads,
22
+ user,
23
+ visibleEntities
24
+ }).map(({ slug })=>slug));
25
+ if (!enabledCollectionSlugs.length) {
26
+ return null;
27
+ }
28
+ return /*#__PURE__*/ React.cloneElement(children, {
29
+ ...rest,
30
+ enabledCollectionSlugs
31
+ });
32
+ };
33
+
34
+ //# sourceMappingURL=EnabledRelationshipsCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/field/elements/EnabledRelationshipsCondition.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientUser, VisibleEntities } from '@ruya.sa/payload'\n\nimport { useAuth, useConfig, useEntityVisibility } from '@ruya.sa/ui'\nimport * as React from 'react'\n\ntype Options = {\n uploads: boolean\n user: ClientUser\n visibleEntities: VisibleEntities\n}\n\ntype FilteredCollectionsT = (\n collections: ClientCollectionConfig[],\n options?: Options,\n) => ClientCollectionConfig[]\n\nconst filterRichTextCollections: FilteredCollectionsT = (collections, options) => {\n return collections.filter(({ slug, admin: { enableRichTextRelationship }, upload }) => {\n if (!options.visibleEntities.collections.includes(slug)) {\n return false\n }\n\n if (options?.uploads) {\n return enableRichTextRelationship && Boolean(upload) === true\n }\n\n return upload ? false : enableRichTextRelationship\n })\n}\n\nexport const EnabledRelationshipsCondition: React.FC<any> = (props) => {\n const { children, uploads = false, ...rest } = props\n const {\n config: { collections },\n } = useConfig()\n const { user } = useAuth()\n const { visibleEntities } = useEntityVisibility()\n\n const [enabledCollectionSlugs] = React.useState(() =>\n filterRichTextCollections(collections, { uploads, user, visibleEntities }).map(\n ({ slug }) => slug,\n ),\n )\n\n if (!enabledCollectionSlugs.length) {\n return null\n }\n\n return React.cloneElement(children, { ...rest, enabledCollectionSlugs })\n}\n"],"names":["useAuth","useConfig","useEntityVisibility","React","filterRichTextCollections","collections","options","filter","slug","admin","enableRichTextRelationship","upload","visibleEntities","includes","uploads","Boolean","EnabledRelationshipsCondition","props","children","rest","config","user","enabledCollectionSlugs","useState","map","length","cloneElement"],"mappings":"AAAA;AAIA,SAASA,OAAO,EAAEC,SAAS,EAAEC,mBAAmB,QAAQ,cAAa;AACrE,YAAYC,WAAW,QAAO;AAa9B,MAAMC,4BAAkD,CAACC,aAAaC;IACpE,OAAOD,YAAYE,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,0BAA0B,EAAE,EAAEC,MAAM,EAAE;QAChF,IAAI,CAACL,QAAQM,eAAe,CAACP,WAAW,CAACQ,QAAQ,CAACL,OAAO;YACvD,OAAO;QACT;QAEA,IAAIF,SAASQ,SAAS;YACpB,OAAOJ,8BAA8BK,QAAQJ,YAAY;QAC3D;QAEA,OAAOA,SAAS,QAAQD;IAC1B;AACF;AAEA,OAAO,MAAMM,gCAA+C,CAACC;IAC3D,MAAM,EAAEC,QAAQ,EAAEJ,UAAU,KAAK,EAAE,GAAGK,MAAM,GAAGF;IAC/C,MAAM,EACJG,QAAQ,EAAEf,WAAW,EAAE,EACxB,GAAGJ;IACJ,MAAM,EAAEoB,IAAI,EAAE,GAAGrB;IACjB,MAAM,EAAEY,eAAe,EAAE,GAAGV;IAE5B,MAAM,CAACoB,uBAAuB,GAAGnB,MAAMoB,QAAQ,CAAC,IAC9CnB,0BAA0BC,aAAa;YAAES;YAASO;YAAMT;QAAgB,GAAGY,GAAG,CAC5E,CAAC,EAAEhB,IAAI,EAAE,GAAKA;IAIlB,IAAI,CAACc,uBAAuBG,MAAM,EAAE;QAClC,OAAO;IACT;IAEA,qBAAOtB,MAAMuB,YAAY,CAACR,UAAU;QAAE,GAAGC,IAAI;QAAEG;IAAuB;AACxE,EAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { ButtonProps } from './types.js';
3
+ import '../buttons.scss';
4
+ export declare const baseClass = "rich-text__button";
5
+ export declare const ListButton: React.FC<ButtonProps>;
6
+ //# sourceMappingURL=ListButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListButton.d.ts","sourceRoot":"","sources":["../../../src/field/elements/ListButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,iBAAiB,CAAA;AAIxB,eAAO,MAAM,SAAS,sBAAsB,CAAA;AAE5C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0B5C,CAAA"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React, { useCallback } from 'react';
4
+ import { useSlate } from 'slate-react';
5
+ import '../buttons.scss';
6
+ import { isListActive } from './isListActive.js';
7
+ import { toggleList } from './toggleList.js';
8
+ export const baseClass = 'rich-text__button';
9
+ export const ListButton = ({ children, className, format, onClick })=>{
10
+ const editor = useSlate();
11
+ const defaultOnClick = useCallback((event)=>{
12
+ event.preventDefault();
13
+ toggleList(editor, format);
14
+ }, [
15
+ editor,
16
+ format
17
+ ]);
18
+ return /*#__PURE__*/ _jsx("button", {
19
+ className: [
20
+ baseClass,
21
+ className,
22
+ isListActive(editor, format) && `${baseClass}__button--active`
23
+ ].filter(Boolean).join(' '),
24
+ onClick: onClick || defaultOnClick,
25
+ type: "button",
26
+ children: children
27
+ });
28
+ };
29
+
30
+ //# sourceMappingURL=ListButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/field/elements/ListButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\nimport { useSlate } from 'slate-react'\n\nimport type { ButtonProps } from './types.js'\n\nimport '../buttons.scss'\nimport { isListActive } from './isListActive.js'\nimport { toggleList } from './toggleList.js'\n\nexport const baseClass = 'rich-text__button'\n\nexport const ListButton: React.FC<ButtonProps> = ({ children, className, format, onClick }) => {\n const editor = useSlate()\n\n const defaultOnClick = useCallback(\n (event) => {\n event.preventDefault()\n toggleList(editor, format)\n },\n [editor, format],\n )\n\n return (\n <button\n className={[\n baseClass,\n className,\n isListActive(editor, format) && `${baseClass}__button--active`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={onClick || defaultOnClick}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"names":["React","useCallback","useSlate","isListActive","toggleList","baseClass","ListButton","children","className","format","onClick","editor","defaultOnClick","event","preventDefault","button","filter","Boolean","join","type"],"mappings":"AAAA;;AAEA,OAAOA,SAASC,WAAW,QAAQ,QAAO;AAC1C,SAASC,QAAQ,QAAQ,cAAa;AAItC,OAAO,kBAAiB;AACxB,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,UAAU,QAAQ,kBAAiB;AAE5C,OAAO,MAAMC,YAAY,oBAAmB;AAE5C,OAAO,MAAMC,aAAoC,CAAC,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,OAAO,EAAE;IACxF,MAAMC,SAAST;IAEf,MAAMU,iBAAiBX,YACrB,CAACY;QACCA,MAAMC,cAAc;QACpBV,WAAWO,QAAQF;IACrB,GACA;QAACE;QAAQF;KAAO;IAGlB,qBACE,KAACM;QACCP,WAAW;YACTH;YACAG;YACAL,aAAaQ,QAAQF,WAAW,GAAGJ,UAAU,gBAAgB,CAAC;SAC/D,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;QACRR,SAASA,WAAWE;QACpBO,MAAK;kBAEJZ;;AAGP,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Node } from 'slate';
2
+ export declare const areAllChildrenElements: (node: Node) => boolean;
3
+ //# sourceMappingURL=areAllChildrenElements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"areAllChildrenElements.d.ts","sourceRoot":"","sources":["../../../src/field/elements/areAllChildrenElements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAIjC,eAAO,MAAM,sBAAsB,SAAU,IAAI,KAAG,OAEnD,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Element } from 'slate';
2
+ export const areAllChildrenElements = (node)=>{
3
+ return Array.isArray(node.children) && node.children.every((child)=>Element.isElement(child));
4
+ };
5
+
6
+ //# sourceMappingURL=areAllChildrenElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/field/elements/areAllChildrenElements.ts"],"sourcesContent":["import type { Node } from 'slate'\n\nimport { Element } from 'slate'\n\nexport const areAllChildrenElements = (node: Node): boolean => {\n return Array.isArray(node.children) && node.children.every((child) => Element.isElement(child))\n}\n"],"names":["Element","areAllChildrenElements","node","Array","isArray","children","every","child","isElement"],"mappings":"AAEA,SAASA,OAAO,QAAQ,QAAO;AAE/B,OAAO,MAAMC,yBAAyB,CAACC;IACrC,OAAOC,MAAMC,OAAO,CAACF,KAAKG,QAAQ,KAAKH,KAAKG,QAAQ,CAACC,KAAK,CAAC,CAACC,QAAUP,QAAQQ,SAAS,CAACD;AAC1F,EAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const BlockquoteElementButton: ({ format }: {
2
+ format: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/blockquote/Button.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,uBAAuB,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,4CAIrE,CAAA"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { BlockquoteIcon } from '../../icons/Blockquote/index.js';
5
+ import { ElementButton } from '../Button.js';
6
+ export const BlockquoteElementButton = ({ format })=>/*#__PURE__*/ _jsx(ElementButton, {
7
+ format: format,
8
+ children: /*#__PURE__*/ _jsx(BlockquoteIcon, {})
9
+ });
10
+
11
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/blockquote/Button.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { BlockquoteIcon } from '../../icons/Blockquote/index.js'\nimport { ElementButton } from '../Button.js'\n\nexport const BlockquoteElementButton = ({ format }: { format: string }) => (\n <ElementButton format={format}>\n <BlockquoteIcon />\n </ElementButton>\n)\n"],"names":["React","BlockquoteIcon","ElementButton","BlockquoteElementButton","format"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,kCAAiC;AAChE,SAASC,aAAa,QAAQ,eAAc;AAE5C,OAAO,MAAMC,0BAA0B,CAAC,EAAEC,MAAM,EAAsB,iBACpE,KAACF;QAAcE,QAAQA;kBACrB,cAAA,KAACH;OAEJ"}
@@ -0,0 +1,3 @@
1
+ import './index.scss';
2
+ export declare const BlockquoteElement: () => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=Element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/blockquote/Element.tsx"],"names":[],"mappings":"AAKA,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,iBAAiB,+CAQ7B,CAAA"}
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { useElement } from '../../providers/ElementProvider.js';
5
+ import './index.scss';
6
+ export const BlockquoteElement = ()=>{
7
+ const { attributes, children } = useElement();
8
+ return /*#__PURE__*/ _jsx("blockquote", {
9
+ className: "rich-text-blockquote",
10
+ ...attributes,
11
+ children: children
12
+ });
13
+ };
14
+
15
+ //# sourceMappingURL=Element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/blockquote/Element.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\nimport './index.scss'\n\nexport const BlockquoteElement = () => {\n const { attributes, children } = useElement()\n\n return (\n <blockquote className=\"rich-text-blockquote\" {...attributes}>\n {children}\n </blockquote>\n )\n}\n"],"names":["React","useElement","BlockquoteElement","attributes","children","blockquote","className"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,OAAO,eAAc;AAErB,OAAO,MAAMC,oBAAoB;IAC/B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBACE,KAACI;QAAWC,WAAU;QAAwB,GAAGH,UAAU;kBACxDC;;AAGP,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RichTextCustomElement } from '../../../types.js';
2
+ export declare const blockquote: RichTextCustomElement;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/blockquote/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAI9D,eAAO,MAAM,UAAU,EAAE,qBASxB,CAAA"}
@@ -0,0 +1,13 @@
1
+ const name = 'blockquote';
2
+ export const blockquote = {
3
+ name,
4
+ Button: {
5
+ clientProps: {
6
+ format: name
7
+ },
8
+ path: '@ruya.sa/richtext-slate/client#BlockquoteElementButton'
9
+ },
10
+ Element: '@ruya.sa/richtext-slate/client#BlockquoteElement'
11
+ };
12
+
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/blockquote/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nconst name = 'blockquote'\n\nexport const blockquote: RichTextCustomElement = {\n name,\n Button: {\n clientProps: {\n format: name,\n },\n path: '@ruya.sa/richtext-slate/client#BlockquoteElementButton',\n },\n Element: '@ruya.sa/richtext-slate/client#BlockquoteElement',\n}\n"],"names":["name","blockquote","Button","clientProps","format","path","Element"],"mappings":"AAEA,MAAMA,OAAO;AAEb,OAAO,MAAMC,aAAoC;IAC/CD;IACAE,QAAQ;QACNC,aAAa;YACXC,QAAQJ;QACV;QACAK,MAAM;IACR;IACAC,SAAS;AACX,EAAC"}
@@ -0,0 +1,11 @@
1
+ @import '~@payloadcms/ui/scss';
2
+
3
+ @layer payload-default {
4
+ .rich-text-blockquote {
5
+ &[data-slate-node='element'] {
6
+ margin: base(0.625) 0;
7
+ padding-left: base(0.625);
8
+ border-left: 1px solid var(--theme-elevation-200);
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,4 @@
1
+ import type { NodeEntry, NodeMatch } from 'slate';
2
+ import { Editor, Node } from 'slate';
3
+ export declare const getCommonBlock: (editor: Editor, match?: NodeMatch<Node>) => NodeEntry<Node>;
4
+ //# sourceMappingURL=getCommonBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCommonBlock.d.ts","sourceRoot":"","sources":["../../../src/field/elements/getCommonBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAMpC,eAAO,MAAM,cAAc,WAAY,MAAM,UAAU,SAAS,CAAC,IAAI,CAAC,KAAG,SAAS,CAAC,IAAI,CAatF,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Editor, Node } from 'slate';
2
+ import { isBlockElement } from './isBlockElement.js';
3
+ export const getCommonBlock = (editor, match)=>{
4
+ const range = Editor.unhangRange(editor, editor.selection, {
5
+ voids: true
6
+ });
7
+ const [common, path] = Node.common(editor, range.anchor.path, range.focus.path);
8
+ if (isBlockElement(editor, common) || Editor.isEditor(common)) {
9
+ return [
10
+ common,
11
+ path
12
+ ];
13
+ }
14
+ return Editor.above(editor, {
15
+ at: path,
16
+ match: match || ((n)=>isBlockElement(editor, n) || Editor.isEditor(n))
17
+ });
18
+ };
19
+
20
+ //# sourceMappingURL=getCommonBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/field/elements/getCommonBlock.tsx"],"sourcesContent":["import type { NodeEntry, NodeMatch } from 'slate'\n\nimport { Editor, Node } from 'slate'\n\nimport type { ElementNode } from '../../types.js'\n\nimport { isBlockElement } from './isBlockElement.js'\n\nexport const getCommonBlock = (editor: Editor, match?: NodeMatch<Node>): NodeEntry<Node> => {\n const range = Editor.unhangRange(editor, editor.selection, { voids: true })\n\n const [common, path] = Node.common(editor, range.anchor.path, range.focus.path)\n\n if (isBlockElement(editor, common) || Editor.isEditor(common)) {\n return [common, path]\n }\n\n return Editor.above(editor, {\n at: path,\n match: match || ((n: ElementNode) => isBlockElement(editor, n) || Editor.isEditor(n)),\n })\n}\n"],"names":["Editor","Node","isBlockElement","getCommonBlock","editor","match","range","unhangRange","selection","voids","common","path","anchor","focus","isEditor","above","at","n"],"mappings":"AAEA,SAASA,MAAM,EAAEC,IAAI,QAAQ,QAAO;AAIpC,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,iBAAiB,CAACC,QAAgBC;IAC7C,MAAMC,QAAQN,OAAOO,WAAW,CAACH,QAAQA,OAAOI,SAAS,EAAE;QAAEC,OAAO;IAAK;IAEzE,MAAM,CAACC,QAAQC,KAAK,GAAGV,KAAKS,MAAM,CAACN,QAAQE,MAAMM,MAAM,CAACD,IAAI,EAAEL,MAAMO,KAAK,CAACF,IAAI;IAE9E,IAAIT,eAAeE,QAAQM,WAAWV,OAAOc,QAAQ,CAACJ,SAAS;QAC7D,OAAO;YAACA;YAAQC;SAAK;IACvB;IAEA,OAAOX,OAAOe,KAAK,CAACX,QAAQ;QAC1BY,IAAIL;QACJN,OAAOA,SAAU,CAAA,CAACY,IAAmBf,eAAeE,QAAQa,MAAMjB,OAAOc,QAAQ,CAACG,EAAC;IACrF;AACF,EAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const H1ElementButton: ({ format }: {
2
+ format: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/h1/Button.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,4CAI7D,CAAA"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { H1Icon } from '../../icons/headings/H1/index.js';
5
+ import { ElementButton } from '../Button.js';
6
+ export const H1ElementButton = ({ format })=>/*#__PURE__*/ _jsx(ElementButton, {
7
+ format: format,
8
+ children: /*#__PURE__*/ _jsx(H1Icon, {})
9
+ });
10
+
11
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/h1/Button.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { H1Icon } from '../../icons/headings/H1/index.js'\nimport { ElementButton } from '../Button.js'\n\nexport const H1ElementButton = ({ format }: { format: string }) => (\n <ElementButton format={format}>\n <H1Icon />\n </ElementButton>\n)\n"],"names":["React","H1Icon","ElementButton","H1ElementButton","format"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,mCAAkC;AACzD,SAASC,aAAa,QAAQ,eAAc;AAE5C,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAsB,iBAC5D,KAACF;QAAcE,QAAQA;kBACrB,cAAA,KAACH;OAEJ"}
@@ -0,0 +1,2 @@
1
+ export declare const Heading1Element: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Heading1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Heading1.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/h1/Heading1.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,+CAI3B,CAAA"}
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { useElement } from '../../providers/ElementProvider.js';
5
+ export const Heading1Element = ()=>{
6
+ const { attributes, children } = useElement();
7
+ return /*#__PURE__*/ _jsx("h1", {
8
+ ...attributes,
9
+ children: children
10
+ });
11
+ };
12
+
13
+ //# sourceMappingURL=Heading1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/h1/Heading1.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useElement } from '../../providers/ElementProvider.js'\n\nexport const Heading1Element = () => {\n const { attributes, children } = useElement()\n\n return <h1 {...attributes}>{children}</h1>\n}\n"],"names":["React","useElement","Heading1Element","attributes","children","h1"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,qCAAoC;AAE/D,OAAO,MAAMC,kBAAkB;IAC7B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAEjC,qBAAO,KAACI;QAAI,GAAGF,UAAU;kBAAGC;;AAC9B,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RichTextCustomElement } from '../../../types.js';
2
+ export declare const h1: RichTextCustomElement;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/h1/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAI9D,eAAO,MAAM,EAAE,EAAE,qBAShB,CAAA"}
@@ -0,0 +1,13 @@
1
+ const name = 'h1';
2
+ export const h1 = {
3
+ name,
4
+ Button: {
5
+ clientProps: {
6
+ format: name
7
+ },
8
+ path: '@ruya.sa/richtext-slate/client#H1ElementButton'
9
+ },
10
+ Element: '@ruya.sa/richtext-slate/client#Heading1Element'
11
+ };
12
+
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/h1/index.tsx"],"sourcesContent":["import type { RichTextCustomElement } from '../../../types.js'\n\nconst name = 'h1'\n\nexport const h1: RichTextCustomElement = {\n name,\n Button: {\n clientProps: {\n format: name,\n },\n path: '@ruya.sa/richtext-slate/client#H1ElementButton',\n },\n Element: '@ruya.sa/richtext-slate/client#Heading1Element',\n}\n"],"names":["name","h1","Button","clientProps","format","path","Element"],"mappings":"AAEA,MAAMA,OAAO;AAEb,OAAO,MAAMC,KAA4B;IACvCD;IACAE,QAAQ;QACNC,aAAa;YACXC,QAAQJ;QACV;QACAK,MAAM;IACR;IACAC,SAAS;AACX,EAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const H2ElementButton: ({ format }: {
2
+ format: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/field/elements/h2/Button.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,4CAI7D,CAAA"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { H2Icon } from '../../icons/headings/H2/index.js';
5
+ import { ElementButton } from '../Button.js';
6
+ export const H2ElementButton = ({ format })=>/*#__PURE__*/ _jsx(ElementButton, {
7
+ format: format,
8
+ children: /*#__PURE__*/ _jsx(H2Icon, {})
9
+ });
10
+
11
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/field/elements/h2/Button.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { H2Icon } from '../../icons/headings/H2/index.js'\nimport { ElementButton } from '../Button.js'\n\nexport const H2ElementButton = ({ format }: { format: string }) => (\n <ElementButton format={format}>\n <H2Icon />\n </ElementButton>\n)\n"],"names":["React","H2Icon","ElementButton","H2ElementButton","format"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,mCAAkC;AACzD,SAASC,aAAa,QAAQ,eAAc;AAE5C,OAAO,MAAMC,kBAAkB,CAAC,EAAEC,MAAM,EAAsB,iBAC5D,KAACF;QAAcE,QAAQA;kBACrB,cAAA,KAACH;OAEJ"}
@@ -0,0 +1,2 @@
1
+ export declare const Heading2Element: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Heading2.d.ts.map