@makeswift/runtime 0.0.0-1faafb3 → 0.0.0-20221019211549

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 (619) hide show
  1. package/api.js +1 -0
  2. package/box-model.js +1 -0
  3. package/builder.js +1 -0
  4. package/components.js +1 -0
  5. package/controls.js +1 -0
  6. package/dist/Box.cjs.js +507 -0
  7. package/dist/Box.cjs.js.map +1 -0
  8. package/dist/Box.es.js +501 -0
  9. package/dist/Box.es.js.map +1 -0
  10. package/dist/Button.cjs.js +315 -0
  11. package/dist/Button.cjs.js.map +1 -0
  12. package/dist/Button.es.js +308 -0
  13. package/dist/Button.es.js.map +1 -0
  14. package/dist/Carousel.cjs.js +493 -0
  15. package/dist/Carousel.cjs.js.map +1 -0
  16. package/dist/Carousel.es.js +487 -0
  17. package/dist/Carousel.es.js.map +1 -0
  18. package/dist/Countdown.cjs.js +347 -0
  19. package/dist/Countdown.cjs.js.map +1 -0
  20. package/dist/Countdown.es.js +341 -0
  21. package/dist/Countdown.es.js.map +1 -0
  22. package/dist/Divider.cjs.js +122 -0
  23. package/dist/Divider.cjs.js.map +1 -0
  24. package/dist/Divider.es.js +116 -0
  25. package/dist/Divider.es.js.map +1 -0
  26. package/dist/Embed.cjs.js +136 -0
  27. package/dist/Embed.cjs.js.map +1 -0
  28. package/dist/Embed.es.js +130 -0
  29. package/dist/Embed.es.js.map +1 -0
  30. package/dist/Form.cjs.js +1731 -0
  31. package/dist/Form.cjs.js.map +1 -0
  32. package/dist/Form.es.js +1704 -0
  33. package/dist/Form.es.js.map +1 -0
  34. package/dist/Image.cjs2.js +155 -0
  35. package/dist/Image.cjs2.js.map +1 -0
  36. package/dist/Image.es2.js +148 -0
  37. package/dist/Image.es2.js.map +1 -0
  38. package/dist/Navigation.cjs.js +742 -0
  39. package/dist/Navigation.cjs.js.map +1 -0
  40. package/dist/Navigation.es.js +716 -0
  41. package/dist/Navigation.es.js.map +1 -0
  42. package/dist/Root.cjs.js +149 -0
  43. package/dist/Root.cjs.js.map +1 -0
  44. package/dist/Root.es.js +143 -0
  45. package/dist/Root.es.js.map +1 -0
  46. package/dist/SocialLinks.cjs.js +906 -0
  47. package/dist/SocialLinks.cjs.js.map +1 -0
  48. package/dist/SocialLinks.es.js +880 -0
  49. package/dist/SocialLinks.es.js.map +1 -0
  50. package/dist/Text.cjs.js +482 -0
  51. package/dist/Text.cjs.js.map +1 -0
  52. package/dist/Text.es.js +474 -0
  53. package/dist/Text.es.js.map +1 -0
  54. package/dist/Video.cjs.js +128 -0
  55. package/dist/Video.cjs.js.map +1 -0
  56. package/dist/Video.es.js +121 -0
  57. package/dist/Video.es.js.map +1 -0
  58. package/dist/actions.cjs.js +140 -17
  59. package/dist/actions.cjs.js.map +1 -1
  60. package/dist/actions.es.js +122 -16
  61. package/dist/actions.es.js.map +1 -1
  62. package/dist/api.cjs.js +6 -0
  63. package/dist/api.cjs.js.map +1 -0
  64. package/dist/api.es.js +3 -0
  65. package/dist/api.es.js.map +1 -0
  66. package/dist/box-model.cjs.js +2 -2
  67. package/dist/box-model.es.js +1 -0
  68. package/dist/box-model.es.js.map +1 -1
  69. package/dist/box-models.cjs.js +28 -156
  70. package/dist/box-models.cjs.js.map +1 -1
  71. package/dist/box-models.es.js +31 -159
  72. package/dist/box-models.es.js.map +1 -1
  73. package/dist/builder.cjs.js +13 -0
  74. package/dist/builder.cjs.js.map +1 -0
  75. package/dist/builder.es.js +4 -0
  76. package/dist/builder.es.js.map +1 -0
  77. package/dist/color.cjs.js +8 -0
  78. package/dist/color.cjs.js.map +1 -0
  79. package/dist/color.es.js +6 -0
  80. package/dist/color.es.js.map +1 -0
  81. package/dist/components.cjs.js +107 -6901
  82. package/dist/components.cjs.js.map +1 -1
  83. package/dist/components.es.js +66 -6866
  84. package/dist/components.es.js.map +1 -1
  85. package/dist/constants.cjs.js +15 -0
  86. package/dist/constants.cjs.js.map +1 -0
  87. package/dist/constants.es.js +14 -0
  88. package/dist/constants.es.js.map +1 -0
  89. package/dist/control-serialization.cjs.js +485 -0
  90. package/dist/control-serialization.cjs.js.map +1 -0
  91. package/dist/control-serialization.es.js +478 -0
  92. package/dist/control-serialization.es.js.map +1 -0
  93. package/dist/controls.cjs.js +38 -0
  94. package/dist/controls.cjs.js.map +1 -0
  95. package/dist/controls.es.js +6 -0
  96. package/dist/controls.es.js.map +1 -0
  97. package/dist/cssMediaRules.cjs.js +210 -0
  98. package/dist/cssMediaRules.cjs.js.map +1 -0
  99. package/dist/cssMediaRules.es.js +201 -0
  100. package/dist/cssMediaRules.es.js.map +1 -0
  101. package/dist/graphql.cjs.js +365 -0
  102. package/dist/graphql.cjs.js.map +1 -0
  103. package/dist/graphql.es.js +356 -0
  104. package/dist/graphql.es.js.map +1 -0
  105. package/dist/image.cjs.js +282 -0
  106. package/dist/image.cjs.js.map +1 -0
  107. package/dist/image.es.js +240 -0
  108. package/dist/image.es.js.map +1 -0
  109. package/dist/index.cjs.js +3211 -0
  110. package/dist/index.cjs.js.map +1 -0
  111. package/dist/index.cjs2.js +522 -0
  112. package/dist/index.cjs2.js.map +1 -0
  113. package/dist/index.cjs3.js +146 -0
  114. package/dist/index.cjs3.js.map +1 -0
  115. package/dist/index.cjs4.js +18 -0
  116. package/dist/index.cjs4.js.map +1 -0
  117. package/dist/index.es.js +3104 -0
  118. package/dist/index.es.js.map +1 -0
  119. package/dist/index.es2.js +514 -0
  120. package/dist/index.es2.js.map +1 -0
  121. package/dist/index.es3.js +140 -0
  122. package/dist/index.es3.js.map +1 -0
  123. package/dist/index.es4.js +13 -0
  124. package/dist/index.es4.js.map +1 -0
  125. package/dist/main.cjs.js +16 -2
  126. package/dist/main.cjs.js.map +1 -1
  127. package/dist/main.es.js +7 -1
  128. package/dist/main.es.js.map +1 -1
  129. package/dist/next.cjs.js +432 -0
  130. package/dist/next.cjs.js.map +1 -0
  131. package/dist/next.es.js +416 -0
  132. package/dist/next.es.js.map +1 -0
  133. package/dist/placeholders.cjs.js +13 -0
  134. package/dist/placeholders.cjs.js.map +1 -0
  135. package/dist/placeholders.es.js +12 -0
  136. package/dist/placeholders.es.js.map +1 -0
  137. package/dist/prop-controllers.cjs.js +6 -175
  138. package/dist/prop-controllers.cjs.js.map +1 -1
  139. package/dist/prop-controllers.es.js +2 -173
  140. package/dist/prop-controllers.es.js.map +1 -1
  141. package/dist/react-builder-preview.cjs.js +257 -4138
  142. package/dist/react-builder-preview.cjs.js.map +1 -1
  143. package/dist/react-builder-preview.es.js +249 -4134
  144. package/dist/react-builder-preview.es.js.map +1 -1
  145. package/dist/react-page.cjs.js +602 -0
  146. package/dist/react-page.cjs.js.map +1 -0
  147. package/dist/react-page.es.js +566 -0
  148. package/dist/react-page.es.js.map +1 -0
  149. package/dist/react.cjs.js +41 -7
  150. package/dist/react.cjs.js.map +1 -1
  151. package/dist/react.es.js +33 -1
  152. package/dist/react.es.js.map +1 -1
  153. package/dist/shape.cjs.js +20 -0
  154. package/dist/shape.cjs.js.map +1 -0
  155. package/dist/shape.es.js +14 -0
  156. package/dist/shape.es.js.map +1 -0
  157. package/dist/slot.cjs.js +130 -0
  158. package/dist/slot.cjs.js.map +1 -0
  159. package/dist/slot.es.js +123 -0
  160. package/dist/slot.es.js.map +1 -0
  161. package/dist/text-input.cjs.js +38 -0
  162. package/dist/text-input.cjs.js.map +1 -0
  163. package/dist/text-input.es.js +26 -0
  164. package/dist/text-input.es.js.map +1 -0
  165. package/dist/types/src/api/constants.d.ts +4 -0
  166. package/dist/types/src/api/constants.d.ts.map +1 -0
  167. package/dist/types/src/api/generated/graphql.d.ts +175 -0
  168. package/dist/types/src/api/generated/graphql.d.ts.map +1 -0
  169. package/dist/types/src/api/index.d.ts +3 -0
  170. package/dist/types/src/api/index.d.ts.map +1 -0
  171. package/dist/types/src/api/introspection.d.ts +10 -0
  172. package/dist/types/src/api/introspection.d.ts.map +1 -0
  173. package/dist/types/src/api/react.d.ts +27 -0
  174. package/dist/types/src/api/react.d.ts.map +1 -0
  175. package/dist/types/src/api/types.d.ts +4 -0
  176. package/dist/types/src/api/types.d.ts.map +1 -0
  177. package/dist/types/src/box-model.d.ts +3 -0
  178. package/dist/types/src/box-model.d.ts.map +1 -0
  179. package/dist/types/src/builder/index.d.ts +2 -0
  180. package/dist/types/src/builder/index.d.ts.map +1 -0
  181. package/dist/types/src/builder/serialization/control-serialization.d.ts +301 -0
  182. package/dist/types/src/builder/serialization/control-serialization.d.ts.map +1 -0
  183. package/dist/types/src/builder/serialization/controls/combobox.d.ts +5 -0
  184. package/dist/types/src/builder/serialization/controls/combobox.d.ts.map +1 -0
  185. package/dist/types/src/builder/serialization/controls/list.d.ts +5 -0
  186. package/dist/types/src/builder/serialization/controls/list.d.ts.map +1 -0
  187. package/dist/types/src/builder/serialization/controls/shape.d.ts +5 -0
  188. package/dist/types/src/builder/serialization/controls/shape.d.ts.map +1 -0
  189. package/dist/types/src/builder/serialization/controls/types.d.ts +10 -0
  190. package/dist/types/src/builder/serialization/controls/types.d.ts.map +1 -0
  191. package/dist/types/src/builder/serialization/function-serialization.d.ts +12 -0
  192. package/dist/types/src/builder/serialization/function-serialization.d.ts.map +1 -0
  193. package/dist/types/src/builder/serialization/index.d.ts +4 -0
  194. package/dist/types/src/builder/serialization/index.d.ts.map +1 -0
  195. package/dist/types/{components → src/components/builtin}/Box/Box.d.ts +8 -5
  196. package/dist/types/src/components/builtin/Box/Box.d.ts.map +1 -0
  197. package/dist/types/{components → src/components/builtin}/Box/animations.d.ts +3 -10
  198. package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -0
  199. package/dist/types/{components → src/components/builtin}/Box/components/Placeholder/index.d.ts +0 -0
  200. package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -0
  201. package/dist/types/src/components/builtin/Box/constants.d.ts +9 -0
  202. package/dist/types/src/components/builtin/Box/constants.d.ts.map +1 -0
  203. package/dist/types/{components → src/components/builtin}/Box/index.d.ts +1 -1
  204. package/dist/types/src/components/builtin/Box/index.d.ts.map +1 -0
  205. package/dist/types/src/components/builtin/Box/register.d.ts +3 -0
  206. package/dist/types/src/components/builtin/Box/register.d.ts.map +1 -0
  207. package/dist/types/src/components/builtin/Button/Button.d.ts +117 -0
  208. package/dist/types/src/components/builtin/Button/Button.d.ts.map +1 -0
  209. package/dist/types/src/components/builtin/Button/contants.d.ts +2 -0
  210. package/dist/types/src/components/builtin/Button/contants.d.ts.map +1 -0
  211. package/dist/types/src/components/builtin/Button/index.d.ts +2 -0
  212. package/dist/types/src/components/builtin/Button/index.d.ts.map +1 -0
  213. package/dist/types/src/components/builtin/Button/register.d.ts +3 -0
  214. package/dist/types/src/components/builtin/Button/register.d.ts.map +1 -0
  215. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts +26 -0
  216. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts.map +1 -0
  217. package/dist/types/src/components/builtin/Carousel/index.d.ts +2 -0
  218. package/dist/types/src/components/builtin/Carousel/index.d.ts.map +1 -0
  219. package/dist/types/src/components/builtin/Carousel/register.d.ts +3 -0
  220. package/dist/types/src/components/builtin/Carousel/register.d.ts.map +1 -0
  221. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts +25 -0
  222. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts.map +1 -0
  223. package/dist/types/src/components/builtin/Countdown/index.d.ts +2 -0
  224. package/dist/types/src/components/builtin/Countdown/index.d.ts.map +1 -0
  225. package/dist/types/src/components/builtin/Countdown/register.d.ts +3 -0
  226. package/dist/types/src/components/builtin/Countdown/register.d.ts.map +1 -0
  227. package/dist/types/src/components/builtin/Divider/Divider.d.ts +15 -0
  228. package/dist/types/src/components/builtin/Divider/Divider.d.ts.map +1 -0
  229. package/dist/types/src/components/builtin/Divider/index.d.ts +2 -0
  230. package/dist/types/src/components/builtin/Divider/index.d.ts.map +1 -0
  231. package/dist/types/src/components/builtin/Divider/register.d.ts +3 -0
  232. package/dist/types/src/components/builtin/Divider/register.d.ts.map +1 -0
  233. package/dist/types/src/components/builtin/Embed/Embed.d.ts +11 -0
  234. package/dist/types/src/components/builtin/Embed/Embed.d.ts.map +1 -0
  235. package/dist/types/src/components/builtin/Embed/index.d.ts +2 -0
  236. package/dist/types/src/components/builtin/Embed/index.d.ts.map +1 -0
  237. package/dist/types/src/components/builtin/Embed/register.d.ts +3 -0
  238. package/dist/types/src/components/builtin/Embed/register.d.ts.map +1 -0
  239. package/dist/types/src/components/builtin/Form/Form.d.ts +33 -0
  240. package/dist/types/src/components/builtin/Form/Form.d.ts.map +1 -0
  241. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +15 -0
  242. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -0
  243. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +15 -0
  244. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -0
  245. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +11 -0
  246. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -0
  247. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts +14 -0
  248. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -0
  249. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts +16 -0
  250. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -0
  251. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +10 -0
  252. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -0
  253. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts +23 -0
  254. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -0
  255. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +11 -0
  256. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -0
  257. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +11 -0
  258. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -0
  259. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +3 -0
  260. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -0
  261. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +17 -0
  262. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -0
  263. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +11 -0
  264. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -0
  265. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts +23 -0
  266. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -0
  267. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +19 -0
  268. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -0
  269. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts +24 -0
  270. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts.map +1 -0
  271. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts +13 -0
  272. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -0
  273. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +11 -0
  274. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -0
  275. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +19 -0
  276. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -0
  277. package/dist/types/src/components/builtin/Form/components/Field/services/cssField.d.ts +11 -0
  278. package/dist/types/src/components/builtin/Form/components/Field/services/cssField.d.ts.map +1 -0
  279. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts +10 -0
  280. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -0
  281. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts +3 -0
  282. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -0
  283. package/dist/types/src/components/builtin/Form/context/FormContext.d.ts +39 -0
  284. package/dist/types/src/components/builtin/Form/context/FormContext.d.ts.map +1 -0
  285. package/dist/types/src/components/builtin/Form/index.d.ts +2 -0
  286. package/dist/types/src/components/builtin/Form/index.d.ts.map +1 -0
  287. package/dist/types/src/components/builtin/Form/register.d.ts +3 -0
  288. package/dist/types/src/components/builtin/Form/register.d.ts.map +1 -0
  289. package/dist/types/src/components/builtin/Form/types.d.ts +62 -0
  290. package/dist/types/src/components/builtin/Form/types.d.ts.map +1 -0
  291. package/dist/types/src/components/builtin/Image/Image.d.ts +26 -0
  292. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -0
  293. package/dist/types/src/components/builtin/Image/index.d.ts +2 -0
  294. package/dist/types/src/components/builtin/Image/index.d.ts.map +1 -0
  295. package/dist/types/src/components/builtin/Image/register.d.ts +3 -0
  296. package/dist/types/src/components/builtin/Image/register.d.ts.map +1 -0
  297. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts +24 -0
  298. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts.map +1 -0
  299. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts +100 -0
  300. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -0
  301. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +8 -0
  302. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -0
  303. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +101 -0
  304. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -0
  305. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +14 -0
  306. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -0
  307. package/dist/types/src/components/builtin/Navigation/index.d.ts +2 -0
  308. package/dist/types/src/components/builtin/Navigation/index.d.ts.map +1 -0
  309. package/dist/types/src/components/builtin/Navigation/register.d.ts +3 -0
  310. package/dist/types/src/components/builtin/Navigation/register.d.ts.map +1 -0
  311. package/dist/types/src/components/builtin/Root/Root.d.ts +12 -0
  312. package/dist/types/src/components/builtin/Root/Root.d.ts.map +1 -0
  313. package/dist/types/{components → src/components/builtin}/Root/components/Placeholder/index.d.ts +0 -0
  314. package/dist/types/src/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -0
  315. package/dist/types/{components → src/components/builtin}/Root/index.d.ts +0 -0
  316. package/dist/types/src/components/builtin/Root/index.d.ts.map +1 -0
  317. package/dist/types/src/components/builtin/Root/register.d.ts +3 -0
  318. package/dist/types/src/components/builtin/Root/register.d.ts.map +1 -0
  319. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts +19 -0
  320. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -0
  321. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +8 -0
  322. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -0
  323. package/dist/types/src/components/builtin/SocialLinks/index.d.ts +2 -0
  324. package/dist/types/src/components/builtin/SocialLinks/index.d.ts.map +1 -0
  325. package/dist/types/src/components/builtin/SocialLinks/options.d.ts +118 -0
  326. package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -0
  327. package/dist/types/src/components/builtin/SocialLinks/register.d.ts +3 -0
  328. package/dist/types/src/components/builtin/SocialLinks/register.d.ts.map +1 -0
  329. package/dist/types/src/components/builtin/Text/Text.d.ts +16 -0
  330. package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -0
  331. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +13 -0
  332. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -0
  333. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +25 -0
  334. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
  335. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +13 -0
  336. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +1 -0
  337. package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts +5 -0
  338. package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -0
  339. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
  340. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
  341. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
  342. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
  343. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +3 -0
  344. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
  345. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +3 -0
  346. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +1 -0
  347. package/dist/types/src/components/builtin/Text/index.d.ts +2 -0
  348. package/dist/types/src/components/builtin/Text/index.d.ts.map +1 -0
  349. package/dist/types/src/components/builtin/Text/register.d.ts +3 -0
  350. package/dist/types/src/components/builtin/Text/register.d.ts.map +1 -0
  351. package/dist/types/src/components/builtin/Video/Video.d.ts +12 -0
  352. package/dist/types/src/components/builtin/Video/Video.d.ts.map +1 -0
  353. package/dist/types/src/components/builtin/Video/index.d.ts +2 -0
  354. package/dist/types/src/components/builtin/Video/index.d.ts.map +1 -0
  355. package/dist/types/src/components/builtin/Video/register.d.ts +3 -0
  356. package/dist/types/src/components/builtin/Video/register.d.ts.map +1 -0
  357. package/dist/types/src/components/builtin/constants.d.ts +20 -0
  358. package/dist/types/src/components/builtin/constants.d.ts.map +1 -0
  359. package/dist/types/src/components/builtin/index.d.ts +16 -0
  360. package/dist/types/src/components/builtin/index.d.ts.map +1 -0
  361. package/dist/types/src/components/builtin/register.d.ts +3 -0
  362. package/dist/types/src/components/builtin/register.d.ts.map +1 -0
  363. package/dist/types/src/components/hooks/index.d.ts +8 -0
  364. package/dist/types/src/components/hooks/index.d.ts.map +1 -0
  365. package/dist/types/src/components/hooks/useBackgrounds.d.ts +59 -0
  366. package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -0
  367. package/dist/types/src/components/hooks/useBorder.d.ts +19 -0
  368. package/dist/types/src/components/hooks/useBorder.d.ts.map +1 -0
  369. package/dist/types/src/components/hooks/useBoxShadow.d.ts +19 -0
  370. package/dist/types/src/components/hooks/useBoxShadow.d.ts.map +1 -0
  371. package/dist/types/src/components/hooks/useFile.d.ts +13 -0
  372. package/dist/types/src/components/hooks/useFile.d.ts.map +1 -0
  373. package/dist/types/src/components/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  374. package/dist/types/src/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
  375. package/dist/types/{components → src/components}/hooks/useMediaQuery.d.ts +0 -0
  376. package/dist/types/src/components/hooks/useMediaQuery.d.ts.map +1 -0
  377. package/dist/types/src/components/hooks/usePage.d.ts +7 -0
  378. package/dist/types/src/components/hooks/usePage.d.ts.map +1 -0
  379. package/dist/types/src/components/hooks/useResponsiveColor.d.ts +7 -0
  380. package/dist/types/src/components/hooks/useResponsiveColor.d.ts.map +1 -0
  381. package/dist/types/src/components/hooks/useTableFormFieldRefs.d.ts +8 -0
  382. package/dist/types/src/components/hooks/useTableFormFieldRefs.d.ts.map +1 -0
  383. package/dist/types/src/components/hooks/useTypography.d.ts +24 -0
  384. package/dist/types/src/components/hooks/useTypography.d.ts.map +1 -0
  385. package/dist/types/src/components/index.d.ts +5 -0
  386. package/dist/types/src/components/index.d.ts.map +1 -0
  387. package/dist/types/src/components/page/BodySnippet.d.ts +7 -0
  388. package/dist/types/src/components/page/BodySnippet.d.ts.map +1 -0
  389. package/dist/types/src/components/page/Page.d.ts +28 -0
  390. package/dist/types/src/components/page/Page.d.ts.map +1 -0
  391. package/dist/types/src/components/page/index.d.ts +2 -0
  392. package/dist/types/src/components/page/index.d.ts.map +1 -0
  393. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +11 -0
  394. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -0
  395. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +8 -0
  396. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -0
  397. package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts +11 -0
  398. package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -0
  399. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +11 -0
  400. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -0
  401. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts +7 -0
  402. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -0
  403. package/dist/types/src/components/shared/FallbackComponent/index.d.ts +2 -0
  404. package/dist/types/src/components/shared/FallbackComponent/index.d.ts.map +1 -0
  405. package/dist/types/src/components/shared/GutterContainer/index.d.ts +8 -0
  406. package/dist/types/src/components/shared/GutterContainer/index.d.ts.map +1 -0
  407. package/dist/types/src/components/shared/Link/index.d.ts +9 -0
  408. package/dist/types/src/components/shared/Link/index.d.ts.map +1 -0
  409. package/dist/types/src/components/utils/colorToString.d.ts +3 -0
  410. package/dist/types/src/components/utils/colorToString.d.ts.map +1 -0
  411. package/dist/types/{components → src/components}/utils/columns.d.ts +0 -0
  412. package/dist/types/src/components/utils/columns.d.ts.map +1 -0
  413. package/dist/types/{components → src/components}/utils/cssMediaRules.d.ts +23 -1
  414. package/dist/types/src/components/utils/cssMediaRules.d.ts.map +1 -0
  415. package/dist/types/{components → src/components}/utils/devices.d.ts +1 -0
  416. package/dist/types/src/components/utils/devices.d.ts.map +1 -0
  417. package/dist/types/src/components/utils/isNonNullable.d.ts +2 -0
  418. package/dist/types/src/components/utils/isNonNullable.d.ts.map +1 -0
  419. package/dist/types/src/components/utils/placeholders.d.ts +17 -0
  420. package/dist/types/src/components/utils/placeholders.d.ts.map +1 -0
  421. package/dist/types/src/components/utils/queries.d.ts +10 -0
  422. package/dist/types/src/components/utils/queries.d.ts.map +1 -0
  423. package/dist/types/src/components/utils/responsive-style.d.ts +9 -0
  424. package/dist/types/src/components/utils/responsive-style.d.ts.map +1 -0
  425. package/dist/types/src/components/utils/types.d.ts +10 -0
  426. package/dist/types/src/components/utils/types.d.ts.map +1 -0
  427. package/dist/types/src/controls/checkbox.d.ts +13 -0
  428. package/dist/types/src/controls/checkbox.d.ts.map +1 -0
  429. package/dist/types/src/controls/color.d.ts +16 -0
  430. package/dist/types/src/controls/color.d.ts.map +1 -0
  431. package/dist/types/src/controls/combobox.d.ts +22 -0
  432. package/dist/types/src/controls/combobox.d.ts.map +1 -0
  433. package/dist/types/src/controls/control.d.ts +14 -0
  434. package/dist/types/src/controls/control.d.ts.map +1 -0
  435. package/dist/types/src/controls/image.d.ts +24 -0
  436. package/dist/types/src/controls/image.d.ts.map +1 -0
  437. package/dist/types/src/controls/index.d.ts +15 -0
  438. package/dist/types/src/controls/index.d.ts.map +1 -0
  439. package/dist/types/src/controls/link.d.ts +50 -0
  440. package/dist/types/src/controls/link.d.ts.map +1 -0
  441. package/dist/types/src/controls/list.d.ts +26 -0
  442. package/dist/types/src/controls/list.d.ts.map +1 -0
  443. package/dist/types/src/controls/number.d.ts +18 -0
  444. package/dist/types/src/controls/number.d.ts.map +1 -0
  445. package/dist/types/src/controls/select.d.ts +22 -0
  446. package/dist/types/src/controls/select.d.ts.map +1 -0
  447. package/dist/types/src/controls/shape.d.ts +15 -0
  448. package/dist/types/src/controls/shape.d.ts.map +1 -0
  449. package/dist/types/src/controls/slot.d.ts +42 -0
  450. package/dist/types/src/controls/slot.d.ts.map +1 -0
  451. package/dist/types/src/controls/style.d.ts +206 -0
  452. package/dist/types/src/controls/style.d.ts.map +1 -0
  453. package/dist/types/src/controls/text-area.d.ts +14 -0
  454. package/dist/types/src/controls/text-area.d.ts.map +1 -0
  455. package/dist/types/src/controls/text-input.d.ts +13 -0
  456. package/dist/types/src/controls/text-input.d.ts.map +1 -0
  457. package/dist/types/src/controls/types.d.ts +14 -0
  458. package/dist/types/src/controls/types.d.ts.map +1 -0
  459. package/dist/types/{index.d.ts → src/index.d.ts} +3 -1
  460. package/dist/types/src/index.d.ts.map +1 -0
  461. package/dist/types/src/next/api-handler.d.ts +31 -0
  462. package/dist/types/src/next/api-handler.d.ts.map +1 -0
  463. package/dist/types/src/next/client.d.ts +68 -0
  464. package/dist/types/src/next/client.d.ts.map +1 -0
  465. package/dist/types/src/next/document.d.ts +7 -0
  466. package/dist/types/src/next/document.d.ts.map +1 -0
  467. package/dist/types/src/next/dynamic.d.ts +13 -0
  468. package/dist/types/src/next/dynamic.d.ts.map +1 -0
  469. package/dist/types/src/next/index.d.ts +24 -0
  470. package/dist/types/src/next/index.d.ts.map +1 -0
  471. package/dist/types/src/next/preview-mode.d.ts +11 -0
  472. package/dist/types/src/next/preview-mode.d.ts.map +1 -0
  473. package/dist/types/{prop-controllers → src/prop-controllers}/descriptors.d.ts +132 -45
  474. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -0
  475. package/dist/types/src/prop-controllers/index.d.ts +5 -0
  476. package/dist/types/src/prop-controllers/index.d.ts.map +1 -0
  477. package/dist/types/src/prop-controllers/instances.d.ts +102 -0
  478. package/dist/types/src/prop-controllers/instances.d.ts.map +1 -0
  479. package/dist/types/src/prop-controllers/introspection.d.ts +10 -0
  480. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -0
  481. package/dist/types/src/react.d.ts +4 -0
  482. package/dist/types/src/react.d.ts.map +1 -0
  483. package/dist/types/src/runtimes/react/components/index.d.ts +2 -0
  484. package/dist/types/src/runtimes/react/components/index.d.ts.map +1 -0
  485. package/dist/types/src/runtimes/react/components/render-hook.d.ts +14 -0
  486. package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -0
  487. package/dist/types/src/runtimes/react/controls/checkbox.d.ts +4 -0
  488. package/dist/types/src/runtimes/react/controls/checkbox.d.ts.map +1 -0
  489. package/dist/types/src/runtimes/react/controls/color.d.ts +4 -0
  490. package/dist/types/src/runtimes/react/controls/color.d.ts.map +1 -0
  491. package/dist/types/src/runtimes/react/controls/combobox.d.ts +4 -0
  492. package/dist/types/src/runtimes/react/controls/combobox.d.ts.map +1 -0
  493. package/dist/types/src/runtimes/react/controls/control.d.ts +22 -0
  494. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -0
  495. package/dist/types/src/runtimes/react/controls/image.d.ts +13 -0
  496. package/dist/types/src/runtimes/react/controls/image.d.ts.map +1 -0
  497. package/dist/types/src/runtimes/react/controls/link.d.ts +11 -0
  498. package/dist/types/src/runtimes/react/controls/link.d.ts.map +1 -0
  499. package/dist/types/src/runtimes/react/controls/list.d.ts +13 -0
  500. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -0
  501. package/dist/types/src/runtimes/react/controls/number.d.ts +4 -0
  502. package/dist/types/src/runtimes/react/controls/number.d.ts.map +1 -0
  503. package/dist/types/src/runtimes/react/controls/select.d.ts +4 -0
  504. package/dist/types/src/runtimes/react/controls/select.d.ts.map +1 -0
  505. package/dist/types/src/runtimes/react/controls/shape.d.ts +14 -0
  506. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -0
  507. package/dist/types/src/runtimes/react/controls/slot.d.ts +30 -0
  508. package/dist/types/src/runtimes/react/controls/slot.d.ts.map +1 -0
  509. package/dist/types/src/runtimes/react/controls/style.d.ts +4 -0
  510. package/dist/types/src/runtimes/react/controls/style.d.ts.map +1 -0
  511. package/dist/types/src/runtimes/react/controls/text-area.d.ts +4 -0
  512. package/dist/types/src/runtimes/react/controls/text-area.d.ts.map +1 -0
  513. package/dist/types/src/runtimes/react/controls/text-input.d.ts +4 -0
  514. package/dist/types/src/runtimes/react/controls/text-input.d.ts.map +1 -0
  515. package/dist/types/src/runtimes/react/controls.d.ts +13 -0
  516. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -0
  517. package/dist/types/src/runtimes/react/find-dom-node.d.ts +7 -0
  518. package/dist/types/src/runtimes/react/find-dom-node.d.ts.map +1 -0
  519. package/dist/types/src/runtimes/react/index.d.ts +48 -0
  520. package/dist/types/src/runtimes/react/index.d.ts.map +1 -0
  521. package/dist/types/src/runtimes/react/use-style.d.ts +3 -0
  522. package/dist/types/src/runtimes/react/use-style.d.ts.map +1 -0
  523. package/dist/types/src/state/actions.d.ts +291 -0
  524. package/dist/types/src/state/actions.d.ts.map +1 -0
  525. package/dist/types/{state → src/state}/modules/box-models.d.ts +5 -5
  526. package/dist/types/src/state/modules/box-models.d.ts.map +1 -0
  527. package/dist/types/{state → src/state}/modules/components-meta.d.ts +0 -0
  528. package/dist/types/src/state/modules/components-meta.d.ts.map +1 -0
  529. package/dist/types/src/state/modules/is-in-builder.d.ts +6 -0
  530. package/dist/types/src/state/modules/is-in-builder.d.ts.map +1 -0
  531. package/dist/types/src/state/modules/prop-controller-handles.d.ts +17 -0
  532. package/dist/types/src/state/modules/prop-controller-handles.d.ts.map +1 -0
  533. package/dist/types/{state → src/state}/modules/prop-controllers.d.ts +1 -0
  534. package/dist/types/src/state/modules/prop-controllers.d.ts.map +1 -0
  535. package/dist/types/{state → src/state}/modules/react-components.d.ts +4 -2
  536. package/dist/types/src/state/modules/react-components.d.ts.map +1 -0
  537. package/dist/types/{state → src/state}/modules/read-only-documents.d.ts +8 -4
  538. package/dist/types/src/state/modules/read-only-documents.d.ts.map +1 -0
  539. package/dist/types/{state → src/state}/modules/read-write-documents.d.ts +1 -1
  540. package/dist/types/src/state/modules/read-write-documents.d.ts.map +1 -0
  541. package/dist/types/{state → src/state}/react-builder-preview.d.ts +16 -11
  542. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -0
  543. package/dist/types/src/state/react-page.d.ts +38 -0
  544. package/dist/types/src/state/react-page.d.ts.map +1 -0
  545. package/dist/types/src/utils/clamp.d.ts +3 -0
  546. package/dist/types/src/utils/clamp.d.ts.map +1 -0
  547. package/dist/types/src/utils/coalesce.d.ts +3 -0
  548. package/dist/types/src/utils/coalesce.d.ts.map +1 -0
  549. package/dist/types/src/utils/constants.d.ts +6 -0
  550. package/dist/types/src/utils/constants.d.ts.map +1 -0
  551. package/dist/types/{utils → src/utils}/deepEqual.d.ts +0 -0
  552. package/dist/types/src/utils/deepEqual.d.ts.map +1 -0
  553. package/dist/types/src/utils/intersection.d.ts +4 -0
  554. package/dist/types/src/utils/intersection.d.ts.map +1 -0
  555. package/dist/types/{utils → src/utils}/is.d.ts +0 -0
  556. package/dist/types/src/utils/is.d.ts.map +1 -0
  557. package/dist/types/src/utils/keys.d.ts +5 -0
  558. package/dist/types/src/utils/keys.d.ts.map +1 -0
  559. package/dist/types/{utils → src/utils}/shallowEqual.d.ts +0 -0
  560. package/dist/types/src/utils/shallowEqual.d.ts.map +1 -0
  561. package/dist/types/src/utils/shallowMerge.d.ts +2 -0
  562. package/dist/types/src/utils/shallowMerge.d.ts.map +1 -0
  563. package/dist/useBoxShadow.cjs.js +78 -0
  564. package/dist/useBoxShadow.cjs.js.map +1 -0
  565. package/dist/useBoxShadow.es.js +77 -0
  566. package/dist/useBoxShadow.es.js.map +1 -0
  567. package/dist/useMediaQuery.cjs.js +26 -0
  568. package/dist/useMediaQuery.cjs.js.map +1 -0
  569. package/dist/useMediaQuery.es.js +25 -0
  570. package/dist/useMediaQuery.es.js.map +1 -0
  571. package/next/plugin.js +1 -0
  572. package/next.js +1 -0
  573. package/package.json +105 -24
  574. package/prop-controllers.js +1 -0
  575. package/react.js +1 -0
  576. package/dist/react.cjs2.js +0 -835
  577. package/dist/react.cjs2.js.map +0 -1
  578. package/dist/react.es2.js +0 -810
  579. package/dist/react.es2.js.map +0 -1
  580. package/dist/types/box-model.d.ts +0 -3
  581. package/dist/types/box-model.d.ts.map +0 -1
  582. package/dist/types/components/Box/Box.d.ts.map +0 -1
  583. package/dist/types/components/Box/animations.d.ts.map +0 -1
  584. package/dist/types/components/Box/components/Placeholder/index.d.ts.map +0 -1
  585. package/dist/types/components/Box/index.d.ts.map +0 -1
  586. package/dist/types/components/Root/Root.d.ts +0 -11
  587. package/dist/types/components/Root/Root.d.ts.map +0 -1
  588. package/dist/types/components/Root/components/Placeholder/index.d.ts.map +0 -1
  589. package/dist/types/components/Root/index.d.ts.map +0 -1
  590. package/dist/types/components/hooks/index.d.ts +0 -2
  591. package/dist/types/components/hooks/index.d.ts.map +0 -1
  592. package/dist/types/components/hooks/useMediaQuery.d.ts.map +0 -1
  593. package/dist/types/components/index.d.ts +0 -4
  594. package/dist/types/components/index.d.ts.map +0 -1
  595. package/dist/types/components/utils/columns.d.ts.map +0 -1
  596. package/dist/types/components/utils/cssMediaRules.d.ts.map +0 -1
  597. package/dist/types/components/utils/devices.d.ts.map +0 -1
  598. package/dist/types/index.d.ts.map +0 -1
  599. package/dist/types/prop-controllers/descriptors.d.ts.map +0 -1
  600. package/dist/types/prop-controllers/index.d.ts +0 -3
  601. package/dist/types/prop-controllers/index.d.ts.map +0 -1
  602. package/dist/types/react.d.ts +0 -4
  603. package/dist/types/react.d.ts.map +0 -1
  604. package/dist/types/runtimes/react.d.ts +0 -28
  605. package/dist/types/runtimes/react.d.ts.map +0 -1
  606. package/dist/types/state/actions.d.ts +0 -124
  607. package/dist/types/state/actions.d.ts.map +0 -1
  608. package/dist/types/state/modules/box-models.d.ts.map +0 -1
  609. package/dist/types/state/modules/components-meta.d.ts.map +0 -1
  610. package/dist/types/state/modules/prop-controllers.d.ts.map +0 -1
  611. package/dist/types/state/modules/react-components.d.ts.map +0 -1
  612. package/dist/types/state/modules/read-only-documents.d.ts.map +0 -1
  613. package/dist/types/state/modules/read-write-documents.d.ts.map +0 -1
  614. package/dist/types/state/react-builder-preview.d.ts.map +0 -1
  615. package/dist/types/state/react-page.d.ts +0 -28
  616. package/dist/types/state/react-page.d.ts.map +0 -1
  617. package/dist/types/utils/deepEqual.d.ts.map +0 -1
  618. package/dist/types/utils/is.d.ts.map +0 -1
  619. package/dist/types/utils/shallowEqual.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.cjs.js","sources":["../src/components/hooks/useTypography.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.tsx","../src/components/builtin/Text/components/RichTextEditor/components/Block/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Link.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.tsx","../src/components/builtin/Text/components/RichTextEditor/index.tsx","../src/components/builtin/Text/Text.tsx"],"sourcesContent":["import type { ColorValue } from '../utils/types'\nimport type { Length as LengthValue } from '../../prop-controllers'\nimport { DeviceOverride } from '../../prop-controllers'\nimport { TYPOGRAPHIES_BY_ID } from '../utils/queries'\nimport { useQuery } from '../../api/react'\n\nexport type TypographyStyleValue = {\n fontFamily?: string\n fontWeight?: number\n fontSize?: LengthValue\n color?: ColorValue\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n underline?: boolean\n strikethrough?: boolean\n italic?: boolean\n}\n\nexport type TypographyStyle = Array<DeviceOverride<TypographyStyleValue>>\n\nexport type Typography = {\n id: string\n name: string\n style: TypographyStyle\n}\n\nexport function useTypography(\n typographyId: string | null | undefined,\n): Typography | null | undefined {\n const { error, data } = useQuery(TYPOGRAPHIES_BY_ID, {\n skip: typographyId == null,\n variables: { ids: typographyId != null ? [typographyId] : [] },\n })\n\n if (typographyId == null || error != null) return null\n\n return data?.typographies[0] as Typography | null\n}\n","import { Length as LengthValue } from '../../../../../../../../prop-controllers'\nimport { ColorValue as Color } from '../../../../../../../utils/types'\nimport { findDeviceOverride } from '../../../../../../../utils/devices'\nimport type { DeviceOverride } from '../../../../../../../../prop-controllers'\nimport { SWATCHES_BY_ID } from '../../../../../../../utils/queries'\nimport { useTypography, TypographyStyle } from '../../../../../../../hooks/useTypography'\nimport { useQuery } from '../../../../../../../../api/react'\n\nexport type TypographyMarkDataValue = {\n fontWeight?: number\n fontSize?: LengthValue\n fontFamily?: string\n color?: Color\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n italic?: boolean\n underline?: boolean\n strikethrough?: boolean\n}\n\nexport type TypographyMarkValue = {\n id: string | null | undefined\n style: TypographyStyle\n}\n\nexport type TypographyMarkData = Array<DeviceOverride<TypographyMarkDataValue>>\n\nconst concat = <A extends unknown[], B extends unknown[]>(a: A, b: B) => a.concat(b)\nconst getSwatchId = ({ value: { color } }: any) => color && color.swatchId\nconst getDeviceId = ({ deviceId }: any) => deviceId\n\nconst withColor =\n (swatches: any) =>\n ({ value: { color, ...restOfValue }, ...rest }: any) => ({\n ...rest,\n value: {\n ...restOfValue,\n ...(color\n ? {\n color: {\n swatch: swatches.find((s: any) => s && s.id === color.swatchId),\n alpha: color.alpha,\n },\n }\n : {}),\n },\n })\n\nexport const overrideTypographyStyle = <A>(\n source: Array<DeviceOverride<A>>,\n override: Array<DeviceOverride<A>>,\n): Array<DeviceOverride<A>> => {\n const devices = [...new Set(source.map(getDeviceId).concat(override.map(getDeviceId)))]\n\n return devices.map((deviceId: any) => ({\n deviceId,\n value: {\n ...(findDeviceOverride(source, deviceId) || { value: {} }).value,\n ...(findDeviceOverride(override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n\nexport default function useTypographyMark(\n value: TypographyMarkValue | null | undefined,\n): TypographyMarkData | null | undefined {\n const typography = useTypography(value && value.id)\n\n const swatchIds = [\n (typography && typography.style.map(getSwatchId)) || [],\n (value && value.style.map(getSwatchId)) || [],\n ]\n .reduce(concat)\n .filter(Boolean)\n\n const { error: colorError, data: colorData = {} } = useQuery(SWATCHES_BY_ID, {\n skip: swatchIds == null || swatchIds.length === 0,\n variables: { ids: swatchIds },\n })\n\n const { swatches = [] } = colorData\n\n if (colorError != null) return null\n\n return overrideTypographyStyle(\n (typography && typography.style.map(withColor(swatches))) || [],\n (value && value.style.map(withColor(swatches))) || [],\n )\n}\n","import { ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport useTypographyMark, {\n TypographyMarkValue,\n TypographyMarkData,\n overrideTypographyStyle,\n TypographyMarkDataValue,\n} from './hooks/useTypographyMark'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { shallowMergeFallbacks } from '../../../../../../utils/devices'\n\nexport type { TypographyMarkValue }\nexport { overrideTypographyStyle }\n\nconst Span = styled.span<{ typographyStyle: TypographyMarkData | null | undefined }>`\n ${p =>\n cssMediaRules(\n [p.typographyStyle] as const,\n ([\n {\n color,\n fontFamily,\n fontSize,\n fontWeight,\n lineHeight,\n letterSpacing,\n uppercase,\n underline,\n strikethrough,\n italic,\n } = {} as TypographyMarkDataValue,\n ]) => css`\n ${color == null\n ? ''\n : css`\n color: ${colorToString(color)};\n `}\n\n ${fontFamily == null\n ? ''\n : css`\n font-family: '${fontFamily}';\n `}\n\n ${fontSize == null || fontSize.value == null || fontSize.unit == null\n ? ''\n : css`\n font-size: ${`${fontSize.value}${fontSize.unit}`};\n `}\n\n ${fontWeight == null\n ? ''\n : css`\n font-weight: ${fontWeight};\n `}\n\n ${lineHeight == null\n ? ''\n : css`\n line-height: ${lineHeight};\n `}\n\n ${letterSpacing == null\n ? ''\n : css`\n letter-spacing: ${letterSpacing / 10}em;\n `}\n\n ${underline == null && strikethrough == null\n ? ''\n : css`\n text-decoration: ${[\n Boolean(underline) && 'underline',\n Boolean(strikethrough) && 'line-through',\n ]\n .filter(Boolean)\n .join(' ')};\n `}\n\n ${uppercase == null\n ? ''\n : css`\n text-transform: ${uppercase === true ? 'uppercase' : 'initial'};\n `}\n\n ${italic == null\n ? ''\n : css`\n font-style: ${italic === true ? 'italic' : 'initial'};\n `}\n `,\n shallowMergeFallbacks,\n )}\n`\n\ntype BaseProps = { value: TypographyMarkValue }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Span>, keyof BaseProps>\n\nexport default function Mark({ value, ...restOfProps }: Props): JSX.Element {\n const typographyStyle = useTypographyMark(value)\n\n return <Span {...restOfProps} typographyStyle={typographyStyle} />\n}\n","import type { Plugin } from 'slate-react'\n\nimport Mark from '../components/Mark'\n\nconst TYPOGRAPHY_TYPE = 'typography'\n\nexport default function DeviceOverridesMarksPlugin(): Plugin {\n return {\n renderMark({ mark, children }, _editor, next) {\n if (mark.type === TYPOGRAPHY_TYPE) {\n return <Mark value={mark.data.get('value')}>{children}</Mark>\n }\n\n return next()\n },\n }\n}\n","import { forwardRef, ElementType, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport type { ResponsiveValue } from '../../../../../../../prop-controllers'\n\ntype StyledBlockProps = {\n textAlign?: ResponsiveValue<'left' | 'center' | 'right' | 'justify'>\n as?: ElementType\n}\n\nconst StyledBlock = styled.div<StyledBlockProps>`\n margin: 0;\n ${p =>\n cssMediaRules([p.textAlign] as const, ([textAlign]) =>\n textAlign == null\n ? css``\n : css`\n text-align: ${textAlign};\n `,\n )}\n\n ${p =>\n p.as === 'blockquote'\n ? css`\n padding: 0.5em 10px;\n font-size: 1.25em;\n font-weight: 300;\n border-left: 5px solid rgba(0, 0, 0, 0.1);\n `\n : ''}\n`\n\ntype Props = ComponentPropsWithoutRef<typeof StyledBlock>\n\nexport default forwardRef<HTMLDivElement, Props>(function Block(\n { textAlign, ...restOfProps }: Props,\n ref,\n) {\n return <StyledBlock {...restOfProps} ref={ref} textAlign={textAlign} />\n})\n","import { Plugin } from 'slate-react'\n\nimport Block from '../components/Block'\n\nexport default function DeviceOverridesBlockPlugin(): Plugin {\n return {\n renderBlock(props, _editor, next): JSX.Element {\n const { node, attributes, children } = props\n const blockProps = { textAlign: node.data.get('textAlign') }\n\n switch (node.type) {\n case 'paragraph':\n return (\n <Block {...attributes} {...blockProps} as=\"p\">\n {children}\n </Block>\n )\n\n case 'heading-one':\n return (\n <Block {...attributes} {...blockProps} as=\"h1\">\n {children}\n </Block>\n )\n\n case 'heading-two':\n return (\n <Block {...attributes} {...blockProps} as=\"h2\">\n {children}\n </Block>\n )\n\n case 'heading-three':\n return (\n <Block {...attributes} {...blockProps} as=\"h3\">\n {children}\n </Block>\n )\n\n case 'heading-four':\n return (\n <Block {...attributes} {...blockProps} as=\"h4\">\n {children}\n </Block>\n )\n\n case 'heading-five':\n return (\n <Block {...attributes} {...blockProps} as=\"h5\">\n {children}\n </Block>\n )\n\n case 'heading-six':\n return (\n <Block {...attributes} {...blockProps} as=\"h6\">\n {children}\n </Block>\n )\n\n case 'blockquote':\n return (\n <Block {...attributes} {...blockProps} as=\"blockquote\">\n {children}\n </Block>\n )\n\n default:\n return next()\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\nimport styled from 'styled-components'\n\nimport { Link } from '../../../../../shared/Link'\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n`\n\nexport default function LinkPlugin(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'link': {\n const { data } = node\n\n return (\n <StyledLink {...attributes} link={data.toJS()}>\n {children}\n </StyledLink>\n )\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\n\nexport default function Inlines(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'code': {\n return <code {...attributes}>{children}</code>\n }\n\n case 'superscript': {\n return <sup {...attributes}>{children}</sup>\n }\n\n case 'subscript': {\n return <sub {...attributes}>{children}</sub>\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { ComponentPropsWithoutRef, forwardRef, useMemo } from 'react'\n\nimport { Editor as SlateEditor } from 'slate-react'\n\n// @ts-expect-error: no types for '@convertkit/slate-lists'\nimport Lists from '@convertkit/slate-lists'\nimport styled from 'styled-components'\n\nimport DeviceOverridesMarks from './plugins/DeviceOverridesMarks'\nimport DeviceOverridesBlocks from './plugins/DeviceOverridesBlocks'\nimport Link from './plugins/Link'\nimport Inlines from './plugins/Inlines'\n\nexport { overrideTypographyStyle } from './components/Mark'\n\ntype Props = ComponentPropsWithoutRef<typeof SlateEditor>\n\nexport const RichTextEditor = styled(\n forwardRef<SlateEditor, Props>(function RichTextEditor(\n { placeholder = 'Write some text...', ...restOfProps }: Props,\n ref,\n ) {\n const plugins = useMemo(\n () => [Lists(), Link(), Inlines(), DeviceOverridesBlocks(), DeviceOverridesMarks()],\n [],\n )\n\n return (\n <SlateEditor\n {...restOfProps}\n // Workaround because our Slate editor is broken on Chrome 105\n // Problem: https://linear.app/makeswift/issue/PRD-434/our-rich-text-component-breaks-in-the-latest-version-of-chrome\n // Workaround: https://github.com/ianstormtaylor/slate/issues/5110#issuecomment-1234951122\n style={{ WebkitUserModify: undefined }}\n ref={ref}\n autoFocus={false}\n plugins={plugins}\n placeholder={placeholder}\n />\n )\n }),\n)`\n ul,\n ol {\n margin: 0;\n }\n`\n","import {\n useState,\n Ref,\n useImperativeHandle,\n forwardRef,\n useEffect,\n useCallback,\n useRef,\n KeyboardEvent as ReactKeyboardEvent,\n FocusEvent as ReactFocusEvent,\n} from 'react'\nimport styled from 'styled-components'\nimport { Editor, OnChangeParam } from 'slate-react'\nimport { Value, ValueJSON } from 'slate'\n// @ts-expect-error: no types for 'slate-hotkeys'\nimport Hotkeys from 'slate-hotkeys'\nimport { isHotkey } from 'is-hotkey'\n\nimport {\n ElementIDValue,\n MarginValue,\n RichTextDescriptor,\n RichTextValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { cssMargin, cssWidth } from '../../utils/cssMediaRules'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { RichTextEditor } from './components/RichTextEditor'\nimport { useIsInBuilder } from '../../../runtimes/react'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: WidthValue\n margin?: MarginValue\n}\n\nconst StyledRichTextEditor = styled(RichTextEditor).withConfig({\n shouldForwardProp: prop => !['width', 'margin'].includes(prop.toString()),\n})<{ width: Props['width']; margin: Props['margin'] }>`\n ${cssWidth()}\n ${cssMargin()}\n`\n\nconst defaultText: ValueJSON = {\n document: { nodes: [{ object: 'block' as const, type: 'paragraph' as const, nodes: [] }] },\n data: {},\n}\n\nconst COMMIT_DEBOUNCE_DELAY = 500\n\ntype Descriptors = { text?: RichTextDescriptor }\n\nconst Text = forwardRef(function Text(\n { id, text, width, margin }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const [editor, setEditor] = useState<Editor | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const controller = propControllers?.text\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const el = editor?.findDOMNode([])\n\n return el instanceof Element ? getBox(el) : null\n },\n setPropControllers,\n }),\n [editor, setPropControllers],\n )\n\n useEffect(() => {\n if (editor) controller?.setSlateEditor(editor)\n }, [controller, editor])\n\n /**\n * We must keep local state so that we can reflect the user's typed changes immediately. At the\n * same time, though, the source of truth for the data is the prop data. This presents a\n * challenge: how do we keep local state in sync with the prop data without mangling user input as\n * data comes in?\n *\n * Consider, for example, that the user types \"Hello\". If at a later time, when the user is trying\n * to type \", world\" the component re-renders with prop data \"H\", \"He\", \"Hel\", \"Hell\", \"Hello\", it\n * will disrupt the user's typing. This could also happen as a result of the prop data changing\n * for other reasons, like collaborators changing the prop data concurrently. We want to avoid to\n * disrupt the user's typing, while at the same time display the \"true\" value as quickly as\n * possible.\n *\n * The approach we take here is to commit the prop data at an opportune time: as the user is\n * typing we avoid to commit prop data. But once they've stopped typing, we commit it as soon as\n * possible. This is known as a debounce.\n */\n const [value, setValue] = useState(() => {\n const { selection, ...textWithoutSelection } = text ?? defaultText\n\n return Value.fromJSON(textWithoutSelection)\n })\n const [shouldCommit, setShouldCommit] = useState(true)\n\n useEffect(() => {\n if (shouldCommit) {\n const nextValue = Value.fromJSON(text ?? defaultText)\n\n setValue(currentValue =>\n currentValue.selection.isBlurred\n ? Value.fromJSON(nextValue.toJSON({ preserveSelection: false }))\n : nextValue,\n )\n }\n }, [shouldCommit, text])\n\n useEffect(() => {\n if (shouldCommit) return\n\n const timeoutId = window.setTimeout(() => {\n setShouldCommit(true)\n }, COMMIT_DEBOUNCE_DELAY)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [shouldCommit])\n\n function handleChange(change: OnChangeParam) {\n setValue(change.value as Value)\n\n if (change.value !== value) {\n setShouldCommit(false)\n\n controller?.onChange(change)\n }\n }\n\n // HACK: Slate holds on to the very first DOM event handlers passed in and doesn't update them\n // even if they change. Since `controller` is first `undefined` then we must use a ref.\n const lastController = useRef(controller)\n if (lastController.current !== controller) lastController.current = controller\n const handleFocus = useCallback(() => {\n lastController.current?.focus()\n }, [])\n const handleKeyDown = useCallback(\n (event: ReactKeyboardEvent, _editor: Editor, next: () => any) => {\n if (Hotkeys.isUndo(event)) {\n lastController.current?.undo()\n\n return true\n }\n\n if (Hotkeys.isRedo(event)) {\n lastController.current?.redo()\n\n return true\n }\n\n if (isHotkey('escape')(event)) {\n lastController.current?.blur()\n\n return true\n }\n\n return next()\n },\n [],\n )\n const handleBlur = useCallback((event: ReactFocusEvent, _editor: Editor, next: () => any) => {\n // Normally, after a user highlight a text, clicking on the panel will remove the text selection.\n // This line is a workaround for that. Because the panel is not in the iframe, relatedTarget\n // would be null, and we return early so we don't remove the selection.\n if (event.relatedTarget == null) return true\n\n // Blur the selection if the user is clicking on other text.\n return next()\n }, [])\n\n const isInBuilder = useIsInBuilder()\n\n return (\n <StyledRichTextEditor\n // @ts-expect-error: types don't allow for 'id' prop even though it's used.\n id={id}\n ref={setEditor}\n width={width}\n readOnly={!isInBuilder}\n margin={margin}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n />\n )\n})\n\nexport default Text\n"],"names":["useQuery","TYPOGRAPHIES_BY_ID","findDeviceOverride","SWATCHES_BY_ID","Span","styled","span","p","cssMediaRules","typographyStyle","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","uppercase","underline","strikethrough","italic","css","colorToString","value","unit","Boolean","filter","join","shallowMergeFallbacks","restOfProps","useTypographyMark","TYPOGRAPHY_TYPE","renderMark","mark","children","_editor","next","type","data","get","StyledBlock","div","textAlign","as","forwardRef","ref","renderBlock","props","node","attributes","blockProps","StyledLink","Link","renderInline","toJS","RichTextEditor","placeholder","plugins","useMemo","Lists","Inlines","DeviceOverridesBlocks","DeviceOverridesMarks","SlateEditor","WebkitUserModify","undefined","StyledRichTextEditor","withConfig","shouldForwardProp","prop","includes","toString","cssWidth","cssMargin","defaultText","document","nodes","object","COMMIT_DEBOUNCE_DELAY","Text","id","text","width","margin","editor","setEditor","useState","propControllers","setPropControllers","controller","useImperativeHandle","getBoxModel","el","findDOMNode","Element","getBox","useEffect","setSlateEditor","setValue","selection","textWithoutSelection","Value","fromJSON","shouldCommit","setShouldCommit","nextValue","currentValue","isBlurred","toJSON","preserveSelection","timeoutId","window","setTimeout","clearTimeout","change","onChange","lastController","useRef","current","handleFocus","useCallback","focus","handleKeyDown","event","Hotkeys","isUndo","undo","isRedo","redo","isHotkey","blur","handleBlur","relatedTarget","isInBuilder","useIsInBuilder","handleChange"],"mappings":"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"}
@@ -0,0 +1,474 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { forwardRef, useMemo, useState, useImperativeHandle, useEffect, useRef, useCallback } from "react";
33
+ import styled, { css } from "styled-components";
34
+ import { Value } from "slate";
35
+ import Hotkeys from "slate-hotkeys";
36
+ import { isHotkey } from "is-hotkey";
37
+ import { c as cssMediaRules, a as cssWidth, b as cssMargin } from "./cssMediaRules.es.js";
38
+ import { g as getBox } from "./box-models.es.js";
39
+ import { Editor } from "slate-react";
40
+ import Lists from "@convertkit/slate-lists";
41
+ import { v as useQuery, B as TYPOGRAPHIES_BY_ID, F as SWATCHES_BY_ID, z as findDeviceOverride, G as shallowMergeFallbacks, p as colorToString, u as useIsInBuilder } from "./index.es.js";
42
+ import { jsx } from "react/jsx-runtime";
43
+ import { L as Link } from "./index.es3.js";
44
+ import "css-box-model";
45
+ import "./actions.es.js";
46
+ import "use-sync-external-store/shim/with-selector";
47
+ import "./react-page.es.js";
48
+ import "redux";
49
+ import "redux-thunk";
50
+ import "./image.es.js";
51
+ import "./color.es.js";
52
+ import "./slot.es.js";
53
+ import "next/dynamic";
54
+ import "@apollo/client";
55
+ import "@apollo/client/link/batch-http";
56
+ import "./graphql.es.js";
57
+ import "./shape.es.js";
58
+ import "./text-input.es.js";
59
+ import "@emotion/css";
60
+ import "color";
61
+ import "scroll-into-view-if-needed";
62
+ import "react-dom";
63
+ import "html-react-parser";
64
+ import "next/head";
65
+ import "@emotion/server/create-instance";
66
+ import "next/document";
67
+ import "cookie";
68
+ import "cors";
69
+ import "http-proxy";
70
+ import "set-cookie-parser";
71
+ import "uuid/v4";
72
+ import "corporate-ipsum";
73
+ import "next/link";
74
+ function useTypography(typographyId) {
75
+ const { error, data } = useQuery(TYPOGRAPHIES_BY_ID, {
76
+ skip: typographyId == null,
77
+ variables: { ids: typographyId != null ? [typographyId] : [] }
78
+ });
79
+ if (typographyId == null || error != null)
80
+ return null;
81
+ return data == null ? void 0 : data.typographies[0];
82
+ }
83
+ const concat = (a, b) => a.concat(b);
84
+ const getSwatchId = ({ value: { color } }) => color && color.swatchId;
85
+ const getDeviceId = ({ deviceId }) => deviceId;
86
+ const withColor = (swatches) => (_a) => {
87
+ var _b = _a, { value: _c } = _b, _d = _c, { color } = _d, restOfValue = __objRest(_d, ["color"]), rest = __objRest(_b, ["value"]);
88
+ return __spreadProps(__spreadValues({}, rest), {
89
+ value: __spreadValues(__spreadValues({}, restOfValue), color ? {
90
+ color: {
91
+ swatch: swatches.find((s) => s && s.id === color.swatchId),
92
+ alpha: color.alpha
93
+ }
94
+ } : {})
95
+ });
96
+ };
97
+ const overrideTypographyStyle = (source, override) => {
98
+ const devices = [...new Set(source.map(getDeviceId).concat(override.map(getDeviceId)))];
99
+ return devices.map((deviceId) => ({
100
+ deviceId,
101
+ value: __spreadValues(__spreadValues({}, (findDeviceOverride(source, deviceId) || { value: {} }).value), (findDeviceOverride(override, deviceId, (v) => v) || { value: {} }).value)
102
+ }));
103
+ };
104
+ function useTypographyMark(value) {
105
+ const typography = useTypography(value && value.id);
106
+ const swatchIds = [
107
+ typography && typography.style.map(getSwatchId) || [],
108
+ value && value.style.map(getSwatchId) || []
109
+ ].reduce(concat).filter(Boolean);
110
+ const { error: colorError, data: colorData = {} } = useQuery(SWATCHES_BY_ID, {
111
+ skip: swatchIds == null || swatchIds.length === 0,
112
+ variables: { ids: swatchIds }
113
+ });
114
+ const { swatches = [] } = colorData;
115
+ if (colorError != null)
116
+ return null;
117
+ return overrideTypographyStyle(typography && typography.style.map(withColor(swatches)) || [], value && value.style.map(withColor(swatches)) || []);
118
+ }
119
+ const Span = styled.span`
120
+ ${(p) => cssMediaRules([p.typographyStyle], ([{
121
+ color,
122
+ fontFamily,
123
+ fontSize,
124
+ fontWeight,
125
+ lineHeight,
126
+ letterSpacing,
127
+ uppercase,
128
+ underline,
129
+ strikethrough,
130
+ italic
131
+ } = {}]) => css`
132
+ ${color == null ? "" : css`
133
+ color: ${colorToString(color)};
134
+ `}
135
+
136
+ ${fontFamily == null ? "" : css`
137
+ font-family: '${fontFamily}';
138
+ `}
139
+
140
+ ${fontSize == null || fontSize.value == null || fontSize.unit == null ? "" : css`
141
+ font-size: ${`${fontSize.value}${fontSize.unit}`};
142
+ `}
143
+
144
+ ${fontWeight == null ? "" : css`
145
+ font-weight: ${fontWeight};
146
+ `}
147
+
148
+ ${lineHeight == null ? "" : css`
149
+ line-height: ${lineHeight};
150
+ `}
151
+
152
+ ${letterSpacing == null ? "" : css`
153
+ letter-spacing: ${letterSpacing / 10}em;
154
+ `}
155
+
156
+ ${underline == null && strikethrough == null ? "" : css`
157
+ text-decoration: ${[Boolean(underline) && "underline", Boolean(strikethrough) && "line-through"].filter(Boolean).join(" ")};
158
+ `}
159
+
160
+ ${uppercase == null ? "" : css`
161
+ text-transform: ${uppercase === true ? "uppercase" : "initial"};
162
+ `}
163
+
164
+ ${italic == null ? "" : css`
165
+ font-style: ${italic === true ? "italic" : "initial"};
166
+ `}
167
+ `, shallowMergeFallbacks)}
168
+ `;
169
+ function Mark(_a) {
170
+ var _b = _a, {
171
+ value
172
+ } = _b, restOfProps = __objRest(_b, [
173
+ "value"
174
+ ]);
175
+ const typographyStyle = useTypographyMark(value);
176
+ return /* @__PURE__ */ jsx(Span, __spreadProps(__spreadValues({}, restOfProps), {
177
+ typographyStyle
178
+ }));
179
+ }
180
+ const TYPOGRAPHY_TYPE = "typography";
181
+ function DeviceOverridesMarksPlugin() {
182
+ return {
183
+ renderMark({
184
+ mark,
185
+ children
186
+ }, _editor, next) {
187
+ if (mark.type === TYPOGRAPHY_TYPE) {
188
+ return /* @__PURE__ */ jsx(Mark, {
189
+ value: mark.data.get("value"),
190
+ children
191
+ });
192
+ }
193
+ return next();
194
+ }
195
+ };
196
+ }
197
+ const StyledBlock = styled.div`
198
+ margin: 0;
199
+ ${(p) => cssMediaRules([p.textAlign], ([textAlign]) => textAlign == null ? css`` : css`
200
+ text-align: ${textAlign};
201
+ `)}
202
+
203
+ ${(p) => p.as === "blockquote" ? css`
204
+ padding: 0.5em 10px;
205
+ font-size: 1.25em;
206
+ font-weight: 300;
207
+ border-left: 5px solid rgba(0, 0, 0, 0.1);
208
+ ` : ""}
209
+ `;
210
+ var Block = forwardRef(function Block2(_c, ref) {
211
+ var _d = _c, {
212
+ textAlign
213
+ } = _d, restOfProps = __objRest(_d, [
214
+ "textAlign"
215
+ ]);
216
+ return /* @__PURE__ */ jsx(StyledBlock, __spreadProps(__spreadValues({}, restOfProps), {
217
+ ref,
218
+ textAlign
219
+ }));
220
+ });
221
+ function DeviceOverridesBlockPlugin() {
222
+ return {
223
+ renderBlock(props, _editor, next) {
224
+ const {
225
+ node,
226
+ attributes,
227
+ children
228
+ } = props;
229
+ const blockProps = {
230
+ textAlign: node.data.get("textAlign")
231
+ };
232
+ switch (node.type) {
233
+ case "paragraph":
234
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
235
+ as: "p",
236
+ children
237
+ }));
238
+ case "heading-one":
239
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
240
+ as: "h1",
241
+ children
242
+ }));
243
+ case "heading-two":
244
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
245
+ as: "h2",
246
+ children
247
+ }));
248
+ case "heading-three":
249
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
250
+ as: "h3",
251
+ children
252
+ }));
253
+ case "heading-four":
254
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
255
+ as: "h4",
256
+ children
257
+ }));
258
+ case "heading-five":
259
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
260
+ as: "h5",
261
+ children
262
+ }));
263
+ case "heading-six":
264
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
265
+ as: "h6",
266
+ children
267
+ }));
268
+ case "blockquote":
269
+ return /* @__PURE__ */ jsx(Block, __spreadProps(__spreadValues(__spreadValues({}, attributes), blockProps), {
270
+ as: "blockquote",
271
+ children
272
+ }));
273
+ default:
274
+ return next();
275
+ }
276
+ }
277
+ };
278
+ }
279
+ const StyledLink = styled(Link)`
280
+ text-decoration: none;
281
+ `;
282
+ function LinkPlugin() {
283
+ return {
284
+ renderInline(props, _editor, next) {
285
+ const {
286
+ attributes,
287
+ children,
288
+ node
289
+ } = props;
290
+ switch (node.type) {
291
+ case "link": {
292
+ const {
293
+ data
294
+ } = node;
295
+ return /* @__PURE__ */ jsx(StyledLink, __spreadProps(__spreadValues({}, attributes), {
296
+ link: data.toJS(),
297
+ children
298
+ }));
299
+ }
300
+ default: {
301
+ return next();
302
+ }
303
+ }
304
+ }
305
+ };
306
+ }
307
+ function Inlines() {
308
+ return {
309
+ renderInline(props, _editor, next) {
310
+ const {
311
+ attributes,
312
+ children,
313
+ node
314
+ } = props;
315
+ switch (node.type) {
316
+ case "code": {
317
+ return /* @__PURE__ */ jsx("code", __spreadProps(__spreadValues({}, attributes), {
318
+ children
319
+ }));
320
+ }
321
+ case "superscript": {
322
+ return /* @__PURE__ */ jsx("sup", __spreadProps(__spreadValues({}, attributes), {
323
+ children
324
+ }));
325
+ }
326
+ case "subscript": {
327
+ return /* @__PURE__ */ jsx("sub", __spreadProps(__spreadValues({}, attributes), {
328
+ children
329
+ }));
330
+ }
331
+ default: {
332
+ return next();
333
+ }
334
+ }
335
+ }
336
+ };
337
+ }
338
+ const RichTextEditor = styled(forwardRef(function RichTextEditor2(_e, ref) {
339
+ var _f = _e, {
340
+ placeholder = "Write some text..."
341
+ } = _f, restOfProps = __objRest(_f, [
342
+ "placeholder"
343
+ ]);
344
+ const plugins = useMemo(() => [Lists(), LinkPlugin(), Inlines(), DeviceOverridesBlockPlugin(), DeviceOverridesMarksPlugin()], []);
345
+ return /* @__PURE__ */ jsx(Editor, __spreadProps(__spreadValues({}, restOfProps), {
346
+ style: {
347
+ WebkitUserModify: void 0
348
+ },
349
+ ref,
350
+ autoFocus: false,
351
+ plugins,
352
+ placeholder
353
+ }));
354
+ }))`
355
+ ul,
356
+ ol {
357
+ margin: 0;
358
+ }
359
+ `;
360
+ const StyledRichTextEditor = styled(RichTextEditor).withConfig({
361
+ shouldForwardProp: (prop) => !["width", "margin"].includes(prop.toString())
362
+ })`
363
+ ${cssWidth()}
364
+ ${cssMargin()}
365
+ `;
366
+ const defaultText = {
367
+ document: {
368
+ nodes: [{
369
+ object: "block",
370
+ type: "paragraph",
371
+ nodes: []
372
+ }]
373
+ },
374
+ data: {}
375
+ };
376
+ const COMMIT_DEBOUNCE_DELAY = 500;
377
+ const Text = forwardRef(function Text2({
378
+ id,
379
+ text,
380
+ width,
381
+ margin
382
+ }, ref) {
383
+ const [editor, setEditor] = useState(null);
384
+ const [propControllers, setPropControllers] = useState(null);
385
+ const controller = propControllers == null ? void 0 : propControllers.text;
386
+ useImperativeHandle(ref, () => ({
387
+ getBoxModel() {
388
+ const el = editor == null ? void 0 : editor.findDOMNode([]);
389
+ return el instanceof Element ? getBox(el) : null;
390
+ },
391
+ setPropControllers
392
+ }), [editor, setPropControllers]);
393
+ useEffect(() => {
394
+ if (editor)
395
+ controller == null ? void 0 : controller.setSlateEditor(editor);
396
+ }, [controller, editor]);
397
+ const [value, setValue] = useState(() => {
398
+ const _a = text != null ? text : defaultText, {
399
+ selection
400
+ } = _a, textWithoutSelection = __objRest(_a, [
401
+ "selection"
402
+ ]);
403
+ return Value.fromJSON(textWithoutSelection);
404
+ });
405
+ const [shouldCommit, setShouldCommit] = useState(true);
406
+ useEffect(() => {
407
+ if (shouldCommit) {
408
+ const nextValue = Value.fromJSON(text != null ? text : defaultText);
409
+ setValue((currentValue) => currentValue.selection.isBlurred ? Value.fromJSON(nextValue.toJSON({
410
+ preserveSelection: false
411
+ })) : nextValue);
412
+ }
413
+ }, [shouldCommit, text]);
414
+ useEffect(() => {
415
+ if (shouldCommit)
416
+ return;
417
+ const timeoutId = window.setTimeout(() => {
418
+ setShouldCommit(true);
419
+ }, COMMIT_DEBOUNCE_DELAY);
420
+ return () => {
421
+ window.clearTimeout(timeoutId);
422
+ };
423
+ }, [shouldCommit]);
424
+ function handleChange(change) {
425
+ setValue(change.value);
426
+ if (change.value !== value) {
427
+ setShouldCommit(false);
428
+ controller == null ? void 0 : controller.onChange(change);
429
+ }
430
+ }
431
+ const lastController = useRef(controller);
432
+ if (lastController.current !== controller)
433
+ lastController.current = controller;
434
+ const handleFocus = useCallback(() => {
435
+ var _a;
436
+ (_a = lastController.current) == null ? void 0 : _a.focus();
437
+ }, []);
438
+ const handleKeyDown = useCallback((event, _editor, next) => {
439
+ var _a, _b, _c;
440
+ if (Hotkeys.isUndo(event)) {
441
+ (_a = lastController.current) == null ? void 0 : _a.undo();
442
+ return true;
443
+ }
444
+ if (Hotkeys.isRedo(event)) {
445
+ (_b = lastController.current) == null ? void 0 : _b.redo();
446
+ return true;
447
+ }
448
+ if (isHotkey("escape")(event)) {
449
+ (_c = lastController.current) == null ? void 0 : _c.blur();
450
+ return true;
451
+ }
452
+ return next();
453
+ }, []);
454
+ const handleBlur = useCallback((event, _editor, next) => {
455
+ if (event.relatedTarget == null)
456
+ return true;
457
+ return next();
458
+ }, []);
459
+ const isInBuilder = useIsInBuilder();
460
+ return /* @__PURE__ */ jsx(StyledRichTextEditor, {
461
+ id,
462
+ ref: setEditor,
463
+ width,
464
+ readOnly: !isInBuilder,
465
+ margin,
466
+ value,
467
+ onChange: handleChange,
468
+ onFocus: handleFocus,
469
+ onKeyDown: handleKeyDown,
470
+ onBlur: handleBlur
471
+ });
472
+ });
473
+ export { Text as default };
474
+ //# sourceMappingURL=Text.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.es.js","sources":["../src/components/hooks/useTypography.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.ts","../src/components/builtin/Text/components/RichTextEditor/components/Mark/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.tsx","../src/components/builtin/Text/components/RichTextEditor/components/Block/index.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Link.tsx","../src/components/builtin/Text/components/RichTextEditor/plugins/Inlines.tsx","../src/components/builtin/Text/components/RichTextEditor/index.tsx","../src/components/builtin/Text/Text.tsx"],"sourcesContent":["import type { ColorValue } from '../utils/types'\nimport type { Length as LengthValue } from '../../prop-controllers'\nimport { DeviceOverride } from '../../prop-controllers'\nimport { TYPOGRAPHIES_BY_ID } from '../utils/queries'\nimport { useQuery } from '../../api/react'\n\nexport type TypographyStyleValue = {\n fontFamily?: string\n fontWeight?: number\n fontSize?: LengthValue\n color?: ColorValue\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n underline?: boolean\n strikethrough?: boolean\n italic?: boolean\n}\n\nexport type TypographyStyle = Array<DeviceOverride<TypographyStyleValue>>\n\nexport type Typography = {\n id: string\n name: string\n style: TypographyStyle\n}\n\nexport function useTypography(\n typographyId: string | null | undefined,\n): Typography | null | undefined {\n const { error, data } = useQuery(TYPOGRAPHIES_BY_ID, {\n skip: typographyId == null,\n variables: { ids: typographyId != null ? [typographyId] : [] },\n })\n\n if (typographyId == null || error != null) return null\n\n return data?.typographies[0] as Typography | null\n}\n","import { Length as LengthValue } from '../../../../../../../../prop-controllers'\nimport { ColorValue as Color } from '../../../../../../../utils/types'\nimport { findDeviceOverride } from '../../../../../../../utils/devices'\nimport type { DeviceOverride } from '../../../../../../../../prop-controllers'\nimport { SWATCHES_BY_ID } from '../../../../../../../utils/queries'\nimport { useTypography, TypographyStyle } from '../../../../../../../hooks/useTypography'\nimport { useQuery } from '../../../../../../../../api/react'\n\nexport type TypographyMarkDataValue = {\n fontWeight?: number\n fontSize?: LengthValue\n fontFamily?: string\n color?: Color\n textAlign?: string\n lineHeight?: number\n letterSpacing?: number\n uppercase?: boolean\n italic?: boolean\n underline?: boolean\n strikethrough?: boolean\n}\n\nexport type TypographyMarkValue = {\n id: string | null | undefined\n style: TypographyStyle\n}\n\nexport type TypographyMarkData = Array<DeviceOverride<TypographyMarkDataValue>>\n\nconst concat = <A extends unknown[], B extends unknown[]>(a: A, b: B) => a.concat(b)\nconst getSwatchId = ({ value: { color } }: any) => color && color.swatchId\nconst getDeviceId = ({ deviceId }: any) => deviceId\n\nconst withColor =\n (swatches: any) =>\n ({ value: { color, ...restOfValue }, ...rest }: any) => ({\n ...rest,\n value: {\n ...restOfValue,\n ...(color\n ? {\n color: {\n swatch: swatches.find((s: any) => s && s.id === color.swatchId),\n alpha: color.alpha,\n },\n }\n : {}),\n },\n })\n\nexport const overrideTypographyStyle = <A>(\n source: Array<DeviceOverride<A>>,\n override: Array<DeviceOverride<A>>,\n): Array<DeviceOverride<A>> => {\n const devices = [...new Set(source.map(getDeviceId).concat(override.map(getDeviceId)))]\n\n return devices.map((deviceId: any) => ({\n deviceId,\n value: {\n ...(findDeviceOverride(source, deviceId) || { value: {} }).value,\n ...(findDeviceOverride(override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n\nexport default function useTypographyMark(\n value: TypographyMarkValue | null | undefined,\n): TypographyMarkData | null | undefined {\n const typography = useTypography(value && value.id)\n\n const swatchIds = [\n (typography && typography.style.map(getSwatchId)) || [],\n (value && value.style.map(getSwatchId)) || [],\n ]\n .reduce(concat)\n .filter(Boolean)\n\n const { error: colorError, data: colorData = {} } = useQuery(SWATCHES_BY_ID, {\n skip: swatchIds == null || swatchIds.length === 0,\n variables: { ids: swatchIds },\n })\n\n const { swatches = [] } = colorData\n\n if (colorError != null) return null\n\n return overrideTypographyStyle(\n (typography && typography.style.map(withColor(swatches))) || [],\n (value && value.style.map(withColor(swatches))) || [],\n )\n}\n","import { ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport useTypographyMark, {\n TypographyMarkValue,\n TypographyMarkData,\n overrideTypographyStyle,\n TypographyMarkDataValue,\n} from './hooks/useTypographyMark'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { shallowMergeFallbacks } from '../../../../../../utils/devices'\n\nexport type { TypographyMarkValue }\nexport { overrideTypographyStyle }\n\nconst Span = styled.span<{ typographyStyle: TypographyMarkData | null | undefined }>`\n ${p =>\n cssMediaRules(\n [p.typographyStyle] as const,\n ([\n {\n color,\n fontFamily,\n fontSize,\n fontWeight,\n lineHeight,\n letterSpacing,\n uppercase,\n underline,\n strikethrough,\n italic,\n } = {} as TypographyMarkDataValue,\n ]) => css`\n ${color == null\n ? ''\n : css`\n color: ${colorToString(color)};\n `}\n\n ${fontFamily == null\n ? ''\n : css`\n font-family: '${fontFamily}';\n `}\n\n ${fontSize == null || fontSize.value == null || fontSize.unit == null\n ? ''\n : css`\n font-size: ${`${fontSize.value}${fontSize.unit}`};\n `}\n\n ${fontWeight == null\n ? ''\n : css`\n font-weight: ${fontWeight};\n `}\n\n ${lineHeight == null\n ? ''\n : css`\n line-height: ${lineHeight};\n `}\n\n ${letterSpacing == null\n ? ''\n : css`\n letter-spacing: ${letterSpacing / 10}em;\n `}\n\n ${underline == null && strikethrough == null\n ? ''\n : css`\n text-decoration: ${[\n Boolean(underline) && 'underline',\n Boolean(strikethrough) && 'line-through',\n ]\n .filter(Boolean)\n .join(' ')};\n `}\n\n ${uppercase == null\n ? ''\n : css`\n text-transform: ${uppercase === true ? 'uppercase' : 'initial'};\n `}\n\n ${italic == null\n ? ''\n : css`\n font-style: ${italic === true ? 'italic' : 'initial'};\n `}\n `,\n shallowMergeFallbacks,\n )}\n`\n\ntype BaseProps = { value: TypographyMarkValue }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Span>, keyof BaseProps>\n\nexport default function Mark({ value, ...restOfProps }: Props): JSX.Element {\n const typographyStyle = useTypographyMark(value)\n\n return <Span {...restOfProps} typographyStyle={typographyStyle} />\n}\n","import type { Plugin } from 'slate-react'\n\nimport Mark from '../components/Mark'\n\nconst TYPOGRAPHY_TYPE = 'typography'\n\nexport default function DeviceOverridesMarksPlugin(): Plugin {\n return {\n renderMark({ mark, children }, _editor, next) {\n if (mark.type === TYPOGRAPHY_TYPE) {\n return <Mark value={mark.data.get('value')}>{children}</Mark>\n }\n\n return next()\n },\n }\n}\n","import { forwardRef, ElementType, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport type { ResponsiveValue } from '../../../../../../../prop-controllers'\n\ntype StyledBlockProps = {\n textAlign?: ResponsiveValue<'left' | 'center' | 'right' | 'justify'>\n as?: ElementType\n}\n\nconst StyledBlock = styled.div<StyledBlockProps>`\n margin: 0;\n ${p =>\n cssMediaRules([p.textAlign] as const, ([textAlign]) =>\n textAlign == null\n ? css``\n : css`\n text-align: ${textAlign};\n `,\n )}\n\n ${p =>\n p.as === 'blockquote'\n ? css`\n padding: 0.5em 10px;\n font-size: 1.25em;\n font-weight: 300;\n border-left: 5px solid rgba(0, 0, 0, 0.1);\n `\n : ''}\n`\n\ntype Props = ComponentPropsWithoutRef<typeof StyledBlock>\n\nexport default forwardRef<HTMLDivElement, Props>(function Block(\n { textAlign, ...restOfProps }: Props,\n ref,\n) {\n return <StyledBlock {...restOfProps} ref={ref} textAlign={textAlign} />\n})\n","import { Plugin } from 'slate-react'\n\nimport Block from '../components/Block'\n\nexport default function DeviceOverridesBlockPlugin(): Plugin {\n return {\n renderBlock(props, _editor, next): JSX.Element {\n const { node, attributes, children } = props\n const blockProps = { textAlign: node.data.get('textAlign') }\n\n switch (node.type) {\n case 'paragraph':\n return (\n <Block {...attributes} {...blockProps} as=\"p\">\n {children}\n </Block>\n )\n\n case 'heading-one':\n return (\n <Block {...attributes} {...blockProps} as=\"h1\">\n {children}\n </Block>\n )\n\n case 'heading-two':\n return (\n <Block {...attributes} {...blockProps} as=\"h2\">\n {children}\n </Block>\n )\n\n case 'heading-three':\n return (\n <Block {...attributes} {...blockProps} as=\"h3\">\n {children}\n </Block>\n )\n\n case 'heading-four':\n return (\n <Block {...attributes} {...blockProps} as=\"h4\">\n {children}\n </Block>\n )\n\n case 'heading-five':\n return (\n <Block {...attributes} {...blockProps} as=\"h5\">\n {children}\n </Block>\n )\n\n case 'heading-six':\n return (\n <Block {...attributes} {...blockProps} as=\"h6\">\n {children}\n </Block>\n )\n\n case 'blockquote':\n return (\n <Block {...attributes} {...blockProps} as=\"blockquote\">\n {children}\n </Block>\n )\n\n default:\n return next()\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\nimport styled from 'styled-components'\n\nimport { Link } from '../../../../../shared/Link'\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n`\n\nexport default function LinkPlugin(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'link': {\n const { data } = node\n\n return (\n <StyledLink {...attributes} link={data.toJS()}>\n {children}\n </StyledLink>\n )\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { Plugin } from 'slate-react'\n\nexport default function Inlines(): Plugin {\n return {\n renderInline(props, _editor, next) {\n const { attributes, children, node } = props\n\n switch (node.type) {\n case 'code': {\n return <code {...attributes}>{children}</code>\n }\n\n case 'superscript': {\n return <sup {...attributes}>{children}</sup>\n }\n\n case 'subscript': {\n return <sub {...attributes}>{children}</sub>\n }\n\n default: {\n return next()\n }\n }\n },\n }\n}\n","import { ComponentPropsWithoutRef, forwardRef, useMemo } from 'react'\n\nimport { Editor as SlateEditor } from 'slate-react'\n\n// @ts-expect-error: no types for '@convertkit/slate-lists'\nimport Lists from '@convertkit/slate-lists'\nimport styled from 'styled-components'\n\nimport DeviceOverridesMarks from './plugins/DeviceOverridesMarks'\nimport DeviceOverridesBlocks from './plugins/DeviceOverridesBlocks'\nimport Link from './plugins/Link'\nimport Inlines from './plugins/Inlines'\n\nexport { overrideTypographyStyle } from './components/Mark'\n\ntype Props = ComponentPropsWithoutRef<typeof SlateEditor>\n\nexport const RichTextEditor = styled(\n forwardRef<SlateEditor, Props>(function RichTextEditor(\n { placeholder = 'Write some text...', ...restOfProps }: Props,\n ref,\n ) {\n const plugins = useMemo(\n () => [Lists(), Link(), Inlines(), DeviceOverridesBlocks(), DeviceOverridesMarks()],\n [],\n )\n\n return (\n <SlateEditor\n {...restOfProps}\n // Workaround because our Slate editor is broken on Chrome 105\n // Problem: https://linear.app/makeswift/issue/PRD-434/our-rich-text-component-breaks-in-the-latest-version-of-chrome\n // Workaround: https://github.com/ianstormtaylor/slate/issues/5110#issuecomment-1234951122\n style={{ WebkitUserModify: undefined }}\n ref={ref}\n autoFocus={false}\n plugins={plugins}\n placeholder={placeholder}\n />\n )\n }),\n)`\n ul,\n ol {\n margin: 0;\n }\n`\n","import {\n useState,\n Ref,\n useImperativeHandle,\n forwardRef,\n useEffect,\n useCallback,\n useRef,\n KeyboardEvent as ReactKeyboardEvent,\n FocusEvent as ReactFocusEvent,\n} from 'react'\nimport styled from 'styled-components'\nimport { Editor, OnChangeParam } from 'slate-react'\nimport { Value, ValueJSON } from 'slate'\n// @ts-expect-error: no types for 'slate-hotkeys'\nimport Hotkeys from 'slate-hotkeys'\nimport { isHotkey } from 'is-hotkey'\n\nimport {\n ElementIDValue,\n MarginValue,\n RichTextDescriptor,\n RichTextValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { cssMargin, cssWidth } from '../../utils/cssMediaRules'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { RichTextEditor } from './components/RichTextEditor'\nimport { useIsInBuilder } from '../../../runtimes/react'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\n\ntype Props = {\n id?: ElementIDValue\n text?: RichTextValue\n width?: WidthValue\n margin?: MarginValue\n}\n\nconst StyledRichTextEditor = styled(RichTextEditor).withConfig({\n shouldForwardProp: prop => !['width', 'margin'].includes(prop.toString()),\n})<{ width: Props['width']; margin: Props['margin'] }>`\n ${cssWidth()}\n ${cssMargin()}\n`\n\nconst defaultText: ValueJSON = {\n document: { nodes: [{ object: 'block' as const, type: 'paragraph' as const, nodes: [] }] },\n data: {},\n}\n\nconst COMMIT_DEBOUNCE_DELAY = 500\n\ntype Descriptors = { text?: RichTextDescriptor }\n\nconst Text = forwardRef(function Text(\n { id, text, width, margin }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const [editor, setEditor] = useState<Editor | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const controller = propControllers?.text\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const el = editor?.findDOMNode([])\n\n return el instanceof Element ? getBox(el) : null\n },\n setPropControllers,\n }),\n [editor, setPropControllers],\n )\n\n useEffect(() => {\n if (editor) controller?.setSlateEditor(editor)\n }, [controller, editor])\n\n /**\n * We must keep local state so that we can reflect the user's typed changes immediately. At the\n * same time, though, the source of truth for the data is the prop data. This presents a\n * challenge: how do we keep local state in sync with the prop data without mangling user input as\n * data comes in?\n *\n * Consider, for example, that the user types \"Hello\". If at a later time, when the user is trying\n * to type \", world\" the component re-renders with prop data \"H\", \"He\", \"Hel\", \"Hell\", \"Hello\", it\n * will disrupt the user's typing. This could also happen as a result of the prop data changing\n * for other reasons, like collaborators changing the prop data concurrently. We want to avoid to\n * disrupt the user's typing, while at the same time display the \"true\" value as quickly as\n * possible.\n *\n * The approach we take here is to commit the prop data at an opportune time: as the user is\n * typing we avoid to commit prop data. But once they've stopped typing, we commit it as soon as\n * possible. This is known as a debounce.\n */\n const [value, setValue] = useState(() => {\n const { selection, ...textWithoutSelection } = text ?? defaultText\n\n return Value.fromJSON(textWithoutSelection)\n })\n const [shouldCommit, setShouldCommit] = useState(true)\n\n useEffect(() => {\n if (shouldCommit) {\n const nextValue = Value.fromJSON(text ?? defaultText)\n\n setValue(currentValue =>\n currentValue.selection.isBlurred\n ? Value.fromJSON(nextValue.toJSON({ preserveSelection: false }))\n : nextValue,\n )\n }\n }, [shouldCommit, text])\n\n useEffect(() => {\n if (shouldCommit) return\n\n const timeoutId = window.setTimeout(() => {\n setShouldCommit(true)\n }, COMMIT_DEBOUNCE_DELAY)\n\n return () => {\n window.clearTimeout(timeoutId)\n }\n }, [shouldCommit])\n\n function handleChange(change: OnChangeParam) {\n setValue(change.value as Value)\n\n if (change.value !== value) {\n setShouldCommit(false)\n\n controller?.onChange(change)\n }\n }\n\n // HACK: Slate holds on to the very first DOM event handlers passed in and doesn't update them\n // even if they change. Since `controller` is first `undefined` then we must use a ref.\n const lastController = useRef(controller)\n if (lastController.current !== controller) lastController.current = controller\n const handleFocus = useCallback(() => {\n lastController.current?.focus()\n }, [])\n const handleKeyDown = useCallback(\n (event: ReactKeyboardEvent, _editor: Editor, next: () => any) => {\n if (Hotkeys.isUndo(event)) {\n lastController.current?.undo()\n\n return true\n }\n\n if (Hotkeys.isRedo(event)) {\n lastController.current?.redo()\n\n return true\n }\n\n if (isHotkey('escape')(event)) {\n lastController.current?.blur()\n\n return true\n }\n\n return next()\n },\n [],\n )\n const handleBlur = useCallback((event: ReactFocusEvent, _editor: Editor, next: () => any) => {\n // Normally, after a user highlight a text, clicking on the panel will remove the text selection.\n // This line is a workaround for that. Because the panel is not in the iframe, relatedTarget\n // would be null, and we return early so we don't remove the selection.\n if (event.relatedTarget == null) return true\n\n // Blur the selection if the user is clicking on other text.\n return next()\n }, [])\n\n const isInBuilder = useIsInBuilder()\n\n return (\n <StyledRichTextEditor\n // @ts-expect-error: types don't allow for 'id' prop even though it's used.\n id={id}\n ref={setEditor}\n width={width}\n readOnly={!isInBuilder}\n margin={margin}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n />\n )\n})\n\nexport default Text\n"],"names":["Span","styled","span","p","cssMediaRules","typographyStyle","color","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","uppercase","underline","strikethrough","italic","css","colorToString","value","unit","Boolean","filter","join","shallowMergeFallbacks","restOfProps","useTypographyMark","TYPOGRAPHY_TYPE","renderMark","mark","children","_editor","next","type","data","get","StyledBlock","div","textAlign","as","forwardRef","ref","renderBlock","props","node","attributes","blockProps","StyledLink","Link","renderInline","toJS","RichTextEditor","placeholder","plugins","useMemo","Lists","Inlines","DeviceOverridesBlocks","DeviceOverridesMarks","SlateEditor","WebkitUserModify","undefined","StyledRichTextEditor","withConfig","shouldForwardProp","prop","includes","toString","cssWidth","cssMargin","defaultText","document","nodes","object","COMMIT_DEBOUNCE_DELAY","Text","id","text","width","margin","editor","setEditor","useState","propControllers","setPropControllers","controller","useImperativeHandle","getBoxModel","el","findDOMNode","Element","getBox","useEffect","setSlateEditor","setValue","selection","textWithoutSelection","Value","fromJSON","shouldCommit","setShouldCommit","nextValue","currentValue","isBlurred","toJSON","preserveSelection","timeoutId","window","setTimeout","clearTimeout","change","onChange","lastController","useRef","current","handleFocus","useCallback","focus","handleKeyDown","event","Hotkeys","isUndo","undo","isRedo","redo","isHotkey","blur","handleBlur","relatedTarget","isInBuilder","useIsInBuilder","handleChange"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,uBACL,cAC+B;AAC/B,QAAM,EAAE,OAAO,SAAS,SAAS,oBAAoB;AAAA,IACnD,MAAM,gBAAgB;AAAA,IACtB,WAAW,EAAE,KAAK,gBAAgB,OAAO,CAAC,YAAY,IAAI,GAAG;AAAA,EAAA,CAC9D;AAEG,MAAA,gBAAgB,QAAQ,SAAS;AAAa,WAAA;AAElD,SAAO,6BAAM,aAAa;AAC5B;ACVA,MAAM,SAAS,CAA2C,GAAM,MAAS,EAAE,OAAO,CAAC;AACnF,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,cAAmB,SAAS,MAAM;AAClE,MAAM,cAAc,CAAC,EAAE,eAAoB;AAE3C,MAAM,YACJ,CAAC,aACD,CAAC,OAAwD;AAAxD,eAAS,EAAP,OAAO,OAAT,IAAS,SAAE,YAAF,IAAY,wBAAZ,IAAY,CAAV,WAA4B,iBAAvC,IAAuC,CAArC;AAAsD,0CACpD,OADoD;AAAA,IAEvD,OAAO,kCACF,cACC,QACA;AAAA,MACE,OAAO;AAAA,QACL,QAAQ,SAAS,KAAK,CAAC,MAAW,KAAK,EAAE,OAAO,MAAM,QAAQ;AAAA,QAC9D,OAAO,MAAM;AAAA,MACf;AAAA,IAAA,IAEF,CAAC;AAAA,EAET;AAAA;AAEW,MAAA,0BAA0B,CACrC,QACA,aAC6B;AAC7B,QAAM,UAAU,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,WAAW,EAAE,OAAO,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC;AAE/E,SAAA,QAAQ,IAAI,CAAC,aAAmB;AAAA,IACrC;AAAA,IACA,OAAO,kCACD,oBAAmB,QAAQ,QAAQ,KAAK,EAAE,OAAO,MAAM,QACvD,oBAAmB,UAAU,UAAU,CAAK,MAAA,CAAC,KAAK,EAAE,OAAO,CAAC,EAAA,GAAK;AAAA,EAEvE,EAAA;AACJ;AAEA,2BACE,OACuC;AACvC,QAAM,aAAa,cAAc,SAAS,MAAM,EAAE;AAElD,QAAM,YAAY;AAAA,IACf,cAAc,WAAW,MAAM,IAAI,WAAW,KAAM,CAAC;AAAA,IACrD,SAAS,MAAM,MAAM,IAAI,WAAW,KAAM,CAAC;AAAA,EAE3C,EAAA,OAAO,MAAM,EACb,OAAO,OAAO;AAEX,QAAA,EAAE,OAAO,YAAY,MAAM,YAAY,OAAO,SAAS,gBAAgB;AAAA,IAC3E,MAAM,aAAa,QAAQ,UAAU,WAAW;AAAA,IAChD,WAAW,EAAE,KAAK,UAAU;AAAA,EAAA,CAC7B;AAEK,QAAA,EAAE,WAAW,OAAO;AAE1B,MAAI,cAAc;AAAa,WAAA;AAExB,SAAA,wBACJ,cAAc,WAAW,MAAM,IAAI,UAAU,QAAQ,CAAC,KAAM,IAC5D,SAAS,MAAM,MAAM,IAAI,UAAU,QAAQ,CAAC,KAAM,CAAA,CACrD;AACF;AC1EA,MAAMA,OAAOC,OAAOC;AAAAA,IAChBC,OACAC,cACE,CAACD,EAAEE,eAAH,GACA,CAAC,CACC;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,IACE,CAAA,OACAC;AAAAA,UACFV,SAAS,OACP,KACAU;AAAAA,uBACWC,cAAcX,KAAD;AAAA;AAAA;AAAA,UAG1BC,cAAc,OACZ,KACAS;AAAAA,8BACkBT;AAAAA;AAAAA;AAAAA,UAGpBC,YAAY,QAAQA,SAASU,SAAS,QAAQV,SAASW,QAAQ,OAC7D,KACAH;AAAAA,2BACgB,GAAER,SAASU,QAAQV,SAASW;AAAAA;AAAAA;AAAAA,UAG9CV,cAAc,OACZ,KACAO;AAAAA,6BACiBP;AAAAA;AAAAA;AAAAA,UAGnBC,cAAc,OACZ,KACAM;AAAAA,6BACiBN;AAAAA;AAAAA;AAAAA,UAGnBC,iBAAiB,OACf,KACAK;AAAAA,gCACoBL,gBAAgB;AAAA;AAAA;AAAA,UAGtCE,aAAa,QAAQC,iBAAiB,OACpC,KACAE;AAAAA,iCACqB,CACjBI,QAAQP,SAAD,KAAe,aACtBO,QAAQN,aAAD,KAAmB,cAFT,EAIhBO,OAAOD,OAJS,EAKhBE,KAAK,GALW;AAAA;AAAA;AAAA,UAQvBV,aAAa,OACX,KACAI;AAAAA,gCACoBJ,cAAc,OAAO,cAAc;AAAA;AAAA;AAAA,UAGzDG,UAAU,OACR,KACAC;AAAAA,4BACgBD,WAAW,OAAO,WAAW;AAAA;AAAA,SAGnDQ,qBA3EW;AAAA;AAmFY,cAAA,IAA+C;AAA/C,eAAEL;AAAAA;AAAAA,MAAF,IAAYM,wBAAZ,IAAYA;AAAAA,IAAVN;AAAAA;AACvBb,QAAAA,kBAAkBoB,kBAAkBP,KAAD;AAElC,6BAAC,MAAD,iCAAUM,cAAV;AAAA,IAAuB;AAAA,EAAA,EAA9B;AACD;ACrGD,MAAME,kBAAkB;AAEqC,sCAAA;AACpD,SAAA;AAAA,IACLC,WAAW;AAAA,MAAEC;AAAAA,MAAMC;AAAAA,OAAYC,SAASC,MAAM;AACxCH,UAAAA,KAAKI,SAASN,iBAAiB;AACjC,mCAAQ,MAAD;AAAA,UAAM,OAAOE,KAAKK,KAAKC,IAAI,OAAd;AAAA,UAAyBL;AAAAA,QAAAA,CAA7C;AAAA,MACD;AAED,aAAOE,KAAP;AAAA,IACD;AAAA,EAAA;AAEJ;ACLD,MAAMI,cAAclC,OAAOmC;AAAAA;AAAAA,IAEvBjC,CAAAA,MACAC,cAAc,CAACD,EAAEkC,SAAH,GAAwB,CAAC,CAACA,eACtCA,aAAa,OACTrB,QACAA;AAAAA,0BACgBqB;AAAAA,WAJT;AAAA;AAAA,IAQblC,CAAAA,MACAA,EAAEmC,OAAO,eACLtB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,YAMA;AAAA;AAKR,IAAA,QAAeuB,WAAkC,gBAC/C,IACAC,KACA;AAFA,eAAEH;AAAAA;AAAAA,MAAF,IAAgBb,wBAAhB,IAAgBA;AAAAA,IAAda;AAAAA;AAGK,6BAAC,aAAD,iCAAiBb,cAAjB;AAAA,IAA8B;AAAA,IAAU;AAAA,EAAA,EAA/C;AACD,CALwB;AC/BoC,sCAAA;AACpD,SAAA;AAAA,IACLiB,YAAYC,OAAOZ,SAASC,MAAmB;AACvC,YAAA;AAAA,QAAEY;AAAAA,QAAMC;AAAAA,QAAYf;AAAAA,UAAaa;AACvC,YAAMG,aAAa;AAAA,QAAER,WAAWM,KAAKV,KAAKC,IAAI,WAAd;AAAA,MAAA;AAExBS,cAAAA,KAAKX;AAAAA,aACN;AAED,qCAAC,OAAD,gDAAWY,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA,aAMG;AAED,qCAAC,OAAD,gDAAWe,aAAgBC,aAA3B;AAAA,YAAuC,IAAG;AAAA,YACvChB;AAAAA,UAAAA,EAFL;AAAA;AAOA,iBAAOE,KAAP;AAAA;AAAA,IAEL;AAAA,EAAA;AAEJ;ACnED,MAAMe,aAAa7C,OAAO8C,IAAD;AAAA;AAAA;AAIoB,sBAAA;AACpC,SAAA;AAAA,IACLC,aAAaN,OAAOZ,SAASC,MAAM;AAC3B,YAAA;AAAA,QAAEa;AAAAA,QAAYf;AAAAA,QAAUc;AAAAA,UAASD;AAE/BC,cAAAA,KAAKX;AAAAA,aACN,QAAQ;AACL,gBAAA;AAAA,YAAEC;AAAAA,cAASU;AAGf,qCAAC,YAAD,iCAAgBC,aAAhB;AAAA,YAA4B,MAAMX,KAAKgB,KAAvC;AAAA,YACGpB;AAAAA,UAAAA,EAFL;AAAA,QAKD;AAAA,iBAEQ;AACP,iBAAOE,KAAP;AAAA,QACD;AAAA;AAAA,IAEJ;AAAA,EAAA;AAEJ;AC7ByC,mBAAA;AACjC,SAAA;AAAA,IACLiB,aAAaN,OAAOZ,SAASC,MAAM;AAC3B,YAAA;AAAA,QAAEa;AAAAA,QAAYf;AAAAA,QAAUc;AAAAA,UAASD;AAE/BC,cAAAA,KAAKX;AAAAA,aACN,QAAQ;AACX,8EAAiBY;YAAaf;AAAAA,UAAAA,EAA9B;AAAA,QACD;AAAA,aAEI,eAAe;AAClB,6EAAgBe;YAAaf;AAAAA,UAAAA,EAA7B;AAAA,QACD;AAAA,aAEI,aAAa;AAChB,6EAAgBe;YAAaf;AAAAA,UAAAA,EAA7B;AAAA,QACD;AAAA,iBAEQ;AACP,iBAAOE,KAAP;AAAA,QACD;AAAA;AAAA,IAEJ;AAAA,EAAA;AAEJ;ACTYmB,MAAAA,iBAAiBjD,OAC5BsC,WAA+B,yBAC7B,IACAC,KACA;AAFA,eAAEW;AAAAA,kBAAc;AAAA,MAAhB,IAAyC3B,wBAAzC,IAAyCA;AAAAA,IAAvC2B;AAAAA;AAGIC,QAAAA,UAAUC,QACd,MAAM,CAACC,SAASP,WAAI,GAAIQ,QAAO,GAAIC,2BAAyBC,GAAAA,2BAAAA,CAAtD,GACN,CAFqB,CAAA;AAMrB,6BAACC,QAAD,iCACMlC,cADN;AAAA,IAKE,OAAO;AAAA,MAAEmC,kBAAkBC;AAAAA,IAL7B;AAAA,IAME;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,EAAA,EAVJ;AAaD,CAtBS,CADwB;AAAA;AAAA;AAAA;AAAA;AAAA;ACsBpC,MAAMC,uBAAuB5D,OAAOiD,cAAD,EAAiBY,WAAW;AAAA,EAC7DC,mBAAmBC,CAAQ,SAAA,CAAC,CAAC,SAAS,QAAV,EAAoBC,SAASD,KAAKE,UAAlC;AADiC,CAAlC;AAAA,IAGzBC,SAAW;AAAA,IACXC,UAAY;AAAA;AAGhB,MAAMC,cAAyB;AAAA,EAC7BC,UAAU;AAAA,IAAEC,OAAO,CAAC;AAAA,MAAEC,QAAQ;AAAA,MAAkBxC,MAAM;AAAA,MAAsBuC,OAAO,CAAA;AAAA,IAAA,CAAhE;AAAA,EADU;AAAA,EAE7BtC,MAAM,CAAA;AAFuB;AAK/B,MAAMwC,wBAAwB;AAIxBC,MAAAA,OAAOnC,WAAW,eACtB;AAAA,EAAEoC;AAAAA,EAAIC;AAAAA,EAAMC;AAAAA,EAAOC;AAAAA,GACnBtC,KACA;AACA,QAAM,CAACuC,QAAQC,aAAaC,SAAwB,IAAhB;AACpC,QAAM,CAACC,iBAAiBC,sBACtBF,SAAyD,IAAjD;AACV,QAAMG,aAAaF,mDAAiBN;AAEpCS,sBACE7C,KACA,MAAO;AAAA,IACL8C,cAAc;AACZ,YAAMC,KAAKR,iCAAQS,YAAY,CAApB;AAEJD,aAAAA,cAAcE,UAAUC,OAAOH,EAAD,IAAO;AAAA,IAJzC;AAAA,IAMLJ;AAAAA,EAEF,IAAA,CAACJ,QAAQI,kBAAT,CAViB;AAanBQ,YAAU,MAAM;AACVZ,QAAAA;AAAQK,+CAAYQ,eAAeb;AAAAA,EAA3B,GACX,CAACK,YAAYL,MAAb,CAFM;AAqBT,QAAM,CAAC7D,OAAO2E,YAAYZ,SAAS,MAAM;AACjC,UAAyCL,2BAAQP,aAA/CyB;AAAAA;AAAAA,QAAuClB,IAAzBmB,iCAAyBnB,IAAzBmB;AAAAA,MAAdD;AAAAA;AAEDE,WAAAA,MAAMC,SAASF,oBAAf;AAAA,EAAA,CAHyB;AAK5B,QAAA,CAACG,cAAcC,mBAAmBlB,SAAS,IAAD;AAEhDU,YAAU,MAAM;AACd,QAAIO,cAAc;AACVE,YAAAA,YAAYJ,MAAMC,SAASrB,sBAAQP,WAAvB;AAElBwB,eAASQ,kBACPA,aAAaP,UAAUQ,YACnBN,MAAMC,SAASG,UAAUG,OAAO;AAAA,QAAEC,mBAAmB;AAAA,MAAA,CAAtC,CAAf,IACAJ,SAHE;AAAA,IAKT;AAAA,EAAA,GACA,CAACF,cAActB,IAAf,CAVM;AAYTe,YAAU,MAAM;AACVO,QAAAA;AAAc;AAEZO,UAAAA,YAAYC,OAAOC,WAAW,MAAM;AACxCR,sBAAgB,IAAD;AAAA,OACd1B,qBAFe;AAIlB,WAAO,MAAM;AACXiC,aAAOE,aAAaH,SAApB;AAAA,IAAA;AAAA,EADF,GAGC,CAACP,YAAD,CAVM;AAYT,wBAAsBW,QAAuB;AAC3ChB,aAASgB,OAAO3F,KAAhB;AAEI2F,QAAAA,OAAO3F,UAAUA,OAAO;AAC1BiF,sBAAgB,KAAD;AAEff,+CAAY0B,SAASD;AAAAA,IACtB;AAAA,EACF;AAIKE,QAAAA,iBAAiBC,OAAO5B,UAAD;AACzB2B,MAAAA,eAAeE,YAAY7B;AAAY2B,mBAAeE,UAAU7B;AAC9D8B,QAAAA,cAAcC,YAAY,MAAM;;AACpCJ,yBAAeE,YAAfF,mBAAwBK;AAAAA,EADK,GAE5B,CAF4B,CAAA;AAG/B,QAAMC,gBAAgBF,YACpB,CAACG,OAA2BxF,SAAiBC,SAAoB;;AAC3DwF,QAAAA,QAAQC,OAAOF,KAAf,GAAuB;AACzBP,2BAAeE,YAAfF,mBAAwBU;AAEjB,aAAA;AAAA,IACR;AAEGF,QAAAA,QAAQG,OAAOJ,KAAf,GAAuB;AACzBP,2BAAeE,YAAfF,mBAAwBY;AAEjB,aAAA;AAAA,IACR;AAED,QAAIC,SAAS,QAAD,EAAWN,KAAnB,GAA2B;AAC7BP,2BAAeE,YAAfF,mBAAwBc;AAEjB,aAAA;AAAA,IACR;AAED,WAAO9F,KAAP;AAAA,EApB6B,GAsB/B,CAtB+B,CAAA;AAwBjC,QAAM+F,aAAaX,YAAY,CAACG,OAAwBxF,SAAiBC,SAAoB;AAIvFuF,QAAAA,MAAMS,iBAAiB;AAAa,aAAA;AAGxC,WAAOhG,KAAP;AAAA,EAP4B,GAQ3B,CAR2B,CAAA;AAUxBiG,QAAAA,cAAcC;AAGlB,6BAAC,sBAAD;AAAA,IAEE;AAAA,IACA,KAAKjD;AAAAA,IACL;AAAA,IACA,UAAU,CAACgD;AAAAA,IACX;AAAA,IACA;AAAA,IACA,UAAUE;AAAAA,IACV,SAAShB;AAAAA,IACT,WAAWG;AAAAA,IACX,QAAQS;AAAAA,EAAAA,CAZZ;AAeD,CA9IsB;;"}