@makeswift/runtime 0.28.6-canary.6 → 0.28.7-canary.0

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 (286) hide show
  1. package/dist/cjs/api/client.js.map +1 -0
  2. package/dist/cjs/api/fragments.js.map +1 -0
  3. package/dist/cjs/api/graphql/client.js.map +1 -0
  4. package/dist/cjs/api/graphql/documents/index.js.map +1 -0
  5. package/dist/cjs/api/index.js.map +1 -0
  6. package/dist/cjs/api/site-version/index.js.map +1 -0
  7. package/dist/cjs/api-handler/cookies.js.map +1 -0
  8. package/dist/cjs/api-handler/cors.js.map +1 -0
  9. package/dist/cjs/api-handler/handlers/element-tree.js.map +1 -0
  10. package/dist/cjs/api-handler/handlers/fonts.js.map +1 -0
  11. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  12. package/dist/cjs/api-handler/handlers/webhook/index.js.map +1 -0
  13. package/dist/cjs/api-handler/index.js.map +1 -0
  14. package/dist/cjs/builder/breakpoints/index.js.map +1 -0
  15. package/dist/cjs/builder/core/index.js.map +1 -0
  16. package/dist/cjs/builder/host-api.js.map +1 -0
  17. package/dist/cjs/builder/host-to-builder-actions.js.map +1 -0
  18. package/dist/cjs/builder/index.js.map +1 -0
  19. package/dist/cjs/builder/unstructured-introspection/__fixtures__/index.js.map +1 -0
  20. package/dist/cjs/builder/unstructured-introspection/index.js.map +1 -0
  21. package/dist/cjs/client/index.js +3 -3
  22. package/dist/cjs/client/index.js.map +1 -0
  23. package/dist/cjs/components/builtin/Box/index.js.map +1 -0
  24. package/dist/cjs/components/builtin/Button/index.js.map +1 -0
  25. package/dist/cjs/components/builtin/Carousel/index.js.map +1 -0
  26. package/dist/cjs/components/builtin/Countdown/index.js.map +1 -0
  27. package/dist/cjs/components/builtin/Divider/index.js.map +1 -0
  28. package/dist/cjs/components/builtin/Embed/index.js.map +1 -0
  29. package/dist/cjs/components/builtin/Form/index.js.map +1 -0
  30. package/dist/cjs/components/builtin/Image/Image.js.map +1 -0
  31. package/dist/cjs/components/builtin/Image/index.js.map +1 -0
  32. package/dist/cjs/components/builtin/Navigation/index.js.map +1 -0
  33. package/dist/cjs/components/builtin/Root/index.js.map +1 -0
  34. package/dist/cjs/components/builtin/Slot/index.js.map +1 -0
  35. package/dist/cjs/components/builtin/SocialLinks/index.js.map +1 -0
  36. package/dist/cjs/components/builtin/Text/index.js.map +1 -0
  37. package/dist/cjs/components/builtin/Video/index.js.map +1 -0
  38. package/dist/cjs/components/builtin/constants.js.map +1 -0
  39. package/dist/cjs/components/hooks/index.js.map +1 -0
  40. package/dist/cjs/components/shared/BackgroundsContainer/index.js.map +1 -0
  41. package/dist/cjs/components/shared/ErrorBoundary.js.map +1 -0
  42. package/dist/cjs/components/shared/FallbackComponent/FallbackComponent.js +3 -2
  43. package/dist/cjs/components/shared/FallbackComponent/FallbackComponent.js.map +1 -1
  44. package/dist/cjs/components/shared/FallbackComponent/index.js.map +1 -0
  45. package/dist/cjs/components/shared/GutterContainer/index.js.map +1 -0
  46. package/dist/cjs/components/shared/Link/index.js.map +1 -0
  47. package/dist/cjs/components/shared/grid-item.js.map +1 -0
  48. package/dist/cjs/components/utils/drop-first.js.map +1 -0
  49. package/dist/cjs/controls/control.js.map +1 -0
  50. package/dist/cjs/controls/index.js +4 -0
  51. package/dist/cjs/controls/index.js.map +1 -0
  52. package/dist/cjs/controls/rich-text/index.js.map +1 -0
  53. package/dist/cjs/controls/rich-text-v2/index.js.map +1 -0
  54. package/dist/cjs/controls/serialization/base/index.js +1 -0
  55. package/dist/cjs/controls/serialization/base/index.js.map +1 -0
  56. package/dist/cjs/controls/serialization/index.js.map +1 -0
  57. package/dist/cjs/controls/serialization/message-port/index.js.map +1 -0
  58. package/dist/cjs/controls/style-v2/index.js.map +1 -0
  59. package/dist/cjs/global.d.js.map +1 -0
  60. package/dist/cjs/index.js.map +1 -0
  61. package/dist/cjs/next/api-handler/index.js.map +1 -0
  62. package/dist/cjs/next/client.js.map +1 -0
  63. package/dist/cjs/next/components/framework-provider/app-router/index.js.map +1 -0
  64. package/dist/cjs/next/components/framework-provider/index.js.map +1 -0
  65. package/dist/cjs/next/components/framework-provider/pages-router/index.js.map +1 -0
  66. package/dist/cjs/next/document.js.map +1 -0
  67. package/dist/cjs/next/fetch.js.map +1 -0
  68. package/dist/cjs/next/index.js.map +1 -0
  69. package/dist/cjs/next/middleware/index.js.map +1 -0
  70. package/dist/cjs/next/testing/element-data.js.map +1 -0
  71. package/dist/cjs/next/testing/index.js.map +1 -0
  72. package/dist/cjs/prop-controllers/copy.js.map +1 -0
  73. package/dist/cjs/prop-controllers/deleted.js.map +1 -0
  74. package/dist/cjs/prop-controllers/descriptors.js.map +1 -0
  75. package/dist/cjs/react/builtins/countdown.js.map +1 -0
  76. package/dist/cjs/react/builtins/divider.js.map +1 -0
  77. package/dist/cjs/react/builtins/embed.js.map +1 -0
  78. package/dist/cjs/react/builtins/form.js.map +1 -0
  79. package/dist/cjs/react/builtins/image.js.map +1 -0
  80. package/dist/cjs/react/builtins/index.js.map +1 -0
  81. package/dist/cjs/react/core/index.js.map +1 -0
  82. package/dist/cjs/react/index.js.map +1 -0
  83. package/dist/cjs/runtimes/react/components/index.js.map +1 -0
  84. package/dist/cjs/runtimes/react/components/page/index.js.map +1 -0
  85. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -0
  86. package/dist/cjs/runtimes/react/controls/rich-text/components/Leaf/leaf.js.map +1 -0
  87. package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -0
  88. package/dist/cjs/runtimes/react/find-dom-node.js.map +1 -0
  89. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js +5 -32
  90. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  91. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -0
  92. package/dist/cjs/runtimes/react/index.js.map +1 -0
  93. package/dist/cjs/runtimes/react/legacy-controls.js.map +1 -0
  94. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js +59 -0
  95. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js.map +1 -0
  96. package/dist/cjs/slate/BlockPlugin/indent.js.map +1 -0
  97. package/dist/cjs/slate/BlockPlugin/index.js.map +1 -0
  98. package/dist/cjs/slate/BuilderPlugin/index.js.map +1 -0
  99. package/dist/cjs/slate/InlineModePlugin/index.js.map +1 -0
  100. package/dist/cjs/slate/InlinePlugin/getValue.js.map +1 -0
  101. package/dist/cjs/slate/InlinePlugin/index.js.map +1 -0
  102. package/dist/cjs/slate/LinkPlugin/getValue.js.map +1 -0
  103. package/dist/cjs/slate/LinkPlugin/index.js.map +1 -0
  104. package/dist/cjs/slate/LocalChangesPlugin/index.js.map +1 -0
  105. package/dist/cjs/slate/TextAlignPlugin/getValue.js.map +1 -0
  106. package/dist/cjs/slate/TextAlignPlugin/index.js.map +1 -0
  107. package/dist/cjs/slate/TypographyPlugin/getValue.js.map +1 -0
  108. package/dist/cjs/slate/TypographyPlugin/index.js.map +1 -0
  109. package/dist/cjs/slate/index.js.map +1 -0
  110. package/dist/cjs/slate/utils/editor.js.map +1 -0
  111. package/dist/cjs/slate/utils/element.js.map +1 -0
  112. package/dist/cjs/slate/utils/filterForSubtreeRoots.js.map +1 -0
  113. package/dist/cjs/slate/utils/index.js.map +1 -0
  114. package/dist/cjs/state/actions/index.js.map +1 -0
  115. package/dist/cjs/state/actions/internal/index.js.map +1 -0
  116. package/dist/cjs/state/host-api.js.map +1 -0
  117. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
  118. package/dist/cjs/state/middleware/read-write/index.js.map +1 -0
  119. package/dist/cjs/state/modules/element-trees.js.map +1 -0
  120. package/dist/cjs/state/modules/is-in-builder.js.map +1 -0
  121. package/dist/cjs/state/modules/is-read-only.js.map +1 -0
  122. package/dist/cjs/testing/fixtures.js.map +1 -0
  123. package/dist/cjs/translations/index.js.map +1 -0
  124. package/dist/cjs/unstable-framework-support/index.js.map +1 -0
  125. package/dist/cjs/utils/deepEqual.js.map +1 -0
  126. package/dist/cjs/utils/deferred.js.map +1 -0
  127. package/dist/cjs/utils/deterministic-uuid.js.map +1 -0
  128. package/dist/cjs/utils/esm-compat.js.map +1 -0
  129. package/dist/cjs/utils/is-server.js.map +1 -0
  130. package/dist/cjs/utils/isNonNullable.js.map +1 -0
  131. package/dist/esm/api/graphql/documents/queries.js.map +1 -0
  132. package/dist/esm/api/graphql/generated/types.js.map +1 -0
  133. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  134. package/dist/esm/api-handler/handlers/webhook/site-published.js.map +1 -0
  135. package/dist/esm/api-handler/handlers/webhook/types.js.map +1 -0
  136. package/dist/esm/client/index.js +3 -3
  137. package/dist/esm/components/builtin/Box/register.js.map +1 -0
  138. package/dist/esm/components/builtin/Button/register.js.map +1 -0
  139. package/dist/esm/components/builtin/Carousel/register.js.map +1 -0
  140. package/dist/esm/components/builtin/Countdown/register.js.map +1 -0
  141. package/dist/esm/components/builtin/Divider/register.js.map +1 -0
  142. package/dist/esm/components/builtin/Embed/register.js.map +1 -0
  143. package/dist/esm/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -0
  144. package/dist/esm/components/builtin/Form/register.js.map +1 -0
  145. package/dist/esm/components/builtin/Form/types.js.map +1 -0
  146. package/dist/esm/components/builtin/Image/register.js.map +1 -0
  147. package/dist/esm/components/builtin/Navigation/register.js.map +1 -0
  148. package/dist/esm/components/builtin/Root/Root.js.map +1 -0
  149. package/dist/esm/components/builtin/Root/register.js.map +1 -0
  150. package/dist/esm/components/builtin/Slot/Slot.js.map +1 -0
  151. package/dist/esm/components/builtin/Slot/register.js.map +1 -0
  152. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -0
  153. package/dist/esm/components/builtin/SocialLinks/options.js.map +1 -0
  154. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -0
  155. package/dist/esm/components/builtin/Text/Text.js.map +1 -0
  156. package/dist/esm/components/builtin/Text/register.js.map +1 -0
  157. package/dist/esm/components/builtin/Video/Video.js +49 -0
  158. package/dist/esm/components/builtin/Video/Video.js.map +1 -0
  159. package/dist/esm/components/builtin/Video/register.js.map +1 -0
  160. package/dist/esm/components/hooks/useTableFormFieldsPropControllerData.js +10 -0
  161. package/dist/esm/components/hooks/useTablePropControllerData.js +12 -0
  162. package/dist/esm/components/hooks/useTextAreaPropControllerData.js +12 -0
  163. package/dist/esm/components/hooks/useTextInputPropControllerData.js +10 -0
  164. package/dist/esm/components/hooks/useTextStylePropControllerData.js +12 -0
  165. package/dist/esm/components/hooks/useVideoPropControllerData.js +12 -0
  166. package/dist/esm/components/icons/Warning20.js +15 -0
  167. package/dist/esm/components/shared/FallbackComponent/FallbackComponent.js +3 -2
  168. package/dist/esm/components/shared/FallbackComponent/FallbackComponent.js.map +1 -1
  169. package/dist/esm/controls/index.js +4 -0
  170. package/dist/esm/controls/index.js.map +1 -1
  171. package/dist/esm/controls/rich-text-v2/translations/merge-translations.js.map +1 -0
  172. package/dist/esm/controls/rich-text-v2/translations/translations-core.js.map +1 -0
  173. package/dist/esm/controls/serialization/base/index.js +2 -0
  174. package/dist/esm/controls/serialization/base/index.js.map +1 -1
  175. package/dist/esm/controls/serialization/base/visitor.js +39 -0
  176. package/dist/esm/controls/serialization/base/visitor.js.map +1 -0
  177. package/dist/esm/controls/serialization/message-port/visitor.js +24 -0
  178. package/dist/esm/controls/serialization/message-port/visitor.js.map +1 -0
  179. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -0
  180. package/dist/esm/next/api-handler/handlers/pages-router-redirect-preview.js.map +1 -0
  181. package/dist/esm/next/components/tests/__fixtures__/page-document.js.map +1 -0
  182. package/dist/esm/next/components/tests/__fixtures__/resources/page-pathname-slices.js.map +1 -0
  183. package/dist/esm/next/components/tests/__fixtures__/resources/swatches.js.map +1 -0
  184. package/dist/esm/next/components/tests/controls/fixtures/rich-text-v2.js.map +1 -0
  185. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -0
  186. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -0
  187. package/dist/esm/next/hooks/use-router-locale-sync.js.map +1 -0
  188. package/dist/esm/next/tests/__fixtures__/resources.js.map +1 -0
  189. package/dist/esm/next/tests/__fixtures__/translated-data.js.map +1 -0
  190. package/dist/esm/react/builtins/video.js +7 -0
  191. package/dist/esm/react/builtins/video.js.map +1 -0
  192. package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -0
  193. package/dist/esm/runtimes/react/components/MakeswiftFonts.js.map +1 -0
  194. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -0
  195. package/dist/esm/runtimes/react/components/Slot.js.map +1 -0
  196. package/dist/esm/runtimes/react/components/SlotProvider.js.map +1 -0
  197. package/dist/esm/runtimes/react/components/hooks/use-framework-context.js.map +1 -0
  198. package/dist/esm/runtimes/react/components/hooks/use-page-snippets.js.map +1 -0
  199. package/dist/esm/runtimes/react/components/page/Page.js.map +1 -0
  200. package/dist/esm/runtimes/react/components/page/PageHead.js.map +1 -0
  201. package/dist/esm/runtimes/react/components/page/page-seo-settings.js.map +1 -0
  202. package/dist/esm/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
  203. package/dist/esm/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
  204. package/dist/esm/runtimes/react/components/render-hook.js.map +1 -0
  205. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.js +39 -0
  206. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.js.map +1 -0
  207. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +35 -0
  208. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -0
  209. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -0
  210. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -0
  211. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -0
  212. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -0
  213. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -0
  214. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -0
  215. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useSyncDOMSelection.js +39 -0
  216. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useSyncDOMSelection.js.map +1 -0
  217. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -0
  218. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -0
  219. package/dist/esm/runtimes/react/controls/slot.js.map +1 -0
  220. package/dist/esm/runtimes/react/controls/style.js.map +1 -0
  221. package/dist/esm/runtimes/react/controls/typography.js.map +1 -0
  222. package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +1 -0
  223. package/dist/esm/runtimes/react/hooks/use-async-effect.js.map +1 -0
  224. package/dist/esm/runtimes/react/hooks/use-breakpoints.js.map +1 -0
  225. package/dist/esm/runtimes/react/hooks/use-builtin-suspense.js.map +1 -0
  226. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -0
  227. package/dist/esm/runtimes/react/hooks/use-component.js.map +1 -0
  228. package/dist/esm/runtimes/react/hooks/use-css-id.js.map +1 -0
  229. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js.map +1 -0
  230. package/dist/esm/runtimes/react/hooks/use-disable-register-element.js.map +1 -0
  231. package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +1 -0
  232. package/dist/esm/runtimes/react/hooks/use-document-context.js.map +1 -0
  233. package/dist/esm/runtimes/react/hooks/use-document-cycles.js.map +1 -0
  234. package/dist/esm/runtimes/react/hooks/use-document.js.map +1 -0
  235. package/dist/esm/runtimes/react/hooks/use-element-id.js.map +1 -0
  236. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js.map +1 -0
  237. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +1 -0
  238. package/dist/esm/runtimes/react/hooks/use-react-runtime.js.map +1 -0
  239. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -0
  240. package/dist/esm/runtimes/react/hooks/use-resolvable-record.js.map +1 -0
  241. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -0
  242. package/dist/esm/runtimes/react/hooks/use-resolved-value.js.map +1 -0
  243. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -0
  244. package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -0
  245. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -0
  246. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js +5 -34
  247. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -0
  248. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -0
  249. package/dist/esm/runtimes/react/lib/react-dom.js.map +1 -0
  250. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js +38 -0
  251. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js.map +1 -0
  252. package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -0
  253. package/dist/esm/runtimes/react/use-global-style.js.map +1 -0
  254. package/dist/esm/runtimes/react/use-style.js.map +1 -0
  255. package/dist/esm/runtimes/react/utils/prop-error-handling-proxy.js.map +1 -0
  256. package/dist/esm/runtimes/react/utils/suppress-ref-warning.js.map +1 -0
  257. package/dist/esm/slate/BlockPlugin/utils/location.js.map +1 -0
  258. package/dist/esm/slate/BlockPlugin/wrapInline.js +12 -0
  259. package/dist/esm/slate/BlockPlugin/wrapInline.js.map +1 -0
  260. package/dist/esm/slate/BlockPlugin/wrapList.js +44 -0
  261. package/dist/esm/slate/BlockPlugin/wrapList.js.map +1 -0
  262. package/dist/esm/slate/utils/responsive.js.map +1 -0
  263. package/dist/esm/slate/utils/toText.js.map +1 -0
  264. package/dist/esm/slate/utils/unhangRange.js.map +1 -0
  265. package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -0
  266. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -0
  267. package/dist/esm/state/builder-api/proxy.js.map +1 -0
  268. package/dist/esm/state/middleware/read-only-element-tree.js.map +1 -0
  269. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -0
  270. package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +1 -0
  271. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +1 -0
  272. package/dist/esm/state/modules/prop-controllers.js.map +1 -0
  273. package/dist/esm/state/modules/react-components.js.map +1 -0
  274. package/dist/esm/state/modules/read-only-documents.js.map +1 -0
  275. package/dist/esm/state/modules/read-write/pointer.js.map +1 -0
  276. package/dist/esm/state/modules/read-write/read-write-documents.js.map +1 -0
  277. package/dist/esm/state/modules/site-version.js.map +1 -0
  278. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts +1 -0
  279. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
  280. package/dist/types/controls/index.d.ts +1 -1
  281. package/dist/types/controls/index.d.ts.map +1 -1
  282. package/dist/types/controls/serialization/base/index.d.ts.map +1 -1
  283. package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts.map +1 -1
  284. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts +4 -0
  285. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts.map +1 -0
  286. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Root/register.ts"],"sourcesContent":["import { Backgrounds, GapX, GapY, Grid } from '@makeswift/prop-controllers'\nimport { type ReactRuntimeCore } from '../../../runtimes/react/react-runtime-core'\nimport { MakeswiftComponentType } from '../constants'\nimport { lazy } from 'react'\n\nexport function registerComponent(runtime: ReactRuntimeCore) {\n return runtime.registerComponent(\n lazy(() => import('./Root')),\n {\n type: MakeswiftComponentType.Root,\n label: 'Page',\n hidden: true,\n props: {\n children: Grid(),\n backgrounds: Backgrounds(),\n rowGap: GapY(),\n columnGap: GapX(),\n },\n },\n )\n}\n"],"mappings":"AAAA,SAAS,aAAa,MAAM,MAAM,YAAY;AAE9C,SAAS,8BAA8B;AACvC,SAAS,YAAY;AAEd,SAAS,kBAAkB,SAA2B;AAC3D,SAAO,QAAQ;AAAA,IACb,KAAK,MAAM,OAAO,QAAQ,CAAC;AAAA,IAC3B;AAAA,MACE,MAAM,uBAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,UAAU,KAAK;AAAA,QACf,aAAa,YAAY;AAAA,QACzB,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Slot/Slot.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, useContext } from 'react'\nimport { PropsContext } from '../../../runtimes/react/components/SlotProvider'\n\ntype Props = {\n children: ReactNode\n showFallback: boolean\n}\n\nfunction Slot(props: Props) {\n const ctx = useContext(PropsContext)\n\n return <>{props.showFallback ? ctx.fallback : props.children}</>\n}\n\nexport default Slot\n"],"mappings":";AAaS;AAXT,SAAoB,kBAAkB;AACtC,SAAS,oBAAoB;AAO7B,SAAS,KAAK,OAAc;AAC1B,QAAM,MAAM,WAAW,YAAY;AAEnC,SAAO,gCAAG,gBAAM,eAAe,IAAI,WAAW,MAAM,UAAS;AAC/D;AAEA,IAAO,eAAQ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Slot/register.ts"],"sourcesContent":["import { lazy } from 'react'\nimport { type ReactRuntimeCore } from '../../../runtimes/react/react-runtime-core'\nimport { MakeswiftComponentType } from '../constants'\nimport { Checkbox } from '@makeswift/controls'\nimport { Slot } from '../../../controls'\n\nexport function registerComponent(runtime: ReactRuntimeCore) {\n return runtime.registerComponent(\n lazy(() => import('./Slot')),\n {\n type: MakeswiftComponentType.Slot,\n label: 'Slot',\n hidden: true,\n props: {\n children: Slot(),\n showFallback: Checkbox({ label: 'Use fallback', defaultValue: true }),\n },\n },\n )\n}\n"],"mappings":"AAAA,SAAS,YAAY;AAErB,SAAS,8BAA8B;AACvC,SAAS,gBAAgB;AACzB,SAAS,YAAY;AAEd,SAAS,kBAAkB,SAA2B;AAC3D,SAAO,QAAQ;AAAA,IACb,KAAK,MAAM,OAAO,QAAQ,CAAC;AAAA,IAC3B;AAAA,MACE,MAAM,uBAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,UAAU,KAAK;AAAA,QACf,cAAc,SAAS,EAAE,OAAO,gBAAgB,cAAc,KAAK,CAAC;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/SocialLinks/SocialLinks.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, Ref } from 'react'\n\nimport { Link } from '../../shared/Link'\nimport { colorToString } from '../../utils/colorToString'\nimport { type ColorValue as Color, type ResponsiveColor } from '../../utils/types'\nimport { SocialLinksOptions, SocialLinksOptionType } from './options'\nimport GutterContainer from '../../shared/GutterContainer'\nimport SocialLinksPlaceholder from './components/SocialLinksPlaceholder'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport {\n type ResponsiveGapData,\n type ResponsiveValue,\n type ResponsiveSelectValue,\n type ResponsiveIconRadioGroupValue,\n} from '@makeswift/prop-controllers'\n\ntype Props = {\n id?: string\n links?: {\n links: { id: string; payload: { type: SocialLinksOptionType; url: string } }[]\n openInNewTab: boolean\n }\n shape?: ResponsiveIconRadioGroupValue<'naked' | 'circle' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n hoverStyle?: ResponsiveSelectValue<'none' | 'grow' | 'shrink' | 'fade'>\n fill?: ResponsiveColor | null\n backgroundColor?: ResponsiveColor | null\n alignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gutter?: ResponsiveGapData\n width?: string\n margin?: string\n}\n\nconst SocialLinks = forwardRef(function SocialLinks(\n {\n id,\n links: { links, openInNewTab } = { links: [], openInNewTab: false },\n shape,\n size,\n hoverStyle,\n fill,\n backgroundColor,\n alignment,\n gutter,\n width,\n margin,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n ref={ref}\n id={id}\n className={cx(\n useStyle({ display: 'flex', flexDirection: 'row', flexWrap: 'wrap' }),\n width,\n margin,\n useStyle(\n useResponsiveStyle([alignment] as const, ([alignment = 'center']) => ({\n justifyContent: alignment,\n })),\n ),\n )}\n >\n {links.length > 0 ? (\n links.map((link, i) => {\n const option = SocialLinksOptions.find(o => o.type === link.payload.type)\n\n if (option == null) return null\n\n return (\n <GutterContainer\n key={link.id}\n gutter={gutter}\n first={i === 0}\n last={i === links.length - 1}\n >\n <StyledLink\n backgroundColor={backgroundColor}\n brandColor={option.brandColor}\n fill={fill}\n hoverStyle={hoverStyle}\n link={{ type: 'OPEN_URL', payload: { url: link.payload.url, openInNewTab } }}\n shape={shape}\n size={size}\n >\n {option.icon}\n </StyledLink>\n </GutterContainer>\n )\n })\n ) : (\n <SocialLinksPlaceholder gutter={gutter} />\n )}\n </div>\n )\n})\n\nexport default SocialLinks\n\ntype StyledLinkProps = ComponentPropsWithoutRef<typeof Link> & {\n brandColor: string\n shape: Props['shape']\n size: Props['size']\n hoverStyle: Props['hoverStyle']\n fill: ResponsiveValue<Color> | null | undefined\n backgroundColor: ResponsiveValue<Color> | null | undefined\n}\n\nfunction StyledLink({\n className,\n brandColor,\n shape,\n size,\n hoverStyle,\n fill,\n backgroundColor,\n ...restOfProps\n}: StyledLinkProps) {\n return (\n <Link\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'block',\n color: brandColor,\n transition: 'transform, opacity 0.18s',\n svg: { display: 'block' },\n }),\n useStyle(\n useResponsiveStyle(\n [shape, size, hoverStyle, fill, backgroundColor] as const,\n ([shape = 'naked', size = 'medium', hoverStyle = 'none', fill, backgroundColor]) => ({\n padding: shape === 'naked' ? 0 : { small: 10, medium: 12, large: 14 }[size],\n borderRadius: { circle: '50%', rounded: '8px', naked: 0, square: 0 }[shape],\n background:\n shape === 'naked'\n ? 'transparent'\n : backgroundColor == null\n ? 'currentColor'\n : colorToString(backgroundColor),\n\n ':hover': {\n none: {},\n grow: { transform: 'scale(1.1)' },\n shrink: { transform: 'scale(0.9)' },\n fade: { opacity: 0.65 },\n }[hoverStyle],\n\n svg: {\n fill:\n fill == null\n ? shape === 'naked' || backgroundColor != null\n ? 'currentColor'\n : 'white'\n : colorToString(fill),\n width: { small: 16, medium: 20, large: 24 }[size],\n height: { small: 16, medium: 20, large: 24 }[size],\n },\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n"],"mappings":"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","names":["SocialLinks","alignment","shape","size","hoverStyle","fill","backgroundColor"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/SocialLinks/options.tsx"],"sourcesContent":["import { LogoAngellist20 } from '../../icons/LogoAngellist20'\nimport { LogoCodepen20 } from '../../icons/LogoCodepen20'\nimport { LogoDiscord20 } from '../../icons/LogoDiscord20'\nimport { LogoDribbble20 } from '../../icons/LogoDribbble20'\nimport { LogoFacebook20 } from '../../icons/LogoFacebook20'\nimport { LogoGithub20 } from '../../icons/LogoGithub20'\nimport { LogoInstagram20 } from '../../icons/LogoInstagram20'\nimport { LogoLinkedin20 } from '../../icons/LogoLinkedin20'\nimport { LogoMedium20 } from '../../icons/LogoMedium20'\nimport { LogoPinterest20 } from '../../icons/LogoPinterest20'\nimport { LogoReddit20 } from '../../icons/LogoReddit20'\nimport { LogoRss20 } from '../../icons/LogoRss20'\nimport { LogoSlack20 } from '../../icons/LogoSlack20'\nimport { LogoSnapchat20 } from '../../icons/LogoSnapchat20'\nimport { LogoSoundcloud20 } from '../../icons/LogoSoundcloud20'\nimport { LogoSpotify20 } from '../../icons/LogoSpotify20'\nimport { LogoTelegram20 } from '../../icons/LogoTelegram20'\nimport { LogoTumblr20 } from '../../icons/LogoTumblr20'\nimport { LogoTwitch20 } from '../../icons/LogoTwitch20'\nimport { LogoTwitter20 } from '../../icons/LogoTwitter20'\nimport { LogoWhatsapp20 } from '../../icons/LogoWhatsapp20'\nimport { LogoVimeo20 } from '../../icons/LogoVimeo20'\nimport { LogoX20 } from '../../icons/LogoX20'\nimport { LogoYelp20 } from '../../icons/LogoYelp20'\nimport { LogoYoutube20 } from '../../icons/LogoYoutube20'\n\nexport const SocialLinksOptions = [\n { type: 'angellist', label: 'AngelList', icon: <LogoAngellist20 />, brandColor: 'black' },\n { type: 'codepen', label: 'CodePen', icon: <LogoCodepen20 />, brandColor: 'black' },\n { type: 'discord', label: 'Discord', icon: <LogoDiscord20 />, brandColor: '#5865F2' },\n { type: 'dribbble', label: 'Dribbble', icon: <LogoDribbble20 />, brandColor: '#ea4c89' },\n { type: 'facebook', label: 'Facebook', icon: <LogoFacebook20 />, brandColor: '#3b5998' },\n { type: 'github', label: 'GitHub', icon: <LogoGithub20 />, brandColor: 'black' },\n { type: 'instagram', label: 'Instagram', icon: <LogoInstagram20 />, brandColor: 'black' },\n { type: 'linkedin', label: 'LinkedIn', icon: <LogoLinkedin20 />, brandColor: '#0077b5' },\n { type: 'medium', label: 'Medium', icon: <LogoMedium20 />, brandColor: 'black' },\n { type: 'pinterest', label: 'Pinterest', icon: <LogoPinterest20 />, brandColor: '#bd081c' },\n { type: 'reddit', label: 'Reddit', icon: <LogoReddit20 />, brandColor: '#ff4500' },\n { type: 'rss', label: 'RSS', icon: <LogoRss20 />, brandColor: 'black' },\n { type: 'slack', label: 'Slack', icon: <LogoSlack20 />, brandColor: '#fffc00' },\n { type: 'snapchat', label: 'Snapchat', icon: <LogoSnapchat20 />, brandColor: '#fffc00' },\n { type: 'soundcloud', label: 'SoundCloud', icon: <LogoSoundcloud20 />, brandColor: '#ff3300' },\n { type: 'spotify', label: 'Spotify', icon: <LogoSpotify20 />, brandColor: '#1db954' },\n { type: 'telegram', label: 'Telegram', icon: <LogoTelegram20 />, brandColor: '#0088cc' },\n { type: 'tumblr', label: 'Tumblr', icon: <LogoTumblr20 />, brandColor: '#35465c' },\n { type: 'twitch', label: 'Twitch', icon: <LogoTwitch20 />, brandColor: '#6441A4' },\n { type: 'twitter', label: 'Twitter', icon: <LogoTwitter20 />, brandColor: '#1da1f2' },\n { type: 'whatsapp', label: 'WhatsApp', icon: <LogoWhatsapp20 />, brandColor: '#25d366' },\n { type: 'vimeo', label: 'Vimeo', icon: <LogoVimeo20 />, brandColor: '#1ab7ea' },\n { type: 'x', label: 'X', icon: <LogoX20 />, brandColor: 'black' },\n { type: 'yelp', label: 'Yelp', icon: <LogoYelp20 />, brandColor: '#af0606' },\n { type: 'youtube', label: 'YouTube', icon: <LogoYoutube20 />, brandColor: '#ff0000' },\n] as const\n\nexport type SocialLinksOptionType = (typeof SocialLinksOptions)[number]['type']\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/SocialLinks/register.ts"],"sourcesContent":["import { type ReactRuntimeCore } from '../../../runtimes/react/react-runtime-core'\nimport { getBaseBreakpoint } from '@makeswift/controls'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ElementID,\n GapX,\n Margin,\n ResponsiveColor,\n ResponsiveSelect,\n ResponsiveIconRadioGroup,\n SocialLinks,\n SocialLinksPropControllerData,\n Width,\n getSocialLinksPropControllerDataSocialLinksData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntimeCore) {\n return runtime.registerComponent(\n lazy(() => import('./SocialLinks')),\n {\n type: MakeswiftComponentType.SocialLinks,\n label: 'Social Links',\n icon: ComponentIcon.SocialLinks,\n props: {\n id: ElementID(),\n links: SocialLinks({\n preset: {\n links: [\n {\n id: 'facebook',\n payload: { type: 'facebook', url: 'https://www.facebook.com' },\n },\n {\n id: 'instagram',\n payload: { type: 'instagram', url: 'https://www.instagram.com' },\n },\n {\n id: 'twitter',\n payload: { type: 'twitter', url: 'https://www.twitter.com' },\n },\n ],\n openInNewTab: false,\n },\n }),\n shape: ResponsiveIconRadioGroup(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n\n return {\n label: 'Shape',\n options: [\n { label: 'Naked', value: 'naked', icon: 'Star16' },\n { label: 'Circle', value: 'circle', icon: 'StarCircle16' },\n { label: 'Rounded', value: 'rounded', icon: 'StarRoundedSquare16' },\n { label: 'Square', value: 'square', icon: 'StarSquare16' },\n ],\n defaultValue: 'naked',\n hidden: links == null || links.links.length === 0,\n }\n }),\n size: ResponsiveIconRadioGroup(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n\n return {\n label: 'Size',\n options: [\n { label: 'Small', value: 'small', icon: 'SizeSmall16' },\n { label: 'Medium', value: 'medium', icon: 'SizeMedium16' },\n { label: 'Large', value: 'large', icon: 'SizeLarge16' },\n ],\n defaultValue: 'medium',\n hidden: links == null || links.links.length === 0,\n }\n }),\n hoverStyle: ResponsiveSelect(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'On hover',\n options: [\n { value: 'none', label: 'None' },\n { value: 'grow', label: 'Grow' },\n { value: 'shrink', label: 'Shrink' },\n { value: 'fade', label: 'Fade' },\n ],\n defaultValue: 'none',\n labelOrientation: 'horizontal',\n hidden,\n }\n }),\n fill: ResponsiveColor(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'Icon color',\n hidden,\n }\n }),\n backgroundColor: ResponsiveColor(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'Shape color',\n hidden,\n }\n }),\n alignment: ResponsiveIconRadioGroup({\n label: 'Alignment',\n options: [\n { label: 'flex-start', value: 'flex-start', icon: 'AlignLeft16' },\n { label: 'center', value: 'center', icon: 'AlignCenter16' },\n { label: 'flex-end', value: 'flex-end', icon: 'AlignRight16' },\n ],\n defaultValue: 'center',\n }),\n gutter: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Link gap',\n min: 0,\n max: 100,\n step: 1,\n defaultValue: { value: 0, unit: 'px' },\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({\n format: Margin.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: {\n marginTop: { value: 10, unit: 'px' },\n marginRight: 'auto',\n marginBottom: { value: 10, unit: 'px' },\n marginLeft: 'auto',\n },\n },\n ],\n }),\n },\n },\n )\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Text/Text.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { forwardRef } from 'react'\nimport { RichTextV2ControlValue } from '../../../runtimes/react/controls/rich-text-v2'\n\ntype Props = {\n id?: string\n text?: RichTextV2ControlValue\n width?: string\n margin?: string\n}\n\nconst Text = forwardRef<HTMLDivElement, Props>(({ id, text, width, margin }, ref) => {\n return (\n <div id={id} ref={ref} className={cx(width, margin)}>\n {text}\n </div>\n )\n})\n\nexport default Text\n"],"mappings":"AAaI;AAbJ,SAAS,UAAU;AACnB,SAAS,kBAAkB;AAU3B,MAAM,OAAO,WAAkC,CAAC,EAAE,IAAI,MAAM,OAAO,OAAO,GAAG,QAAQ;AACnF,SACE,oBAAC,SAAI,IAAQ,KAAU,WAAW,GAAG,OAAO,MAAM,GAC/C,gBACH;AAEJ,CAAC;AAED,IAAO,eAAQ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Text/register.ts"],"sourcesContent":["import { type ReactRuntimeCore } from '../../../runtimes/react/react-runtime-core'\nimport { MakeswiftComponentType } from '../constants'\nimport { getBaseBreakpoint } from '@makeswift/controls'\nimport { RichText } from '../../../controls/rich-text-v2/rich-text-v2'\nimport { lazy } from 'react'\nimport { ElementID, Margin, Width } from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntimeCore) {\n return runtime.registerComponent(\n lazy(() => import('./Text')),\n {\n type: MakeswiftComponentType.Text,\n label: 'Text',\n props: {\n id: ElementID(),\n text: RichText(),\n width: Width({\n format: Width.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 700, unit: 'px' },\n },\n ],\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({\n format: Margin.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: {\n marginTop: null,\n marginRight: 'auto',\n marginBottom: { value: 20, unit: 'px' },\n marginLeft: 'auto',\n },\n },\n ],\n }),\n },\n },\n )\n}\n"],"mappings":"AACA,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,WAAW,QAAQ,aAAa;AAElC,SAAS,kBAAkB,SAA2B;AAC3D,SAAO,QAAQ;AAAA,IACb,KAAK,MAAM,OAAO,QAAQ,CAAC;AAAA,IAC3B;AAAA,MACE,MAAM,uBAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,OAAO;AAAA,QACL,IAAI,UAAU;AAAA,QACd,MAAM,SAAS;AAAA,QACf,OAAO,MAAM;AAAA,UACX,QAAQ,MAAM,OAAO;AAAA,UACrB,QAAQ;AAAA,YACN;AAAA,cACE,UAAU,kBAAkB,QAAQ,eAAe,CAAC,EAAE;AAAA,cACtD,OAAO,EAAE,OAAO,KAAK,MAAM,KAAK;AAAA,YAClC;AAAA,UACF;AAAA,UACA,cAAc,EAAE,OAAO,KAAK,MAAM,IAAI;AAAA,QACxC,CAAC;AAAA,QACD,QAAQ,OAAO;AAAA,UACb,QAAQ,OAAO,OAAO;AAAA,UACtB,QAAQ;AAAA,YACN;AAAA,cACE,UAAU,kBAAkB,QAAQ,eAAe,CAAC,EAAE;AAAA,cACtD,OAAO;AAAA,gBACL,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,cAAc,EAAE,OAAO,IAAI,MAAM,KAAK;AAAA,gBACtC,YAAY;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,49 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cx } from "@emotion/css";
4
+ import { forwardRef, useEffect, useState } from "react";
5
+ import { ReactPlayer } from "../../shared/react-player";
6
+ import { useStyle } from "../../../runtimes/react/use-style";
7
+ import { placeholders } from "../../utils/placeholders";
8
+ const ASPECT_RATIO = 16 / 9;
9
+ const Video = forwardRef(function Video2({ id, video, width, margin, borderRadius }, ref) {
10
+ const canPlayUrl = video && video.url != null && ReactPlayer.canPlay(video.url);
11
+ const [shouldRenderReactPlayer, setShouldRenderReactPlayer] = useState(false);
12
+ useEffect(() => {
13
+ setShouldRenderReactPlayer(true);
14
+ }, []);
15
+ return /* @__PURE__ */ jsx(
16
+ "div",
17
+ {
18
+ ref,
19
+ id,
20
+ className: cx(
21
+ useStyle({ display: "flex", flexDirection: "column", overflow: "hidden" }),
22
+ width,
23
+ margin,
24
+ borderRadius
25
+ ),
26
+ children: /* @__PURE__ */ jsx("div", { style: { position: "relative", paddingTop: `${100 / ASPECT_RATIO}%` }, children: /* @__PURE__ */ jsx("div", { style: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }, children: shouldRenderReactPlayer && canPlayUrl === true ? /* @__PURE__ */ jsx(
27
+ ReactPlayer,
28
+ {
29
+ ...video,
30
+ width: "100%",
31
+ height: "100%",
32
+ config: {
33
+ vimeo: { playerOptions: { background: video != null && !video.controls } },
34
+ wistia: {
35
+ options: {
36
+ endVideoBehavior: video != null && video.loop === true ? "loop" : "default"
37
+ }
38
+ }
39
+ }
40
+ }
41
+ ) : /* @__PURE__ */ jsx("img", { width: "100%", src: placeholders.video.src, alt: "Video Placeholder" }) }) })
42
+ }
43
+ );
44
+ });
45
+ var Video_default = Video;
46
+ export {
47
+ Video_default as default
48
+ };
49
+ //# sourceMappingURL=Video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Video/Video.tsx"],"sourcesContent":["'use client'\n\nimport { cx } from '@emotion/css'\nimport { forwardRef, Ref, useEffect, useState } from 'react'\n\nimport { ReactPlayer } from '../../shared/react-player'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { placeholders } from '../../utils/placeholders'\nimport { VideoData } from '@makeswift/prop-controllers'\n\ntype Props = {\n id?: string\n video?: VideoData\n width?: string\n margin?: string\n borderRadius?: string\n}\n\nconst ASPECT_RATIO = 16 / 9\n\nconst Video = forwardRef(function Video(\n { id, video, width, margin, borderRadius }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const canPlayUrl = video && video.url != null && ReactPlayer.canPlay(video.url)\n /**\n * @see https://github.com/cookpete/react-player/issues/1428\n */\n const [shouldRenderReactPlayer, setShouldRenderReactPlayer] = useState(false)\n\n useEffect(() => {\n setShouldRenderReactPlayer(true)\n }, [])\n\n return (\n <div\n ref={ref}\n id={id}\n className={cx(\n useStyle({ display: 'flex', flexDirection: 'column', overflow: 'hidden' }),\n width,\n margin,\n borderRadius,\n )}\n >\n <div style={{ position: 'relative', paddingTop: `${100 / ASPECT_RATIO}%` }}>\n <div style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 }}>\n {shouldRenderReactPlayer && canPlayUrl === true ? (\n <ReactPlayer\n {...video}\n width=\"100%\"\n height=\"100%\"\n config={{\n vimeo: { playerOptions: { background: video != null && !video.controls } },\n wistia: {\n options: {\n endVideoBehavior: video != null && video.loop === true ? 'loop' : 'default',\n },\n },\n }}\n />\n ) : (\n <img width=\"100%\" src={placeholders.video.src} alt=\"Video Placeholder\" />\n )}\n </div>\n </div>\n </div>\n )\n})\n\nexport default Video\n"],"mappings":";AAgDY;AA9CZ,SAAS,UAAU;AACnB,SAAS,YAAiB,WAAW,gBAAgB;AAErD,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAW7B,MAAM,eAAe,KAAK;AAE1B,MAAM,QAAQ,WAAW,SAASA,OAChC,EAAE,IAAI,OAAO,OAAO,QAAQ,aAAa,GACzC,KACA;AACA,QAAM,aAAa,SAAS,MAAM,OAAO,QAAQ,YAAY,QAAQ,MAAM,GAAG;AAI9E,QAAM,CAAC,yBAAyB,0BAA0B,IAAI,SAAS,KAAK;AAE5E,YAAU,MAAM;AACd,+BAA2B,IAAI;AAAA,EACjC,GAAG,CAAC,CAAC;AAEL,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,SAAS,EAAE,SAAS,QAAQ,eAAe,UAAU,UAAU,SAAS,CAAC;AAAA,QACzE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEA,8BAAC,SAAI,OAAO,EAAE,UAAU,YAAY,YAAY,GAAG,MAAM,YAAY,IAAI,GACvE,8BAAC,SAAI,OAAO,EAAE,UAAU,YAAY,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAAE,GACtE,qCAA2B,eAAe,OACzC;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAM;AAAA,UACN,QAAO;AAAA,UACP,QAAQ;AAAA,YACN,OAAO,EAAE,eAAe,EAAE,YAAY,SAAS,QAAQ,CAAC,MAAM,SAAS,EAAE;AAAA,YACzE,QAAQ;AAAA,cACN,SAAS;AAAA,gBACP,kBAAkB,SAAS,QAAQ,MAAM,SAAS,OAAO,SAAS;AAAA,cACpE;AAAA,YACF;AAAA,UACF;AAAA;AAAA,MACF,IAEA,oBAAC,SAAI,OAAM,QAAO,KAAK,aAAa,MAAM,KAAK,KAAI,qBAAoB,GAE3E,GACF;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,gBAAQ;","names":["Video"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Video/register.ts"],"sourcesContent":["import { type ReactRuntimeCore } from '../../../runtimes/react/react-runtime-core'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport { BorderRadius, ElementID, Margin, Video, Width } from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntimeCore) {\n return runtime.registerComponent(\n lazy(() => import('./Video')),\n {\n type: MakeswiftComponentType.Video,\n label: 'Video',\n icon: ComponentIcon.Video,\n props: {\n id: ElementID(),\n video: Video({ preset: { controls: true } }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 560, unit: 'px' },\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n borderRadius: BorderRadius({ format: BorderRadius.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"AACA,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,cAAc,WAAW,QAAQ,OAAO,aAAa;AAEvD,SAAS,kBAAkB,SAA2B;AAC3D,SAAO,QAAQ;AAAA,IACb,KAAK,MAAM,OAAO,SAAS,CAAC;AAAA,IAC5B;AAAA,MACE,MAAM,uBAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,MAAM,cAAc;AAAA,MACpB,OAAO;AAAA,QACL,IAAI,UAAU;AAAA,QACd,OAAO,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,EAAE,CAAC;AAAA,QAC3C,OAAO,MAAM;AAAA,UACX,QAAQ,MAAM,OAAO;AAAA,UACrB,cAAc,EAAE,OAAO,KAAK,MAAM,KAAK;AAAA,QACzC,CAAC;AAAA,QACD,QAAQ,OAAO,EAAE,QAAQ,OAAO,OAAO,UAAU,CAAC;AAAA,QAClD,cAAc,aAAa,EAAE,QAAQ,aAAa,OAAO,UAAU,CAAC;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,10 @@
1
+ import {
2
+ getTableFormFieldsPropControllerDataTableFormFieldsData
3
+ } from "@makeswift/prop-controllers";
4
+ function useTableFormFieldsPropControllerData(data) {
5
+ return getTableFormFieldsPropControllerDataTableFormFieldsData(data);
6
+ }
7
+ export {
8
+ useTableFormFieldsPropControllerData
9
+ };
10
+ //# sourceMappingURL=useTableFormFieldsPropControllerData.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ getTablePropControllerDataTableId
3
+ } from "@makeswift/prop-controllers";
4
+ function useTablePropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getTablePropControllerDataTableId(data);
8
+ }
9
+ export {
10
+ useTablePropControllerData
11
+ };
12
+ //# sourceMappingURL=useTablePropControllerData.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ getTextAreaPropControllerDataString
3
+ } from "@makeswift/prop-controllers";
4
+ function useTextAreaPropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getTextAreaPropControllerDataString(data);
8
+ }
9
+ export {
10
+ useTextAreaPropControllerData
11
+ };
12
+ //# sourceMappingURL=useTextAreaPropControllerData.js.map
@@ -0,0 +1,10 @@
1
+ import {
2
+ getTextInputPropControllerDataString
3
+ } from "@makeswift/prop-controllers";
4
+ function useTextInputPropControllerData(data) {
5
+ return getTextInputPropControllerDataString(data);
6
+ }
7
+ export {
8
+ useTextInputPropControllerData
9
+ };
10
+ //# sourceMappingURL=useTextInputPropControllerData.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ getTextStylePropControllerDataResponsiveTextStyleData
3
+ } from "@makeswift/prop-controllers";
4
+ function useTextStylePropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getTextStylePropControllerDataResponsiveTextStyleData(data);
8
+ }
9
+ export {
10
+ useTextStylePropControllerData
11
+ };
12
+ //# sourceMappingURL=useTextStylePropControllerData.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ getVideoPropControllerDataVideoData
3
+ } from "@makeswift/prop-controllers";
4
+ function useVideoPropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getVideoPropControllerDataVideoData(data);
8
+ }
9
+ export {
10
+ useVideoPropControllerData
11
+ };
12
+ //# sourceMappingURL=useVideoPropControllerData.js.map
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ function Warning20(props) {
3
+ return /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: 20, height: 20, ...props, children: /* @__PURE__ */ jsx(
4
+ "path",
5
+ {
6
+ fillRule: "evenodd",
7
+ d: "M2.899 18H17.1a1.75 1.75 0 0 0 1.549-2.565L11.549 1.942c-.656-1.246-2.442-1.246-3.098 0L1.35 15.435A1.75 1.75 0 0 0 2.899 18M9 6a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0zm2.25 8.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0",
8
+ clipRule: "evenodd"
9
+ }
10
+ ) });
11
+ }
12
+ export {
13
+ Warning20
14
+ };
15
+ //# sourceMappingURL=Warning20.js.map
@@ -2,7 +2,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { useStyle } from "../../../runtimes/react/use-style";
4
4
  import { Warning20 } from "../../icons/Warning20";
5
- const FallbackComponent = forwardRef(function FallbackComponent2({ text }, ref) {
5
+ const FallbackComponent = forwardRef(function FallbackComponent2({ text, details }, ref) {
6
6
  return /* @__PURE__ */ jsxs(
7
7
  "div",
8
8
  {
@@ -23,7 +23,8 @@ const FallbackComponent = forwardRef(function FallbackComponent2({ text }, ref)
23
23
  }),
24
24
  children: [
25
25
  /* @__PURE__ */ jsx(Warning20, {}),
26
- /* @__PURE__ */ jsx("span", { children: text })
26
+ /* @__PURE__ */ jsx("span", { children: text }),
27
+ /* @__PURE__ */ jsx("span", { className: useStyle({ display: "none" }), children: details })
27
28
  ]
28
29
  }
29
30
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/shared/FallbackComponent/FallbackComponent.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Warning20 } from '../../icons/Warning20'\n\ntype Props = {\n text: string\n}\n\nexport const FallbackComponent = forwardRef(function FallbackComponent(\n { text }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n ref={ref}\n className={useStyle({\n width: '100%',\n height: 54,\n backgroundColor: '#fcedf2',\n borderRadius: 6,\n padding: 16,\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n color: '#c73e6d',\n fill: 'currentColor',\n fontFamily: 'Heebo, sans-serif',\n fontSize: 16,\n })}\n >\n <Warning20 />\n <span>{text}</span>\n </div>\n )\n})\n"],"mappings":"AAaI,SAiBE,KAjBF;AAbJ,SAAS,kBAAuB;AAChC,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAMnB,MAAM,oBAAoB,WAAW,SAASA,mBACnD,EAAE,KAAK,GACP,KACA;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,SAAS;AAAA,QAClB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,SAAS;AAAA,QACT,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,MACZ,CAAC;AAAA,MAED;AAAA,4BAAC,aAAU;AAAA,QACX,oBAAC,UAAM,gBAAK;AAAA;AAAA;AAAA,EACd;AAEJ,CAAC;","names":["FallbackComponent"]}
1
+ {"version":3,"sources":["../../../../../src/components/shared/FallbackComponent/FallbackComponent.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { Warning20 } from '../../icons/Warning20'\n\ntype Props = {\n text: string\n details?: string\n}\n\nexport const FallbackComponent = forwardRef(function FallbackComponent(\n { text, details }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n ref={ref}\n className={useStyle({\n width: '100%',\n height: 54,\n backgroundColor: '#fcedf2',\n borderRadius: 6,\n padding: 16,\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n color: '#c73e6d',\n fill: 'currentColor',\n fontFamily: 'Heebo, sans-serif',\n fontSize: 16,\n })}\n >\n <Warning20 />\n <span>{text}</span>\n <span className={useStyle({ display: 'none' })}>{details}</span>\n </div>\n )\n})\n"],"mappings":"AAcI,SAiBE,KAjBF;AAdJ,SAAS,kBAAuB;AAChC,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAOnB,MAAM,oBAAoB,WAAW,SAASA,mBACnD,EAAE,MAAM,QAAQ,GAChB,KACA;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,SAAS;AAAA,QAClB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,SAAS;AAAA,QACT,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,MACZ,CAAC;AAAA,MAED;AAAA,4BAAC,aAAU;AAAA,QACX,oBAAC,UAAM,gBAAK;AAAA,QACZ,oBAAC,UAAK,WAAW,SAAS,EAAE,SAAS,OAAO,CAAC,GAAI,mBAAQ;AAAA;AAAA;AAAA,EAC3D;AAEJ,CAAC;","names":["FallbackComponent"]}
@@ -28,6 +28,8 @@ import {
28
28
  Shape,
29
29
  ShapeDefinition,
30
30
  ShapeControl,
31
+ Slider,
32
+ SliderDefinition,
31
33
  Style,
32
34
  StyleDefinition,
33
35
  StyleControl,
@@ -78,6 +80,8 @@ export {
78
80
  Shape,
79
81
  ShapeControl,
80
82
  ShapeDefinition,
83
+ Slider,
84
+ SliderDefinition,
81
85
  Slot,
82
86
  SlotControl,
83
87
  SlotDefinition,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\n\nexport {\n ControlDefinition,\n Checkbox,\n CheckboxDefinition,\n Code,\n CodeDefinition,\n Color,\n ColorDefinition,\n Combobox,\n ComboboxDefinition,\n Font,\n FontDefinition,\n Group,\n GroupDefinition,\n GroupControl,\n IconRadioGroupDefinition,\n type IconRadioGroupIcon,\n unstable_IconRadioGroup,\n Image,\n ImageDefinition,\n List,\n ListDefinition,\n ListControl,\n Number,\n NumberDefinition,\n Select,\n SelectDefinition,\n Shape,\n ShapeDefinition,\n ShapeControl,\n Style,\n StyleDefinition,\n type StyleProperty,\n StyleControl,\n TextInput,\n TextInputDefinition,\n TextArea,\n TextAreaDefinition,\n unstable_Typography,\n unstable_TypographyDefinition,\n} from '@makeswift/controls'\n\nexport { Link, LinkDefinition } from './link'\nexport { RichTextV1Definition, RichTextV1Control } from './rich-text'\nexport { RichText, RichTextV2Definition, RichTextV2Control } from './rich-text-v2'\nexport { Slot, SlotDefinition, SlotControl } from './slot'\nexport { unstable_StyleV2, StyleV2Definition, StyleV2Control } from './style-v2/style-v2'\n"],"mappings":"AAAA,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,MAAM,sBAAsB;AACrC,SAAS,sBAAsB,yBAAyB;AACxD,SAAS,UAAU,sBAAsB,yBAAyB;AAClE,SAAS,MAAM,gBAAgB,mBAAmB;AAClD,SAAS,kBAAkB,mBAAmB,sBAAsB;","names":[]}
1
+ {"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\n\nexport {\n ControlDefinition,\n Checkbox,\n CheckboxDefinition,\n Code,\n CodeDefinition,\n Color,\n ColorDefinition,\n Combobox,\n ComboboxDefinition,\n Font,\n FontDefinition,\n Group,\n GroupDefinition,\n GroupControl,\n IconRadioGroupDefinition,\n type IconRadioGroupIcon,\n unstable_IconRadioGroup,\n Image,\n ImageDefinition,\n List,\n ListDefinition,\n ListControl,\n Number,\n NumberDefinition,\n Select,\n SelectDefinition,\n Shape,\n ShapeDefinition,\n ShapeControl,\n Slider,\n SliderDefinition,\n Style,\n StyleDefinition,\n type StyleProperty,\n StyleControl,\n TextInput,\n TextInputDefinition,\n TextArea,\n TextAreaDefinition,\n unstable_Typography,\n unstable_TypographyDefinition,\n} from '@makeswift/controls'\n\nexport { Link, LinkDefinition } from './link'\nexport { RichTextV1Definition, RichTextV1Control } from './rich-text'\nexport { RichText, RichTextV2Definition, RichTextV2Control } from './rich-text-v2'\nexport { Slot, SlotDefinition, SlotControl } from './slot'\nexport { unstable_StyleV2, StyleV2Definition, StyleV2Control } from './style-v2/style-v2'\n"],"mappings":"AAAA,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,MAAM,sBAAsB;AACrC,SAAS,sBAAsB,yBAAyB;AACxD,SAAS,UAAU,sBAAsB,yBAAyB;AAClE,SAAS,MAAM,gBAAgB,mBAAmB;AAClD,SAAS,kBAAkB,mBAAmB,sBAAsB;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/controls/rich-text-v2/translations/merge-translations.ts"],"sourcesContent":["import { Descendant, Editor, Element, Node, Text, Transforms } from 'slate'\nimport { jsx } from 'slate-hyperscript'\nimport { parseFragment, DefaultTreeAdapterTypes } from 'parse5'\n\nimport { Slate } from '@makeswift/controls'\n\nimport { RichTextV2Plugin } from '../plugin'\nimport { BlockType, InlineType } from '../../../slate/types'\nimport { createEditorWithPlugins, RichTextTranslationDto, stringToPath } from './translations-core'\n\nfunction deserializeTranslationHtmlString(\n el: DefaultTreeAdapterTypes.ChildNode | DefaultTreeAdapterTypes.DocumentFragment,\n translationKey?: string,\n): Descendant[] {\n if (el.nodeName === '#document-fragment') {\n const children = Array.from(el.childNodes)\n .map(element => deserializeTranslationHtmlString(element))\n .flat()\n\n if (children.length === 0) {\n children.push(jsx('text', {}, ''))\n }\n\n return children\n }\n\n if (el.nodeName === '#text' && 'value' in el) {\n return [jsx('text', { translationKey: translationKey ?? undefined }, el.value)]\n }\n\n if ('namespaceURI' in el) {\n const translationKey = el.attrs.find(a => a.name === 'key')?.value ?? undefined\n const children = Array.from(el.childNodes)\n .map(element => deserializeTranslationHtmlString(element, translationKey))\n .flat()\n\n if (children.length === 0) {\n children.push(jsx('text', {}, ''))\n }\n\n switch (el.nodeName) {\n case 'code':\n return [jsx('element', { type: InlineType.Code, translationKey }, children)]\n\n case 'sub':\n return [jsx('element', { type: InlineType.SubScript, translationKey }, children)]\n\n case 'sup':\n return [jsx('element', { type: InlineType.SuperScript, translationKey }, children)]\n\n case 'a':\n return [jsx('element', { type: InlineType.Link, translationKey }, children)]\n\n default:\n return children\n }\n }\n\n return []\n}\n\nexport function mergeTranslatedNodes(\n nodes: Slate.Descendant[],\n translatedData: RichTextTranslationDto,\n plugins: RichTextV2Plugin[],\n): Slate.Descendant[] {\n const sourceEditor = createEditorWithPlugins(plugins)\n const targetEditor = createEditorWithPlugins(plugins)\n\n sourceEditor.children = nodes\n sourceEditor.typographyNormalizationDirection = 'up'\n Editor.normalize(sourceEditor, { force: true })\n\n Object.entries(translatedData)\n .reverse()\n .forEach(([blockStringPath, htmlString]) => {\n const blockPath = stringToPath(blockStringPath)\n if (blockPath.length === 0) return\n\n const html = parseFragment(htmlString)\n const inlineDescendants = deserializeTranslationHtmlString(html)\n\n targetEditor.children = [{ type: BlockType.Default, children: inlineDescendants }]\n\n targetEditor.typographyNormalizationDirection = 'neutral'\n Editor.normalize(targetEditor, { force: true })\n\n for (const [descendant, absolutePathToTargetNode] of Node.descendants(targetEditor)) {\n if (\n (!Text.isText(descendant) && !Slate.isInline(descendant)) ||\n descendant.translationKey == null ||\n descendant.translationKey === ''\n ) {\n continue\n }\n\n const relativePathToSourceNode = stringToPath(descendant.translationKey)\n\n const absolutePathToSourceNode = [...blockPath, ...relativePathToSourceNode]\n\n const [sourceNode] = Editor.node(sourceEditor, absolutePathToSourceNode)\n\n if (Text.isText(sourceNode) && Text.isText(descendant)) {\n const { translationKey, text, ...rest } = sourceNode\n Transforms.setNodes(targetEditor, rest, { at: absolutePathToTargetNode })\n Transforms.unsetNodes(targetEditor, 'translationKey', { at: absolutePathToTargetNode })\n } else if (Slate.isInline(sourceNode) && Slate.isInline(descendant)) {\n const { translationKey, children, ...rest } = sourceNode\n Transforms.setNodes(targetEditor, rest, { at: absolutePathToTargetNode })\n Transforms.unsetNodes(targetEditor, 'translationKey', { at: absolutePathToTargetNode })\n }\n }\n const translatedChildren = (targetEditor.children.at(0) as Element)?.children\n\n Editor.withoutNormalizing(sourceEditor, () => {\n Array.from(Node.children(sourceEditor, blockPath))\n .reverse()\n .forEach(([_, path]) => {\n Transforms.removeNodes(sourceEditor, { at: path })\n })\n\n Transforms.insertNodes(sourceEditor, translatedChildren, { at: [...blockPath, 0] })\n })\n })\n\n sourceEditor.typographyNormalizationDirection = 'down'\n Editor.normalize(sourceEditor, { force: true })\n\n return sourceEditor.children\n}\n"],"mappings":"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","names":["translationKey"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/controls/rich-text-v2/translations/translations-core.ts"],"sourcesContent":["import { createEditor } from 'slate'\nimport { MakeswiftEditor } from '../../../slate'\nimport { RichTextV2Plugin } from '../plugin'\n\nexport function createEditorWithPlugins(plugins: RichTextV2Plugin[]): MakeswiftEditor {\n return plugins.reduceRight(\n (editor, plugin) => plugin?.withPlugin?.(editor) ?? editor,\n createEditor(),\n )\n}\n\nexport function pathToString(path: number[]): string {\n return path.join(':')\n}\n\nexport function stringToPath(s: string): number[] {\n return s.split(':').map(a => parseInt(a))\n}\n\nexport type RichTextTranslationDto = Record<string, string>\n"],"mappings":"AAAA,SAAS,oBAAoB;AAItB,SAAS,wBAAwB,SAA8C;AACpF,SAAO,QAAQ;AAAA,IACb,CAAC,QAAQ,WAAW,QAAQ,aAAa,MAAM,KAAK;AAAA,IACpD,aAAa;AAAA,EACf;AACF;AAEO,SAAS,aAAa,MAAwB;AACnD,SAAO,KAAK,KAAK,GAAG;AACtB;AAEO,SAAS,aAAa,GAAqB;AAChD,SAAO,EAAE,MAAM,GAAG,EAAE,IAAI,OAAK,SAAS,CAAC,CAAC;AAC1C;","names":[]}
@@ -18,6 +18,7 @@ import {
18
18
  RichTextV2Definition,
19
19
  SelectDefinition,
20
20
  ShapeDefinition,
21
+ SliderDefinition,
21
22
  SlotDefinition,
22
23
  StyleDefinition,
23
24
  StyleV2Definition,
@@ -54,6 +55,7 @@ function deserializeUnifiedControlDef(record) {
54
55
  [RichTextV2Definition.type]: (record2) => RichTextV2Definition.deserialize(record2, deserializeUnifiedControlDef),
55
56
  [SelectDefinition.type]: SelectDefinition.deserialize,
56
57
  [ShapeDefinition.type]: (record2) => ShapeDefinition.deserialize(record2, deserializeUnifiedControlDef),
58
+ [SliderDefinition.type]: SliderDefinition.deserialize,
57
59
  [ShapeV2Definition.type]: (record2) => ShapeV2Definition.deserialize(record2, deserializeUnifiedControlDef),
58
60
  [SlotDefinition.type]: SlotDefinition.deserialize,
59
61
  [StyleDefinition.type]: StyleDefinition.deserialize,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/controls/serialization/base/index.ts"],"sourcesContent":["import {\n ControlDefinition,\n type SerializedRecord,\n type DeserializedRecord,\n ShapeV2Definition,\n DeserializationPlugin,\n deserializeRecord,\n} from '@makeswift/controls'\n\nimport {\n CheckboxDefinition,\n CodeDefinition,\n ColorDefinition,\n ComboboxDefinition,\n FontDefinition,\n GroupDefinition,\n IconRadioGroupDefinition,\n ImageDefinition,\n LinkDefinition,\n ListDefinition,\n NumberDefinition,\n RichTextV1Definition,\n RichTextV2Definition,\n SelectDefinition,\n ShapeDefinition,\n SlotDefinition,\n StyleDefinition,\n StyleV2Definition,\n TextAreaDefinition,\n TextInputDefinition,\n unstable_TypographyDefinition,\n} from '../../index'\n\nimport { BaseControlSerializationVisitor } from './visitor'\n\nexport { type SerializedRecord, type DeserializedRecord } from '@makeswift/controls'\n\nexport function serializeControls(\n controls: Record<string, ControlDefinition>,\n visitor: BaseControlSerializationVisitor,\n): Record<string, SerializedRecord> {\n return Object.entries(controls).reduce<Record<string, SerializedRecord>>(\n (acc, [key, control]) => {\n return { ...acc, [key]: control.accept(visitor) }\n },\n {},\n )\n}\n\nexport type DeserializeControlOptions = {\n plugins: DeserializationPlugin<any>[]\n}\n\nexport function deserializeControl(\n serializedControl: SerializedRecord,\n options: DeserializeControlOptions,\n): ControlDefinition {\n const plugins = options?.plugins ?? []\n\n return deserializeUnifiedControlDef(deserializeRecord(serializedControl, plugins))\n}\n\nexport function deserializeUnifiedControlDef(record: DeserializedRecord): ControlDefinition {\n type DeserializeMethod = (data: DeserializedRecord) => ControlDefinition\n const deserializeMethod: Record<string, DeserializeMethod> = {\n [CheckboxDefinition.type]: CheckboxDefinition.deserialize,\n [CodeDefinition.type]: CodeDefinition.deserialize,\n [ColorDefinition.type]: ColorDefinition.deserialize,\n [ComboboxDefinition.type]: ComboboxDefinition.deserialize,\n [FontDefinition.type]: FontDefinition.deserialize,\n [GroupDefinition.type]: record =>\n GroupDefinition.deserialize(record, deserializeUnifiedControlDef),\n [IconRadioGroupDefinition.type]: IconRadioGroupDefinition.deserialize,\n [ImageDefinition.type]: ImageDefinition.deserialize,\n [LinkDefinition.type]: LinkDefinition.deserialize,\n [ListDefinition.type]: record =>\n ListDefinition.deserialize(record, deserializeUnifiedControlDef),\n [NumberDefinition.type]: NumberDefinition.deserialize,\n [RichTextV1Definition.type]: RichTextV1Definition.deserialize,\n [RichTextV2Definition.type]: record =>\n RichTextV2Definition.deserialize(record, deserializeUnifiedControlDef),\n [SelectDefinition.type]: SelectDefinition.deserialize,\n [ShapeDefinition.type]: record =>\n ShapeDefinition.deserialize(record, deserializeUnifiedControlDef),\n [ShapeV2Definition.type]: record =>\n ShapeV2Definition.deserialize(record, deserializeUnifiedControlDef),\n [SlotDefinition.type]: SlotDefinition.deserialize,\n [StyleDefinition.type]: StyleDefinition.deserialize,\n [StyleV2Definition.type]: record =>\n StyleV2Definition.deserialize(record, deserializeUnifiedControlDef),\n [TextAreaDefinition.type]: TextAreaDefinition.deserialize,\n [TextInputDefinition.type]: TextInputDefinition.deserialize,\n [unstable_TypographyDefinition.type]: unstable_TypographyDefinition.deserialize,\n } as const\n\n const deserialize = deserializeMethod[record.type] ?? null\n if (deserialize == null) {\n throw new Error(`Unknown control type: ${record.type}`)\n }\n\n return deserialize(record)\n}\n"],"mappings":"AAAA;AAAA,EAIE;AAAA,EAEA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMA,SAAS,kBACd,UACA,SACkC;AAClC,SAAO,OAAO,QAAQ,QAAQ,EAAE;AAAA,IAC9B,CAAC,KAAK,CAAC,KAAK,OAAO,MAAM;AACvB,aAAO,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,OAAO,OAAO,EAAE;AAAA,IAClD;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAMO,SAAS,mBACd,mBACA,SACmB;AACnB,QAAM,UAAU,SAAS,WAAW,CAAC;AAErC,SAAO,6BAA6B,kBAAkB,mBAAmB,OAAO,CAAC;AACnF;AAEO,SAAS,6BAA6B,QAA+C;AAE1F,QAAM,oBAAuD;AAAA,IAC3D,CAAC,mBAAmB,IAAI,GAAG,mBAAmB;AAAA,IAC9C,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,gBAAgB,IAAI,GAAG,gBAAgB;AAAA,IACxC,CAAC,mBAAmB,IAAI,GAAG,mBAAmB;AAAA,IAC9C,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,gBAAgB,IAAI,GAAG,CAAAA,YACtB,gBAAgB,YAAYA,SAAQ,4BAA4B;AAAA,IAClE,CAAC,yBAAyB,IAAI,GAAG,yBAAyB;AAAA,IAC1D,CAAC,gBAAgB,IAAI,GAAG,gBAAgB;AAAA,IACxC,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,eAAe,IAAI,GAAG,CAAAA,YACrB,eAAe,YAAYA,SAAQ,4BAA4B;AAAA,IACjE,CAAC,iBAAiB,IAAI,GAAG,iBAAiB;AAAA,IAC1C,CAAC,qBAAqB,IAAI,GAAG,qBAAqB;AAAA,IAClD,CAAC,qBAAqB,IAAI,GAAG,CAAAA,YAC3B,qBAAqB,YAAYA,SAAQ,4BAA4B;AAAA,IACvE,CAAC,iBAAiB,IAAI,GAAG,iBAAiB;AAAA,IAC1C,CAAC,gBAAgB,IAAI,GAAG,CAAAA,YACtB,gBAAgB,YAAYA,SAAQ,4BAA4B;AAAA,IAClE,CAAC,kBAAkB,IAAI,GAAG,CAAAA,YACxB,kBAAkB,YAAYA,SAAQ,4BAA4B;AAAA,IACpE,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,gBAAgB,IAAI,GAAG,gBAAgB;AAAA,IACxC,CAAC,kBAAkB,IAAI,GAAG,CAAAA,YACxB,kBAAkB,YAAYA,SAAQ,4BAA4B;AAAA,IACpE,CAAC,mBAAmB,IAAI,GAAG,mBAAmB;AAAA,IAC9C,CAAC,oBAAoB,IAAI,GAAG,oBAAoB;AAAA,IAChD,CAAC,8BAA8B,IAAI,GAAG,8BAA8B;AAAA,EACtE;AAEA,QAAM,cAAc,kBAAkB,OAAO,IAAI,KAAK;AACtD,MAAI,eAAe,MAAM;AACvB,UAAM,IAAI,MAAM,yBAAyB,OAAO,IAAI,EAAE;AAAA,EACxD;AAEA,SAAO,YAAY,MAAM;AAC3B;","names":["record"]}
1
+ {"version":3,"sources":["../../../../../src/controls/serialization/base/index.ts"],"sourcesContent":["import {\n ControlDefinition,\n type SerializedRecord,\n type DeserializedRecord,\n ShapeV2Definition,\n DeserializationPlugin,\n deserializeRecord,\n} from '@makeswift/controls'\n\nimport {\n CheckboxDefinition,\n CodeDefinition,\n ColorDefinition,\n ComboboxDefinition,\n FontDefinition,\n GroupDefinition,\n IconRadioGroupDefinition,\n ImageDefinition,\n LinkDefinition,\n ListDefinition,\n NumberDefinition,\n RichTextV1Definition,\n RichTextV2Definition,\n SelectDefinition,\n ShapeDefinition,\n SliderDefinition,\n SlotDefinition,\n StyleDefinition,\n StyleV2Definition,\n TextAreaDefinition,\n TextInputDefinition,\n unstable_TypographyDefinition,\n} from '../../index'\n\nimport { BaseControlSerializationVisitor } from './visitor'\n\nexport { type SerializedRecord, type DeserializedRecord } from '@makeswift/controls'\n\nexport function serializeControls(\n controls: Record<string, ControlDefinition>,\n visitor: BaseControlSerializationVisitor,\n): Record<string, SerializedRecord> {\n return Object.entries(controls).reduce<Record<string, SerializedRecord>>(\n (acc, [key, control]) => {\n return { ...acc, [key]: control.accept(visitor) }\n },\n {},\n )\n}\n\nexport type DeserializeControlOptions = {\n plugins: DeserializationPlugin<any>[]\n}\n\nexport function deserializeControl(\n serializedControl: SerializedRecord,\n options: DeserializeControlOptions,\n): ControlDefinition {\n const plugins = options?.plugins ?? []\n\n return deserializeUnifiedControlDef(deserializeRecord(serializedControl, plugins))\n}\n\nexport function deserializeUnifiedControlDef(record: DeserializedRecord): ControlDefinition {\n type DeserializeMethod = (data: DeserializedRecord) => ControlDefinition\n const deserializeMethod: Record<string, DeserializeMethod> = {\n [CheckboxDefinition.type]: CheckboxDefinition.deserialize,\n [CodeDefinition.type]: CodeDefinition.deserialize,\n [ColorDefinition.type]: ColorDefinition.deserialize,\n [ComboboxDefinition.type]: ComboboxDefinition.deserialize,\n [FontDefinition.type]: FontDefinition.deserialize,\n [GroupDefinition.type]: record =>\n GroupDefinition.deserialize(record, deserializeUnifiedControlDef),\n [IconRadioGroupDefinition.type]: IconRadioGroupDefinition.deserialize,\n [ImageDefinition.type]: ImageDefinition.deserialize,\n [LinkDefinition.type]: LinkDefinition.deserialize,\n [ListDefinition.type]: record =>\n ListDefinition.deserialize(record, deserializeUnifiedControlDef),\n [NumberDefinition.type]: NumberDefinition.deserialize,\n [RichTextV1Definition.type]: RichTextV1Definition.deserialize,\n [RichTextV2Definition.type]: record =>\n RichTextV2Definition.deserialize(record, deserializeUnifiedControlDef),\n [SelectDefinition.type]: SelectDefinition.deserialize,\n [ShapeDefinition.type]: record =>\n ShapeDefinition.deserialize(record, deserializeUnifiedControlDef),\n [SliderDefinition.type]: SliderDefinition.deserialize,\n [ShapeV2Definition.type]: record =>\n ShapeV2Definition.deserialize(record, deserializeUnifiedControlDef),\n [SlotDefinition.type]: SlotDefinition.deserialize,\n [StyleDefinition.type]: StyleDefinition.deserialize,\n [StyleV2Definition.type]: record =>\n StyleV2Definition.deserialize(record, deserializeUnifiedControlDef),\n [TextAreaDefinition.type]: TextAreaDefinition.deserialize,\n [TextInputDefinition.type]: TextInputDefinition.deserialize,\n [unstable_TypographyDefinition.type]: unstable_TypographyDefinition.deserialize,\n } as const\n\n const deserialize = deserializeMethod[record.type] ?? null\n if (deserialize == null) {\n throw new Error(`Unknown control type: ${record.type}`)\n }\n\n return deserialize(record)\n}\n"],"mappings":"AAAA;AAAA,EAIE;AAAA,EAEA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMA,SAAS,kBACd,UACA,SACkC;AAClC,SAAO,OAAO,QAAQ,QAAQ,EAAE;AAAA,IAC9B,CAAC,KAAK,CAAC,KAAK,OAAO,MAAM;AACvB,aAAO,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,OAAO,OAAO,EAAE;AAAA,IAClD;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAMO,SAAS,mBACd,mBACA,SACmB;AACnB,QAAM,UAAU,SAAS,WAAW,CAAC;AAErC,SAAO,6BAA6B,kBAAkB,mBAAmB,OAAO,CAAC;AACnF;AAEO,SAAS,6BAA6B,QAA+C;AAE1F,QAAM,oBAAuD;AAAA,IAC3D,CAAC,mBAAmB,IAAI,GAAG,mBAAmB;AAAA,IAC9C,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,gBAAgB,IAAI,GAAG,gBAAgB;AAAA,IACxC,CAAC,mBAAmB,IAAI,GAAG,mBAAmB;AAAA,IAC9C,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,gBAAgB,IAAI,GAAG,CAAAA,YACtB,gBAAgB,YAAYA,SAAQ,4BAA4B;AAAA,IAClE,CAAC,yBAAyB,IAAI,GAAG,yBAAyB;AAAA,IAC1D,CAAC,gBAAgB,IAAI,GAAG,gBAAgB;AAAA,IACxC,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,eAAe,IAAI,GAAG,CAAAA,YACrB,eAAe,YAAYA,SAAQ,4BAA4B;AAAA,IACjE,CAAC,iBAAiB,IAAI,GAAG,iBAAiB;AAAA,IAC1C,CAAC,qBAAqB,IAAI,GAAG,qBAAqB;AAAA,IAClD,CAAC,qBAAqB,IAAI,GAAG,CAAAA,YAC3B,qBAAqB,YAAYA,SAAQ,4BAA4B;AAAA,IACvE,CAAC,iBAAiB,IAAI,GAAG,iBAAiB;AAAA,IAC1C,CAAC,gBAAgB,IAAI,GAAG,CAAAA,YACtB,gBAAgB,YAAYA,SAAQ,4BAA4B;AAAA,IAClE,CAAC,iBAAiB,IAAI,GAAG,iBAAiB;AAAA,IAC1C,CAAC,kBAAkB,IAAI,GAAG,CAAAA,YACxB,kBAAkB,YAAYA,SAAQ,4BAA4B;AAAA,IACpE,CAAC,eAAe,IAAI,GAAG,eAAe;AAAA,IACtC,CAAC,gBAAgB,IAAI,GAAG,gBAAgB;AAAA,IACxC,CAAC,kBAAkB,IAAI,GAAG,CAAAA,YACxB,kBAAkB,YAAYA,SAAQ,4BAA4B;AAAA,IACpE,CAAC,mBAAmB,IAAI,GAAG,mBAAmB;AAAA,IAC9C,CAAC,oBAAoB,IAAI,GAAG,oBAAoB;AAAA,IAChD,CAAC,8BAA8B,IAAI,GAAG,8BAA8B;AAAA,EACtE;AAEA,QAAM,cAAc,kBAAkB,OAAO,IAAI,KAAK;AACtD,MAAI,eAAe,MAAM;AACvB,UAAM,IAAI,MAAM,yBAAyB,OAAO,IAAI,EAAE;AAAA,EACxD;AAEA,SAAO,YAAY,MAAM;AAC3B;","names":["record"]}
@@ -0,0 +1,39 @@
1
+ import {
2
+ ControlDefinition,
3
+ serializeObject,
4
+ ControlSerializationVisitor
5
+ } from "@makeswift/controls";
6
+ import { RichTextV2Definition } from "../../rich-text-v2";
7
+ class BaseControlSerializationVisitor extends ControlSerializationVisitor {
8
+ constructor(plugins) {
9
+ const serializeDefinitionPlugin = {
10
+ match: (val) => val instanceof ControlDefinition,
11
+ serialize: (val) => val.accept(this)
12
+ };
13
+ super([serializeDefinitionPlugin, ...plugins]);
14
+ }
15
+ visitRichTextV2(def) {
16
+ const { plugins, ...config } = def.config;
17
+ const pluginDefs = plugins.map(
18
+ ({ control }) => control ? {
19
+ control: {
20
+ definition: control.definition,
21
+ // FIXME: remove getValue/onChange stubs once we released a version of the builder
22
+ // built against the runtime where these can be optional
23
+ getValue: () => void 0,
24
+ onChange: () => {
25
+ }
26
+ }
27
+ } : {}
28
+ );
29
+ const serialized = serializeObject(
30
+ { config: { ...config, plugins: pluginDefs } },
31
+ this.serializationPlugins
32
+ );
33
+ return { ...serialized, type: RichTextV2Definition.type };
34
+ }
35
+ }
36
+ export {
37
+ BaseControlSerializationVisitor
38
+ };
39
+ //# sourceMappingURL=visitor.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,24 @@
1
+ import { isFunction } from "@makeswift/controls";
2
+ import { BaseControlSerializationVisitor } from "../base/visitor";
3
+ import { serializeFunction } from "./function-serialization";
4
+ class ClientMessagePortSerializationVisitor extends BaseControlSerializationVisitor {
5
+ transferables = [];
6
+ constructor() {
7
+ const serializeFunctionPlugin = {
8
+ match: isFunction,
9
+ serialize: (val) => {
10
+ const r = serializeFunction(val);
11
+ this.transferables.push(r);
12
+ return r;
13
+ }
14
+ };
15
+ super([serializeFunctionPlugin]);
16
+ }
17
+ getTransferables() {
18
+ return [...this.transferables];
19
+ }
20
+ }
21
+ export {
22
+ ClientMessagePortSerializationVisitor
23
+ };
24
+ //# sourceMappingURL=visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/controls/serialization/message-port/visitor.ts"],"sourcesContent":["import { AnyFunction, SerializationPlugin, isFunction } from '@makeswift/controls'\n\nimport { BaseControlSerializationVisitor } from '../base/visitor'\nimport { serializeFunction } from './function-serialization'\n\nexport class ClientMessagePortSerializationVisitor extends BaseControlSerializationVisitor {\n private transferables: Transferable[] = []\n\n constructor() {\n const serializeFunctionPlugin: SerializationPlugin<AnyFunction> = {\n match: isFunction,\n serialize: (val: AnyFunction) => {\n const r = serializeFunction(val)\n this.transferables.push(r)\n return r\n },\n }\n\n super([serializeFunctionPlugin])\n }\n\n getTransferables(): Transferable[] {\n return [...this.transferables]\n }\n}\n"],"mappings":"AAAA,SAA2C,kBAAkB;AAE7D,SAAS,uCAAuC;AAChD,SAAS,yBAAyB;AAE3B,MAAM,8CAA8C,gCAAgC;AAAA,EACjF,gBAAgC,CAAC;AAAA,EAEzC,cAAc;AACZ,UAAM,0BAA4D;AAAA,MAChE,OAAO;AAAA,MACP,WAAW,CAAC,QAAqB;AAC/B,cAAM,IAAI,kBAAkB,GAAG;AAC/B,aAAK,cAAc,KAAK,CAAC;AACzB,eAAO;AAAA,MACT;AAAA,IACF;AAEA,UAAM,CAAC,uBAAuB,CAAC;AAAA,EACjC;AAAA,EAEA,mBAAmC;AACjC,WAAO,CAAC,GAAG,KAAK,aAAa;AAAA,EAC/B;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/config/pages-router.ts"],"sourcesContent":["import { P } from 'ts-pattern'\nimport { NextApiRequest, NextApiResponse } from 'next'\n\nimport { type ApiResponse } from '../../../api-handler/request-response'\nimport { toApiRequest, pipeResponseTo } from '../../../api-handler/node-request-response'\n\nimport { pagesRouterRedirectPreviewHandler } from '../handlers/pages-router-redirect-preview'\nimport { PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE } from '../preview'\n\nimport { validateApiRoute, type ApiHandlerConfig } from './base'\nimport { MakeswiftClient } from '../../../client'\n\nexport type ApiHandlerArgs = [NextApiRequest, NextApiResponse]\nexport const argsPattern = [P.any, P.any] as const\n\nexport async function config({\n req,\n res,\n client,\n}: {\n req: NextApiRequest\n res: NextApiResponse\n client: MakeswiftClient\n}): Promise<ApiHandlerConfig> {\n return {\n req: toApiRequest(req),\n route: validateApiRoute(await apiRequestParams(req)),\n previewCookieNames: [PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE],\n\n sendResponse: (apiResponse: ApiResponse): Promise<Response | void> =>\n pipeResponseTo(apiResponse, res),\n\n revalidationHandler: async (path?: string): Promise<void> => {\n if (path != null) {\n res.revalidate(path)\n } else {\n // No-op, Pages Router does not support tag-based revalidation\n }\n },\n\n customRoutes: async (route: string) => {\n if (route === '/redirect-preview') {\n return { res: await pagesRouterRedirectPreviewHandler(req, res, client) }\n }\n\n return null\n },\n }\n}\n\nfunction apiRequestParams(request: NextApiRequest): Promise<NextApiRequest['query']> {\n // `NextApiRequest.query` prop became async in Next.js 15, but it's not reflected in the type definition;\n // force-casting it to a `Promise` manually\n return Promise.resolve(request.query)\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAIlB,SAAS,cAAc,sBAAsB;AAE7C,SAAS,yCAAyC;AAClD,SAAS,yBAAyB,2BAA2B;AAE7D,SAAS,wBAA+C;AAIjD,MAAM,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG;AAExC,eAAsB,OAAO;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAI8B;AAC5B,SAAO;AAAA,IACL,KAAK,aAAa,GAAG;AAAA,IACrB,OAAO,iBAAiB,MAAM,iBAAiB,GAAG,CAAC;AAAA,IACnD,oBAAoB,CAAC,yBAAyB,mBAAmB;AAAA,IAEjE,cAAc,CAAC,gBACb,eAAe,aAAa,GAAG;AAAA,IAEjC,qBAAqB,OAAO,SAAiC;AAC3D,UAAI,QAAQ,MAAM;AAChB,YAAI,WAAW,IAAI;AAAA,MACrB,OAAO;AAAA,MAEP;AAAA,IACF;AAAA,IAEA,cAAc,OAAO,UAAkB;AACrC,UAAI,UAAU,qBAAqB;AACjC,eAAO,EAAE,KAAK,MAAM,kCAAkC,KAAK,KAAK,MAAM,EAAE;AAAA,MAC1E;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,SAA2D;AAGnF,SAAO,QAAQ,QAAQ,QAAQ,KAAK;AACtC;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/pages-router-redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\n\nimport {\n PRERENDER_BYPASS_COOKIE,\n PREVIEW_DATA_COOKIE,\n RewriteRuleMatches,\n SearchParams,\n} from '../preview'\nimport { MakeswiftClient } from '../../../client'\nimport {\n secondsUntilSiteVersionExpiration,\n serializeSiteVersion,\n type SiteVersion,\n} from '../../../api/site-version'\n\nexport async function pagesRouterRedirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse,\n client: MakeswiftClient,\n): Promise<void> {\n // Next.js automatically strips the locale prefix from rewritten request's URL, even when the\n // rewrite's `locale` option is set to `false`: https://github.com/vercel/next.js/discussions/21798.\n // At the same time, it also maps rewrite's URL segments (e.g. `:path`) to query parameters\n // on the rewritten request, so we use the `query` to recover the original request path.\n const pathname = req.query[RewriteRuleMatches.OriginalPath] as string | undefined\n\n if (pathname == null) {\n return res\n .status(400)\n .send('Bad request: incoming request does not have an associated pathname')\n }\n\n const previewToken = req.query[SearchParams.PreviewToken] as string | undefined\n\n if (previewToken == null) {\n return res.status(400).send('Bad request: no preview token provided')\n }\n\n const verificationResult = await client.readPreviewToken(previewToken)\n\n if (verificationResult == null) {\n return res.status(401).send('Failed to verify preview token')\n }\n\n const { payload } = verificationResult\n\n const siteVersion: SiteVersion = { version: payload.version, token: previewToken }\n const secondsUntilExpiration = secondsUntilSiteVersionExpiration(siteVersion)\n const serializedSiteVersion = serializeSiteVersion(siteVersion)\n\n const setCookie = res\n .setPreviewData({ siteVersion: serializedSiteVersion })\n .getHeader(SET_COOKIE_HEADER)\n\n res.removeHeader(SET_COOKIE_HEADER)\n\n const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : '')\n\n const prerenderBypassCookie = parsedCookies.find(c => c.name === PRERENDER_BYPASS_COOKIE)\n const previewDataCookie = parsedCookies.find(c => c.name === PREVIEW_DATA_COOKIE)\n\n if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {\n return res.status(500).send('Could not retrieve preview mode cookies')\n }\n\n const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {\n return serializeCookie(name, value, { ...cookieSettingOptions, maxAge: secondsUntilExpiration })\n })\n res.setHeader(SET_COOKIE_HEADER, patchedCookies)\n\n const destinationUrl = new URL(pathname, 'http://test.com')\n destinationUrl.searchParams.delete(SearchParams.PreviewToken)\n destinationUrl.searchParams.delete(RewriteRuleMatches.PreviewToken)\n destinationUrl.searchParams.delete(RewriteRuleMatches.OriginalPath)\n\n res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`)\n}\n"],"mappings":"AAEA,SAAS,SAAS,sBAAsB;AACxC,SAAS,aAAa,uBAAuB;AAE7C,SAAS,sBAAsB,yBAAyB;AAExD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAEP,eAAsB,kCACpB,KACA,KACA,QACe;AAKf,QAAM,WAAW,IAAI,MAAM,mBAAmB,YAAY;AAE1D,MAAI,YAAY,MAAM;AACpB,WAAO,IACJ,OAAO,GAAG,EACV,KAAK,oEAAoE;AAAA,EAC9E;AAEA,QAAM,eAAe,IAAI,MAAM,aAAa,YAAY;AAExD,MAAI,gBAAgB,MAAM;AACxB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,wCAAwC;AAAA,EACtE;AAEA,QAAM,qBAAqB,MAAM,OAAO,iBAAiB,YAAY;AAErE,MAAI,sBAAsB,MAAM;AAC9B,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,gCAAgC;AAAA,EAC9D;AAEA,QAAM,EAAE,QAAQ,IAAI;AAEpB,QAAM,cAA2B,EAAE,SAAS,QAAQ,SAAS,OAAO,aAAa;AACjF,QAAM,yBAAyB,kCAAkC,WAAW;AAC5E,QAAM,wBAAwB,qBAAqB,WAAW;AAE9D,QAAM,YAAY,IACf,eAAe,EAAE,aAAa,sBAAsB,CAAC,EACrD,UAAU,iBAAiB;AAE9B,MAAI,aAAa,iBAAiB;AAElC,QAAM,gBAAgB,eAAe,MAAM,QAAQ,SAAS,IAAI,YAAY,EAAE;AAE9E,QAAM,wBAAwB,cAAc,KAAK,OAAK,EAAE,SAAS,uBAAuB;AACxF,QAAM,oBAAoB,cAAc,KAAK,OAAK,EAAE,SAAS,mBAAmB;AAEhF,MAAI,uBAAuB,SAAS,QAAQ,mBAAmB,SAAS,MAAM;AAC5E,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yCAAyC;AAAA,EACvE;AAEA,QAAM,iBAAiB,CAAC,uBAAuB,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM;AACzF,WAAO,gBAAgB,MAAM,OAAO,EAAE,GAAG,sBAAsB,QAAQ,uBAAuB,CAAC;AAAA,EACjG,CAAC;AACD,MAAI,UAAU,mBAAmB,cAAc;AAE/C,QAAM,iBAAiB,IAAI,IAAI,UAAU,iBAAiB;AAC1D,iBAAe,aAAa,OAAO,aAAa,YAAY;AAC5D,iBAAe,aAAa,OAAO,mBAAmB,YAAY;AAClE,iBAAe,aAAa,OAAO,mBAAmB,YAAY;AAElE,MAAI,SAAS,GAAG,eAAe,QAAQ,IAAI,eAAe,aAAa,SAAS,CAAC,EAAE;AACrF;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/next/components/tests/__fixtures__/page-document.ts"],"sourcesContent":["import { type MakeswiftPageDocument } from '../../../../client'\nimport { MakeswiftComponentType } from '../../../../components/builtin/constants'\n\nexport const pageDocument: MakeswiftPageDocument = {\n id: '2222-2222-2222-2222',\n site: {\n id: '1111-1111-1111-1111',\n },\n data: {\n type: MakeswiftComponentType.Root,\n key: '0000-0000-0000-0000',\n props: {},\n },\n snippets: [],\n fonts: [],\n localizedPages: [],\n locale: null,\n meta: {},\n seo: {},\n}\n"],"mappings":"AACA,SAAS,8BAA8B;AAEhC,MAAM,eAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,MAAM;AAAA,IACJ,IAAI;AAAA,EACN;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,uBAAuB;AAAA,IAC7B,KAAK;AAAA,IACL,OAAO,CAAC;AAAA,EACV;AAAA,EACA,UAAU,CAAC;AAAA,EACX,OAAO,CAAC;AAAA,EACR,gBAAgB,CAAC;AAAA,EACjB,QAAQ;AAAA,EACR,MAAM,CAAC;AAAA,EACP,KAAK,CAAC;AACR;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/next/components/tests/__fixtures__/resources/page-pathname-slices.ts"],"sourcesContent":["import { type PagePathnameSlice } from '../../../../../api'\n\nexport const pagePathnameSlice1: PagePathnameSlice = {\n __typename: 'PagePathnameSlice',\n id: 'UGFnZTozOWZkNDcyZS03N2QxLTRjZDItOGE3Yi02ZTQ2MDU3ODgxNzM=',\n pathname: 'about',\n}\n"],"mappings":"AAEO,MAAM,qBAAwC;AAAA,EACnD,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,UAAU;AACZ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/next/components/tests/__fixtures__/resources/swatches.ts"],"sourcesContent":["import { type Swatch } from '../../../../../api'\n\nexport const swatch1: Swatch = {\n __typename: 'Swatch',\n id: 'U3dhdGNoOmUyNmQyMGY3LWNlNmEtNDcwMS04N2U2LWU2ZTM2NzlmMDY4Zg==',\n hue: 360,\n saturation: 97.873924,\n lightness: 52.965,\n}\n"],"mappings":"AAEO,MAAM,UAAkB;AAAA,EAC7B,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,WAAW;AACb;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/next/components/tests/controls/fixtures/rich-text-v2.ts"],"sourcesContent":["import { type RichTextDataV2 } from '../../../../../controls/rich-text-v2'\n\nexport const data = {\n type: 'makeswift::controls::rich-text-v2',\n version: 2,\n descendants: [\n {\n children: [\n { text: '' },\n {\n children: [\n {\n text: 'Adyen',\n typography: {\n id: 'VHlwb2dyYXBoeTowNGI4OTZlMC0wZWEyLTRkMTMtYmU3ZS0xYmY1M2VmMjBiZjc=',\n style: [\n {\n deviceId: 'desktop',\n value: {\n color: {\n alpha: 1,\n swatchId: 'U3dhdGNoOmJkODYxMWM5LTNiZjItNDM3MS1iMmU4LTBmMmNlMDZjNDE1OA==',\n },\n },\n },\n ],\n },\n },\n ],\n link: {\n payload: { openInNewTab: true, url: 'https://www.bigcommerce.com/adyen' },\n type: 'OPEN_URL',\n },\n type: 'link',\n },\n { text: '' },\n ],\n type: 'paragraph',\n },\n {\n children: [\n { text: '' },\n {\n children: [\n {\n text: 'Authorize.net',\n typography: {\n id: 'VHlwb2dyYXBoeTowNGI4OTZlMC0wZWEyLTRkMTMtYmU3ZS0xYmY1M2VmMjBiZjc=',\n style: [\n {\n deviceId: 'desktop',\n value: {\n color: {\n alpha: 1,\n swatchId: 'U3dhdGNoOmJkODYxMWM5LTNiZjItNDM3MS1iMmU4LTBmMmNlMDZjNDE1OA==',\n },\n },\n },\n ],\n },\n },\n ],\n link: {\n payload: { openInNewTab: true, url: 'http://www.authorize.net/' },\n type: 'OPEN_URL',\n },\n type: 'link',\n },\n { text: '' },\n ],\n type: 'paragraph',\n },\n {\n children: [\n { text: '' },\n {\n children: [\n {\n text: 'BlueSnap',\n typography: {\n id: 'VHlwb2dyYXBoeTowNGI4OTZlMC0wZWEyLTRkMTMtYmU3ZS0xYmY1M2VmMjBiZjc=',\n style: [\n {\n deviceId: 'desktop',\n value: {\n color: {\n alpha: 1,\n swatchId: 'U3dhdGNoOmJkODYxMWM5LTNiZjItNDM3MS1iMmU4LTBmMmNlMDZjNDE1OA==',\n },\n },\n },\n ],\n },\n },\n ],\n link: {\n payload: { openInNewTab: true, url: 'https://www.bigcommerce.com/bluesnap/' },\n type: 'OPEN_URL',\n },\n type: 'link',\n },\n { text: '' },\n ],\n type: 'paragraph',\n },\n {\n children: [\n { text: '' },\n {\n children: [\n {\n text: 'Checkout.com',\n typography: {\n id: 'VHlwb2dyYXBoeTowNGI4OTZlMC0wZWEyLTRkMTMtYmU3ZS0xYmY1M2VmMjBiZjc=',\n style: [\n {\n deviceId: 'desktop',\n value: {\n color: {\n alpha: 1,\n swatchId: 'U3dhdGNoOmJkODYxMWM5LTNiZjItNDM3MS1iMmU4LTBmMmNlMDZjNDE1OA==',\n },\n },\n },\n ],\n },\n },\n ],\n link: {\n payload: {\n openInNewTab: true,\n url: 'https://support.bigcommerce.com/s/article/Connecting-with-Checkoutcom/',\n },\n type: 'OPEN_URL',\n },\n type: 'link',\n },\n { text: '' },\n ],\n type: 'paragraph',\n },\n {\n children: [\n { text: '' },\n {\n children: [\n {\n text: 'CyberSource Direct',\n typography: {\n id: 'VHlwb2dyYXBoeTowNGI4OTZlMC0wZWEyLTRkMTMtYmU3ZS0xYmY1M2VmMjBiZjc=',\n style: [\n {\n deviceId: 'desktop',\n value: {\n color: {\n alpha: 1,\n swatchId: 'U3dhdGNoOmJkODYxMWM5LTNiZjItNDM3MS1iMmU4LTBmMmNlMDZjNDE1OA==',\n },\n },\n },\n ],\n },\n },\n ],\n link: {\n payload: { openInNewTab: true, url: 'http://www.cybersource.com/' },\n type: 'OPEN_URL',\n },\n type: 'link',\n },\n { text: '' },\n ],\n type: 'paragraph',\n },\n ],\n key: 'c438a1d3-fee2-4eb4-b49b-f1856c12de42',\n} satisfies RichTextDataV2\n"],"mappings":"AAEO,MAAM,OAAO;AAAA,EAClB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,IACX;AAAA,MACE,UAAU;AAAA,QACR,EAAE,MAAM,GAAG;AAAA,QACX;AAAA,UACE,UAAU;AAAA,YACR;AAAA,cACE,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,IAAI;AAAA,gBACJ,OAAO;AAAA,kBACL;AAAA,oBACE,UAAU;AAAA,oBACV,OAAO;AAAA,sBACL,OAAO;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU;AAAA,sBACZ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ,SAAS,EAAE,cAAc,MAAM,KAAK,oCAAoC;AAAA,YACxE,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,EAAE,MAAM,GAAG;AAAA,MACb;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,EAAE,MAAM,GAAG;AAAA,QACX;AAAA,UACE,UAAU;AAAA,YACR;AAAA,cACE,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,IAAI;AAAA,gBACJ,OAAO;AAAA,kBACL;AAAA,oBACE,UAAU;AAAA,oBACV,OAAO;AAAA,sBACL,OAAO;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU;AAAA,sBACZ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ,SAAS,EAAE,cAAc,MAAM,KAAK,4BAA4B;AAAA,YAChE,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,EAAE,MAAM,GAAG;AAAA,MACb;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,EAAE,MAAM,GAAG;AAAA,QACX;AAAA,UACE,UAAU;AAAA,YACR;AAAA,cACE,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,IAAI;AAAA,gBACJ,OAAO;AAAA,kBACL;AAAA,oBACE,UAAU;AAAA,oBACV,OAAO;AAAA,sBACL,OAAO;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU;AAAA,sBACZ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ,SAAS,EAAE,cAAc,MAAM,KAAK,wCAAwC;AAAA,YAC5E,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,EAAE,MAAM,GAAG;AAAA,MACb;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,EAAE,MAAM,GAAG;AAAA,QACX;AAAA,UACE,UAAU;AAAA,YACR;AAAA,cACE,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,IAAI;AAAA,gBACJ,OAAO;AAAA,kBACL;AAAA,oBACE,UAAU;AAAA,oBACV,OAAO;AAAA,sBACL,OAAO;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU;AAAA,sBACZ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ,SAAS;AAAA,cACP,cAAc;AAAA,cACd,KAAK;AAAA,YACP;AAAA,YACA,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,EAAE,MAAM,GAAG;AAAA,MACb;AAAA,MACA,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,EAAE,MAAM,GAAG;AAAA,QACX;AAAA,UACE,UAAU;AAAA,YACR;AAAA,cACE,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,IAAI;AAAA,gBACJ,OAAO;AAAA,kBACL;AAAA,oBACE,UAAU;AAAA,oBACV,OAAO;AAAA,sBACL,OAAO;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU;AAAA,sBACZ;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA,MAAM;AAAA,YACJ,SAAS,EAAE,cAAc,MAAM,KAAK,8BAA8B;AAAA,YAClE,MAAM;AAAA,UACR;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,EAAE,MAAM,GAAG;AAAA,MACb;AAAA,MACA,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,KAAK;AACP;","names":[]}
@@ -0,0 +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 { renderToReadableStream } from 'react-dom/server'\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/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'\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 streamToString(stream: ReadableStream) {\n const reader = stream.getReader()\n const decoder = new TextDecoder()\n\n let result = ''\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n result += decoder.decode(value, { stream: true })\n }\n\n return result\n}\n\nasync function renderToString(element: ReactNode) {\n return await streamToString(await renderToReadableStream(element))\n}\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\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 }: {\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 },\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 <Testing.ReactProvider runtime={runtime}>{component}</Testing.ReactProvider>\n )\n\n if (!isServer()) {\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 } 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":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/next/components/tests/prop-controllers/page-prop-controller.tsx"],"sourcesContent":["/** @jest-environment jsdom */\n\nimport { render, screen } from '@testing-library/react'\nimport '@testing-library/jest-dom'\n\nimport {\n type OptionsType,\n Types,\n type Descriptor,\n type PropDef,\n type Value,\n} from '@makeswift/prop-controllers'\n\nimport { type ElementData, type ComponentType } from '../../../../state/read-only-state'\nimport { randomUUID } from 'crypto'\n\nimport { Page } from '../../page'\nimport { act } from 'react'\nimport * as Testing from '../../../testing'\n\nexport const pagePropControllerTest = <\n P extends PropDef & ((options?: any) => any),\n C extends ComponentType<{ propKey: Value<P> | undefined }>,\n>(\n propDef: P,\n value: Value<typeof propDef>,\n component: (testId: string) => C,\n assert: (element: HTMLElement) => void,\n options?: OptionsType<P>,\n) =>\n describe('Page', () => {\n test(`can render ${propDef.type} v0 data`, async () => {\n // Arrange\n const descriptorV0: Descriptor<typeof propDef> = {\n type: propDef.type,\n options,\n }\n\n const TestComponentType = 'TestComponent'\n const testId = 'test-id'\n\n const elementData: ElementData = Testing.createRootComponent([\n {\n key: randomUUID(),\n type: TestComponentType,\n props: {\n propKey: propDef.toPropData(value, descriptorV0),\n },\n },\n ])\n const snapshot = Testing.createMakeswiftPageSnapshot(elementData)\n const runtime = Testing.createReactRuntime()\n\n runtime.registerComponent(component(testId), {\n type: TestComponentType,\n label: 'TestComponent',\n props: {\n propKey: propDef(options),\n },\n })\n\n await act(async () =>\n render(\n <Testing.ReactProvider runtime={runtime}>\n <Page snapshot={snapshot} />\n </Testing.ReactProvider>,\n ),\n )\n\n assert(screen.getByTestId(testId))\n })\n\n test(`can render ${propDef.type} v1 data`, async () => {\n // Arrange\n const gapXDefinitionV1: Descriptor<typeof propDef> = {\n type: Types.GapX,\n version: 1,\n options: {},\n }\n\n const TestComponentType = 'TestComponent'\n const testId = 'test-id'\n const elementData: ElementData = Testing.createRootComponent([\n {\n key: randomUUID(),\n type: TestComponentType,\n props: {\n propKey: propDef.toPropData(value, gapXDefinitionV1),\n },\n },\n ])\n const snapshot = Testing.createMakeswiftPageSnapshot(elementData)\n const runtime = Testing.createReactRuntime()\n\n runtime.registerComponent(component(testId), {\n type: TestComponentType,\n label: 'TestComponent',\n props: {\n propKey: propDef(options),\n },\n })\n\n await act(async () =>\n render(\n <Testing.ReactProvider runtime={runtime}>\n <Page snapshot={snapshot} />\n </Testing.ReactProvider>,\n ),\n )\n\n assert(screen.getByTestId(testId))\n })\n })\n"],"mappings":"AAgEY;AA9DZ,SAAS,QAAQ,cAAc;AAC/B,OAAO;AAEP;AAAA,EAEE;AAAA,OAIK;AAGP,SAAS,kBAAkB;AAE3B,SAAS,YAAY;AACrB,SAAS,WAAW;AACpB,YAAY,aAAa;AAElB,MAAM,yBAAyB,CAIpC,SACA,OACA,WACA,QACA,YAEA,SAAS,QAAQ,MAAM;AACrB,OAAK,cAAc,QAAQ,IAAI,YAAY,YAAY;AAErD,UAAM,eAA2C;AAAA,MAC/C,MAAM,QAAQ;AAAA,MACd;AAAA,IACF;AAEA,UAAM,oBAAoB;AAC1B,UAAM,SAAS;AAEf,UAAM,cAA2B,QAAQ,oBAAoB;AAAA,MAC3D;AAAA,QACE,KAAK,WAAW;AAAA,QAChB,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAAS,QAAQ,WAAW,OAAO,YAAY;AAAA,QACjD;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW,QAAQ,4BAA4B,WAAW;AAChE,UAAM,UAAU,QAAQ,mBAAmB;AAE3C,YAAQ,kBAAkB,UAAU,MAAM,GAAG;AAAA,MAC3C,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL,SAAS,QAAQ,OAAO;AAAA,MAC1B;AAAA,IACF,CAAC;AAED,UAAM;AAAA,MAAI,YACR;AAAA,QACE,oBAAC,QAAQ,eAAR,EAAsB,SACrB,8BAAC,QAAK,UAAoB,GAC5B;AAAA,MACF;AAAA,IACF;AAEA,WAAO,OAAO,YAAY,MAAM,CAAC;AAAA,EACnC,CAAC;AAED,OAAK,cAAc,QAAQ,IAAI,YAAY,YAAY;AAErD,UAAM,mBAA+C;AAAA,MACnD,MAAM,MAAM;AAAA,MACZ,SAAS;AAAA,MACT,SAAS,CAAC;AAAA,IACZ;AAEA,UAAM,oBAAoB;AAC1B,UAAM,SAAS;AACf,UAAM,cAA2B,QAAQ,oBAAoB;AAAA,MAC3D;AAAA,QACE,KAAK,WAAW;AAAA,QAChB,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAAS,QAAQ,WAAW,OAAO,gBAAgB;AAAA,QACrD;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,WAAW,QAAQ,4BAA4B,WAAW;AAChE,UAAM,UAAU,QAAQ,mBAAmB;AAE3C,YAAQ,kBAAkB,UAAU,MAAM,GAAG;AAAA,MAC3C,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL,SAAS,QAAQ,OAAO;AAAA,MAC1B;AAAA,IACF,CAAC;AAED,UAAM;AAAA,MAAI,YACR;AAAA,QACE,oBAAC,QAAQ,eAAR,EAAsB,SACrB,8BAAC,QAAK,UAAoB,GAC5B;AAAA,MACF;AAAA,IACF;AAEA,WAAO,OAAO,YAAY,MAAM,CAAC;AAAA,EACnC,CAAC;AACH,CAAC;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/next/hooks/use-router-locale-sync.ts"],"sourcesContent":["import { useRouter as usePagesRouter } from 'next/router'\nimport { P, match } from 'ts-pattern'\nimport { useEffect } from 'react'\n\nimport { setLocale } from '../../state/builder-api/actions'\nimport { useDispatch } from '../../runtimes/react/hooks/use-dispatch'\n\nfunction useRouter() {\n try {\n const router = usePagesRouter()\n\n return router\n } catch (e) {\n return\n }\n}\n\nexport const useRouterLocaleSync = () => {\n const router = useRouter()\n const dispatch = useDispatch()\n\n useEffect(() => {\n match(router)\n .with({ locale: P.string }, ({ locale }) => dispatch(setLocale(new Intl.Locale(locale))))\n .otherwise(() => {})\n }, [router])\n}\n"],"mappings":"AAAA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,GAAG,aAAa;AACzB,SAAS,iBAAiB;AAE1B,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAE5B,SAAS,YAAY;AACnB,MAAI;AACF,UAAM,SAAS,eAAe;AAE9B,WAAO;AAAA,EACT,SAAS,GAAG;AACV;AAAA,EACF;AACF;AAEO,MAAM,sBAAsB,MAAM;AACvC,QAAM,SAAS,UAAU;AACzB,QAAM,WAAW,YAAY;AAE7B,YAAU,MAAM;AACd,UAAM,MAAM,EACT,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,MAAM,SAAS,UAAU,IAAI,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,EACvF,UAAU,MAAM;AAAA,IAAC,CAAC;AAAA,EACvB,GAAG,CAAC,MAAM,CAAC;AACb;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/tests/__fixtures__/resources.ts"],"sourcesContent":["import {\n type Swatch,\n type File,\n type Typography,\n type GlobalElement,\n type LocalizedGlobalElement,\n type PagePathnameSlice,\n type Table,\n} from '../../../api'\n\nexport const swatch: Swatch = {\n __typename: 'Swatch',\n id: '[swatch-id]',\n hue: 123,\n saturation: 45,\n lightness: 67,\n}\n\nexport const file: File = {\n __typename: 'File',\n id: '[file-id]',\n name: 'cat.png',\n extension: 'png',\n publicUrl: 'https://example.com/cat.png',\n dimensions: { width: 100, height: 100 },\n}\n\nexport const typography: Typography = {\n __typename: 'Typography',\n id: '[typography-id]',\n name: 'Title',\n style: [\n {\n deviceId: 'desktop',\n value: {\n fontFamily: 'Inter',\n lineHeight: 1.2,\n letterSpacing: null,\n fontWeight: 700,\n textAlign: null,\n uppercase: null,\n underline: null,\n strikethrough: null,\n italic: null,\n fontSize: { value: 72, unit: 'px' },\n color: null,\n },\n },\n ],\n}\n\nexport const globalElement: GlobalElement = {\n __typename: 'GlobalElement',\n id: '[global-element-id]',\n data: { key: 'value' },\n}\n\nexport const localizedGlobalElement: LocalizedGlobalElement = {\n __typename: 'LocalizedGlobalElement',\n id: '[localized-global-element-id]',\n data: { key: 'localized-value' },\n}\n\nexport const pagePathnameSlice: PagePathnameSlice = {\n __typename: 'PagePathnameSlice',\n id: '[page-pathname-slice-id]',\n pathname: '/example-page',\n}\n\nexport const table: Table = {\n __typename: 'Table',\n id: '[table-id]',\n name: 'Example Table',\n columns: [],\n}\n"],"mappings":"AAUO,MAAM,SAAiB;AAAA,EAC5B,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,WAAW;AACb;AAEO,MAAM,OAAa;AAAA,EACxB,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY,EAAE,OAAO,KAAK,QAAQ,IAAI;AACxC;AAEO,MAAM,aAAyB;AAAA,EACpC,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,MACE,UAAU;AAAA,MACV,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,eAAe;AAAA,QACf,QAAQ;AAAA,QACR,UAAU,EAAE,OAAO,IAAI,MAAM,KAAK;AAAA,QAClC,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEO,MAAM,gBAA+B;AAAA,EAC1C,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,MAAM,EAAE,KAAK,QAAQ;AACvB;AAEO,MAAM,yBAAiD;AAAA,EAC5D,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,MAAM,EAAE,KAAK,kBAAkB;AACjC;AAEO,MAAM,oBAAuC;AAAA,EAClD,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,UAAU;AACZ;AAEO,MAAM,QAAe;AAAA,EAC1B,YAAY;AAAA,EACZ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,SAAS,CAAC;AACZ;","names":[]}