@makeswift/runtime 0.7.7 → 0.7.9

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 (264) hide show
  1. package/dist/Box.cjs.js +2 -0
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +2 -0
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +2 -0
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +2 -0
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +2 -0
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +2 -0
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +2 -0
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +2 -0
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +2 -0
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +2 -0
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +2 -0
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +2 -0
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +3 -1
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +3 -1
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +2 -0
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +2 -0
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +2 -0
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +3 -1
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +2 -0
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +2 -0
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +29 -23
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +33 -25
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +185 -153
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +182 -153
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/Root.cjs.js +2 -0
  50. package/dist/Root.cjs.js.map +1 -1
  51. package/dist/Root.es.js +2 -0
  52. package/dist/Root.es.js.map +1 -1
  53. package/dist/SocialLinks.cjs.js +2 -0
  54. package/dist/SocialLinks.cjs.js.map +1 -1
  55. package/dist/SocialLinks.es.js +2 -0
  56. package/dist/SocialLinks.es.js.map +1 -1
  57. package/dist/Text.cjs.js +3 -1
  58. package/dist/Text.cjs.js.map +1 -1
  59. package/dist/Text.es.js +3 -1
  60. package/dist/Text.es.js.map +1 -1
  61. package/dist/Video.cjs.js +2 -0
  62. package/dist/Video.cjs.js.map +1 -1
  63. package/dist/Video.es.js +2 -0
  64. package/dist/Video.es.js.map +1 -1
  65. package/dist/actions.cjs.js +1 -0
  66. package/dist/actions.cjs.js.map +1 -1
  67. package/dist/actions.es.js +1 -1
  68. package/dist/builder.cjs.js +2 -0
  69. package/dist/builder.cjs.js.map +1 -1
  70. package/dist/builder.es.js +2 -0
  71. package/dist/builder.es.js.map +1 -1
  72. package/dist/compare.cjs.js +126 -0
  73. package/dist/compare.cjs.js.map +1 -0
  74. package/dist/compare.es.js +124 -0
  75. package/dist/compare.es.js.map +1 -0
  76. package/dist/components.cjs.js +2 -0
  77. package/dist/components.cjs.js.map +1 -1
  78. package/dist/components.es.js +2 -0
  79. package/dist/components.es.js.map +1 -1
  80. package/dist/constants.cjs.js +2 -0
  81. package/dist/constants.cjs.js.map +1 -1
  82. package/dist/constants.es.js +2 -0
  83. package/dist/constants.es.js.map +1 -1
  84. package/dist/control-serialization.cjs.js +29 -0
  85. package/dist/control-serialization.cjs.js.map +1 -1
  86. package/dist/control-serialization.es.js +30 -0
  87. package/dist/control-serialization.es.js.map +1 -1
  88. package/dist/controls.cjs.js +13 -0
  89. package/dist/controls.cjs.js.map +1 -1
  90. package/dist/controls.es.js +4 -1
  91. package/dist/controls.es.js.map +1 -1
  92. package/dist/index.cjs.js +6 -4
  93. package/dist/index.cjs.js.map +1 -1
  94. package/dist/index.cjs2.js +2 -0
  95. package/dist/index.cjs2.js.map +1 -1
  96. package/dist/index.cjs5.js +2 -0
  97. package/dist/index.cjs5.js.map +1 -1
  98. package/dist/index.cjs6.js +663 -96
  99. package/dist/index.cjs6.js.map +1 -1
  100. package/dist/index.es.js +6 -4
  101. package/dist/index.es.js.map +1 -1
  102. package/dist/index.es2.js +2 -0
  103. package/dist/index.es2.js.map +1 -1
  104. package/dist/index.es5.js +2 -0
  105. package/dist/index.es5.js.map +1 -1
  106. package/dist/index.es6.js +657 -95
  107. package/dist/index.es6.js.map +1 -1
  108. package/dist/main.cjs.js +2 -0
  109. package/dist/main.cjs.js.map +1 -1
  110. package/dist/main.es.js +2 -0
  111. package/dist/main.es.js.map +1 -1
  112. package/dist/next.cjs.js +2 -0
  113. package/dist/next.cjs.js.map +1 -1
  114. package/dist/next.es.js +2 -0
  115. package/dist/next.es.js.map +1 -1
  116. package/dist/prop-controllers.cjs.js +2 -0
  117. package/dist/prop-controllers.cjs.js.map +1 -1
  118. package/dist/prop-controllers.es.js +2 -0
  119. package/dist/prop-controllers.es.js.map +1 -1
  120. package/dist/react.cjs.js +2 -0
  121. package/dist/react.cjs.js.map +1 -1
  122. package/dist/react.es.js +2 -0
  123. package/dist/react.es.js.map +1 -1
  124. package/dist/rich-text.cjs.js +894 -22
  125. package/dist/rich-text.cjs.js.map +1 -1
  126. package/dist/rich-text.es.js +888 -23
  127. package/dist/rich-text.es.js.map +1 -1
  128. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  129. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  130. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/ListPlugin.d.ts +13 -0
  131. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/ListPlugin.d.ts.map +1 -0
  132. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/constants.d.ts +3 -0
  133. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/constants.d.ts.map +1 -0
  134. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/index.d.ts +2 -0
  135. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/index.d.ts.map +1 -0
  136. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/dedent.d.ts +3 -0
  137. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/dedent.d.ts.map +1 -0
  138. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/indent.d.ts +4 -0
  139. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/indent.d.ts.map +1 -0
  140. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/index.d.ts +6 -0
  141. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/index.d.ts.map +1 -0
  142. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/toggleList.d.ts +8 -0
  143. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/toggleList.d.ts.map +1 -0
  144. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/unwrapList.d.ts +4 -0
  145. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/unwrapList.d.ts.map +1 -0
  146. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/editor.d.ts +7 -0
  147. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/editor.d.ts.map +1 -0
  148. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/element.d.ts +26 -0
  149. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/element.d.ts.map +1 -0
  150. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/filterForSubtreeRoots.d.ts +3 -0
  151. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/filterForSubtreeRoots.d.ts.map +1 -0
  152. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/getSelectedListItems.d.ts +5 -0
  153. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/getSelectedListItems.d.ts.map +1 -0
  154. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/location.d.ts +5 -0
  155. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/utils/location.d.ts.map +1 -0
  156. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/wrapList.d.ts +8 -0
  157. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/lib/wrapList.d.ts.map +1 -0
  158. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/dedent.test.d.ts +3 -0
  159. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/dedent.test.d.ts.map +1 -0
  160. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/indent.test.d.ts +3 -0
  161. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/indent.test.d.ts.map +1 -0
  162. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/normalization.test.d.ts +3 -0
  163. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/normalization.test.d.ts.map +1 -0
  164. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/slate-test-helper.d.ts +48 -0
  165. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/slate-test-helper.d.ts.map +1 -0
  166. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/toggleList.test.d.ts +3 -0
  167. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/toggleList.test.d.ts.map +1 -0
  168. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/types.d.ts +21 -0
  169. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/types.d.ts.map +1 -0
  170. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/unwrapList.test.d.ts +3 -0
  171. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/unwrapList.test.d.ts.map +1 -0
  172. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/filterForSubtreeRoots.test.d.ts +2 -0
  173. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/filterForSubtreeRoots.test.d.ts.map +1 -0
  174. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/getSelectedListItems.test.d.ts +3 -0
  175. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/utils/getSelectedListItems.test.d.ts.map +1 -0
  176. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/wrapList.test.d.ts +3 -0
  177. package/dist/types/src/components/builtin/Text/EditableText/ListPlugin/test/wrapList.test.d.ts.map +1 -0
  178. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts +13 -0
  179. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +1 -0
  180. package/dist/types/src/components/builtin/Text/EditableText/index.d.ts +4 -0
  181. package/dist/types/src/components/builtin/Text/EditableText/index.d.ts.map +1 -0
  182. package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts +8 -0
  183. package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts.map +1 -0
  184. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts +16 -0
  185. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +1 -1
  186. package/dist/types/src/components/builtin/Text/Text.d.ts +1 -1
  187. package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
  188. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +8 -0
  189. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -0
  190. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts +4 -0
  191. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +1 -0
  192. package/dist/types/src/components/builtin/Text/components/Element/index.d.ts +2 -0
  193. package/dist/types/src/components/builtin/Text/components/Element/index.d.ts.map +1 -0
  194. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +8 -0
  195. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -0
  196. package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts +3 -0
  197. package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts.map +1 -0
  198. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +4 -0
  199. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -0
  200. package/dist/types/src/components/builtin/Text/components/Leaf/typography.d.ts +27 -0
  201. package/dist/types/src/components/builtin/Text/components/Leaf/typography.d.ts.map +1 -0
  202. package/dist/types/src/components/builtin/Text/components/index.d.ts +3 -0
  203. package/dist/types/src/components/builtin/Text/components/index.d.ts.map +1 -0
  204. package/dist/types/src/components/utils/types.d.ts +1 -1
  205. package/dist/types/src/components/utils/types.d.ts.map +1 -1
  206. package/dist/types/src/controls/rich-text/compare.d.ts +5 -0
  207. package/dist/types/src/controls/rich-text/compare.d.ts.map +1 -0
  208. package/dist/types/src/controls/rich-text/compare.test.d.ts +2 -0
  209. package/dist/types/src/controls/rich-text/compare.test.d.ts.map +1 -0
  210. package/dist/types/src/controls/rich-text/dto-types.d.ts +131 -0
  211. package/dist/types/src/controls/rich-text/dto-types.d.ts.map +1 -0
  212. package/dist/types/src/controls/rich-text/fixtures/blockquote.d.ts +3 -0
  213. package/dist/types/src/controls/rich-text/fixtures/blockquote.d.ts.map +1 -0
  214. package/dist/types/src/controls/rich-text/fixtures/index.d.ts +4 -0
  215. package/dist/types/src/controls/rich-text/fixtures/index.d.ts.map +1 -0
  216. package/dist/types/src/controls/rich-text/fixtures/list.d.ts +3 -0
  217. package/dist/types/src/controls/rich-text/fixtures/list.d.ts.map +1 -0
  218. package/dist/types/src/controls/rich-text/fixtures/typography.d.ts +3 -0
  219. package/dist/types/src/controls/rich-text/fixtures/typography.d.ts.map +1 -0
  220. package/dist/types/src/controls/rich-text/index.d.ts +6 -0
  221. package/dist/types/src/controls/rich-text/index.d.ts.map +1 -0
  222. package/dist/types/src/controls/{rich-text.d.ts → rich-text/rich-text.d.ts} +8 -10
  223. package/dist/types/src/controls/rich-text/rich-text.d.ts.map +1 -0
  224. package/dist/types/src/controls/rich-text/translation.d.ts +8 -0
  225. package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -0
  226. package/dist/types/src/controls/rich-text/translation.test.d.ts +2 -0
  227. package/dist/types/src/controls/rich-text/translation.test.d.ts.map +1 -0
  228. package/dist/types/src/controls/rich-text/types.d.ts +134 -0
  229. package/dist/types/src/controls/rich-text/types.d.ts.map +1 -0
  230. package/dist/types/src/prop-controllers/descriptors.d.ts +2 -3
  231. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  232. package/dist/types/src/prop-controllers/instances.d.ts +4 -7
  233. package/dist/types/src/prop-controllers/instances.d.ts.map +1 -1
  234. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  235. package/dist/types/src/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  236. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  237. package/dist/typography.cjs.js +146 -0
  238. package/dist/typography.cjs.js.map +1 -0
  239. package/dist/typography.es.js +143 -0
  240. package/dist/typography.es.js.map +1 -0
  241. package/package.json +7 -10
  242. package/dist/EditableText.cjs.js +0 -380
  243. package/dist/EditableText.cjs.js.map +0 -1
  244. package/dist/EditableText.es.js +0 -373
  245. package/dist/EditableText.es.js.map +0 -1
  246. package/dist/types/src/components/builtin/Text/EditableText.d.ts +0 -16
  247. package/dist/types/src/components/builtin/Text/EditableText.d.ts.map +0 -1
  248. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +0 -10
  249. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +0 -1
  250. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +0 -25
  251. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +0 -1
  252. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +0 -10
  253. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +0 -1
  254. package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts +0 -5
  255. package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts.map +0 -1
  256. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +0 -3
  257. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +0 -1
  258. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +0 -3
  259. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +0 -1
  260. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +0 -3
  261. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +0 -1
  262. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +0 -3
  263. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +0 -1
  264. package/dist/types/src/controls/rich-text.d.ts.map +0 -1
@@ -1,37 +1,20 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __spreadValues = (a, b) => {
10
- for (var prop in b || (b = {}))
11
- if (__hasOwnProp.call(b, prop))
12
- __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols)
14
- for (var prop of __getOwnPropSymbols(b)) {
15
- if (__propIsEnum.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
22
3
  var css = require("@emotion/css");
23
4
  var React = require("react");
5
+ var richText = require("./rich-text.cjs.js");
6
+ require("slate");
7
+ require("slate-react");
24
8
  var next = require("./index.cjs.js");
25
- var index$1 = require("./index.cjs3.js");
26
- var index = require("./index.cjs6.js");
9
+ var index = require("./index.cjs3.js");
10
+ var typography = require("./typography.cjs.js");
27
11
  var jsxRuntime = require("react/jsx-runtime");
12
+ require("./actions.cjs.js");
28
13
  require("use-sync-external-store/shim/with-selector");
29
14
  require("next/dynamic");
30
15
  require("./constants.cjs.js");
31
16
  require("redux");
32
17
  require("redux-thunk");
33
- require("./actions.cjs.js");
34
- require("./rich-text.cjs.js");
35
18
  require("@emotion/serialize");
36
19
  require("@emotion/utils");
37
20
  require("./text-input.cjs.js");
@@ -60,15 +43,14 @@ const ReadOnlyText = React.forwardRef(function ReadOnlyText2({
60
43
  width,
61
44
  margin
62
45
  }, ref) {
63
- const document = (text == null ? void 0 : text.document) == null ? null : __spreadProps(__spreadValues({}, text.document), {
64
- object: "document"
65
- });
66
- const plaintext = document == null ? "" : getNodeText(document);
46
+ const descendants = text == null ? "" : richText.richTextDTOtoDAO(text);
67
47
  return /* @__PURE__ */ jsxRuntime.jsx("div", {
68
48
  ref,
69
49
  id,
70
50
  className: css.cx(width, margin),
71
- children: plaintext === "" ? /* @__PURE__ */ jsxRuntime.jsx(Placeholder, {}) : /* @__PURE__ */ jsxRuntime.jsx(Node, __spreadValues({}, document))
51
+ children: descendants === "" ? /* @__PURE__ */ jsxRuntime.jsx(Placeholder, {}) : /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
52
+ descendants
53
+ })
72
54
  });
73
55
  });
74
56
  function Placeholder({
@@ -86,155 +68,205 @@ function Placeholder({
86
68
  children: text
87
69
  });
88
70
  }
89
- function Node(props) {
90
- switch (props.object) {
91
- case "document":
92
- return /* @__PURE__ */ jsxRuntime.jsx(Document, __spreadValues({}, props));
93
- case "block":
94
- return /* @__PURE__ */ jsxRuntime.jsx(Block, __spreadValues({}, props));
95
- case "inline":
96
- return /* @__PURE__ */ jsxRuntime.jsx(Inline, __spreadValues({}, props));
97
- case "text":
98
- return /* @__PURE__ */ jsxRuntime.jsx(Text, __spreadValues({}, props));
99
- default:
100
- return null;
101
- }
102
- }
103
- function Document({
104
- nodes
71
+ function TextElement({
72
+ descendant
105
73
  }) {
106
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
107
- children: nodes == null ? void 0 : nodes.map((node, idx) => /* @__PURE__ */ jsxRuntime.jsx(Node, __spreadValues({}, node), idx.toString()))
74
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
75
+ children: descendant.text
108
76
  });
109
77
  }
110
- function OrderedList(props) {
111
- return /* @__PURE__ */ jsxRuntime.jsx("ol", __spreadProps(__spreadValues({
112
- className: "ordered-list"
113
- }, props), {
114
- style: {
115
- listStylePosition: "inside"
116
- }
117
- }));
118
- }
119
- function UnorderedList(props) {
120
- return /* @__PURE__ */ jsxRuntime.jsx("ul", __spreadProps(__spreadValues({
121
- className: "unordered-list"
122
- }, props), {
123
- style: {
124
- listStylePosition: "inside"
125
- }
126
- }));
127
- }
128
- function ListItem(props) {
129
- return /* @__PURE__ */ jsxRuntime.jsx("li", __spreadValues({
130
- className: "list-item"
131
- }, props));
132
- }
133
- function ListItemChild(props) {
134
- return /* @__PURE__ */ jsxRuntime.jsx("span", __spreadValues({
135
- className: "list-item-child"
136
- }, props));
137
- }
138
- function Block({
139
- type,
140
- data,
141
- nodes
78
+ function TypographyElement({
79
+ descendant
142
80
  }) {
143
- const component = {
144
- paragraph: "p",
145
- "heading-one": "h1",
146
- "heading-two": "h2",
147
- "heading-three": "h3",
148
- "heading-four": "h4",
149
- "heading-five": "h5",
150
- "heading-six": "h6",
151
- blockquote: "blockquote",
152
- "ordered-list": OrderedList,
153
- "unordered-list": UnorderedList,
154
- "list-item": ListItem,
155
- "list-item-child": ListItemChild
156
- }[type];
157
- return /* @__PURE__ */ jsxRuntime.jsx(index.DeviceOverrideBlock, {
158
- as: component,
159
- textAlign: data == null ? void 0 : data.textAlign,
160
- children: nodes == null ? void 0 : nodes.map((node, idx) => /* @__PURE__ */ jsxRuntime.jsx(Node, __spreadValues({}, node), idx.toString()))
81
+ const enhancedTypography = typography.useEnhancedTypography(descendant.typography);
82
+ const typographyClassName = typography.useTypographyClassName(enhancedTypography);
83
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
84
+ className: typographyClassName,
85
+ children: descendant.text
161
86
  });
162
87
  }
163
- function Inline({
164
- type,
165
- nodes,
166
- data
88
+ function InlineElement({
89
+ descendant
167
90
  }) {
168
- const children = nodes == null ? void 0 : nodes.map((node, idx) => /* @__PURE__ */ jsxRuntime.jsx(Node, __spreadValues({}, node), idx.toString()));
169
91
  const linkClassName = next.useStyle({
170
92
  textDecoration: "none"
171
93
  });
172
- switch (type) {
173
- case "code":
94
+ switch (descendant.type) {
95
+ case richText.InlineType.Code:
174
96
  return /* @__PURE__ */ jsxRuntime.jsx("code", {
175
- children
97
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
98
+ descendants: descendant.children
99
+ })
176
100
  });
177
- case "superscript":
101
+ case richText.InlineType.SuperScript:
178
102
  return /* @__PURE__ */ jsxRuntime.jsx("sup", {
179
- children
103
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
104
+ descendants: descendant.children
105
+ })
180
106
  });
181
- case "subscript":
107
+ case richText.InlineType.SubScript:
182
108
  return /* @__PURE__ */ jsxRuntime.jsx("sub", {
183
- children
109
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
110
+ descendants: descendant.children
111
+ })
184
112
  });
185
- case "link":
186
- return /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, {
113
+ case richText.InlineType.Link:
114
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Link, {
187
115
  className: linkClassName,
188
- link: data,
189
- children
190
- });
191
- default:
192
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
193
- children
116
+ link: descendant.link,
117
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
118
+ descendants: descendant.children
119
+ })
194
120
  });
195
121
  }
196
122
  }
197
- function Text({
198
- marks,
199
- text = ""
123
+ function BlockElement({
124
+ descendant
200
125
  }) {
201
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
202
- children: (marks != null ? marks : []).reduce((element, mark) => /* @__PURE__ */ jsxRuntime.jsx(Mark, __spreadProps(__spreadValues({}, mark), {
203
- children: element
204
- })), /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
205
- children: text === "" ? "\uFEFF" : text
206
- }))
207
- });
126
+ const blockStyles = [next.useStyle({
127
+ margin: 0
128
+ }), next.useStyle(next.responsiveStyle([descendant.textAlign], ([textAlign = "left"]) => ({
129
+ textAlign
130
+ })))];
131
+ switch (descendant.type) {
132
+ case richText.BlockType.Paragraph:
133
+ return /* @__PURE__ */ jsxRuntime.jsx("p", {
134
+ className: css.cx(...blockStyles),
135
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
136
+ descendants: descendant.children
137
+ })
138
+ });
139
+ case richText.BlockType.Heading1:
140
+ return /* @__PURE__ */ jsxRuntime.jsx("h1", {
141
+ className: css.cx(...blockStyles),
142
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
143
+ descendants: descendant.children
144
+ })
145
+ });
146
+ case richText.BlockType.Heading2:
147
+ return /* @__PURE__ */ jsxRuntime.jsx("h2", {
148
+ className: css.cx(...blockStyles),
149
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
150
+ descendants: descendant.children
151
+ })
152
+ });
153
+ case richText.BlockType.Heading3:
154
+ return /* @__PURE__ */ jsxRuntime.jsx("h3", {
155
+ className: css.cx(...blockStyles),
156
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
157
+ descendants: descendant.children
158
+ })
159
+ });
160
+ case richText.BlockType.Heading4:
161
+ return /* @__PURE__ */ jsxRuntime.jsx("h4", {
162
+ className: css.cx(...blockStyles),
163
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
164
+ descendants: descendant.children
165
+ })
166
+ });
167
+ case richText.BlockType.Heading5:
168
+ return /* @__PURE__ */ jsxRuntime.jsx("h5", {
169
+ className: css.cx(...blockStyles),
170
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
171
+ descendants: descendant.children
172
+ })
173
+ });
174
+ case richText.BlockType.Heading6:
175
+ return /* @__PURE__ */ jsxRuntime.jsx("h6", {
176
+ className: css.cx(...blockStyles),
177
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
178
+ descendants: descendant.children
179
+ })
180
+ });
181
+ case richText.BlockType.BlockQuote:
182
+ return /* @__PURE__ */ jsxRuntime.jsx("blockquote", {
183
+ className: css.cx(...blockStyles, next.useStyle({
184
+ padding: "0.5em 10px",
185
+ fontSize: "1.25em",
186
+ fontWeight: "300",
187
+ borderLeft: "5px solid rgba(0, 0, 0, 0.1)"
188
+ })),
189
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
190
+ descendants: descendant.children
191
+ })
192
+ });
193
+ case richText.BlockType.OrderedList:
194
+ return /* @__PURE__ */ jsxRuntime.jsx("ol", {
195
+ className: css.cx(...blockStyles),
196
+ style: {
197
+ listStylePosition: "inside"
198
+ },
199
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
200
+ descendants: descendant.children
201
+ })
202
+ });
203
+ case richText.BlockType.UnorderedList:
204
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", {
205
+ className: css.cx(...blockStyles),
206
+ style: {
207
+ listStylePosition: "inside"
208
+ },
209
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
210
+ descendants: descendant.children
211
+ })
212
+ });
213
+ case richText.BlockType.ListItem:
214
+ return /* @__PURE__ */ jsxRuntime.jsx("li", {
215
+ className: css.cx(...blockStyles),
216
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
217
+ descendants: descendant.children
218
+ })
219
+ });
220
+ case richText.BlockType.ListItemChild:
221
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
222
+ className: css.cx(...blockStyles),
223
+ children: /* @__PURE__ */ jsxRuntime.jsx(Descendants, {
224
+ descendants: descendant.children
225
+ })
226
+ });
227
+ }
208
228
  }
209
- const TYPOGRAPHY_MARK_TYPE = "typography";
210
- function Mark({
211
- type,
212
- children,
213
- data
229
+ function Descendants({
230
+ descendants
214
231
  }) {
215
- if (type !== TYPOGRAPHY_MARK_TYPE)
216
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
217
- children
218
- });
219
- return /* @__PURE__ */ jsxRuntime.jsx(index.Mark, {
220
- value: data == null ? void 0 : data.value,
221
- children
232
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
233
+ children: descendants.map((d) => {
234
+ switch (d.type) {
235
+ case richText.TextType.Typography:
236
+ return /* @__PURE__ */ jsxRuntime.jsx(TypographyElement, {
237
+ descendant: d
238
+ });
239
+ case richText.TextType.Text:
240
+ return /* @__PURE__ */ jsxRuntime.jsx(TextElement, {
241
+ descendant: d
242
+ });
243
+ case richText.InlineType.Link:
244
+ case richText.InlineType.Code:
245
+ case richText.InlineType.SubScript:
246
+ case richText.InlineType.SuperScript:
247
+ return /* @__PURE__ */ jsxRuntime.jsx(InlineElement, {
248
+ descendant: d
249
+ });
250
+ case richText.BlockType.Heading1:
251
+ case richText.BlockType.Heading2:
252
+ case richText.BlockType.Heading3:
253
+ case richText.BlockType.BlockQuote:
254
+ case richText.BlockType.Paragraph:
255
+ case richText.BlockType.OrderedList:
256
+ case richText.BlockType.UnorderedList:
257
+ case richText.BlockType.ListItem:
258
+ case richText.BlockType.ListItemChild:
259
+ return /* @__PURE__ */ jsxRuntime.jsx(BlockElement, {
260
+ descendant: d
261
+ });
262
+ default:
263
+ return null;
264
+ }
265
+ })
222
266
  });
223
267
  }
224
- function getNodeText(node) {
225
- var _a, _b, _c, _d, _e, _f, _g;
226
- switch (node.object) {
227
- case "document":
228
- return (_b = (_a = node == null ? void 0 : node.nodes) == null ? void 0 : _a.map((node2) => getNodeText(node2)).join("\n")) != null ? _b : "";
229
- case "block":
230
- return (_d = (_c = node == null ? void 0 : node.nodes) == null ? void 0 : _c.map((node2) => getNodeText(node2)).join(node.nodes.every((node2) => node2.object === "block") ? "\n" : "")) != null ? _d : "";
231
- case "inline":
232
- return (_f = (_e = node == null ? void 0 : node.nodes) == null ? void 0 : _e.map((node2) => getNodeText(node2)).join("")) != null ? _f : "";
233
- case "text":
234
- return (_g = node.text) != null ? _g : "";
235
- default:
236
- return "";
237
- }
238
- }
268
+ exports.BlockElement = BlockElement;
269
+ exports.TextElement = TextElement;
270
+ exports.TypographyElement = TypographyElement;
239
271
  exports["default"] = ReadOnlyText;
240
272
  //# sourceMappingURL=ReadOnlyText.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadOnlyText.cjs.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef, ReactNode } from 'react'\nimport type { BlockJSON, DocumentJSON, InlineJSON, MarkJSON, NodeJSON, TextJSON } from 'slate'\nimport type {\n ElementIDValue,\n LinkValue,\n RichTextValue,\n} from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport DeviceOverrideBlock from './components/RichTextEditor/components/Block'\nimport DeviceOverrideMark from './components/RichTextEditor/components/Mark'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n // NOTE: Adding `object: 'document'` here is done to support some old bad data that didn't have\n // the `object` field in the document node. This was due to the value not being passed in the\n // `Props.RichText` preset.\n const document: DocumentJSON | null =\n text?.document == null ? null : { ...text.document, object: 'document' }\n const plaintext = document == null ? '' : getNodeText(document)\n\n return (\n <div ref={ref} id={id} className={cx(width, margin)}>\n {plaintext === '' ? <Placeholder /> : <Node {...document} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nfunction Node(props: NodeJSON) {\n switch (props.object) {\n case 'document':\n return <Document {...props} />\n\n case 'block':\n return <Block {...props} />\n\n case 'inline':\n return <Inline {...props} />\n\n case 'text':\n return <Text {...props} />\n\n default:\n return null\n }\n}\n\nfunction Document({ nodes }: DocumentJSON) {\n return (\n <>\n {nodes?.map((node, idx) => (\n <Node key={idx.toString()} {...node} />\n ))}\n </>\n )\n}\n\ntype OrderedListProps = ComponentPropsWithoutRef<'ol'>\n\nfunction OrderedList(props: OrderedListProps) {\n return <ol className=\"ordered-list\" {...props} style={{ listStylePosition: 'inside' }} />\n}\n\ntype UnorderedListProps = ComponentPropsWithoutRef<'ul'>\n\nfunction UnorderedList(props: UnorderedListProps) {\n return <ul className=\"unordered-list\" {...props} style={{ listStylePosition: 'inside' }} />\n}\n\ntype ListItemProps = ComponentPropsWithoutRef<'li'>\n\nfunction ListItem(props: ListItemProps) {\n return <li className=\"list-item\" {...props} />\n}\n\ntype ListItemChildProps = ComponentPropsWithoutRef<'span'>\n\nfunction ListItemChild(props: ListItemChildProps) {\n return <span className=\"list-item-child\" {...props} />\n}\n\nfunction Block({ type, data, nodes }: BlockJSON) {\n const component = {\n paragraph: 'p',\n 'heading-one': 'h1',\n 'heading-two': 'h2',\n 'heading-three': 'h3',\n 'heading-four': 'h4',\n 'heading-five': 'h5',\n 'heading-six': 'h6',\n blockquote: 'blockquote',\n 'ordered-list': OrderedList,\n 'unordered-list': UnorderedList,\n 'list-item': ListItem,\n 'list-item-child': ListItemChild,\n }[type]\n\n return (\n <DeviceOverrideBlock as={component} textAlign={data?.textAlign}>\n {nodes?.map((node, idx) => (\n <Node key={idx.toString()} {...node} />\n ))}\n </DeviceOverrideBlock>\n )\n}\n\nfunction Inline({ type, nodes, data }: InlineJSON) {\n const children = nodes?.map((node, idx) => <Node key={idx.toString()} {...node} />)\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (type) {\n case 'code':\n return <code>{children}</code>\n\n case 'superscript':\n return <sup>{children}</sup>\n\n case 'subscript':\n return <sub>{children}</sub>\n\n case 'link':\n return (\n <Link className={linkClassName} link={data as LinkValue | undefined}>\n {children}\n </Link>\n )\n\n default:\n return <>{children}</>\n }\n}\n\nfunction Text({ marks, text = '' }: TextJSON) {\n return (\n <>\n {(marks ?? []).reduce(\n (element, mark) => (\n <Mark {...mark}>{element}</Mark>\n ),\n <>{text === '' ? '\\uFEFF' : text}</>,\n )}\n </>\n )\n}\n\nconst TYPOGRAPHY_MARK_TYPE = 'typography'\n\nfunction Mark({ type, children, data }: MarkJSON & { children: ReactNode }) {\n if (type !== TYPOGRAPHY_MARK_TYPE) return <>{children}</>\n\n return <DeviceOverrideMark value={data?.value}>{children}</DeviceOverrideMark>\n}\n\nfunction getNodeText(node: NodeJSON): string {\n switch (node.object) {\n case 'document':\n return node?.nodes?.map(node => getNodeText(node)).join('\\n') ?? ''\n\n case 'block':\n return (\n node?.nodes\n ?.map(node => getNodeText(node))\n .join(node.nodes.every(node => node.object === 'block') ? '\\n' : '') ?? ''\n )\n\n case 'inline':\n return node?.nodes?.map(node => getNodeText(node)).join('') ?? ''\n\n case 'text':\n return node.text ?? ''\n\n default:\n return ''\n }\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","document","object","plaintext","getNodeText","cx","_jsx","useStyle","display","maxWidth","whiteSpace","opacity","verticalAlign","props","nodes","_Fragment","map","node","idx","toString","listStylePosition","type","data","component","paragraph","blockquote","OrderedList","UnorderedList","ListItem","ListItemChild","DeviceOverrideBlock","textAlign","children","linkClassName","textDecoration","Link","marks","reduce","element","mark","TYPOGRAPHY_MARK_TYPE","DeviceOverrideMark","value","join","every"],"mappings":"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"}
1
+ {"version":3,"file":"ReadOnlyText.cjs.js","sources":["../src/components/builtin/Text/ReadOnlyText.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { Descendant } from 'slate'\nimport {\n Block,\n BlockType,\n Inline,\n InlineType,\n richTextDTOtoDAO,\n Text,\n TextType,\n TypographyText,\n} from '../../../controls'\nimport type { ElementIDValue, RichTextValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Link } from '../../shared/Link'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport useEnhancedTypography, { useTypographyClassName } from './components/Leaf/typography'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: string\n margin?: string\n}\n\nconst ReadOnlyText = forwardRef(function ReadOnlyText(\n { id, text, width, margin }: Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descendants = text == null ? '' : richTextDTOtoDAO(text)\n return (\n <div ref={ref} id={id} className={cx(width, margin)}>\n {descendants === '' ? <Placeholder /> : <Descendants descendants={descendants} />}\n </div>\n )\n})\n\nexport default ReadOnlyText\n\nfunction Placeholder({ text = 'Write some text...' }: { text?: string }) {\n return (\n <span\n className={useStyle({\n display: 'inline-block',\n width: 0,\n maxWidth: '100%',\n whiteSpace: 'nowrap',\n opacity: 0.333,\n verticalAlign: 'text-top',\n })}\n >\n {text}\n </span>\n )\n}\n\nexport interface TextProps {\n descendant: Text\n}\n\nexport function TextElement({ descendant }: TextProps) {\n return <span>{descendant.text}</span>\n}\n\nexport interface TypographyProps {\n descendant: TypographyText\n}\n\nexport function TypographyElement({ descendant }: TypographyProps) {\n const enhancedTypography = useEnhancedTypography(descendant.typography)\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return <span className={typographyClassName}>{descendant.text}</span>\n}\n\nexport interface InlineProps {\n descendant: Inline\n}\n\nfunction InlineElement({ descendant }: InlineProps) {\n const linkClassName = useStyle({ textDecoration: 'none' })\n\n switch (descendant.type) {\n case InlineType.Code:\n return (\n <code>\n <Descendants descendants={descendant.children} />\n </code>\n )\n\n case InlineType.SuperScript:\n return (\n <sup>\n <Descendants descendants={descendant.children} />\n </sup>\n )\n\n case InlineType.SubScript:\n return (\n <sub>\n <Descendants descendants={descendant.children} />\n </sub>\n )\n\n case InlineType.Link:\n return (\n <Link className={linkClassName} link={descendant.link}>\n <Descendants descendants={descendant.children} />\n </Link>\n )\n }\n}\n\nexport interface BlockProps {\n descendant: Block\n}\n\nexport function BlockElement({ descendant }: BlockProps) {\n const blockStyles = [\n useStyle({ margin: 0 }),\n useStyle(responsiveStyle([descendant.textAlign], ([textAlign = 'left']) => ({ textAlign }))),\n ]\n\n switch (descendant.type) {\n case BlockType.Paragraph:\n return (\n <p className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote\n className={cx(\n ...blockStyles,\n useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n }),\n )}\n >\n <Descendants descendants={descendant.children} />\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul className={cx(...blockStyles)} style={{ listStylePosition: 'inside' }}>\n <Descendants descendants={descendant.children} />\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span className={cx(...blockStyles)}>\n <Descendants descendants={descendant.children} />\n </span>\n )\n }\n}\n\nfunction Descendants({ descendants }: { descendants: Descendant[] }) {\n return (\n <>\n {descendants.map(d => {\n switch (d.type) {\n case TextType.Typography:\n return <TypographyElement descendant={d} />\n case TextType.Text:\n return <TextElement descendant={d} />\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return <InlineElement descendant={d} />\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return <BlockElement descendant={d} />\n default:\n return null\n }\n })}\n </>\n )\n}\n"],"names":["ReadOnlyText","forwardRef","id","text","width","margin","ref","descendants","richTextDTOtoDAO","cx","_jsx","useStyle","display","maxWidth","whiteSpace","opacity","verticalAlign","descendant","enhancedTypography","useEnhancedTypography","typography","typographyClassName","useTypographyClassName","linkClassName","textDecoration","type","InlineType","Code","children","SuperScript","SubScript","Link","link","blockStyles","responsiveStyle","textAlign","BlockType","Paragraph","Heading1","Heading2","Heading3","Heading4","Heading5","Heading6","BlockQuote","padding","fontSize","fontWeight","borderLeft","OrderedList","listStylePosition","UnorderedList","ListItem","ListItemChild","_Fragment","map","d","TextType","Typography","Text"],"mappings":"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"}