@makeswift/runtime 0.28.10-canary.8 → 0.29.0-canary.19

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 (711) hide show
  1. package/dist/cjs/api/graphql/documents/queries.js +0 -14
  2. package/dist/cjs/api/graphql/documents/queries.js.map +1 -1
  3. package/dist/cjs/api/graphql/generated/types.js.map +1 -1
  4. package/dist/cjs/api/graphql-api-client.js +1 -8
  5. package/dist/cjs/api/graphql-api-client.js.map +1 -1
  6. package/dist/cjs/api/makeswift-api-resources-client.js +1 -7
  7. package/dist/cjs/api/makeswift-api-resources-client.js.map +1 -1
  8. package/dist/cjs/api/rest-api-client.js +15 -2
  9. package/dist/cjs/api/rest-api-client.js.map +1 -1
  10. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  11. package/dist/cjs/client/index.js +0 -3
  12. package/dist/cjs/client/index.js.map +1 -1
  13. package/dist/cjs/components/builtin/Box/Box.js +58 -54
  14. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  15. package/dist/cjs/components/builtin/Box/animations.js +7 -9
  16. package/dist/cjs/components/builtin/Box/animations.js.map +1 -1
  17. package/dist/cjs/components/builtin/Box/components/Placeholder/index.js +43 -39
  18. package/dist/cjs/components/builtin/Box/components/Placeholder/index.js.map +1 -1
  19. package/dist/cjs/components/builtin/Button/Button.js +165 -176
  20. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  21. package/dist/cjs/components/builtin/Carousel/Carousel.js +168 -142
  22. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  23. package/dist/cjs/components/builtin/Countdown/Countdown.js +165 -171
  24. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  25. package/dist/cjs/components/builtin/Divider/Divider.js +56 -64
  26. package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
  27. package/dist/cjs/components/builtin/Embed/Embed.js +14 -12
  28. package/dist/cjs/components/builtin/Embed/Embed.js.map +1 -1
  29. package/dist/cjs/components/builtin/Form/Form.js +65 -74
  30. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  31. package/dist/cjs/components/builtin/Form/components/Field/components/Checkbox/index.js +113 -121
  32. package/dist/cjs/components/builtin/Form/components/Field/components/Checkbox/index.js.map +1 -1
  33. package/dist/cjs/components/builtin/Form/components/Field/components/CheckboxTableField/index.js +29 -31
  34. package/dist/cjs/components/builtin/Form/components/Field/components/CheckboxTableField/index.js.map +1 -1
  35. package/dist/cjs/components/builtin/Form/components/Field/components/Input/index.js +14 -18
  36. package/dist/cjs/components/builtin/Form/components/Field/components/Input/index.js.map +1 -1
  37. package/dist/cjs/components/builtin/Form/components/Field/components/Label/index.js +17 -20
  38. package/dist/cjs/components/builtin/Form/components/Field/components/Label/index.js.map +1 -1
  39. package/dist/cjs/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.js +23 -18
  40. package/dist/cjs/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.js.map +1 -1
  41. package/dist/cjs/components/builtin/Form/components/Field/components/PlaceholderTableField/index.js +43 -46
  42. package/dist/cjs/components/builtin/Form/components/Field/components/PlaceholderTableField/index.js.map +1 -1
  43. package/dist/cjs/components/builtin/Form/components/Field/components/RadioButton/index.js +96 -105
  44. package/dist/cjs/components/builtin/Form/components/Field/components/RadioButton/index.js.map +1 -1
  45. package/dist/cjs/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.js +20 -19
  46. package/dist/cjs/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.js.map +1 -1
  47. package/dist/cjs/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.js +48 -54
  48. package/dist/cjs/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.js.map +1 -1
  49. package/dist/cjs/components/builtin/Form/components/Field/components/TextArea/index.js +8 -13
  50. package/dist/cjs/components/builtin/Form/components/Field/components/TextArea/index.js.map +1 -1
  51. package/dist/cjs/components/builtin/Form/components/Field/services/responsiveField.js +2 -2
  52. package/dist/cjs/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -1
  53. package/dist/cjs/components/builtin/Form/components/Placeholder/index.js +57 -64
  54. package/dist/cjs/components/builtin/Form/components/Placeholder/index.js.map +1 -1
  55. package/dist/cjs/components/builtin/Form/components/Spinner/index.js +19 -19
  56. package/dist/cjs/components/builtin/Form/components/Spinner/index.js.map +1 -1
  57. package/dist/cjs/components/builtin/Image/Image.js +33 -17
  58. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  59. package/dist/cjs/components/builtin/Image/register.js +11 -0
  60. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  61. package/dist/cjs/components/builtin/Navigation/Navigation.js +60 -68
  62. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  63. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js +91 -97
  64. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  65. package/dist/cjs/components/builtin/Navigation/components/LinksPlaceholder/index.js +12 -13
  66. package/dist/cjs/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  67. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js +44 -33
  68. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  69. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js +67 -70
  70. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  71. package/dist/cjs/components/builtin/Root/Root.js +30 -21
  72. package/dist/cjs/components/builtin/Root/Root.js.map +1 -1
  73. package/dist/cjs/components/builtin/Root/components/Placeholder/index.js +33 -36
  74. package/dist/cjs/components/builtin/Root/components/Placeholder/index.js.map +1 -1
  75. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js +72 -79
  76. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  77. package/dist/cjs/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js +11 -12
  78. package/dist/cjs/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  79. package/dist/cjs/components/builtin/Text/Text.js +12 -2
  80. package/dist/cjs/components/builtin/Text/Text.js.map +1 -1
  81. package/dist/cjs/components/builtin/Video/Video.js +23 -28
  82. package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
  83. package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +30 -35
  84. package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  85. package/dist/cjs/components/shared/BackgroundsContainer/components/Backgrounds/index.js +84 -66
  86. package/dist/cjs/components/shared/BackgroundsContainer/components/Backgrounds/index.js.map +1 -1
  87. package/dist/cjs/components/shared/BackgroundsContainer/index.js +31 -27
  88. package/dist/cjs/components/shared/BackgroundsContainer/index.js.map +1 -1
  89. package/dist/cjs/components/shared/FallbackComponent/FallbackComponent.js +27 -26
  90. package/dist/cjs/components/shared/FallbackComponent/FallbackComponent.js.map +1 -1
  91. package/dist/cjs/components/shared/GutterContainer/index.js +13 -16
  92. package/dist/cjs/components/shared/GutterContainer/index.js.map +1 -1
  93. package/dist/cjs/components/shared/grid-item.js +27 -11
  94. package/dist/cjs/components/shared/grid-item.js.map +1 -1
  95. package/dist/cjs/controls/index.js.map +1 -1
  96. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +24 -13
  97. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  98. package/dist/cjs/controls/serialization/base/visitor.js +5 -3
  99. package/dist/cjs/controls/serialization/base/visitor.js.map +1 -1
  100. package/dist/cjs/controls/visitors/merge-translations-visitor.js +1 -1
  101. package/dist/cjs/controls/visitors/merge-translations-visitor.js.map +1 -1
  102. package/dist/cjs/next/components/page.js +14 -1
  103. package/dist/cjs/next/components/page.js.map +1 -1
  104. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +3 -3
  105. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  106. package/dist/cjs/next/document.js +39 -10
  107. package/dist/cjs/next/document.js.map +1 -1
  108. package/dist/cjs/next/root-style-registry.js +2 -9
  109. package/dist/cjs/next/root-style-registry.js.map +1 -1
  110. package/dist/cjs/react/server/index.js +0 -2
  111. package/dist/cjs/react/server/index.js.map +1 -1
  112. package/dist/cjs/runtimes/react/components/ElementData.js +11 -2
  113. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  114. package/dist/cjs/runtimes/react/components/GoogleFontLink.js +2 -1
  115. package/dist/cjs/runtimes/react/components/GoogleFontLink.js.map +1 -1
  116. package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
  117. package/dist/cjs/runtimes/react/components/page/PageHead.js +0 -8
  118. package/dist/cjs/runtimes/react/components/page/PageHead.js.map +1 -1
  119. package/dist/cjs/runtimes/react/components/page/head-tags.js +0 -6
  120. package/dist/cjs/runtimes/react/components/page/head-tags.js.map +1 -1
  121. package/dist/cjs/runtimes/react/components/resolve-props.js +24 -5
  122. package/dist/cjs/runtimes/react/components/resolve-props.js.map +1 -1
  123. package/dist/cjs/runtimes/react/controls/control.js +22 -8
  124. package/dist/cjs/runtimes/react/controls/control.js.map +1 -1
  125. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js +20 -17
  126. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  127. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js +98 -42
  128. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  129. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js +87 -20
  130. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  131. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js +17 -3
  132. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  133. package/dist/cjs/runtimes/react/controls/rich-text/components/Leaf/leaf.js +5 -2
  134. package/dist/cjs/runtimes/react/controls/rich-text/components/Leaf/leaf.js.map +1 -1
  135. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +74 -32
  136. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  137. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/index.js +2 -18
  138. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/index.js.map +1 -1
  139. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js +36 -3
  140. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  141. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js +27 -3
  142. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  143. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +4 -4
  144. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  145. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +91 -31
  146. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  147. package/dist/cjs/runtimes/react/controls/rich-text-v2/index.js +9 -3
  148. package/dist/cjs/runtimes/react/controls/rich-text-v2/index.js.map +1 -1
  149. package/dist/cjs/runtimes/react/controls/rich-text-v2/render-rich-text-v2.js +59 -0
  150. package/dist/cjs/runtimes/react/controls/rich-text-v2/render-rich-text-v2.js.map +1 -0
  151. package/dist/cjs/runtimes/react/controls/rich-text-v2/{rich-text-v2.js → rich-text-v2-value.js} +20 -15
  152. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2-value.js.map +1 -0
  153. package/dist/cjs/runtimes/react/controls/slot/slot-value.js +52 -34
  154. package/dist/cjs/runtimes/react/controls/slot/slot-value.js.map +1 -1
  155. package/dist/cjs/runtimes/react/controls/typography.js +6 -5
  156. package/dist/cjs/runtimes/react/controls/typography.js.map +1 -1
  157. package/dist/cjs/runtimes/react/controls/use-slate-reset.js +1 -1
  158. package/dist/cjs/runtimes/react/controls/use-slate-reset.js.map +1 -1
  159. package/dist/cjs/runtimes/react/css-runtime/browser-dynamic-styles-bridge.js +55 -0
  160. package/dist/cjs/runtimes/react/css-runtime/browser-dynamic-styles-bridge.js.map +1 -0
  161. package/dist/cjs/runtimes/react/css-runtime/components/controlled-styles.js +76 -0
  162. package/dist/cjs/runtimes/react/css-runtime/components/controlled-styles.js.map +1 -0
  163. package/dist/cjs/runtimes/react/css-runtime/components/makeswift-style.js +42 -0
  164. package/dist/cjs/runtimes/react/css-runtime/components/makeswift-style.js.map +1 -0
  165. package/dist/cjs/runtimes/react/css-runtime/components/rsc-emitted-style.js +46 -0
  166. package/dist/cjs/runtimes/react/css-runtime/components/rsc-emitted-style.js.map +1 -0
  167. package/dist/cjs/runtimes/react/css-runtime/components/styles-context-provider.js +54 -0
  168. package/dist/cjs/runtimes/react/css-runtime/components/styles-context-provider.js.map +1 -0
  169. package/dist/cjs/runtimes/react/css-runtime/constants.js +39 -0
  170. package/dist/cjs/runtimes/react/css-runtime/constants.js.map +1 -0
  171. package/dist/cjs/runtimes/react/css-runtime/hooks/use-base-styles.js +67 -0
  172. package/dist/cjs/runtimes/react/css-runtime/hooks/use-base-styles.js.map +1 -0
  173. package/dist/cjs/runtimes/react/css-runtime/hooks/use-controlled-styles.js +79 -0
  174. package/dist/cjs/runtimes/react/css-runtime/hooks/use-controlled-styles.js.map +1 -0
  175. package/dist/cjs/runtimes/react/css-runtime/hooks/use-css-reset.js +70 -0
  176. package/dist/cjs/runtimes/react/css-runtime/hooks/use-css-reset.js.map +1 -0
  177. package/dist/cjs/runtimes/react/css-runtime/hooks/use-dynamic-browser-style-updates.js +41 -0
  178. package/dist/cjs/runtimes/react/css-runtime/hooks/use-dynamic-browser-style-updates.js.map +1 -0
  179. package/dist/cjs/runtimes/react/css-runtime/hooks/use-keyframes.js +64 -0
  180. package/dist/cjs/runtimes/react/css-runtime/hooks/use-keyframes.js.map +1 -0
  181. package/dist/cjs/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js +78 -0
  182. package/dist/cjs/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js.map +1 -0
  183. package/dist/cjs/runtimes/react/{use-style.js → css-runtime/hooks/use-style.js} +49 -30
  184. package/dist/cjs/runtimes/react/css-runtime/hooks/use-style.js.map +1 -0
  185. package/dist/cjs/runtimes/react/css-runtime/hooks/use-styles-context.js +39 -0
  186. package/dist/cjs/runtimes/react/css-runtime/hooks/use-styles-context.js.map +1 -0
  187. package/dist/cjs/runtimes/react/css-runtime/serialize-css.js +51 -0
  188. package/dist/cjs/runtimes/react/css-runtime/serialize-css.js.map +1 -0
  189. package/dist/cjs/runtimes/react/css-runtime/style-element-updater.js +56 -0
  190. package/dist/cjs/runtimes/react/css-runtime/style-element-updater.js.map +1 -0
  191. package/dist/cjs/runtimes/react/css-runtime/styles-registry.js +283 -0
  192. package/dist/cjs/runtimes/react/css-runtime/styles-registry.js.map +1 -0
  193. package/dist/cjs/runtimes/react/css-runtime/stylesheet-engine.js +89 -0
  194. package/dist/cjs/runtimes/react/css-runtime/stylesheet-engine.js.map +1 -0
  195. package/dist/cjs/runtimes/react/{hooks/use-css-id.js → css-runtime/types.js} +12 -10
  196. package/dist/cjs/runtimes/react/css-runtime/types.js.map +1 -0
  197. package/dist/cjs/runtimes/react/css-runtime/utils.js +53 -0
  198. package/dist/cjs/runtimes/react/css-runtime/utils.js.map +1 -0
  199. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +10 -9
  200. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  201. package/dist/cjs/runtimes/react/hooks/use-resolved-value.js +2 -2
  202. package/dist/cjs/runtimes/react/hooks/use-resolved-value.js.map +1 -1
  203. package/dist/cjs/runtimes/react/legacy-controls.js +91 -21
  204. package/dist/cjs/runtimes/react/legacy-controls.js.map +1 -1
  205. package/dist/cjs/runtimes/react/poll-box-model.js +2 -1
  206. package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
  207. package/dist/cjs/runtimes/react/root-style-registry.js +32 -75
  208. package/dist/cjs/runtimes/react/root-style-registry.js.map +1 -1
  209. package/dist/cjs/runtimes/react/runtime-core.js +0 -1
  210. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
  211. package/dist/cjs/runtimes/react/server/components/editable-server-element.js +7 -4
  212. package/dist/cjs/runtimes/react/server/components/editable-server-element.js.map +1 -1
  213. package/dist/cjs/runtimes/react/server/components/element-data.js +16 -8
  214. package/dist/cjs/runtimes/react/server/components/element-data.js.map +1 -1
  215. package/dist/cjs/runtimes/react/server/components/server-elements-cache.js +1 -2
  216. package/dist/cjs/runtimes/react/server/components/server-elements-cache.js.map +1 -1
  217. package/dist/cjs/runtimes/react/server/index.js +0 -3
  218. package/dist/cjs/runtimes/react/server/index.js.map +1 -1
  219. package/dist/cjs/runtimes/react/server/render-context.js.map +1 -1
  220. package/dist/cjs/slate/BlockPlugin/index.js +101 -21
  221. package/dist/cjs/slate/BlockPlugin/index.js.map +1 -1
  222. package/dist/cjs/slate/LinkPlugin/index.js +32 -17
  223. package/dist/cjs/slate/LinkPlugin/index.js.map +1 -1
  224. package/dist/cjs/slate/TypographyPlugin/index.js +12 -2
  225. package/dist/cjs/slate/TypographyPlugin/index.js.map +1 -1
  226. package/dist/cjs/testing/jest-snapshot-serializer.js +134 -0
  227. package/dist/cjs/testing/jest-snapshot-serializer.js.map +1 -0
  228. package/dist/cjs/unstable-framework-support/index.js +4 -5
  229. package/dist/cjs/unstable-framework-support/index.js.map +1 -1
  230. package/dist/esm/api/graphql/documents/queries.js +0 -13
  231. package/dist/esm/api/graphql/documents/queries.js.map +1 -1
  232. package/dist/esm/api/graphql/generated/types.js.map +1 -1
  233. package/dist/esm/api/graphql-api-client.js +2 -9
  234. package/dist/esm/api/graphql-api-client.js.map +1 -1
  235. package/dist/esm/api/makeswift-api-resources-client.js +1 -7
  236. package/dist/esm/api/makeswift-api-resources-client.js.map +1 -1
  237. package/dist/esm/api/rest-api-client.js +15 -2
  238. package/dist/esm/api/rest-api-client.js.map +1 -1
  239. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  240. package/dist/esm/client/index.js +0 -3
  241. package/dist/esm/client/index.js.map +1 -1
  242. package/dist/esm/components/builtin/Box/Box.js +59 -55
  243. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  244. package/dist/esm/components/builtin/Box/animations.js +7 -9
  245. package/dist/esm/components/builtin/Box/animations.js.map +1 -1
  246. package/dist/esm/components/builtin/Box/components/Placeholder/index.js +44 -40
  247. package/dist/esm/components/builtin/Box/components/Placeholder/index.js.map +1 -1
  248. package/dist/esm/components/builtin/Button/Button.js +166 -177
  249. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  250. package/dist/esm/components/builtin/Carousel/Carousel.js +169 -143
  251. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  252. package/dist/esm/components/builtin/Countdown/Countdown.js +166 -172
  253. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  254. package/dist/esm/components/builtin/Divider/Divider.js +54 -62
  255. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  256. package/dist/esm/components/builtin/Embed/Embed.js +15 -13
  257. package/dist/esm/components/builtin/Embed/Embed.js.map +1 -1
  258. package/dist/esm/components/builtin/Form/Form.js +65 -74
  259. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  260. package/dist/esm/components/builtin/Form/components/Field/components/Checkbox/index.js +117 -122
  261. package/dist/esm/components/builtin/Form/components/Field/components/Checkbox/index.js.map +1 -1
  262. package/dist/esm/components/builtin/Form/components/Field/components/CheckboxTableField/index.js +33 -32
  263. package/dist/esm/components/builtin/Form/components/Field/components/CheckboxTableField/index.js.map +1 -1
  264. package/dist/esm/components/builtin/Form/components/Field/components/Input/index.js +18 -19
  265. package/dist/esm/components/builtin/Form/components/Field/components/Input/index.js.map +1 -1
  266. package/dist/esm/components/builtin/Form/components/Field/components/Label/index.js +21 -21
  267. package/dist/esm/components/builtin/Form/components/Field/components/Label/index.js.map +1 -1
  268. package/dist/esm/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.js +27 -19
  269. package/dist/esm/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.js.map +1 -1
  270. package/dist/esm/components/builtin/Form/components/Field/components/PlaceholderTableField/index.js +46 -46
  271. package/dist/esm/components/builtin/Form/components/Field/components/PlaceholderTableField/index.js.map +1 -1
  272. package/dist/esm/components/builtin/Form/components/Field/components/RadioButton/index.js +100 -106
  273. package/dist/esm/components/builtin/Form/components/Field/components/RadioButton/index.js.map +1 -1
  274. package/dist/esm/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.js +24 -20
  275. package/dist/esm/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.js.map +1 -1
  276. package/dist/esm/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.js +51 -54
  277. package/dist/esm/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.js.map +1 -1
  278. package/dist/esm/components/builtin/Form/components/Field/components/TextArea/index.js +12 -14
  279. package/dist/esm/components/builtin/Form/components/Field/components/TextArea/index.js.map +1 -1
  280. package/dist/esm/components/builtin/Form/components/Field/services/responsiveField.js +2 -2
  281. package/dist/esm/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -1
  282. package/dist/esm/components/builtin/Form/components/Placeholder/index.js +58 -65
  283. package/dist/esm/components/builtin/Form/components/Placeholder/index.js.map +1 -1
  284. package/dist/esm/components/builtin/Form/components/Spinner/index.js +20 -20
  285. package/dist/esm/components/builtin/Form/components/Spinner/index.js.map +1 -1
  286. package/dist/esm/components/builtin/Image/Image.js +34 -18
  287. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  288. package/dist/esm/components/builtin/Image/register.js +12 -0
  289. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  290. package/dist/esm/components/builtin/Navigation/Navigation.js +61 -69
  291. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  292. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js +92 -98
  293. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  294. package/dist/esm/components/builtin/Navigation/components/LinksPlaceholder/index.js +13 -14
  295. package/dist/esm/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  296. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js +44 -33
  297. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  298. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js +70 -73
  299. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  300. package/dist/esm/components/builtin/Root/Root.js +31 -22
  301. package/dist/esm/components/builtin/Root/Root.js.map +1 -1
  302. package/dist/esm/components/builtin/Root/components/Placeholder/index.js +34 -37
  303. package/dist/esm/components/builtin/Root/components/Placeholder/index.js.map +1 -1
  304. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js +73 -80
  305. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  306. package/dist/esm/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js +12 -13
  307. package/dist/esm/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  308. package/dist/esm/components/builtin/Text/Text.js +2 -2
  309. package/dist/esm/components/builtin/Text/Text.js.map +1 -1
  310. package/dist/esm/components/builtin/Video/Video.js +24 -29
  311. package/dist/esm/components/builtin/Video/Video.js.map +1 -1
  312. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +30 -35
  313. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  314. package/dist/esm/components/shared/BackgroundsContainer/components/Backgrounds/index.js +85 -67
  315. package/dist/esm/components/shared/BackgroundsContainer/components/Backgrounds/index.js.map +1 -1
  316. package/dist/esm/components/shared/BackgroundsContainer/index.js +32 -28
  317. package/dist/esm/components/shared/BackgroundsContainer/index.js.map +1 -1
  318. package/dist/esm/components/shared/FallbackComponent/FallbackComponent.js +28 -27
  319. package/dist/esm/components/shared/FallbackComponent/FallbackComponent.js.map +1 -1
  320. package/dist/esm/components/shared/GutterContainer/index.js +14 -17
  321. package/dist/esm/components/shared/GutterContainer/index.js.map +1 -1
  322. package/dist/esm/components/shared/grid-item.js +18 -12
  323. package/dist/esm/components/shared/grid-item.js.map +1 -1
  324. package/dist/esm/controls/index.js.map +1 -1
  325. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +24 -13
  326. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  327. package/dist/esm/controls/serialization/base/visitor.js +5 -3
  328. package/dist/esm/controls/serialization/base/visitor.js.map +1 -1
  329. package/dist/esm/controls/visitors/merge-translations-visitor.js +1 -1
  330. package/dist/esm/controls/visitors/merge-translations-visitor.js.map +1 -1
  331. package/dist/esm/next/components/page.js +15 -2
  332. package/dist/esm/next/components/page.js.map +1 -1
  333. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +3 -3
  334. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  335. package/dist/esm/next/document.js +42 -10
  336. package/dist/esm/next/document.js.map +1 -1
  337. package/dist/esm/next/root-style-registry.js +3 -12
  338. package/dist/esm/next/root-style-registry.js.map +1 -1
  339. package/dist/esm/react/server/index.js +0 -2
  340. package/dist/esm/react/server/index.js.map +1 -1
  341. package/dist/esm/runtimes/react/components/ElementData.js +12 -3
  342. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  343. package/dist/esm/runtimes/react/components/GoogleFontLink.js +2 -1
  344. package/dist/esm/runtimes/react/components/GoogleFontLink.js.map +1 -1
  345. package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
  346. package/dist/esm/runtimes/react/components/page/PageHead.js +1 -9
  347. package/dist/esm/runtimes/react/components/page/PageHead.js.map +1 -1
  348. package/dist/esm/runtimes/react/components/page/head-tags.js +0 -5
  349. package/dist/esm/runtimes/react/components/page/head-tags.js.map +1 -1
  350. package/dist/esm/runtimes/react/components/resolve-props.js +24 -5
  351. package/dist/esm/runtimes/react/components/resolve-props.js.map +1 -1
  352. package/dist/esm/runtimes/react/controls/control.js +22 -8
  353. package/dist/esm/runtimes/react/controls/control.js.map +1 -1
  354. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js +21 -18
  355. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  356. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js +100 -44
  357. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  358. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js +78 -21
  359. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  360. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js +8 -4
  361. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  362. package/dist/esm/runtimes/react/controls/rich-text/components/Leaf/leaf.js +7 -4
  363. package/dist/esm/runtimes/react/controls/rich-text/components/Leaf/leaf.js.map +1 -1
  364. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +78 -33
  365. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  366. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/index.js +2 -3
  367. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/index.js.map +1 -1
  368. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js +36 -3
  369. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  370. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js +27 -3
  371. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  372. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +4 -4
  373. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  374. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +97 -34
  375. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  376. package/dist/esm/runtimes/react/controls/rich-text-v2/index.js +4 -1
  377. package/dist/esm/runtimes/react/controls/rich-text-v2/index.js.map +1 -1
  378. package/dist/esm/runtimes/react/controls/rich-text-v2/render-rich-text-v2.js +25 -0
  379. package/dist/esm/runtimes/react/controls/rich-text-v2/render-rich-text-v2.js.map +1 -0
  380. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2-value.js +26 -0
  381. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2-value.js.map +1 -0
  382. package/dist/esm/runtimes/react/controls/slot/slot-value.js +43 -35
  383. package/dist/esm/runtimes/react/controls/slot/slot-value.js.map +1 -1
  384. package/dist/esm/runtimes/react/controls/typography.js +5 -4
  385. package/dist/esm/runtimes/react/controls/typography.js.map +1 -1
  386. package/dist/esm/runtimes/react/controls/use-slate-reset.js +1 -1
  387. package/dist/esm/runtimes/react/controls/use-slate-reset.js.map +1 -1
  388. package/dist/esm/runtimes/react/css-runtime/browser-dynamic-styles-bridge.js +31 -0
  389. package/dist/esm/runtimes/react/css-runtime/browser-dynamic-styles-bridge.js.map +1 -0
  390. package/dist/esm/runtimes/react/css-runtime/components/controlled-styles.js +51 -0
  391. package/dist/esm/runtimes/react/css-runtime/components/controlled-styles.js.map +1 -0
  392. package/dist/esm/runtimes/react/css-runtime/components/makeswift-style.js +18 -0
  393. package/dist/esm/runtimes/react/css-runtime/components/makeswift-style.js.map +1 -0
  394. package/dist/esm/runtimes/react/css-runtime/components/rsc-emitted-style.js +22 -0
  395. package/dist/esm/runtimes/react/css-runtime/components/rsc-emitted-style.js.map +1 -0
  396. package/dist/esm/runtimes/react/css-runtime/components/styles-context-provider.js +29 -0
  397. package/dist/esm/runtimes/react/css-runtime/components/styles-context-provider.js.map +1 -0
  398. package/dist/esm/runtimes/react/css-runtime/constants.js +12 -0
  399. package/dist/esm/runtimes/react/css-runtime/constants.js.map +1 -0
  400. package/dist/esm/runtimes/react/css-runtime/hooks/use-base-styles.js +33 -0
  401. package/dist/esm/runtimes/react/css-runtime/hooks/use-base-styles.js.map +1 -0
  402. package/dist/esm/runtimes/react/css-runtime/hooks/use-controlled-styles.js +45 -0
  403. package/dist/esm/runtimes/react/css-runtime/hooks/use-controlled-styles.js.map +1 -0
  404. package/dist/esm/runtimes/react/css-runtime/hooks/use-css-reset.js +36 -0
  405. package/dist/esm/runtimes/react/css-runtime/hooks/use-css-reset.js.map +1 -0
  406. package/dist/esm/runtimes/react/css-runtime/hooks/use-dynamic-browser-style-updates.js +17 -0
  407. package/dist/esm/runtimes/react/css-runtime/hooks/use-dynamic-browser-style-updates.js.map +1 -0
  408. package/dist/esm/runtimes/react/css-runtime/hooks/use-keyframes.js +30 -0
  409. package/dist/esm/runtimes/react/css-runtime/hooks/use-keyframes.js.map +1 -0
  410. package/dist/esm/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js +44 -0
  411. package/dist/esm/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js.map +1 -0
  412. package/dist/esm/runtimes/react/css-runtime/hooks/use-style.js +56 -0
  413. package/dist/esm/runtimes/react/css-runtime/hooks/use-style.js.map +1 -0
  414. package/dist/esm/runtimes/react/css-runtime/hooks/use-styles-context.js +15 -0
  415. package/dist/esm/runtimes/react/css-runtime/hooks/use-styles-context.js.map +1 -0
  416. package/dist/esm/runtimes/react/css-runtime/serialize-css.js +25 -0
  417. package/dist/esm/runtimes/react/css-runtime/serialize-css.js.map +1 -0
  418. package/dist/esm/runtimes/react/css-runtime/style-element-updater.js +32 -0
  419. package/dist/esm/runtimes/react/css-runtime/style-element-updater.js.map +1 -0
  420. package/dist/esm/runtimes/react/css-runtime/styles-registry.js +261 -0
  421. package/dist/esm/runtimes/react/css-runtime/styles-registry.js.map +1 -0
  422. package/dist/esm/runtimes/react/css-runtime/stylesheet-engine.js +65 -0
  423. package/dist/esm/runtimes/react/css-runtime/stylesheet-engine.js.map +1 -0
  424. package/dist/esm/runtimes/react/css-runtime/types.js +10 -0
  425. package/dist/esm/runtimes/react/css-runtime/types.js.map +1 -0
  426. package/dist/esm/runtimes/react/css-runtime/utils.js +26 -0
  427. package/dist/esm/runtimes/react/css-runtime/utils.js.map +1 -0
  428. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +10 -9
  429. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  430. package/dist/esm/runtimes/react/hooks/use-resolved-value.js +2 -2
  431. package/dist/esm/runtimes/react/hooks/use-resolved-value.js.map +1 -1
  432. package/dist/esm/runtimes/react/legacy-controls.js +92 -22
  433. package/dist/esm/runtimes/react/legacy-controls.js.map +1 -1
  434. package/dist/esm/runtimes/react/poll-box-model.js +2 -1
  435. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  436. package/dist/esm/runtimes/react/root-style-registry.js +36 -60
  437. package/dist/esm/runtimes/react/root-style-registry.js.map +1 -1
  438. package/dist/esm/runtimes/react/runtime-core.js +0 -1
  439. package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
  440. package/dist/esm/runtimes/react/server/components/editable-server-element.js +8 -5
  441. package/dist/esm/runtimes/react/server/components/editable-server-element.js.map +1 -1
  442. package/dist/esm/runtimes/react/server/components/element-data.js +16 -12
  443. package/dist/esm/runtimes/react/server/components/element-data.js.map +1 -1
  444. package/dist/esm/runtimes/react/server/components/server-elements-cache.js +1 -2
  445. package/dist/esm/runtimes/react/server/components/server-elements-cache.js.map +1 -1
  446. package/dist/esm/runtimes/react/server/index.js +0 -2
  447. package/dist/esm/runtimes/react/server/index.js.map +1 -1
  448. package/dist/esm/runtimes/react/server/render-context.js.map +1 -1
  449. package/dist/esm/slate/BlockPlugin/index.js +102 -22
  450. package/dist/esm/slate/BlockPlugin/index.js.map +1 -1
  451. package/dist/esm/slate/LinkPlugin/index.js +23 -18
  452. package/dist/esm/slate/LinkPlugin/index.js.map +1 -1
  453. package/dist/esm/slate/TypographyPlugin/index.js +2 -2
  454. package/dist/esm/slate/TypographyPlugin/index.js.map +1 -1
  455. package/dist/esm/testing/jest-snapshot-serializer.js +100 -0
  456. package/dist/esm/testing/jest-snapshot-serializer.js.map +1 -0
  457. package/dist/esm/unstable-framework-support/index.js +3 -6
  458. package/dist/esm/unstable-framework-support/index.js.map +1 -1
  459. package/dist/types/api/graphql/documents/queries.d.ts +0 -1
  460. package/dist/types/api/graphql/documents/queries.d.ts.map +1 -1
  461. package/dist/types/api/graphql/generated/types.d.ts +0 -55
  462. package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
  463. package/dist/types/api/graphql-api-client.d.ts +0 -2
  464. package/dist/types/api/graphql-api-client.d.ts.map +1 -1
  465. package/dist/types/api/makeswift-api-resources-client.d.ts +1 -3
  466. package/dist/types/api/makeswift-api-resources-client.d.ts.map +1 -1
  467. package/dist/types/api/rest-api-client.d.ts +2 -1
  468. package/dist/types/api/rest-api-client.d.ts.map +1 -1
  469. package/dist/types/client/index.d.ts +0 -2
  470. package/dist/types/client/index.d.ts.map +1 -1
  471. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  472. package/dist/types/components/builtin/Box/animations.d.ts +3 -2
  473. package/dist/types/components/builtin/Box/animations.d.ts.map +1 -1
  474. package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -1
  475. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  476. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  477. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  478. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  479. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  480. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  481. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
  482. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -1
  483. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
  484. package/dist/types/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -1
  485. package/dist/types/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -1
  486. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
  487. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
  488. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -1
  489. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
  490. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
  491. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
  492. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
  493. package/dist/types/components/builtin/Image/Image.d.ts +3 -1
  494. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  495. package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
  496. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  497. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  498. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  499. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  500. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  501. package/dist/types/components/builtin/Root/Root.d.ts.map +1 -1
  502. package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -1
  503. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  504. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
  505. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  506. package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  507. package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  508. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  509. package/dist/types/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  510. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
  511. package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -1
  512. package/dist/types/components/shared/grid-item.d.ts.map +1 -1
  513. package/dist/types/controls/__tests__/fixtures/list.d.ts +1 -0
  514. package/dist/types/controls/__tests__/fixtures/list.d.ts.map +1 -1
  515. package/dist/types/controls/__tests__/fixtures/shape.d.ts +2 -0
  516. package/dist/types/controls/__tests__/fixtures/shape.d.ts.map +1 -1
  517. package/dist/types/controls/index.d.ts +1 -1
  518. package/dist/types/controls/index.d.ts.map +1 -1
  519. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +161 -24
  520. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  521. package/dist/types/controls/serialization/base/visitor.d.ts.map +1 -1
  522. package/dist/types/next/components/page.d.ts.map +1 -1
  523. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  524. package/dist/types/next/document.d.ts.map +1 -1
  525. package/dist/types/next/root-style-registry.d.ts +1 -1
  526. package/dist/types/next/root-style-registry.d.ts.map +1 -1
  527. package/dist/types/react/server/index.d.ts +1 -1
  528. package/dist/types/react/server/index.d.ts.map +1 -1
  529. package/dist/types/runtimes/react/components/GoogleFontLink.d.ts.map +1 -1
  530. package/dist/types/runtimes/react/components/framework-context.d.ts +1 -0
  531. package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
  532. package/dist/types/runtimes/react/components/page/PageHead.d.ts.map +1 -1
  533. package/dist/types/runtimes/react/components/page/head-tags.d.ts +0 -6
  534. package/dist/types/runtimes/react/components/page/head-tags.d.ts.map +1 -1
  535. package/dist/types/runtimes/react/components/resolve-props.d.ts.map +1 -1
  536. package/dist/types/{controls/__tests__/slot.test.d.ts → runtimes/react/controls/__tests__/react-node-controls.test.d.ts} +1 -1
  537. package/dist/types/runtimes/react/controls/__tests__/react-node-controls.test.d.ts.map +1 -0
  538. package/dist/types/runtimes/react/controls/control.d.ts +3 -1
  539. package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
  540. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  541. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
  542. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -1
  543. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -1
  544. package/dist/types/runtimes/react/controls/rich-text/components/Leaf/leaf.d.ts.map +1 -1
  545. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +7 -10
  546. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  547. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/index.d.ts +2 -3
  548. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/index.d.ts.map +1 -1
  549. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +3 -3
  550. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
  551. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +3 -3
  552. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
  553. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts +2 -1
  554. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts.map +1 -1
  555. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +9 -6
  556. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  557. package/dist/types/runtimes/react/controls/rich-text-v2/index.d.ts +7 -1
  558. package/dist/types/runtimes/react/controls/rich-text-v2/index.d.ts.map +1 -1
  559. package/dist/types/runtimes/react/controls/rich-text-v2/render-rich-text-v2.d.ts +10 -0
  560. package/dist/types/runtimes/react/controls/rich-text-v2/render-rich-text-v2.d.ts.map +1 -0
  561. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2-value.d.ts +9 -0
  562. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2-value.d.ts.map +1 -0
  563. package/dist/types/runtimes/react/controls/slot/slot-value.d.ts.map +1 -1
  564. package/dist/types/runtimes/react/controls/typography.d.ts +8 -1
  565. package/dist/types/runtimes/react/controls/typography.d.ts.map +1 -1
  566. package/dist/types/runtimes/react/controls/use-slate-reset.d.ts +8 -1
  567. package/dist/types/runtimes/react/controls/use-slate-reset.d.ts.map +1 -1
  568. package/dist/types/runtimes/react/css-runtime/__tests__/__fixtures__/sample-js-styles-objects.d.ts +7 -0
  569. package/dist/types/runtimes/react/css-runtime/__tests__/__fixtures__/sample-js-styles-objects.d.ts.map +1 -0
  570. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/__fixtures__/sample-stylev1-data.d.ts +9 -0
  571. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/__fixtures__/sample-stylev1-data.d.ts.map +1 -0
  572. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/__fixtures__/sample-stylev2-data.d.ts +10 -0
  573. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/__fixtures__/sample-stylev2-data.d.ts.map +1 -0
  574. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/controlled-styles-integration.test.d.ts +3 -0
  575. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/controlled-styles-integration.test.d.ts.map +1 -0
  576. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/utils.d.ts +24 -0
  577. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/utils.d.ts.map +1 -0
  578. package/dist/types/runtimes/react/css-runtime/__tests__/serialize-css.test.d.ts +2 -0
  579. package/dist/types/runtimes/react/css-runtime/__tests__/serialize-css.test.d.ts.map +1 -0
  580. package/dist/types/runtimes/react/css-runtime/__tests__/styles-registry.test.d.ts +2 -0
  581. package/dist/types/runtimes/react/css-runtime/__tests__/styles-registry.test.d.ts.map +1 -0
  582. package/dist/types/runtimes/react/css-runtime/__tests__/utils.d.ts +6 -0
  583. package/dist/types/runtimes/react/css-runtime/__tests__/utils.d.ts.map +1 -0
  584. package/dist/types/runtimes/react/css-runtime/browser-dynamic-styles-bridge.d.ts +16 -0
  585. package/dist/types/runtimes/react/css-runtime/browser-dynamic-styles-bridge.d.ts.map +1 -0
  586. package/dist/types/runtimes/react/css-runtime/components/controlled-styles.d.ts +12 -0
  587. package/dist/types/runtimes/react/css-runtime/components/controlled-styles.d.ts.map +1 -0
  588. package/dist/types/runtimes/react/css-runtime/components/makeswift-style.d.ts +6 -0
  589. package/dist/types/runtimes/react/css-runtime/components/makeswift-style.d.ts.map +1 -0
  590. package/dist/types/runtimes/react/css-runtime/components/rsc-emitted-style.d.ts +30 -0
  591. package/dist/types/runtimes/react/css-runtime/components/rsc-emitted-style.d.ts.map +1 -0
  592. package/dist/types/runtimes/react/css-runtime/components/styles-context-provider.d.ts +20 -0
  593. package/dist/types/runtimes/react/css-runtime/components/styles-context-provider.d.ts.map +1 -0
  594. package/dist/types/runtimes/react/css-runtime/constants.d.ts +5 -0
  595. package/dist/types/runtimes/react/css-runtime/constants.d.ts.map +1 -0
  596. package/dist/types/runtimes/react/css-runtime/hooks/use-base-styles.d.ts +12 -0
  597. package/dist/types/runtimes/react/css-runtime/hooks/use-base-styles.d.ts.map +1 -0
  598. package/dist/types/runtimes/react/css-runtime/hooks/use-controlled-styles.d.ts +11 -0
  599. package/dist/types/runtimes/react/css-runtime/hooks/use-controlled-styles.d.ts.map +1 -0
  600. package/dist/types/runtimes/react/css-runtime/hooks/use-css-reset.d.ts +14 -0
  601. package/dist/types/runtimes/react/css-runtime/hooks/use-css-reset.d.ts.map +1 -0
  602. package/dist/types/runtimes/react/css-runtime/hooks/use-dynamic-browser-style-updates.d.ts +3 -0
  603. package/dist/types/runtimes/react/css-runtime/hooks/use-dynamic-browser-style-updates.d.ts.map +1 -0
  604. package/dist/types/runtimes/react/css-runtime/hooks/use-keyframes.d.ts +6 -0
  605. package/dist/types/runtimes/react/css-runtime/hooks/use-keyframes.d.ts.map +1 -0
  606. package/dist/types/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.d.ts +10 -0
  607. package/dist/types/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.d.ts.map +1 -0
  608. package/dist/types/runtimes/react/css-runtime/hooks/use-style.d.ts +62 -0
  609. package/dist/types/runtimes/react/css-runtime/hooks/use-style.d.ts.map +1 -0
  610. package/dist/types/runtimes/react/css-runtime/hooks/use-styles-context.d.ts +3 -0
  611. package/dist/types/runtimes/react/css-runtime/hooks/use-styles-context.d.ts.map +1 -0
  612. package/dist/types/runtimes/react/css-runtime/serialize-css.d.ts +40 -0
  613. package/dist/types/runtimes/react/css-runtime/serialize-css.d.ts.map +1 -0
  614. package/dist/types/runtimes/react/css-runtime/style-element-updater.d.ts +10 -0
  615. package/dist/types/runtimes/react/css-runtime/style-element-updater.d.ts.map +1 -0
  616. package/dist/types/runtimes/react/css-runtime/styles-registry.d.ts +66 -0
  617. package/dist/types/runtimes/react/css-runtime/styles-registry.d.ts.map +1 -0
  618. package/dist/types/runtimes/react/css-runtime/stylesheet-engine.d.ts +23 -0
  619. package/dist/types/runtimes/react/css-runtime/stylesheet-engine.d.ts.map +1 -0
  620. package/dist/types/runtimes/react/css-runtime/types.d.ts +52 -0
  621. package/dist/types/runtimes/react/css-runtime/types.d.ts.map +1 -0
  622. package/dist/types/runtimes/react/css-runtime/utils.d.ts +20 -0
  623. package/dist/types/runtimes/react/css-runtime/utils.d.ts.map +1 -0
  624. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts +3 -3
  625. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts.map +1 -1
  626. package/dist/types/runtimes/react/hooks/use-resolved-value.d.ts +1 -1
  627. package/dist/types/runtimes/react/hooks/use-resolved-value.d.ts.map +1 -1
  628. package/dist/types/runtimes/react/legacy-controls.d.ts +1 -1
  629. package/dist/types/runtimes/react/legacy-controls.d.ts.map +1 -1
  630. package/dist/types/runtimes/react/poll-box-model.d.ts +2 -2
  631. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  632. package/dist/types/runtimes/react/root-style-registry.d.ts +9 -30
  633. package/dist/types/runtimes/react/root-style-registry.d.ts.map +1 -1
  634. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
  635. package/dist/types/runtimes/react/server/components/element-data.d.ts.map +1 -1
  636. package/dist/types/runtimes/react/server/components/server-elements-cache.d.ts.map +1 -1
  637. package/dist/types/runtimes/react/server/index.d.ts +0 -1
  638. package/dist/types/runtimes/react/server/index.d.ts.map +1 -1
  639. package/dist/types/runtimes/react/server/render-context.d.ts +2 -0
  640. package/dist/types/runtimes/react/server/render-context.d.ts.map +1 -1
  641. package/dist/types/slate/BlockPlugin/index.d.ts +13 -1
  642. package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
  643. package/dist/types/slate/InlinePlugin/index.d.ts +13 -1
  644. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  645. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  646. package/dist/types/slate/TextAlignPlugin/index.d.ts +13 -1
  647. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  648. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  649. package/dist/types/testing/jest-snapshot-serializer.d.ts +2 -0
  650. package/dist/types/testing/jest-snapshot-serializer.d.ts.map +1 -0
  651. package/dist/types/unstable-framework-support/index.d.ts +3 -1
  652. package/dist/types/unstable-framework-support/index.d.ts.map +1 -1
  653. package/package.json +14 -14
  654. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +0 -1
  655. package/dist/cjs/runtimes/react/hooks/use-css-id.js.map +0 -1
  656. package/dist/cjs/runtimes/react/hooks/use-editable-element-stylesheet-factory.js +0 -58
  657. package/dist/cjs/runtimes/react/hooks/use-editable-element-stylesheet-factory.js.map +0 -1
  658. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js +0 -87
  659. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js.map +0 -1
  660. package/dist/cjs/runtimes/react/server/css/client-css.js +0 -112
  661. package/dist/cjs/runtimes/react/server/css/client-css.js.map +0 -1
  662. package/dist/cjs/runtimes/react/server/css/css-runtime.js +0 -102
  663. package/dist/cjs/runtimes/react/server/css/css-runtime.js.map +0 -1
  664. package/dist/cjs/runtimes/react/server/css/server-css.js +0 -71
  665. package/dist/cjs/runtimes/react/server/css/server-css.js.map +0 -1
  666. package/dist/cjs/runtimes/react/stylesheet-factory.js +0 -17
  667. package/dist/cjs/runtimes/react/stylesheet-factory.js.map +0 -1
  668. package/dist/cjs/runtimes/react/use-global-style.js +0 -101
  669. package/dist/cjs/runtimes/react/use-global-style.js.map +0 -1
  670. package/dist/cjs/runtimes/react/use-style.js.map +0 -1
  671. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +0 -23
  672. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +0 -1
  673. package/dist/esm/runtimes/react/hooks/use-css-id.js +0 -8
  674. package/dist/esm/runtimes/react/hooks/use-css-id.js.map +0 -1
  675. package/dist/esm/runtimes/react/hooks/use-editable-element-stylesheet-factory.js +0 -34
  676. package/dist/esm/runtimes/react/hooks/use-editable-element-stylesheet-factory.js.map +0 -1
  677. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js +0 -65
  678. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +0 -1
  679. package/dist/esm/runtimes/react/server/css/client-css.js +0 -87
  680. package/dist/esm/runtimes/react/server/css/client-css.js.map +0 -1
  681. package/dist/esm/runtimes/react/server/css/css-runtime.js +0 -77
  682. package/dist/esm/runtimes/react/server/css/css-runtime.js.map +0 -1
  683. package/dist/esm/runtimes/react/server/css/server-css.js +0 -45
  684. package/dist/esm/runtimes/react/server/css/server-css.js.map +0 -1
  685. package/dist/esm/runtimes/react/stylesheet-factory.js +0 -1
  686. package/dist/esm/runtimes/react/stylesheet-factory.js.map +0 -1
  687. package/dist/esm/runtimes/react/use-global-style.js +0 -67
  688. package/dist/esm/runtimes/react/use-global-style.js.map +0 -1
  689. package/dist/esm/runtimes/react/use-style.js +0 -36
  690. package/dist/esm/runtimes/react/use-style.js.map +0 -1
  691. package/dist/types/controls/__tests__/slot.test.d.ts.map +0 -1
  692. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +0 -9
  693. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +0 -1
  694. package/dist/types/runtimes/react/hooks/use-css-id.d.ts +0 -2
  695. package/dist/types/runtimes/react/hooks/use-css-id.d.ts.map +0 -1
  696. package/dist/types/runtimes/react/hooks/use-editable-element-stylesheet-factory.d.ts +0 -5
  697. package/dist/types/runtimes/react/hooks/use-editable-element-stylesheet-factory.d.ts.map +0 -1
  698. package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts +0 -3
  699. package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts.map +0 -1
  700. package/dist/types/runtimes/react/server/css/client-css.d.ts +0 -10
  701. package/dist/types/runtimes/react/server/css/client-css.d.ts.map +0 -1
  702. package/dist/types/runtimes/react/server/css/css-runtime.d.ts +0 -16
  703. package/dist/types/runtimes/react/server/css/css-runtime.d.ts.map +0 -1
  704. package/dist/types/runtimes/react/server/css/server-css.d.ts +0 -14
  705. package/dist/types/runtimes/react/server/css/server-css.d.ts.map +0 -1
  706. package/dist/types/runtimes/react/stylesheet-factory.d.ts +0 -6
  707. package/dist/types/runtimes/react/stylesheet-factory.d.ts.map +0 -1
  708. package/dist/types/runtimes/react/use-global-style.d.ts +0 -3
  709. package/dist/types/runtimes/react/use-global-style.d.ts.map +0 -1
  710. package/dist/types/runtimes/react/use-style.d.ts +0 -7
  711. package/dist/types/runtimes/react/use-style.d.ts.map +0 -1
@@ -18,12 +18,13 @@ import { Plugin } from "./plugin";
18
18
  import { RichTextV2Control } from "./control";
19
19
  import { getTranslatableData } from "./translations/get-translations";
20
20
  class Definition extends BaseRichTextDefinition {
21
+ plugins;
21
22
  constructor({ mode, defaultValue }, plugins) {
22
23
  super({
23
24
  mode,
24
- defaultValue: defaultValue ?? (mode === Definition.Mode.Inline ? "Edit this text" : Definition.generateParagraph()),
25
- plugins: plugins ?? (mode === Definition.Mode.Inline ? [InlineModePlugin()] : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()])
25
+ defaultValue: defaultValue ?? (mode === Definition.Mode.Inline ? "Edit this text" : Definition.generateParagraph())
26
26
  });
27
+ this.plugins = plugins ?? (mode === Definition.Mode.Inline ? [InlineModePlugin()] : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()]);
27
28
  }
28
29
  static generateParagraph() {
29
30
  return ipsum(3);
@@ -32,13 +33,13 @@ class Definition extends BaseRichTextDefinition {
32
33
  if (data.type !== Definition.type) {
33
34
  throw new Error(`RichText: expected type ${Definition.type}, got ${data.type}`);
34
35
  }
35
- const { config } = Definition.fullSchema({
36
+ const { config, plugins } = Definition.fullSchema({
36
37
  pluginDef: SerializationSchema.deserializedRecord
37
38
  }).definition.parse(data);
38
- const { plugins, ...userConfig } = config;
39
+ const { plugins: configPlugins, ...userConfig } = config;
39
40
  return new RichTextV2Definition(
40
41
  userConfig,
41
- plugins.map(
42
+ (plugins ?? configPlugins ?? []).map(
42
43
  ({ control }) => control ? { control: { definition: deserializeCallback(control?.definition) } } : {}
43
44
  )
44
45
  );
@@ -50,29 +51,39 @@ class Definition extends BaseRichTextDefinition {
50
51
  definition: pluginDef
51
52
  }).optional()
52
53
  });
53
- const config = baseSchema.userConfig.extend({
54
- defaultValue: z.string(),
55
- plugins: z.array(plugin)
54
+ const plugins = z.array(plugin);
55
+ const config = Definition.configSchema().extend({
56
+ // plugins have been moved from config to the definition itself; keeping
57
+ // the field here as optional so we can deserialize definitions coming from
58
+ // older runtimes
59
+ plugins: plugins.optional()
56
60
  });
57
61
  return {
58
62
  ...baseSchema,
59
63
  config,
60
64
  definition: z.object({
61
65
  type: baseSchema.type,
66
+ // marked as optional for backward compatibility with older runtimes
67
+ plugins: plugins.optional(),
62
68
  config
63
69
  })
64
70
  };
65
71
  }
72
+ static configSchema() {
73
+ return super.schema.userConfig.extend({
74
+ defaultValue: z.string()
75
+ });
76
+ }
66
77
  get configSchema() {
67
- return Definition.fullSchema({ pluginDef: z.any() }).config;
78
+ return Definition.configSchema();
68
79
  }
69
80
  createInstance(args) {
70
81
  return new RichTextV2Control(this, args);
71
82
  }
72
- resolveValue(data, _resolver, _stylesheet, control) {
83
+ resolveValue(data, _resolver, stylesheet, control) {
73
84
  const stableValue = StableValue({
74
85
  name: Definition.type,
75
- read: () => renderRichTextV2(data, this, control ?? null)
86
+ read: () => renderRichTextV2({ data, config: this.config, control: control ?? null, stylesheet })
76
87
  });
77
88
  return {
78
89
  ...stableValue,
@@ -83,10 +94,10 @@ class Definition extends BaseRichTextDefinition {
83
94
  getTranslatableData(data) {
84
95
  if (data == null)
85
96
  return null;
86
- return getTranslatableData(Definition.dataToNodes(data), this.config.plugins);
97
+ return getTranslatableData(Definition.dataToNodes(data), this.plugins);
87
98
  }
88
99
  get pluginControls() {
89
- return this.config.plugins.map((plugin) => plugin.control).filter(isNotNil);
100
+ return this.plugins.map((plugin) => plugin.control).filter(isNotNil);
90
101
  }
91
102
  pluginControlAt(index) {
92
103
  return this.pluginControls[index];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/controls/rich-text-v2/rich-text-v2.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { z } from 'zod'\n// @ts-expect-error: there are no types for 'corporate-ipsum'\nimport ipsum from 'corporate-ipsum'\n\nimport {\n RichTextDefinition as BaseRichTextDefinition,\n isNotNil,\n ControlDefinition,\n SerializationSchema,\n StableValue,\n type Data,\n type Resolvable,\n type ControlInstanceArgs,\n type DeserializedRecord,\n type SchemaType,\n type SchemaTypeAny,\n type RichTextPluginControl,\n type ResourceResolver,\n type Stylesheet,\n type RichTextMode,\n} from '@makeswift/controls'\n\nimport { LinkPlugin } from '../../slate/LinkPlugin'\nimport { InlinePlugin } from '../../slate/InlinePlugin'\nimport { TextAlignPlugin } from '../../slate/TextAlignPlugin'\nimport { BlockPlugin } from '../../slate/BlockPlugin'\nimport { TypographyPlugin } from '../../slate/TypographyPlugin'\nimport { InlineModePlugin } from '../../slate/InlineModePlugin'\nimport { toText } from '../../slate/utils'\n\nimport { renderRichTextV2 } from '../../runtimes/react/controls/rich-text-v2'\n\nimport { RichTextV2Plugin, Plugin } from './plugin'\nimport { RichTextV2Control } from './control'\nimport { getTranslatableData } from './translations/get-translations'\n\ntype DataType = z.infer<typeof Definition.schema.data>\ntype DataV2Type = z.infer<typeof Definition.schema.dataV2>\ntype InstanceType = RichTextV2Control\ntype UserConfig = z.infer<typeof Definition.schema.userConfig>\ntype Config = UserConfig & {\n defaultValue: string\n plugins: RichTextV2Plugin[]\n}\n\nclass Definition extends BaseRichTextDefinition<ReactNode, Config, InstanceType> {\n constructor({ mode, defaultValue }: UserConfig, plugins?: RichTextV2Plugin[]) {\n super({\n mode,\n defaultValue:\n defaultValue ??\n (mode === Definition.Mode.Inline ? 'Edit this text' : Definition.generateParagraph()),\n plugins:\n plugins ??\n (mode === Definition.Mode.Inline\n ? [InlineModePlugin()]\n : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()]),\n })\n }\n\n static generateParagraph(): string {\n return ipsum(3)\n }\n\n static deserialize(\n data: DeserializedRecord,\n deserializeCallback: (r: DeserializedRecord) => ControlDefinition,\n ): RichTextV2Definition {\n if (data.type !== Definition.type) {\n throw new Error(`RichText: expected type ${Definition.type}, got ${data.type}`)\n }\n\n const { config } = Definition.fullSchema({\n pluginDef: SerializationSchema.deserializedRecord,\n }).definition.parse(data)\n\n const { plugins, ...userConfig } = config\n\n return new RichTextV2Definition(\n userConfig,\n plugins.map(({ control }) =>\n control ? { control: { definition: deserializeCallback(control?.definition) } } : {},\n ),\n )\n }\n\n static fullSchema<S extends SchemaTypeAny>({ pluginDef }: { pluginDef: S }) {\n const baseSchema = super.schema\n const plugin = z.object({\n control: z\n .object({\n definition: pluginDef,\n })\n .optional(),\n })\n\n const config = baseSchema.userConfig.extend({\n defaultValue: z.string(),\n plugins: z.array(plugin),\n })\n\n return {\n ...baseSchema,\n config,\n definition: z.object({\n type: baseSchema.type,\n config,\n }),\n }\n }\n\n get configSchema(): SchemaType<Config> {\n return Definition.fullSchema({ pluginDef: z.any() as SchemaType<ControlDefinition> }).config\n }\n\n createInstance(args: ControlInstanceArgs) {\n return new RichTextV2Control(this, args)\n }\n\n resolveValue(\n data: DataType | undefined,\n _resolver: ResourceResolver,\n _stylesheet: Stylesheet,\n control?: InstanceType,\n ): Resolvable<ReactNode | undefined> {\n const stableValue = StableValue({\n name: Definition.type,\n read: () => renderRichTextV2(data, this, control ?? null),\n })\n\n return {\n ...stableValue,\n triggerResolve: async () => {},\n }\n }\n\n getTranslatableData(data: DataType | undefined): Data {\n if (data == null) return null\n return getTranslatableData(Definition.dataToNodes(data), this.config.plugins)\n }\n\n get pluginControls(): RichTextPluginControl[] {\n return this.config.plugins.map(plugin => plugin.control).filter(isNotNil)\n }\n\n pluginControlAt(index: number): RichTextPluginControl | undefined {\n return this.pluginControls[index]\n }\n\n toText(data: DataType | undefined): string {\n if (data == null) return ''\n return toText(Definition.dataToNodes(data), this.config.mode ?? Definition.Mode.Block)\n }\n}\n\nexport class RichTextV2Definition extends Definition {}\n\nexport function RichText(config?: UserConfig): RichTextV2Definition {\n return new RichTextV2Definition(config ?? {})\n}\n\nRichText.Mode = Definition.Mode\nRichText.isV1Data = Definition.isV1Data\nRichText.dataToNodes = Definition.dataToNodes\nRichText.Plugin = Plugin\n\nexport { RichTextMode as RichTextV2Mode, type DataV2Type as RichTextDataV2, RichTextV2Control }\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/controls/rich-text-v2/rich-text-v2.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { z } from 'zod'\n// @ts-expect-error: there are no types for 'corporate-ipsum'\nimport ipsum from 'corporate-ipsum'\n\nimport {\n RichTextDefinition as BaseRichTextDefinition,\n isNotNil,\n ControlDefinition,\n SerializationSchema,\n StableValue,\n type Data,\n type Resolvable,\n type ControlInstanceArgs,\n type DeserializedRecord,\n type SchemaType,\n type SchemaTypeAny,\n type RichTextPluginControl,\n type ResourceResolver,\n type Stylesheet,\n type RichTextMode,\n} from '@makeswift/controls'\n\nimport { LinkPlugin } from '../../slate/LinkPlugin'\nimport { InlinePlugin } from '../../slate/InlinePlugin'\nimport { TextAlignPlugin } from '../../slate/TextAlignPlugin'\nimport { BlockPlugin } from '../../slate/BlockPlugin'\nimport { TypographyPlugin } from '../../slate/TypographyPlugin'\nimport { InlineModePlugin } from '../../slate/InlineModePlugin'\nimport { toText } from '../../slate/utils'\n\nimport { renderRichTextV2 } from '../../runtimes/react/controls/rich-text-v2'\n\nimport { RichTextV2Plugin, Plugin } from './plugin'\nimport { RichTextV2Control } from './control'\nimport { getTranslatableData } from './translations/get-translations'\n\ntype DataType = z.infer<typeof Definition.schema.data>\ntype DataV2Type = z.infer<typeof Definition.schema.dataV2>\ntype InstanceType = RichTextV2Control\ntype UserConfig = z.infer<typeof Definition.schema.userConfig>\ntype Config = UserConfig & {\n defaultValue: string\n}\n\nclass Definition extends BaseRichTextDefinition<ReactNode, Config, InstanceType> {\n readonly plugins: RichTextV2Plugin[]\n\n constructor({ mode, defaultValue }: UserConfig, plugins?: RichTextV2Plugin[]) {\n super({\n mode,\n defaultValue:\n defaultValue ??\n (mode === Definition.Mode.Inline ? 'Edit this text' : Definition.generateParagraph()),\n })\n\n // The built-in plugin set is currently determined entirely by `mode` and\n // has remained stable across runtime versions, so it does not need to be\n // stored in the internal config. When that changes, we should:\n // - introduce a plugin registry\n // - have the config carry the IDs of selected plugins\n // - use the current inline and block plugin sets as defaults when\n // deserializing a legacy config that does not include plugin IDs\n this.plugins =\n plugins ??\n (mode === Definition.Mode.Inline\n ? [InlineModePlugin()]\n : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()])\n }\n\n static generateParagraph(): string {\n return ipsum(3)\n }\n\n static deserialize(\n data: DeserializedRecord,\n deserializeCallback: (r: DeserializedRecord) => ControlDefinition,\n ): RichTextV2Definition {\n if (data.type !== Definition.type) {\n throw new Error(`RichText: expected type ${Definition.type}, got ${data.type}`)\n }\n\n const { config, plugins } = Definition.fullSchema({\n pluginDef: SerializationSchema.deserializedRecord,\n }).definition.parse(data)\n\n const { plugins: configPlugins, ...userConfig } = config\n\n return new RichTextV2Definition(\n userConfig,\n (plugins ?? configPlugins ?? []).map(({ control }) =>\n control ? { control: { definition: deserializeCallback(control?.definition) } } : {},\n ),\n )\n }\n\n static fullSchema<S extends SchemaTypeAny>({ pluginDef }: { pluginDef: S }) {\n const baseSchema = super.schema\n const plugin = z.object({\n control: z\n .object({\n definition: pluginDef,\n })\n .optional(),\n })\n\n const plugins = z.array(plugin)\n\n const config = Definition.configSchema().extend({\n // plugins have been moved from config to the definition itself; keeping\n // the field here as optional so we can deserialize definitions coming from\n // older runtimes\n plugins: plugins.optional(),\n })\n\n return {\n ...baseSchema,\n config,\n definition: z.object({\n type: baseSchema.type,\n // marked as optional for backward compatibility with older runtimes\n plugins: plugins.optional(),\n config,\n }),\n }\n }\n\n static configSchema() {\n return super.schema.userConfig.extend({\n defaultValue: z.string(),\n })\n }\n\n get configSchema(): SchemaType<Config> {\n return Definition.configSchema()\n }\n\n createInstance(args: ControlInstanceArgs) {\n return new RichTextV2Control(this, args)\n }\n\n resolveValue(\n data: DataType | undefined,\n _resolver: ResourceResolver,\n stylesheet: Stylesheet,\n control?: InstanceType,\n ): Resolvable<ReactNode | undefined> {\n const stableValue = StableValue({\n name: Definition.type,\n read: () =>\n renderRichTextV2({ data, config: this.config, control: control ?? null, stylesheet }),\n })\n\n return {\n ...stableValue,\n triggerResolve: async () => {},\n }\n }\n\n getTranslatableData(data: DataType | undefined): Data {\n if (data == null) return null\n return getTranslatableData(Definition.dataToNodes(data), this.plugins)\n }\n\n get pluginControls(): RichTextPluginControl[] {\n return this.plugins.map(plugin => plugin.control).filter(isNotNil)\n }\n\n pluginControlAt(index: number): RichTextPluginControl | undefined {\n return this.pluginControls[index]\n }\n\n toText(data: DataType | undefined): string {\n if (data == null) return ''\n return toText(Definition.dataToNodes(data), this.config.mode ?? Definition.Mode.Block)\n }\n}\n\nexport class RichTextV2Definition extends Definition {}\n\nexport function RichText(config?: UserConfig): RichTextV2Definition {\n return new RichTextV2Definition(config ?? {})\n}\n\nRichText.Mode = Definition.Mode\nRichText.isV1Data = Definition.isV1Data\nRichText.dataToNodes = Definition.dataToNodes\nRichText.Plugin = Plugin\n\nexport { RichTextMode as RichTextV2Mode, type DataV2Type as RichTextDataV2, RichTextV2Control }\n"],"mappings":"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","names":[]}
@@ -13,8 +13,7 @@ class BaseControlSerializationVisitor extends ControlSerializationVisitor {
13
13
  super([serializeDefinitionPlugin, ...plugins]);
14
14
  }
15
15
  visitRichTextV2(def) {
16
- const { plugins, ...config } = def.config;
17
- const pluginDefs = plugins.map(
16
+ const pluginDefs = def.plugins.map(
18
17
  ({ control }) => control ? {
19
18
  control: {
20
19
  definition: control.definition,
@@ -27,7 +26,10 @@ class BaseControlSerializationVisitor extends ControlSerializationVisitor {
27
26
  } : {}
28
27
  );
29
28
  const serialized = serializeObject(
30
- { config: { ...config, plugins: pluginDefs } },
29
+ // Continue serializing plugins as part of the config for the time being
30
+ // for builder compatibility; the current runtime accept plugins either in
31
+ // the config or at the definition level -- see `RichTextV2Definition.fullSchema`
32
+ { config: { ...def.config, plugins: pluginDefs } },
31
33
  this.serializationPlugins
32
34
  );
33
35
  return { ...serialized, type: RichTextV2Definition.type };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/controls/serialization/base/visitor.ts"],"sourcesContent":["import {\n ControlDefinition,\n SerializedRecord,\n serializeObject,\n SerializationPlugin,\n ControlSerializationVisitor,\n} from '@makeswift/controls'\n\nimport { RichTextV2Definition } from '../../rich-text-v2'\n\nexport class BaseControlSerializationVisitor extends ControlSerializationVisitor {\n constructor(plugins: SerializationPlugin<any>[]) {\n const serializeDefinitionPlugin: SerializationPlugin<ControlDefinition> = {\n match: (val: unknown) => val instanceof ControlDefinition,\n serialize: (val: ControlDefinition) => val.accept(this),\n }\n\n super([serializeDefinitionPlugin, ...plugins])\n }\n\n visitRichTextV2(def: RichTextV2Definition): SerializedRecord {\n const { plugins, ...config } = def.config\n\n // serialize only the plugin control definition, if any\n const pluginDefs = plugins.map(({ control }) =>\n control\n ? {\n control: {\n definition: control.definition,\n // FIXME: remove getValue/onChange stubs once we released a version of the builder\n // built against the runtime where these can be optional\n getValue: () => undefined,\n onChange: () => {},\n },\n }\n : {},\n )\n\n const serialized = serializeObject(\n { config: { ...config, plugins: pluginDefs } },\n this.serializationPlugins,\n ) as SerializedRecord\n\n return { ...serialized, type: RichTextV2Definition.type }\n }\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,OACK;AAEP,SAAS,4BAA4B;AAE9B,MAAM,wCAAwC,4BAA4B;AAAA,EAC/E,YAAY,SAAqC;AAC/C,UAAM,4BAAoE;AAAA,MACxE,OAAO,CAAC,QAAiB,eAAe;AAAA,MACxC,WAAW,CAAC,QAA2B,IAAI,OAAO,IAAI;AAAA,IACxD;AAEA,UAAM,CAAC,2BAA2B,GAAG,OAAO,CAAC;AAAA,EAC/C;AAAA,EAEA,gBAAgB,KAA6C;AAC3D,UAAM,EAAE,SAAS,GAAG,OAAO,IAAI,IAAI;AAGnC,UAAM,aAAa,QAAQ;AAAA,MAAI,CAAC,EAAE,QAAQ,MACxC,UACI;AAAA,QACE,SAAS;AAAA,UACP,YAAY,QAAQ;AAAA;AAAA;AAAA,UAGpB,UAAU,MAAM;AAAA,UAChB,UAAU,MAAM;AAAA,UAAC;AAAA,QACnB;AAAA,MACF,IACA,CAAC;AAAA,IACP;AAEA,UAAM,aAAa;AAAA,MACjB,EAAE,QAAQ,EAAE,GAAG,QAAQ,SAAS,WAAW,EAAE;AAAA,MAC7C,KAAK;AAAA,IACP;AAEA,WAAO,EAAE,GAAG,YAAY,MAAM,qBAAqB,KAAK;AAAA,EAC1D;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/controls/serialization/base/visitor.ts"],"sourcesContent":["import {\n ControlDefinition,\n SerializedRecord,\n serializeObject,\n SerializationPlugin,\n ControlSerializationVisitor,\n} from '@makeswift/controls'\n\nimport { RichTextV2Definition } from '../../rich-text-v2'\n\nexport class BaseControlSerializationVisitor extends ControlSerializationVisitor {\n constructor(plugins: SerializationPlugin<any>[]) {\n const serializeDefinitionPlugin: SerializationPlugin<ControlDefinition> = {\n match: (val: unknown) => val instanceof ControlDefinition,\n serialize: (val: ControlDefinition) => val.accept(this),\n }\n\n super([serializeDefinitionPlugin, ...plugins])\n }\n\n visitRichTextV2(def: RichTextV2Definition): SerializedRecord {\n // serialize only the plugin control definition, if any\n const pluginDefs = def.plugins.map(({ control }) =>\n control\n ? {\n control: {\n definition: control.definition,\n // FIXME: remove getValue/onChange stubs once we released a version of the builder\n // built against the runtime where these can be optional\n getValue: () => undefined,\n onChange: () => {},\n },\n }\n : {},\n )\n\n const serialized = serializeObject(\n // Continue serializing plugins as part of the config for the time being\n // for builder compatibility; the current runtime accept plugins either in\n // the config or at the definition level -- see `RichTextV2Definition.fullSchema`\n { config: { ...def.config, plugins: pluginDefs } },\n this.serializationPlugins,\n ) as SerializedRecord\n\n return { ...serialized, type: RichTextV2Definition.type }\n }\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,OACK;AAEP,SAAS,4BAA4B;AAE9B,MAAM,wCAAwC,4BAA4B;AAAA,EAC/E,YAAY,SAAqC;AAC/C,UAAM,4BAAoE;AAAA,MACxE,OAAO,CAAC,QAAiB,eAAe;AAAA,MACxC,WAAW,CAAC,QAA2B,IAAI,OAAO,IAAI;AAAA,IACxD;AAEA,UAAM,CAAC,2BAA2B,GAAG,OAAO,CAAC;AAAA,EAC/C;AAAA,EAEA,gBAAgB,KAA6C;AAE3D,UAAM,aAAa,IAAI,QAAQ;AAAA,MAAI,CAAC,EAAE,QAAQ,MAC5C,UACI;AAAA,QACE,SAAS;AAAA,UACP,YAAY,QAAQ;AAAA;AAAA;AAAA,UAGpB,UAAU,MAAM;AAAA,UAChB,UAAU,MAAM;AAAA,UAAC;AAAA,QACnB;AAAA,MACF,IACA,CAAC;AAAA,IACP;AAEA,UAAM,aAAa;AAAA;AAAA;AAAA;AAAA,MAIjB,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,SAAS,WAAW,EAAE;AAAA,MACjD,KAAK;AAAA,IACP;AAEA,WAAO,EAAE,GAAG,YAAY,MAAM,qBAAqB,KAAK;AAAA,EAC1D;AACF;","names":[]}
@@ -11,7 +11,7 @@ class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {
11
11
  descendants: mergeTranslatedNodes(
12
12
  descendants,
13
13
  translatedData,
14
- def.config.plugins
14
+ def.plugins
15
15
  )
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/controls/visitors/merge-translations-visitor.ts"],"sourcesContent":["import { Data, DataType, MergeTranslationsVisitor } from '@makeswift/controls'\n\nimport { RichTextV2Definition } from '../rich-text-v2'\nimport { RichTextTranslationDto } from '../rich-text-v2/translations/translations-core'\nimport { mergeTranslatedNodes } from '../rich-text-v2/translations/merge-translations'\n\nexport class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {\n visitRichTextV2(\n def: RichTextV2Definition,\n data: DataType<RichTextV2Definition> | undefined,\n translatedData: Data,\n ): Data {\n if (data == null || translatedData == null) return data\n\n const { descendants, ...rest } = RichTextV2Definition.normalizeData(data)\n\n return {\n ...rest,\n descendants: mergeTranslatedNodes(\n descendants,\n translatedData as RichTextTranslationDto,\n def.config.plugins,\n ),\n }\n }\n}\n"],"mappings":"AAAA,SAAyB,gCAAgC;AAEzD,SAAS,4BAA4B;AAErC,SAAS,4BAA4B;AAE9B,MAAM,sCAAsC,yBAAyB;AAAA,EAC1E,gBACE,KACA,MACA,gBACM;AACN,QAAI,QAAQ,QAAQ,kBAAkB;AAAM,aAAO;AAEnD,UAAM,EAAE,aAAa,GAAG,KAAK,IAAI,qBAAqB,cAAc,IAAI;AAExE,WAAO;AAAA,MACL,GAAG;AAAA,MACH,aAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA,IAAI,OAAO;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/controls/visitors/merge-translations-visitor.ts"],"sourcesContent":["import { Data, DataType, MergeTranslationsVisitor } from '@makeswift/controls'\n\nimport { RichTextV2Definition } from '../rich-text-v2'\nimport { RichTextTranslationDto } from '../rich-text-v2/translations/translations-core'\nimport { mergeTranslatedNodes } from '../rich-text-v2/translations/merge-translations'\n\nexport class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {\n visitRichTextV2(\n def: RichTextV2Definition,\n data: DataType<RichTextV2Definition> | undefined,\n translatedData: Data,\n ): Data {\n if (data == null || translatedData == null) return data\n\n const { descendants, ...rest } = RichTextV2Definition.normalizeData(data)\n\n return {\n ...rest,\n descendants: mergeTranslatedNodes(\n descendants,\n translatedData as RichTextTranslationDto,\n def.plugins,\n ),\n }\n }\n}\n"],"mappings":"AAAA,SAAyB,gCAAgC;AAEzD,SAAS,4BAA4B;AAErC,SAAS,4BAA4B;AAE9B,MAAM,sCAAsC,yBAAyB;AAAA,EAC1E,gBACE,KACA,MACA,gBACM;AACN,QAAI,QAAQ,QAAQ,kBAAkB;AAAM,aAAO;AAEnD,UAAM,EAAE,aAAa,GAAG,KAAK,IAAI,qBAAqB,cAAc,IAAI;AAExE,WAAO;AAAA,MACL,GAAG;AAAA,MACH,aAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA,IAAI;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,8 +1,9 @@
1
1
  "use client";
2
- import { jsx } from "react/jsx-runtime";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { memo } from "react";
4
4
  import { Page as BuiltinPage } from "../../runtimes/react/components/page";
5
5
  import { useRouterLocaleSync } from "../hooks/use-router-locale-sync";
6
+ import { useBaseStyles } from "../../runtimes/react/css-runtime/hooks/use-base-styles";
6
7
  const Page = memo(({ snapshot, metadata, ...extras }) => {
7
8
  if ("runtime" in extras) {
8
9
  throw new Error(
@@ -11,7 +12,19 @@ See our docs for more information on what's changed and instructions to migrate:
11
12
  );
12
13
  }
13
14
  useRouterLocaleSync();
14
- return /* @__PURE__ */ jsx(BuiltinPage, { snapshot, metadata });
15
+ const pageBaseStyles = {
16
+ html: {
17
+ fontFamily: "sans-serif"
18
+ },
19
+ "div#__next": {
20
+ overflow: "hidden"
21
+ }
22
+ };
23
+ const { styleElement: baseStylesElement } = useBaseStyles({ styles: pageBaseStyles });
24
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
25
+ /* @__PURE__ */ jsx(BuiltinPage, { snapshot, metadata }),
26
+ baseStylesElement
27
+ ] });
15
28
  });
16
29
  export {
17
30
  Page
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/next/components/page.tsx"],"sourcesContent":["'use client'\n\nimport { memo } from 'react'\n\nimport { Page as BuiltinPage, type PageProps } from '../../runtimes/react/components/page'\n\nimport { useRouterLocaleSync } from '../hooks/use-router-locale-sync'\n\nexport { type PageProps } from '../../runtimes/react/components/page'\n\n/**\n * @param snapshot - The snapshot of the page to render, from\n * `client.getPageSnapshot()`.\n * @param metadata - Allows control over whether to use data from Makeswift for\n * rendering metadata tags in the `<head>` of the page. Pass `true` (default if\n * not provided) to render all metadata tags, or `false` to not render any. For\n * more granular control, pass an object with boolean values for specific\n * metadata fields. Valid fields include:\n * - `title`\n * - `description`\n * - `keywords`\n * - `socialImage`\n * - `canonicalUrl`\n * - `indexingBlocked`\n * - `favicon`\n *\n * If a field is not provided, it will default to `false`.\n */\nexport const Page = memo(({ snapshot, metadata, ...extras }: PageProps) => {\n if ('runtime' in extras) {\n throw new Error(\n `The \\`runtime\\` prop is no longer supported in the \\`@makeswift/runtime\\` \\`Page\\` component as of \\`0.15.0\\`.\nSee our docs for more information on what's changed and instructions to migrate: https://docs.makeswift.com/migrations/0.15.0`,\n )\n }\n\n useRouterLocaleSync()\n\n return <BuiltinPage snapshot={snapshot} metadata={metadata} />\n})\n"],"mappings":";AAsCS;AApCT,SAAS,YAAY;AAErB,SAAS,QAAQ,mBAAmC;AAEpD,SAAS,2BAA2B;AAsB7B,MAAM,OAAO,KAAK,CAAC,EAAE,UAAU,UAAU,GAAG,OAAO,MAAiB;AACzE,MAAI,aAAa,QAAQ;AACvB,UAAM,IAAI;AAAA,MACR;AAAA;AAAA,IAEF;AAAA,EACF;AAEA,sBAAoB;AAEpB,SAAO,oBAAC,eAAY,UAAoB,UAAoB;AAC9D,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../src/next/components/page.tsx"],"sourcesContent":["'use client'\n\nimport { memo } from 'react'\n\nimport { Page as BuiltinPage, type PageProps } from '../../runtimes/react/components/page'\n\nimport { useRouterLocaleSync } from '../hooks/use-router-locale-sync'\n\nexport { type PageProps } from '../../runtimes/react/components/page'\nimport { CSSObject } from '@emotion/serialize'\nimport { useBaseStyles } from '../../runtimes/react/css-runtime/hooks/use-base-styles'\n\n/**\n * @param snapshot - The snapshot of the page to render, from\n * `client.getPageSnapshot()`.\n * @param metadata - Allows control over whether to use data from Makeswift for\n * rendering metadata tags in the `<head>` of the page. Pass `true` (default if\n * not provided) to render all metadata tags, or `false` to not render any. For\n * more granular control, pass an object with boolean values for specific\n * metadata fields. Valid fields include:\n * - `title`\n * - `description`\n * - `keywords`\n * - `socialImage`\n * - `canonicalUrl`\n * - `indexingBlocked`\n * - `favicon`\n *\n * If a field is not provided, it will default to `false`.\n */\nexport const Page = memo(({ snapshot, metadata, ...extras }: PageProps) => {\n if ('runtime' in extras) {\n throw new Error(\n `The \\`runtime\\` prop is no longer supported in the \\`@makeswift/runtime\\` \\`Page\\` component as of \\`0.15.0\\`.\nSee our docs for more information on what's changed and instructions to migrate: https://docs.makeswift.com/migrations/0.15.0`,\n )\n }\n\n useRouterLocaleSync()\n\n const pageBaseStyles: CSSObject = {\n html: {\n fontFamily: 'sans-serif',\n },\n 'div#__next': {\n overflow: 'hidden',\n },\n }\n const { styleElement: baseStylesElement } = useBaseStyles({ styles: pageBaseStyles })\n\n return (\n <>\n <BuiltinPage snapshot={snapshot} metadata={metadata} />\n {baseStylesElement}\n </>\n )\n})\n"],"mappings":";AAmDI,mBACE,KADF;AAjDJ,SAAS,YAAY;AAErB,SAAS,QAAQ,mBAAmC;AAEpD,SAAS,2BAA2B;AAIpC,SAAS,qBAAqB;AAoBvB,MAAM,OAAO,KAAK,CAAC,EAAE,UAAU,UAAU,GAAG,OAAO,MAAiB;AACzE,MAAI,aAAa,QAAQ;AACvB,UAAM,IAAI;AAAA,MACR;AAAA;AAAA,IAEF;AAAA,EACF;AAEA,sBAAoB;AAEpB,QAAM,iBAA4B;AAAA,IAChC,MAAM;AAAA,MACJ,YAAY;AAAA,IACd;AAAA,IACA,cAAc;AAAA,MACZ,UAAU;AAAA,IACZ;AAAA,EACF;AACA,QAAM,EAAE,cAAc,kBAAkB,IAAI,cAAc,EAAE,QAAQ,eAAe,CAAC;AAEpF,SACE,iCACE;AAAA,wBAAC,eAAY,UAAoB,UAAoB;AAAA,IACpD;AAAA,KACH;AAEJ,CAAC;","names":[]}
@@ -123,9 +123,9 @@ async function testPageControlPropRendering(controlDefinition, {
123
123
  const document = await serverSideRender(elementTree);
124
124
  const getByTestId = (id) => document.querySelector(`[data-testid="${id}"]`);
125
125
  expect(propSnapshot(getByTestId(testId))).toMatchSnapshot("resolvedValue");
126
- expect([...document.querySelectorAll("style")].map((n) => n.textContent)).toMatchSnapshot(
127
- "component styles"
128
- );
126
+ expect(
127
+ [...document.querySelectorAll("style")].map((n) => n.textContent).filter((v) => v !== "")
128
+ ).toMatchSnapshot("component styles");
129
129
  expect(Number(getByTestId(renderCountTestId)?.textContent)).toBe(1);
130
130
  }
131
131
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/next/components/tests/controls/page-control-prop-rendering.tsx"],"sourcesContent":["import { type ReactNode, Fragment, forwardRef, useRef, isValidElement, act } from 'react'\nimport { JSDOM } from 'jsdom'\nimport { render, screen } from '@testing-library/react'\nimport '@testing-library/jest-dom'\nimport { ServerInsertedHTMLContext } from 'next/navigation'\n\nimport { type Data, type ValueType, type DataType, ControlDefinition } from '@makeswift/controls'\n\nimport { type CacheData } from '../../../../api/api-resources-client'\nimport { ElementData } from '../../../../state/read-only-state'\nimport { setIsInBuilder } from '../../../../state/actions/internal/read-only-actions'\nimport { ReactRuntime } from '../../../../runtimes/react/react-runtime'\nimport { MakeswiftComponent } from '../../../../runtimes/react/components/MakeswiftComponent'\nimport { Page } from '../../page'\nimport { isServer } from '../../../../utils/is-server'\n\nimport { renderToString } from '../../../../runtimes/react/testing/render-to-string'\nimport * as Testing from '../../../testing'\n\nconst ROOT_ID = '00000000-0000-0000-0000-000000000000'\nconst ELEMENT_ID = '11111111-1111-1111-1111-111111111111'\n\nconst renderProp = (prop: any) =>\n prop === undefined ? 'undefined' : isValidElement(prop) ? prop : JSON.stringify(prop)\n\nconst propSnapshot = (prop: HTMLElement | null) =>\n prop?.childElementCount ? prop.childNodes : parseStringifiedProp(prop?.textContent ?? '')\n\nconst parseStringifiedProp = (prop: string) => (prop === 'undefined' ? undefined : JSON.parse(prop))\n\nasync function serverSideRender(children: ReactNode) {\n // wrap the children in a context provider to capture server-inserted HTML, see\n // https://github.com/vercel/next.js/blob/canary/packages/next/src/server/app-render/server-inserted-html.tsx\n const serverInsertedCallbacks: (() => React.ReactNode)[] = []\n\n const elementTree = (\n <ServerInsertedHTMLContext.Provider value={handler => serverInsertedCallbacks.push(handler)}>\n {children}\n </ServerInsertedHTMLContext.Provider>\n )\n\n const elementsHTML = await renderToString(elementTree)\n\n const serverInsertedNodes = serverInsertedCallbacks.map((callback, index) => (\n <Fragment key={'__next_server_inserted__' + index}>{callback()}</Fragment>\n ))\n\n const headHTML = await renderToString(serverInsertedNodes)\n\n const dom = new JSDOM(\n `<!DOCTYPE html><head>${headHTML}</head><body><div id=\"root\">${elementsHTML}</div></body></div>`,\n {\n runScripts: 'dangerously',\n },\n )\n\n return dom.window.document\n}\n\n/**\n * In read-write mode, the runtime opens a `MessageChannel` to the builder\n * parent frame; jsdom doesn't implement `MessageChannel`, so stub them to keep\n * the read-write setup from throwing.\n */\nfunction stubBuilderMessageChannel(): () => void {\n const postMessageSpy = jest.spyOn(window, 'postMessage').mockImplementation(() => {})\n\n const originalMessageChannel = window.MessageChannel\n const stubPort = () => ({ onmessage: null, postMessage: () => {}, close: () => {} })\n window.MessageChannel = class {\n port1 = stubPort()\n port2 = stubPort()\n } as unknown as typeof MessageChannel\n\n return () => {\n postMessageSpy.mockRestore()\n window.MessageChannel = originalMessageChannel\n }\n}\n\nexport async function testPageControlPropRendering<D extends ControlDefinition>(\n controlDefinition: D,\n {\n toData,\n value,\n locale,\n cacheData,\n expectedRenders,\n registerComponents,\n action,\n rootElements = [],\n isInBuilder = false,\n isReadOnly = true,\n }: {\n toData?: (value: ValueType<D>) => DataType<D>\n value: ValueType<D> | undefined\n locale?: string | null\n cacheData?: Partial<CacheData>\n expectedRenders?: number\n registerComponents?: (runtime: ReactRuntime) => void\n action?: (element: HTMLElement) => Promise<void>\n rootElements?: ElementData[]\n isInBuilder?: boolean\n isReadOnly?: boolean\n },\n) {\n // Arrange\n const controlData: DataType<D> | Data =\n value !== undefined ? (toData ? toData(value) : controlDefinition.toData(value)) : undefined\n\n const testComponentMeta = {\n type: 'TestComponent',\n label: 'Test Component',\n }\n\n const testId = 'test-id'\n const renderCountTestId = 'render-count-test-id'\n const elementData: ElementData = {\n key: ELEMENT_ID,\n type: testComponentMeta.type,\n props: {\n propKey: controlData,\n },\n }\n\n const runtime = Testing.createReactRuntime()\n runtime.protoStore.dispatch(setIsInBuilder(isInBuilder))\n registerComponents?.(runtime)\n\n // Act\n runtime.registerComponent(\n forwardRef<HTMLDivElement, { propKey?: any }>(({ propKey }, ref) => {\n const renderCount = useRef(0)\n ++renderCount.current\n\n return (\n <div ref={ref}>\n <div data-testid={renderCountTestId}>{renderCount.current}</div>\n <div data-testid={testId}>{renderProp(propKey)}</div>\n </div>\n )\n }),\n {\n ...testComponentMeta,\n props: {\n propKey: controlDefinition as any,\n },\n },\n )\n\n const testElementTree = (component: ReactNode) => {\n // The runtime enters the read-write state when a non-null site version is\n // passed\n const siteVersion = isReadOnly ? null : { token: 'test-token', version: 'draft' }\n return (\n <Testing.ReactProvider runtime={runtime} siteVersion={siteVersion}>\n {component}\n </Testing.ReactProvider>\n )\n }\n\n if (!isServer()) {\n const restoreMessageChannel = isReadOnly ? null : stubBuilderMessageChannel()\n\n const rootElementData: ElementData = Testing.createRootComponent(\n [elementData, ...rootElements],\n ROOT_ID,\n )\n\n const snapshot = Testing.createMakeswiftPageSnapshot(rootElementData, { locale, cacheData })\n\n // Assert\n await act(async () => render(testElementTree(<Page snapshot={snapshot} />)))\n\n if (action) {\n await act(async () => {\n await action(screen.getByTestId(testId))\n })\n }\n\n expect(snapshot).toMatchSnapshot('snapshot')\n expect(propSnapshot(screen.getByTestId(testId))).toMatchSnapshot('resolvedValue')\n\n if (expectedRenders != null) {\n expect(Number(screen.getByTestId(renderCountTestId).textContent)).toBe(expectedRenders)\n }\n\n restoreMessageChannel?.()\n } else {\n // test server-side rendering using a component snapshot\n console.assert(action == null)\n console.assert(rootElements.length === 0)\n\n const snapshot = Testing.createMakeswiftComponentSnapshot(elementData, { locale, cacheData })\n const elementTree = testElementTree(\n <MakeswiftComponent snapshot={snapshot} {...testComponentMeta} />,\n )\n\n const document = await serverSideRender(elementTree)\n const getByTestId = (id: string): HTMLElement | null =>\n document.querySelector(`[data-testid=\"${id}\"]`)\n\n expect(propSnapshot(getByTestId(testId))).toMatchSnapshot('resolvedValue')\n expect([...document.querySelectorAll('style')].map(n => n.textContent)).toMatchSnapshot(\n 'component styles',\n )\n expect(Number(getByTestId(renderCountTestId)?.textContent)).toBe(1)\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/next/components/tests/controls/page-control-prop-rendering.tsx"],"sourcesContent":["import { type ReactNode, Fragment, forwardRef, useRef, isValidElement, act } from 'react'\nimport { JSDOM } from 'jsdom'\nimport { render, screen } from '@testing-library/react'\nimport '@testing-library/jest-dom'\nimport { ServerInsertedHTMLContext } from 'next/navigation'\n\nimport { type Data, type ValueType, type DataType, ControlDefinition } from '@makeswift/controls'\n\nimport { type CacheData } from '../../../../api/api-resources-client'\nimport { ElementData } from '../../../../state/read-only-state'\nimport { setIsInBuilder } from '../../../../state/actions/internal/read-only-actions'\nimport { ReactRuntime } from '../../../../runtimes/react/react-runtime'\nimport { MakeswiftComponent } from '../../../../runtimes/react/components/MakeswiftComponent'\nimport { Page } from '../../page'\nimport { isServer } from '../../../../utils/is-server'\n\nimport { renderToString } from '../../../../runtimes/react/testing/render-to-string'\nimport * as Testing from '../../../testing'\n\nconst ROOT_ID = '00000000-0000-0000-0000-000000000000'\nconst ELEMENT_ID = '11111111-1111-1111-1111-111111111111'\n\nconst renderProp = (prop: any) =>\n prop === undefined ? 'undefined' : isValidElement(prop) ? prop : JSON.stringify(prop)\n\nconst propSnapshot = (prop: HTMLElement | null) =>\n prop?.childElementCount ? prop.childNodes : parseStringifiedProp(prop?.textContent ?? '')\n\nconst parseStringifiedProp = (prop: string) => (prop === 'undefined' ? undefined : JSON.parse(prop))\n\nasync function serverSideRender(children: ReactNode) {\n // wrap the children in a context provider to capture server-inserted HTML, see\n // https://github.com/vercel/next.js/blob/canary/packages/next/src/server/app-render/server-inserted-html.tsx\n const serverInsertedCallbacks: (() => React.ReactNode)[] = []\n\n const elementTree = (\n <ServerInsertedHTMLContext.Provider value={handler => serverInsertedCallbacks.push(handler)}>\n {children}\n </ServerInsertedHTMLContext.Provider>\n )\n\n const elementsHTML = await renderToString(elementTree)\n\n const serverInsertedNodes = serverInsertedCallbacks.map((callback, index) => (\n <Fragment key={'__next_server_inserted__' + index}>{callback()}</Fragment>\n ))\n\n const headHTML = await renderToString(serverInsertedNodes)\n\n const dom = new JSDOM(\n `<!DOCTYPE html><head>${headHTML}</head><body><div id=\"root\">${elementsHTML}</div></body></div>`,\n {\n runScripts: 'dangerously',\n },\n )\n\n return dom.window.document\n}\n\n/**\n * In read-write mode, the runtime opens a `MessageChannel` to the builder\n * parent frame; jsdom doesn't implement `MessageChannel`, so stub them to keep\n * the read-write setup from throwing.\n */\nfunction stubBuilderMessageChannel(): () => void {\n const postMessageSpy = jest.spyOn(window, 'postMessage').mockImplementation(() => {})\n\n const originalMessageChannel = window.MessageChannel\n const stubPort = () => ({ onmessage: null, postMessage: () => {}, close: () => {} })\n window.MessageChannel = class {\n port1 = stubPort()\n port2 = stubPort()\n } as unknown as typeof MessageChannel\n\n return () => {\n postMessageSpy.mockRestore()\n window.MessageChannel = originalMessageChannel\n }\n}\n\nexport async function testPageControlPropRendering<D extends ControlDefinition>(\n controlDefinition: D,\n {\n toData,\n value,\n locale,\n cacheData,\n expectedRenders,\n registerComponents,\n action,\n rootElements = [],\n isInBuilder = false,\n isReadOnly = true,\n }: {\n toData?: (value: ValueType<D>) => DataType<D>\n value: ValueType<D> | undefined\n locale?: string | null\n cacheData?: Partial<CacheData>\n expectedRenders?: number\n registerComponents?: (runtime: ReactRuntime) => void\n action?: (element: HTMLElement) => Promise<void>\n rootElements?: ElementData[]\n isInBuilder?: boolean\n isReadOnly?: boolean\n },\n) {\n // Arrange\n const controlData: DataType<D> | Data =\n value !== undefined ? (toData ? toData(value) : controlDefinition.toData(value)) : undefined\n\n const testComponentMeta = {\n type: 'TestComponent',\n label: 'Test Component',\n }\n\n const testId = 'test-id'\n const renderCountTestId = 'render-count-test-id'\n const elementData: ElementData = {\n key: ELEMENT_ID,\n type: testComponentMeta.type,\n props: {\n propKey: controlData,\n },\n }\n\n const runtime = Testing.createReactRuntime()\n runtime.protoStore.dispatch(setIsInBuilder(isInBuilder))\n registerComponents?.(runtime)\n\n // Act\n runtime.registerComponent(\n forwardRef<HTMLDivElement, { propKey?: any }>(({ propKey }, ref) => {\n const renderCount = useRef(0)\n ++renderCount.current\n\n return (\n <div ref={ref}>\n <div data-testid={renderCountTestId}>{renderCount.current}</div>\n <div data-testid={testId}>{renderProp(propKey)}</div>\n </div>\n )\n }),\n {\n ...testComponentMeta,\n props: {\n propKey: controlDefinition as any,\n },\n },\n )\n\n const testElementTree = (component: ReactNode) => {\n // The runtime enters the read-write state when a non-null site version is\n // passed\n const siteVersion = isReadOnly ? null : { token: 'test-token', version: 'draft' }\n return (\n <Testing.ReactProvider runtime={runtime} siteVersion={siteVersion}>\n {component}\n </Testing.ReactProvider>\n )\n }\n\n if (!isServer()) {\n const restoreMessageChannel = isReadOnly ? null : stubBuilderMessageChannel()\n\n const rootElementData: ElementData = Testing.createRootComponent(\n [elementData, ...rootElements],\n ROOT_ID,\n )\n\n const snapshot = Testing.createMakeswiftPageSnapshot(rootElementData, { locale, cacheData })\n\n // Assert\n await act(async () => render(testElementTree(<Page snapshot={snapshot} />)))\n\n if (action) {\n await act(async () => {\n await action(screen.getByTestId(testId))\n })\n }\n\n expect(snapshot).toMatchSnapshot('snapshot')\n expect(propSnapshot(screen.getByTestId(testId))).toMatchSnapshot('resolvedValue')\n\n if (expectedRenders != null) {\n expect(Number(screen.getByTestId(renderCountTestId).textContent)).toBe(expectedRenders)\n }\n\n restoreMessageChannel?.()\n } else {\n // test server-side rendering using a component snapshot\n console.assert(action == null)\n console.assert(rootElements.length === 0)\n\n const snapshot = Testing.createMakeswiftComponentSnapshot(elementData, { locale, cacheData })\n const elementTree = testElementTree(\n <MakeswiftComponent snapshot={snapshot} {...testComponentMeta} />,\n )\n\n const document = await serverSideRender(elementTree)\n const getByTestId = (id: string): HTMLElement | null =>\n document.querySelector(`[data-testid=\"${id}\"]`)\n\n expect(propSnapshot(getByTestId(testId))).toMatchSnapshot('resolvedValue')\n expect(\n [...document.querySelectorAll('style')].map(n => n.textContent).filter(v => v !== ''),\n ).toMatchSnapshot('component styles')\n\n expect(Number(getByTestId(renderCountTestId)?.textContent)).toBe(1)\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,25 +1,38 @@
1
1
  "use client";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { cache } from "@emotion/css";
4
- import createEmotionServer from "@emotion/server/create-instance";
5
3
  import NextDocument, {
6
4
  Head,
7
5
  Html,
8
6
  Main,
9
7
  NextScript
10
8
  } from "next/document";
11
- import { StyleTagSSR } from "../runtimes/react/root-style-registry";
9
+ import {
10
+ createMakeswiftStylesRegistry,
11
+ RootStyleRegistry
12
+ } from "../unstable-framework-support";
13
+ import { useContext } from "react";
14
+ import { StylesContext } from "../runtimes/react/css-runtime/components/styles-context-provider";
12
15
  class Document extends NextDocument {
13
16
  static async getInitialProps(ctx) {
14
- const initialProps = await NextDocument.getInitialProps(ctx);
15
- const { extractCritical } = createEmotionServer(cache);
16
- const { ids, css } = extractCritical(initialProps.html);
17
+ const originalRenderPage = ctx.renderPage;
18
+ const stylesRegistry = createMakeswiftStylesRegistry();
19
+ ctx.renderPage = () => {
20
+ return originalRenderPage({
21
+ enhanceComponent: (Component) => (props) => /* @__PURE__ */ jsx(InnerRootStyleRegistry, { stylesRegistry, children: /* @__PURE__ */ jsx(Component, { ...props }) })
22
+ });
23
+ };
24
+ const initialProps = await super.getInitialProps(ctx);
25
+ const perPrecedenceStyleProps = stylesRegistry.serializeToStyleProps();
26
+ const makeswiftStyleElements = perPrecedenceStyleProps.map((props) => {
27
+ return /* @__PURE__ */ jsx("style", { "data-href": props.href, "data-precedence": props.precedence, children: props.css }, props.precedence);
28
+ });
29
+ const combinedStyles = /* @__PURE__ */ jsxs(Fragment, { children: [
30
+ initialProps.styles,
31
+ makeswiftStyleElements
32
+ ] });
17
33
  return {
18
34
  ...initialProps,
19
- styles: /* @__PURE__ */ jsxs(Fragment, { children: [
20
- initialProps.styles,
21
- /* @__PURE__ */ jsx(StyleTagSSR, { cacheKey: cache.key, classNames: ids, css })
22
- ] })
35
+ styles: combinedStyles
23
36
  };
24
37
  }
25
38
  render() {
@@ -32,6 +45,25 @@ class Document extends NextDocument {
32
45
  ] });
33
46
  }
34
47
  }
48
+ function InnerRootStyleRegistry({
49
+ children,
50
+ stylesRegistry
51
+ }) {
52
+ const outerStylesContext = useContext(StylesContext);
53
+ const outerStylesProps = {
54
+ classNamePrefix: outerStylesContext?.classNamePrefix,
55
+ enableCssReset: outerStylesContext?.enableCssReset
56
+ };
57
+ return /* @__PURE__ */ jsx(
58
+ RootStyleRegistry,
59
+ {
60
+ ...outerStylesProps,
61
+ stylesRegistry,
62
+ shouldRenderStyleElements: false,
63
+ children
64
+ }
65
+ );
66
+ }
35
67
  export {
36
68
  Document
37
69
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/document.tsx"],"sourcesContent":["'use client'\n\nimport { cache } from '@emotion/css'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport NextDocument, {\n DocumentContext,\n DocumentInitialProps,\n Head,\n Html,\n Main,\n NextScript,\n} from 'next/document'\n\nimport { StyleTagSSR } from '../runtimes/react/root-style-registry'\n\nexport class Document extends NextDocument {\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const initialProps = await NextDocument.getInitialProps(ctx)\n\n const { extractCritical } = createEmotionServer(cache)\n const { ids, css } = extractCritical(initialProps.html)\n\n return {\n ...initialProps,\n styles: (\n <>\n {initialProps.styles}\n <StyleTagSSR cacheKey={cache.key} classNames={ids} css={css} />\n </>\n ),\n }\n }\n\n render() {\n return (\n <Html>\n <Head />\n <body>\n <Main />\n <NextScript />\n </body>\n </Html>\n )\n }\n}\n"],"mappings":";AAyBQ,mBAEE,KAFF;AAvBR,SAAS,aAAa;AACtB,OAAO,yBAAyB;AAChC,OAAO;AAAA,EAGL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,mBAAmB;AAErB,MAAM,iBAAiB,aAAa;AAAA,EACzC,aAAa,gBAAgB,KAAqD;AAChF,UAAM,eAAe,MAAM,aAAa,gBAAgB,GAAG;AAE3D,UAAM,EAAE,gBAAgB,IAAI,oBAAoB,KAAK;AACrD,UAAM,EAAE,KAAK,IAAI,IAAI,gBAAgB,aAAa,IAAI;AAEtD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,QACE,iCACG;AAAA,qBAAa;AAAA,QACd,oBAAC,eAAY,UAAU,MAAM,KAAK,YAAY,KAAK,KAAU;AAAA,SAC/D;AAAA,IAEJ;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WACE,qBAAC,QACC;AAAA,0BAAC,QAAK;AAAA,MACN,qBAAC,UACC;AAAA,4BAAC,QAAK;AAAA,QACN,oBAAC,cAAW;AAAA,SACd;AAAA,OACF;AAAA,EAEJ;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/document.tsx"],"sourcesContent":["'use client'\n\nimport NextDocument, {\n DocumentContext,\n DocumentInitialProps,\n Head,\n Html,\n Main,\n NextScript,\n} from 'next/document'\nimport {\n createMakeswiftStylesRegistry,\n RootStyleProps,\n RootStyleRegistry,\n StylesRegistry,\n} from '../unstable-framework-support'\nimport { PropsWithChildren, useContext } from 'react'\nimport { StylesContext } from '../runtimes/react/css-runtime/components/styles-context-provider'\n\nexport class Document extends NextDocument {\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const originalRenderPage = ctx.renderPage\n const stylesRegistry = createMakeswiftStylesRegistry()\n\n /*\n This runs only on the server and configures a `RootStyleRegistry` which disables\n rendering Makeswift-generated `<style>`s alongside components, opting instead to\n pull them from the styles registry and place them in the `<head>` manually.\n This is a special case for pages router, where React hoisting will not work during\n SSR.\n\n `InnerRootStyleRegistry` is a wrapper component that pulls in user configuration\n from the outer (userland) `RootStyleRegistry`. This would matter, for example, if\n the `RootStyleRegistry` in userland was configured with a custom class name prefix.\n */\n ctx.renderPage = () => {\n return originalRenderPage({\n enhanceComponent: Component => props => (\n <InnerRootStyleRegistry stylesRegistry={stylesRegistry}>\n <Component {...props}></Component>\n </InnerRootStyleRegistry>\n ),\n })\n }\n\n const initialProps = await super.getInitialProps(ctx)\n const perPrecedenceStyleProps = stylesRegistry.serializeToStyleProps()\n const makeswiftStyleElements = perPrecedenceStyleProps.map(props => {\n return (\n <style key={props.precedence} data-href={props.href} data-precedence={props.precedence}>\n {props.css}\n </style>\n )\n })\n\n const combinedStyles = (\n <>\n {initialProps.styles}\n {makeswiftStyleElements}\n </>\n )\n\n return {\n ...initialProps,\n styles: combinedStyles,\n }\n }\n\n render() {\n return (\n <Html>\n <Head />\n <body>\n <Main />\n <NextScript />\n </body>\n </Html>\n )\n }\n}\n\nfunction InnerRootStyleRegistry({\n children,\n stylesRegistry,\n}: PropsWithChildren<{\n stylesRegistry: StylesRegistry\n}>) {\n const outerStylesContext = useContext(StylesContext)\n\n const outerStylesProps: RootStyleProps = {\n classNamePrefix: outerStylesContext?.classNamePrefix,\n enableCssReset: outerStylesContext?.enableCssReset,\n }\n\n return (\n <RootStyleRegistry\n {...outerStylesProps}\n stylesRegistry={stylesRegistry}\n shouldRenderStyleElements={false}\n >\n {children}\n </RootStyleRegistry>\n )\n}\n"],"mappings":";AAuCY,SAiBN,UAjBM,KAiBN,YAjBM;AArCZ,OAAO;AAAA,EAGL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EAEA;AAAA,OAEK;AACP,SAA4B,kBAAkB;AAC9C,SAAS,qBAAqB;AAEvB,MAAM,iBAAiB,aAAa;AAAA,EACzC,aAAa,gBAAgB,KAAqD;AAChF,UAAM,qBAAqB,IAAI;AAC/B,UAAM,iBAAiB,8BAA8B;AAarD,QAAI,aAAa,MAAM;AACrB,aAAO,mBAAmB;AAAA,QACxB,kBAAkB,eAAa,WAC7B,oBAAC,0BAAuB,gBACtB,8BAAC,aAAW,GAAG,OAAO,GACxB;AAAA,MAEJ,CAAC;AAAA,IACH;AAEA,UAAM,eAAe,MAAM,MAAM,gBAAgB,GAAG;AACpD,UAAM,0BAA0B,eAAe,sBAAsB;AACrE,UAAM,yBAAyB,wBAAwB,IAAI,WAAS;AAClE,aACE,oBAAC,WAA6B,aAAW,MAAM,MAAM,mBAAiB,MAAM,YACzE,gBAAM,OADG,MAAM,UAElB;AAAA,IAEJ,CAAC;AAED,UAAM,iBACJ,iCACG;AAAA,mBAAa;AAAA,MACb;AAAA,OACH;AAGF,WAAO;AAAA,MACL,GAAG;AAAA,MACH,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WACE,qBAAC,QACC;AAAA,0BAAC,QAAK;AAAA,MACN,qBAAC,UACC;AAAA,4BAAC,QAAK;AAAA,QACN,oBAAC,cAAW;AAAA,SACd;AAAA,OACF;AAAA,EAEJ;AACF;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA;AACF,GAEI;AACF,QAAM,qBAAqB,WAAW,aAAa;AAEnD,QAAM,mBAAmC;AAAA,IACvC,iBAAiB,oBAAoB;AAAA,IACrC,gBAAgB,oBAAoB;AAAA,EACtC;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,2BAA2B;AAAA,MAE1B;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -1,23 +1,14 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import { useServerInsertedHTML } from "next/navigation";
5
3
  import {
6
- createRootStyleCache,
7
- RootStyleRegistry as ReactRootStyleRegistry,
8
- StyleTagSSR
4
+ DefaultRootStyleRegistry as ReactRootStyleRegistry
9
5
  } from "../runtimes/react/root-style-registry";
10
6
  function NextRootStyleRegistry({
11
7
  children,
12
- cacheKey,
8
+ classNamePrefix,
13
9
  enableCssReset
14
10
  }) {
15
- const [cache] = useState(() => createRootStyleCache({ key: cacheKey }));
16
- useServerInsertedHTML(() => {
17
- const { classNames, css } = cache.flush();
18
- return classNames.length > 0 ? /* @__PURE__ */ jsx(StyleTagSSR, { cacheKey: cache.key, classNames, css }) : null;
19
- });
20
- return /* @__PURE__ */ jsx(ReactRootStyleRegistry, { cache, enableCssReset, children });
11
+ return /* @__PURE__ */ jsx(ReactRootStyleRegistry, { classNamePrefix, enableCssReset, children });
21
12
  }
22
13
  export {
23
14
  NextRootStyleRegistry
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/root-style-registry.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useState } from 'react'\nimport { useServerInsertedHTML } from 'next/navigation'\n\nimport {\n createRootStyleCache,\n RootStyleRegistry as ReactRootStyleRegistry,\n StyleTagSSR,\n type RootStyleProps,\n} from '../runtimes/react/root-style-registry'\n\nexport function NextRootStyleRegistry({\n children,\n cacheKey,\n enableCssReset,\n}: PropsWithChildren<RootStyleProps>) {\n const [cache] = useState(() => createRootStyleCache({ key: cacheKey }))\n\n useServerInsertedHTML(() => {\n const { classNames, css } = cache.flush()\n\n return classNames.length > 0 ? (\n <StyleTagSSR cacheKey={cache.key} classNames={classNames} css={css} />\n ) : null\n })\n\n return (\n <ReactRootStyleRegistry cache={cache} enableCssReset={enableCssReset}>\n {children}\n </ReactRootStyleRegistry>\n )\n}\n"],"mappings":";AAuBM;AArBN,SAAiC,gBAAgB;AACjD,SAAS,6BAA6B;AAEtC;AAAA,EACE;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,OAEK;AAEA,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAAsC;AACpC,QAAM,CAAC,KAAK,IAAI,SAAS,MAAM,qBAAqB,EAAE,KAAK,SAAS,CAAC,CAAC;AAEtE,wBAAsB,MAAM;AAC1B,UAAM,EAAE,YAAY,IAAI,IAAI,MAAM,MAAM;AAExC,WAAO,WAAW,SAAS,IACzB,oBAAC,eAAY,UAAU,MAAM,KAAK,YAAwB,KAAU,IAClE;AAAA,EACN,CAAC;AAED,SACE,oBAAC,0BAAuB,OAAc,gBACnC,UACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/root-style-registry.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren } from 'react'\n\nimport {\n DefaultRootStyleRegistry as ReactRootStyleRegistry,\n type RootStyleProps,\n} from '../runtimes/react/root-style-registry'\n\nexport function NextRootStyleRegistry({\n children,\n classNamePrefix,\n enableCssReset,\n}: PropsWithChildren<RootStyleProps>) {\n return (\n <ReactRootStyleRegistry classNamePrefix={classNamePrefix} enableCssReset={enableCssReset}>\n {children}\n </ReactRootStyleRegistry>\n )\n}\n"],"mappings":";AAeI;AAXJ;AAAA,EACE,4BAA4B;AAAA,OAEvB;AAEA,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAAsC;AACpC,SACE,oBAAC,0BAAuB,iBAAkC,gBACvD,UACH;AAEJ;","names":[]}
@@ -4,7 +4,6 @@ import {
4
4
  RenderContext,
5
5
  setRenderContext,
6
6
  getRenderContext,
7
- ServerCSSCollector,
8
7
  ServerElement,
9
8
  RSCElementRenderer,
10
9
  MakeswiftComponent,
@@ -15,7 +14,6 @@ export {
15
14
  RenderContext as MakeswiftRenderContext,
16
15
  RSCElementRenderer,
17
16
  RenderElementPayload,
18
- ServerCSSCollector,
19
17
  ServerElement,
20
18
  Slot,
21
19
  collectServerElements,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/react/server/index.ts"],"sourcesContent":["export {\n type ServerRenderContext,\n collectServerElements,\n RenderElementPayload,\n RenderContext as MakeswiftRenderContext,\n setRenderContext,\n getRenderContext,\n ServerCSSCollector,\n ServerElement,\n RSCElementRenderer,\n MakeswiftComponent,\n Slot,\n} from '../../runtimes/react/server'\n"],"mappings":"AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
1
+ {"version":3,"sources":["../../../../src/react/server/index.ts"],"sourcesContent":["export {\n type ServerRenderContext,\n collectServerElements,\n RenderElementPayload,\n RenderContext as MakeswiftRenderContext,\n setRenderContext,\n getRenderContext,\n ServerElement,\n RSCElementRenderer,\n MakeswiftComponent,\n Slot,\n} from '../../runtimes/react/server'\n"],"mappings":"AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { createElement } from "react";
3
- import { forwardRef, memo } from "react";
3
+ import { forwardRef, memo, useCallback } from "react";
4
4
  import { FallbackComponent } from "../../../components/shared/FallbackComponent";
5
5
  import { EditableServerElement } from "../server/components/editable-server-element";
6
6
  import { useServerElementsCache } from "../server/components/server-elements-cache";
@@ -45,12 +45,21 @@ const ElementDataServer = forwardRef(function ElementDataServer2({ elementData }
45
45
  const ElementDataClient = forwardRef(function ElementDataClient2({ elementData }, ref) {
46
46
  const Component = useComponent(elementData.type);
47
47
  const builtinSuspense = useBuiltinSuspense(elementData.type);
48
+ const forwardRef2 = Component != null ? canAcceptRef(Component) : void 0;
49
+ const renderChildren = useCallback(
50
+ (props) => {
51
+ if (Component == null) {
52
+ return null;
53
+ }
54
+ return forwardRef2 ? /* @__PURE__ */ createElement(Component, { ...props, key: elementData.key, ref }) : /* @__PURE__ */ createElement(Component, { ...props, key: elementData.key });
55
+ },
56
+ [forwardRef2, elementData.key, ref, Component]
57
+ );
48
58
  if (Component == null) {
49
59
  console.warn(`Unknown component '${elementData.type}'`, { elementData });
50
60
  return /* @__PURE__ */ jsx(FallbackComponent, { ref, text: "Component not found" });
51
61
  }
52
- const forwardRef2 = canAcceptRef(Component);
53
- return /* @__PURE__ */ jsx(ActivityOrFallback, { suspenseFallback: builtinSuspense, children: /* @__PURE__ */ jsx(ResolveProps, { element: elementData, children: (props) => forwardRef2 ? /* @__PURE__ */ createElement(Component, { ...props, key: elementData.key, ref }) : /* @__PURE__ */ createElement(Component, { ...props, key: elementData.key }) }) });
62
+ return /* @__PURE__ */ jsx(ActivityOrFallback, { suspenseFallback: builtinSuspense, children: /* @__PURE__ */ jsx(ResolveProps, { element: elementData, children: renderChildren }) });
54
63
  });
55
64
  export {
56
65
  ElementData
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/ElementData.tsx"],"sourcesContent":["import { type ReactNode, type Ref, forwardRef, memo } from 'react'\n\nimport { type ElementData as MakeswiftElementData } from '../../../state/read-only-state'\nimport { FallbackComponent } from '../../../components/shared/FallbackComponent'\n\nimport { EditableServerElement } from '../server/components/editable-server-element'\nimport { useServerElementsCache } from '../server/components/server-elements-cache'\n\nimport { useBuiltinSuspense } from '../hooks/use-builtin-suspense'\nimport { useComponent, useComponentMeta } from '../hooks/use-component'\nimport { useIsReadOnly } from '../hooks/use-is-read-only'\n\nimport { canAcceptRef } from '../utils/can-accept-ref'\n\nimport { ResolveProps } from './resolve-props'\nimport { ActivityOrFallback } from './activity-with-fallback'\n\ntype ElementDataProps = {\n elementData: MakeswiftElementData\n}\n\nexport const ElementData = memo(\n forwardRef(function ElementData({ elementData }: ElementDataProps, ref: Ref<unknown>): ReactNode {\n const componentMeta = useComponentMeta(elementData.type)\n\n if (componentMeta == null) {\n const msg = `Component metadata not found for '${elementData.type}'`\n console.warn(msg)\n return (\n <FallbackComponent\n ref={ref as Ref<HTMLDivElement>}\n text=\"Component not found\"\n details={msg}\n />\n )\n }\n\n return componentMeta.server ? (\n <ElementDataServer elementData={elementData} ref={ref} />\n ) : (\n <ElementDataClient elementData={elementData} ref={ref} />\n )\n }),\n)\n\nconst ElementDataServer = forwardRef(function ElementDataServer(\n { elementData }: ElementDataProps,\n ref: Ref<unknown>,\n): ReactNode {\n // lookup and render RSC node for the element; see the `ServerElementsCache` comment\n const rscNode = useServerElementsCache().getElement(elementData.key)\n const isReadOnly = useIsReadOnly()\n\n if (isReadOnly) {\n if (rscNode == null) {\n console.error(\n `React node not found for server component ${elementData.type}, element key ${elementData.key}`,\n )\n\n return (\n <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Server component not found\" />\n )\n }\n\n return rscNode\n }\n\n return <EditableServerElement initialElementData={elementData}>{rscNode}</EditableServerElement>\n})\n\nconst ElementDataClient = forwardRef(function ElementDataClient(\n { elementData }: ElementDataProps,\n ref: Ref<unknown>,\n): ReactNode {\n const Component = useComponent(elementData.type)\n const builtinSuspense = useBuiltinSuspense(elementData.type)\n\n if (Component == null) {\n console.warn(`Unknown component '${elementData.type}'`, { elementData })\n return <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Component not found\" />\n }\n\n const forwardRef = canAcceptRef(Component)\n\n return (\n <ActivityOrFallback suspenseFallback={builtinSuspense}>\n <ResolveProps element={elementData}>\n {props =>\n forwardRef ? (\n <Component {...props} key={elementData.key} ref={ref} />\n ) : (\n <Component {...props} key={elementData.key} />\n )\n }\n </ResolveProps>\n </ActivityOrFallback>\n )\n})\n"],"mappings":"AA6BQ;AA4DI;AAzFZ,SAAmC,YAAY,YAAY;AAG3D,SAAS,yBAAyB;AAElC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AAEvC,SAAS,0BAA0B;AACnC,SAAS,cAAc,wBAAwB;AAC/C,SAAS,qBAAqB;AAE9B,SAAS,oBAAoB;AAE7B,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAM5B,MAAM,cAAc;AAAA,EACzB,WAAW,SAASA,aAAY,EAAE,YAAY,GAAqB,KAA8B;AAC/F,UAAM,gBAAgB,iBAAiB,YAAY,IAAI;AAEvD,QAAI,iBAAiB,MAAM;AACzB,YAAM,MAAM,qCAAqC,YAAY,IAAI;AACjE,cAAQ,KAAK,GAAG;AAChB,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAK;AAAA,UACL,SAAS;AAAA;AAAA,MACX;AAAA,IAEJ;AAEA,WAAO,cAAc,SACnB,oBAAC,qBAAkB,aAA0B,KAAU,IAEvD,oBAAC,qBAAkB,aAA0B,KAAU;AAAA,EAE3D,CAAC;AACH;AAEA,MAAM,oBAAoB,WAAW,SAASC,mBAC5C,EAAE,YAAY,GACd,KACW;AAEX,QAAM,UAAU,uBAAuB,EAAE,WAAW,YAAY,GAAG;AACnE,QAAM,aAAa,cAAc;AAEjC,MAAI,YAAY;AACd,QAAI,WAAW,MAAM;AACnB,cAAQ;AAAA,QACN,6CAA6C,YAAY,IAAI,iBAAiB,YAAY,GAAG;AAAA,MAC/F;AAEA,aACE,oBAAC,qBAAkB,KAAiC,MAAK,8BAA6B;AAAA,IAE1F;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,oBAAC,yBAAsB,oBAAoB,aAAc,mBAAQ;AAC1E,CAAC;AAED,MAAM,oBAAoB,WAAW,SAASC,mBAC5C,EAAE,YAAY,GACd,KACW;AACX,QAAM,YAAY,aAAa,YAAY,IAAI;AAC/C,QAAM,kBAAkB,mBAAmB,YAAY,IAAI;AAE3D,MAAI,aAAa,MAAM;AACrB,YAAQ,KAAK,sBAAsB,YAAY,IAAI,KAAK,EAAE,YAAY,CAAC;AACvE,WAAO,oBAAC,qBAAkB,KAAiC,MAAK,uBAAsB;AAAA,EACxF;AAEA,QAAMC,cAAa,aAAa,SAAS;AAEzC,SACE,oBAAC,sBAAmB,kBAAkB,iBACpC,8BAAC,gBAAa,SAAS,aACpB,qBACCA,cACE,8BAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,KAAU,IAEtD,8BAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,GAGlD,GACF;AAEJ,CAAC;","names":["ElementData","ElementDataServer","ElementDataClient","forwardRef"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/ElementData.tsx"],"sourcesContent":["import { type ReactNode, type Ref, forwardRef, memo, useCallback } from 'react'\n\nimport { type ElementData as MakeswiftElementData } from '../../../state/read-only-state'\nimport { FallbackComponent } from '../../../components/shared/FallbackComponent'\n\nimport { EditableServerElement } from '../server/components/editable-server-element'\nimport { useServerElementsCache } from '../server/components/server-elements-cache'\n\nimport { useBuiltinSuspense } from '../hooks/use-builtin-suspense'\nimport { useComponent, useComponentMeta } from '../hooks/use-component'\nimport { useIsReadOnly } from '../hooks/use-is-read-only'\n\nimport { canAcceptRef } from '../utils/can-accept-ref'\n\nimport { ResolveProps } from './resolve-props'\nimport { ActivityOrFallback } from './activity-with-fallback'\n\ntype ElementDataProps = {\n elementData: MakeswiftElementData\n}\n\nexport const ElementData = memo(\n forwardRef(function ElementData({ elementData }: ElementDataProps, ref: Ref<unknown>): ReactNode {\n const componentMeta = useComponentMeta(elementData.type)\n\n if (componentMeta == null) {\n const msg = `Component metadata not found for '${elementData.type}'`\n console.warn(msg)\n return (\n <FallbackComponent\n ref={ref as Ref<HTMLDivElement>}\n text=\"Component not found\"\n details={msg}\n />\n )\n }\n\n return componentMeta.server ? (\n <ElementDataServer elementData={elementData} ref={ref} />\n ) : (\n <ElementDataClient elementData={elementData} ref={ref} />\n )\n }),\n)\n\nconst ElementDataServer = forwardRef(function ElementDataServer(\n { elementData }: ElementDataProps,\n ref: Ref<unknown>,\n): ReactNode {\n // lookup and render RSC node for the element; see the `ServerElementsCache` comment\n const rscNode = useServerElementsCache().getElement(elementData.key)\n const isReadOnly = useIsReadOnly()\n\n if (isReadOnly) {\n if (rscNode == null) {\n console.error(\n `React node not found for server component ${elementData.type}, element key ${elementData.key}`,\n )\n\n return (\n <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Server component not found\" />\n )\n }\n\n return rscNode\n }\n\n return <EditableServerElement initialElementData={elementData}>{rscNode}</EditableServerElement>\n})\n\nconst ElementDataClient = forwardRef(function ElementDataClient(\n { elementData }: ElementDataProps,\n ref: Ref<unknown>,\n): ReactNode {\n const Component = useComponent(elementData.type)\n const builtinSuspense = useBuiltinSuspense(elementData.type)\n\n const forwardRef = Component != null ? canAcceptRef(Component) : undefined\n\n const renderChildren = useCallback(\n (props: Record<string, unknown>) => {\n if (Component == null) {\n return null\n }\n return forwardRef ? (\n <Component {...props} key={elementData.key} ref={ref} />\n ) : (\n <Component {...props} key={elementData.key} />\n )\n },\n [forwardRef, elementData.key, ref, Component],\n )\n\n if (Component == null) {\n console.warn(`Unknown component '${elementData.type}'`, { elementData })\n return <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Component not found\" />\n }\n\n return (\n <ActivityOrFallback suspenseFallback={builtinSuspense}>\n <ResolveProps element={elementData}>{renderChildren}</ResolveProps>\n </ActivityOrFallback>\n )\n})\n"],"mappings":"AA6BQ;AAwDA;AArFR,SAAmC,YAAY,MAAM,mBAAmB;AAGxE,SAAS,yBAAyB;AAElC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AAEvC,SAAS,0BAA0B;AACnC,SAAS,cAAc,wBAAwB;AAC/C,SAAS,qBAAqB;AAE9B,SAAS,oBAAoB;AAE7B,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAM5B,MAAM,cAAc;AAAA,EACzB,WAAW,SAASA,aAAY,EAAE,YAAY,GAAqB,KAA8B;AAC/F,UAAM,gBAAgB,iBAAiB,YAAY,IAAI;AAEvD,QAAI,iBAAiB,MAAM;AACzB,YAAM,MAAM,qCAAqC,YAAY,IAAI;AACjE,cAAQ,KAAK,GAAG;AAChB,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAK;AAAA,UACL,SAAS;AAAA;AAAA,MACX;AAAA,IAEJ;AAEA,WAAO,cAAc,SACnB,oBAAC,qBAAkB,aAA0B,KAAU,IAEvD,oBAAC,qBAAkB,aAA0B,KAAU;AAAA,EAE3D,CAAC;AACH;AAEA,MAAM,oBAAoB,WAAW,SAASC,mBAC5C,EAAE,YAAY,GACd,KACW;AAEX,QAAM,UAAU,uBAAuB,EAAE,WAAW,YAAY,GAAG;AACnE,QAAM,aAAa,cAAc;AAEjC,MAAI,YAAY;AACd,QAAI,WAAW,MAAM;AACnB,cAAQ;AAAA,QACN,6CAA6C,YAAY,IAAI,iBAAiB,YAAY,GAAG;AAAA,MAC/F;AAEA,aACE,oBAAC,qBAAkB,KAAiC,MAAK,8BAA6B;AAAA,IAE1F;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,oBAAC,yBAAsB,oBAAoB,aAAc,mBAAQ;AAC1E,CAAC;AAED,MAAM,oBAAoB,WAAW,SAASC,mBAC5C,EAAE,YAAY,GACd,KACW;AACX,QAAM,YAAY,aAAa,YAAY,IAAI;AAC/C,QAAM,kBAAkB,mBAAmB,YAAY,IAAI;AAE3D,QAAMC,cAAa,aAAa,OAAO,aAAa,SAAS,IAAI;AAEjE,QAAM,iBAAiB;AAAA,IACrB,CAAC,UAAmC;AAClC,UAAI,aAAa,MAAM;AACrB,eAAO;AAAA,MACT;AACA,aAAOA,cACL,8BAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK,KAAU,IAEtD,8BAAC,aAAW,GAAG,OAAO,KAAK,YAAY,KAAK;AAAA,IAEhD;AAAA,IACA,CAACA,aAAY,YAAY,KAAK,KAAK,SAAS;AAAA,EAC9C;AAEA,MAAI,aAAa,MAAM;AACrB,YAAQ,KAAK,sBAAsB,YAAY,IAAI,KAAK,EAAE,YAAY,CAAC;AACvE,WAAO,oBAAC,qBAAkB,KAAiC,MAAK,uBAAsB;AAAA,EACxF;AAEA,SACE,oBAAC,sBAAmB,kBAAkB,iBACpC,8BAAC,gBAAa,SAAS,aAAc,0BAAe,GACtD;AAEJ,CAAC;","names":["ElementData","ElementDataServer","ElementDataClient","forwardRef"]}
@@ -9,6 +9,7 @@ import {
9
9
  getGoogleFontsUrl
10
10
  } from "../utils/google-fonts-url";
11
11
  import { PageLink } from "./page/head-tags";
12
+ import { MakeswiftStylePrecedence } from "../css-runtime/types";
12
13
  function GoogleFontLink({ fonts, siteId }) {
13
14
  const isInBuilder = useIsInBuilder();
14
15
  const site = useCachedSite(isInBuilder ? siteId : null);
@@ -22,7 +23,7 @@ function GoogleFontLink({ fonts, siteId }) {
22
23
  if (url === "") {
23
24
  return null;
24
25
  }
25
- return /* @__PURE__ */ jsx(PageLink, { precedence: "medium", rel: "stylesheet", href: url });
26
+ return /* @__PURE__ */ jsx(PageLink, { precedence: MakeswiftStylePrecedence.MEDIUM, rel: "stylesheet", href: url });
26
27
  }
27
28
  function useCachedSite(siteId) {
28
29
  const client = useApiResourcesClient();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/GoogleFontLink.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport { type Font } from '../../../client'\nimport { type Site } from '../../../api'\nimport { useIsInBuilder } from '../hooks/use-is-in-builder'\nimport { useApiResourcesClient } from '../hooks/use-api-resources-client'\n\nimport {\n getGoogleFontsParamFromFonts,\n getGoogleFontsParamFromSite,\n getGoogleFontsUrl,\n} from '../utils/google-fonts-url'\nimport { PageLink } from './page/head-tags'\n\ntype Props = {\n fonts: Font[]\n siteId: string | null\n}\n\n/**\n * This is experimental, and some of the logic here is duplicated in the `PageHead` component.\n *\n * For now we want to avoid putting this on the critical path for rendering Makeswift pages, so we haven't\n * deduplicated the two.\n */\nexport function GoogleFontLink({ fonts, siteId }: Props) {\n const isInBuilder = useIsInBuilder()\n\n const site = useCachedSite(isInBuilder ? siteId : null)\n\n const fontFamilyParamValue = useMemo(() => {\n if (isInBuilder && site != null) {\n return getGoogleFontsParamFromSite(site)\n }\n return getGoogleFontsParamFromFonts(fonts)\n }, [isInBuilder, site, fonts])\n\n const url = getGoogleFontsUrl(fontFamilyParamValue)\n if (url === '') {\n return null\n }\n\n return <PageLink precedence=\"medium\" rel=\"stylesheet\" href={url} />\n}\n\nfunction useCachedSite(siteId: string | null): Site | null {\n const client = useApiResourcesClient()\n const getSnapshot = () => (siteId == null ? null : client.readSite(siteId))\n\n return useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n}\n"],"mappings":";AA4CS;AA1CT,SAAS,SAAS,4BAA4B;AAI9C,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AAEtC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,gBAAgB;AAalB,SAAS,eAAe,EAAE,OAAO,OAAO,GAAU;AACvD,QAAM,cAAc,eAAe;AAEnC,QAAM,OAAO,cAAc,cAAc,SAAS,IAAI;AAEtD,QAAM,uBAAuB,QAAQ,MAAM;AACzC,QAAI,eAAe,QAAQ,MAAM;AAC/B,aAAO,4BAA4B,IAAI;AAAA,IACzC;AACA,WAAO,6BAA6B,KAAK;AAAA,EAC3C,GAAG,CAAC,aAAa,MAAM,KAAK,CAAC;AAE7B,QAAM,MAAM,kBAAkB,oBAAoB;AAClD,MAAI,QAAQ,IAAI;AACd,WAAO;AAAA,EACT;AAEA,SAAO,oBAAC,YAAS,YAAW,UAAS,KAAI,cAAa,MAAM,KAAK;AACnE;AAEA,SAAS,cAAc,QAAoC;AACzD,QAAM,SAAS,sBAAsB;AACrC,QAAM,cAAc,MAAO,UAAU,OAAO,OAAO,OAAO,SAAS,MAAM;AAEzE,SAAO,qBAAqB,OAAO,WAAW,aAAa,WAAW;AACxE;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/GoogleFontLink.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport { type Font } from '../../../client'\nimport { type Site } from '../../../api'\nimport { useIsInBuilder } from '../hooks/use-is-in-builder'\nimport { useApiResourcesClient } from '../hooks/use-api-resources-client'\n\nimport {\n getGoogleFontsParamFromFonts,\n getGoogleFontsParamFromSite,\n getGoogleFontsUrl,\n} from '../utils/google-fonts-url'\nimport { PageLink } from './page/head-tags'\nimport { MakeswiftStylePrecedence } from '../css-runtime/types'\n\ntype Props = {\n fonts: Font[]\n siteId: string | null\n}\n\n/**\n * This is experimental, and some of the logic here is duplicated in the `PageHead` component.\n *\n * For now we want to avoid putting this on the critical path for rendering Makeswift pages, so we haven't\n * deduplicated the two.\n */\nexport function GoogleFontLink({ fonts, siteId }: Props) {\n const isInBuilder = useIsInBuilder()\n\n const site = useCachedSite(isInBuilder ? siteId : null)\n\n const fontFamilyParamValue = useMemo(() => {\n if (isInBuilder && site != null) {\n return getGoogleFontsParamFromSite(site)\n }\n return getGoogleFontsParamFromFonts(fonts)\n }, [isInBuilder, site, fonts])\n\n const url = getGoogleFontsUrl(fontFamilyParamValue)\n if (url === '') {\n return null\n }\n\n return <PageLink precedence={MakeswiftStylePrecedence.MEDIUM} rel=\"stylesheet\" href={url} />\n}\n\nfunction useCachedSite(siteId: string | null): Site | null {\n const client = useApiResourcesClient()\n const getSnapshot = () => (siteId == null ? null : client.readSite(siteId))\n\n return useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n}\n"],"mappings":";AA6CS;AA3CT,SAAS,SAAS,4BAA4B;AAI9C,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AAEtC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,gBAAgB;AACzB,SAAS,gCAAgC;AAalC,SAAS,eAAe,EAAE,OAAO,OAAO,GAAU;AACvD,QAAM,cAAc,eAAe;AAEnC,QAAM,OAAO,cAAc,cAAc,SAAS,IAAI;AAEtD,QAAM,uBAAuB,QAAQ,MAAM;AACzC,QAAI,eAAe,QAAQ,MAAM;AAC/B,aAAO,4BAA4B,IAAI;AAAA,IACzC;AACA,WAAO,6BAA6B,KAAK;AAAA,EAC3C,GAAG,CAAC,aAAa,MAAM,KAAK,CAAC;AAE7B,QAAM,MAAM,kBAAkB,oBAAoB;AAClD,MAAI,QAAQ,IAAI;AACd,WAAO;AAAA,EACT;AAEA,SAAO,oBAAC,YAAS,YAAY,yBAAyB,QAAQ,KAAI,cAAa,MAAM,KAAK;AAC5F;AAEA,SAAS,cAAc,QAAoC;AACzD,QAAM,SAAS,sBAAsB;AACrC,QAAM,cAAc,MAAO,UAAU,OAAO,OAAO,OAAO,SAAS,MAAM;AAEzE,SAAO,qBAAqB,OAAO,WAAW,aAAa,WAAW;AACxE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/framework-context.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ReactNode,\n type PropsWithChildren,\n type CSSProperties,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ForwardRefExoticComponent,\n type RefAttributes,\n forwardRef,\n createContext,\n useContext,\n useMemo,\n} from 'react'\n\nimport { type LinkData } from '@makeswift/prop-controllers'\n\nimport { type Snippet } from '../../../client/page-snapshot'\n\nimport { type RenderElementPayload } from '../server/render-element-payload'\n\nimport { BaseHeadSnippet } from './page/HeadSnippet'\n\ntype HeadComponent = (props: { children: ReactNode }) => ReactNode\ntype HeadSnippet = (props: { snippet: Snippet }) => ReactNode\ntype ImageComponent = (props: {\n src: string\n alt: string\n sizes?: string\n width?: number\n height?: number\n priority?: boolean\n fill?: boolean\n style?: CSSProperties\n}) => ReactNode\n\ntype LinkProps = Omit<ComponentPropsWithoutRef<'a'>, 'onClick'> & {\n linkType?: LinkData['type']\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => unknown\n}\n\ntype LinkComponent = ForwardRefExoticComponent<RefAttributes<HTMLAnchorElement> & LinkProps>\n\nexport type FrameworkContext = {\n Head: HeadComponent\n HeadSnippet: HeadSnippet\n Image: ImageComponent\n Link: LinkComponent\n /**\n * Callback to render a single RSC element on the server and return the result.\n */\n renderRSCElement?: (args: RenderElementPayload) => Promise<ReactNode>\n}\n\n// React 19 automatically hoists metadata tags to the <head>\nconst DefaultHead = ({ children }: PropsWithChildren) => <>{children}</>\n\nconst DefaultHeadSnippet = BaseHeadSnippet\n\nconst DefaultImage: ImageComponent = ({ priority, fill, style, ...props }) => (\n <img\n {...props}\n style={{\n ...(fill\n ? {\n height: '100%',\n width: '100%',\n objectFit: 'cover',\n }\n : {}),\n ...style,\n }}\n loading={priority ? 'eager' : 'lazy'}\n />\n)\n\nconst DefaultLink: LinkComponent = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ linkType, ...props }, ref) => <a {...props} ref={ref} />,\n)\n\nconst FrameworkContext = createContext<Partial<FrameworkContext>>({})\n\nexport const FrameworkContextProvider = ({\n value,\n children,\n}: PropsWithChildren<{ value: Partial<FrameworkContext> }>) => {\n const parentContext = useContext(FrameworkContext)\n const mergedContext = useMemo(() => ({ ...parentContext, ...value }), [parentContext, value])\n\n return <FrameworkContext.Provider value={mergedContext}>{children}</FrameworkContext.Provider>\n}\n\nconst defaultContext: FrameworkContext = {\n Head: DefaultHead,\n HeadSnippet: DefaultHeadSnippet,\n Image: DefaultImage,\n Link: DefaultLink,\n}\n\nexport function useFrameworkContext(): FrameworkContext {\n return { ...defaultContext, ...useContext(FrameworkContext) }\n}\n"],"mappings":";AAwDyD;AAtDzD;AAAA,EAQE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP,SAAS,uBAAuB;AAkChC,MAAM,cAAc,CAAC,EAAE,SAAS,MAAyB,gCAAG,UAAS;AAErE,MAAM,qBAAqB;AAE3B,MAAM,eAA+B,CAAC,EAAE,UAAU,MAAM,OAAO,GAAG,MAAM,MACtE;AAAA,EAAC;AAAA;AAAA,IACE,GAAG;AAAA,IACJ,OAAO;AAAA,MACL,GAAI,OACA;AAAA,QACE,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAW;AAAA,MACb,IACA,CAAC;AAAA,MACL,GAAG;AAAA,IACL;AAAA,IACA,SAAS,WAAW,UAAU;AAAA;AAChC;AAGF,MAAM,cAA6B;AAAA,EACjC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,oBAAC,OAAG,GAAG,OAAO,KAAU;AAC3D;AAEA,MAAM,mBAAmB,cAAyC,CAAC,CAAC;AAE7D,MAAM,2BAA2B,CAAC;AAAA,EACvC;AAAA,EACA;AACF,MAA+D;AAC7D,QAAM,gBAAgB,WAAW,gBAAgB;AACjD,QAAM,gBAAgB,QAAQ,OAAO,EAAE,GAAG,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,KAAK,CAAC;AAE5F,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,eAAgB,UAAS;AACpE;AAEA,MAAM,iBAAmC;AAAA,EACvC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AACR;AAEO,SAAS,sBAAwC;AACtD,SAAO,EAAE,GAAG,gBAAgB,GAAG,WAAW,gBAAgB,EAAE;AAC9D;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/framework-context.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ReactNode,\n type PropsWithChildren,\n type CSSProperties,\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type ForwardRefExoticComponent,\n type RefAttributes,\n forwardRef,\n createContext,\n useContext,\n useMemo,\n} from 'react'\n\nimport { type LinkData } from '@makeswift/prop-controllers'\n\nimport { type Snippet } from '../../../client/page-snapshot'\n\nimport { type RenderElementPayload } from '../server/render-element-payload'\n\nimport { BaseHeadSnippet } from './page/HeadSnippet'\n\ntype HeadComponent = (props: { children: ReactNode }) => ReactNode\ntype HeadSnippet = (props: { snippet: Snippet }) => ReactNode\ntype ImageComponent = (props: {\n src: string\n alt: string\n sizes?: string\n width?: number\n height?: number\n priority?: boolean\n fill?: boolean\n style?: CSSProperties\n className?: string\n}) => ReactNode\n\ntype LinkProps = Omit<ComponentPropsWithoutRef<'a'>, 'onClick'> & {\n linkType?: LinkData['type']\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => unknown\n}\n\ntype LinkComponent = ForwardRefExoticComponent<RefAttributes<HTMLAnchorElement> & LinkProps>\n\nexport type FrameworkContext = {\n Head: HeadComponent\n HeadSnippet: HeadSnippet\n Image: ImageComponent\n Link: LinkComponent\n /**\n * Callback to render a single RSC element on the server and return the result.\n */\n renderRSCElement?: (args: RenderElementPayload) => Promise<ReactNode>\n}\n\n// React 19 automatically hoists metadata tags to the <head>\nconst DefaultHead = ({ children }: PropsWithChildren) => <>{children}</>\n\nconst DefaultHeadSnippet = BaseHeadSnippet\n\nconst DefaultImage: ImageComponent = ({ priority, fill, style, ...props }) => (\n <img\n {...props}\n style={{\n ...(fill\n ? {\n height: '100%',\n width: '100%',\n objectFit: 'cover',\n }\n : {}),\n ...style,\n }}\n loading={priority ? 'eager' : 'lazy'}\n />\n)\n\nconst DefaultLink: LinkComponent = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ linkType, ...props }, ref) => <a {...props} ref={ref} />,\n)\n\nconst FrameworkContext = createContext<Partial<FrameworkContext>>({})\n\nexport const FrameworkContextProvider = ({\n value,\n children,\n}: PropsWithChildren<{ value: Partial<FrameworkContext> }>) => {\n const parentContext = useContext(FrameworkContext)\n const mergedContext = useMemo(() => ({ ...parentContext, ...value }), [parentContext, value])\n\n return <FrameworkContext.Provider value={mergedContext}>{children}</FrameworkContext.Provider>\n}\n\nconst defaultContext: FrameworkContext = {\n Head: DefaultHead,\n HeadSnippet: DefaultHeadSnippet,\n Image: DefaultImage,\n Link: DefaultLink,\n}\n\nexport function useFrameworkContext(): FrameworkContext {\n return { ...defaultContext, ...useContext(FrameworkContext) }\n}\n"],"mappings":";AAyDyD;AAvDzD;AAAA,EAQE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAQP,SAAS,uBAAuB;AAmChC,MAAM,cAAc,CAAC,EAAE,SAAS,MAAyB,gCAAG,UAAS;AAErE,MAAM,qBAAqB;AAE3B,MAAM,eAA+B,CAAC,EAAE,UAAU,MAAM,OAAO,GAAG,MAAM,MACtE;AAAA,EAAC;AAAA;AAAA,IACE,GAAG;AAAA,IACJ,OAAO;AAAA,MACL,GAAI,OACA;AAAA,QACE,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAW;AAAA,MACb,IACA,CAAC;AAAA,MACL,GAAG;AAAA,IACL;AAAA,IACA,SAAS,WAAW,UAAU;AAAA;AAChC;AAGF,MAAM,cAA6B;AAAA,EACjC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,oBAAC,OAAG,GAAG,OAAO,KAAU;AAC3D;AAEA,MAAM,mBAAmB,cAAyC,CAAC,CAAC;AAE7D,MAAM,2BAA2B,CAAC;AAAA,EACvC;AAAA,EACA;AACF,MAA+D;AAC7D,QAAM,gBAAgB,WAAW,gBAAgB;AACjD,QAAM,gBAAgB,QAAQ,OAAO,EAAE,GAAG,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,KAAK,CAAC;AAE5F,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,eAAgB,UAAS;AACpE;AAEA,MAAM,iBAAmC;AAAA,EACvC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AACR;AAEO,SAAS,sBAAwC;AACtD,SAAO,EAAE,GAAG,gBAAgB,GAAG,WAAW,gBAAgB,EAAE;AAC9D;","names":[]}
@@ -4,7 +4,7 @@ import { useApiResourcesClient } from "../../hooks/use-api-resources-client";
4
4
  import { useFrameworkContext } from "../hooks/use-framework-context";
5
5
  import { useIsInBuilder } from "../../hooks/use-is-in-builder";
6
6
  import { usePageSnippets } from "../hooks/use-page-snippets";
7
- import { PageTitle, PageMeta, PageLink, PageStyle } from "./head-tags";
7
+ import { PageTitle, PageMeta, PageLink } from "./head-tags";
8
8
  const defaultFavicon = {
9
9
  id: "default-favicon",
10
10
  mimetype: "image/png",
@@ -46,14 +46,6 @@ function PageHead({ document: page, metadata = {} }) {
46
46
  }).join("|");
47
47
  }, [site, page]);
48
48
  return /* @__PURE__ */ jsxs(Fragment, { children: [
49
- /* @__PURE__ */ jsx(PageStyle, { precedence: "high", href: "makeswift-base-styles", children: `
50
- html {
51
- font-family: sans-serif;
52
- }
53
- div#__next {
54
- overflow: hidden;
55
- }
56
- ` }),
57
49
  useTitle && title && /* @__PURE__ */ jsxs(Fragment, { children: [
58
50
  /* @__PURE__ */ jsx(PageTitle, { children: title }),
59
51
  /* @__PURE__ */ jsx(PageMeta, { property: "og:title", content: title }),