@makeswift/runtime 0.28.6-canary.5 → 0.28.6-canary.6

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 (261) hide show
  1. package/dist/cjs/api/client.js.map +0 -1
  2. package/dist/cjs/api/fragments.js.map +0 -1
  3. package/dist/cjs/api/graphql/client.js.map +0 -1
  4. package/dist/cjs/api/graphql/documents/index.js.map +0 -1
  5. package/dist/cjs/api/index.js.map +0 -1
  6. package/dist/cjs/api/site-version/index.js.map +0 -1
  7. package/dist/cjs/api-handler/cookies.js.map +0 -1
  8. package/dist/cjs/api-handler/cors.js.map +0 -1
  9. package/dist/cjs/api-handler/handlers/element-tree.js.map +0 -1
  10. package/dist/cjs/api-handler/handlers/fonts.js.map +0 -1
  11. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  12. package/dist/cjs/api-handler/handlers/webhook/index.js.map +0 -1
  13. package/dist/cjs/api-handler/index.js.map +0 -1
  14. package/dist/cjs/builder/breakpoints/index.js.map +0 -1
  15. package/dist/cjs/builder/core/index.js.map +0 -1
  16. package/dist/cjs/builder/host-api.js.map +0 -1
  17. package/dist/cjs/builder/host-to-builder-actions.js.map +0 -1
  18. package/dist/cjs/builder/index.js.map +0 -1
  19. package/dist/cjs/builder/unstructured-introspection/__fixtures__/index.js.map +0 -1
  20. package/dist/cjs/builder/unstructured-introspection/index.js.map +0 -1
  21. package/dist/cjs/client/index.js +3 -3
  22. package/dist/cjs/client/index.js.map +0 -1
  23. package/dist/cjs/components/builtin/Box/index.js.map +0 -1
  24. package/dist/cjs/components/builtin/Button/index.js.map +0 -1
  25. package/dist/cjs/components/builtin/Carousel/index.js.map +0 -1
  26. package/dist/cjs/components/builtin/Countdown/index.js.map +0 -1
  27. package/dist/cjs/components/builtin/Divider/index.js.map +0 -1
  28. package/dist/cjs/components/builtin/Embed/index.js.map +0 -1
  29. package/dist/cjs/components/builtin/Form/index.js.map +0 -1
  30. package/dist/cjs/components/builtin/Image/Image.js.map +0 -1
  31. package/dist/cjs/components/builtin/Image/index.js.map +0 -1
  32. package/dist/cjs/components/builtin/Navigation/index.js.map +0 -1
  33. package/dist/cjs/components/builtin/Root/index.js.map +0 -1
  34. package/dist/cjs/components/builtin/Slot/index.js.map +0 -1
  35. package/dist/cjs/components/builtin/SocialLinks/index.js.map +0 -1
  36. package/dist/cjs/components/builtin/Text/index.js.map +0 -1
  37. package/dist/cjs/components/builtin/Video/index.js.map +0 -1
  38. package/dist/cjs/components/builtin/constants.js.map +0 -1
  39. package/dist/cjs/components/hooks/index.js.map +0 -1
  40. package/dist/cjs/components/shared/BackgroundsContainer/index.js.map +0 -1
  41. package/dist/cjs/components/shared/ErrorBoundary.js.map +0 -1
  42. package/dist/cjs/components/shared/FallbackComponent/index.js.map +0 -1
  43. package/dist/cjs/components/shared/GutterContainer/index.js.map +0 -1
  44. package/dist/cjs/components/shared/Link/index.js.map +0 -1
  45. package/dist/cjs/components/shared/grid-item.js.map +0 -1
  46. package/dist/cjs/components/utils/drop-first.js.map +0 -1
  47. package/dist/cjs/controls/control.js.map +0 -1
  48. package/dist/cjs/controls/index.js.map +0 -1
  49. package/dist/cjs/controls/rich-text/index.js.map +0 -1
  50. package/dist/cjs/controls/rich-text-v2/index.js.map +0 -1
  51. package/dist/cjs/controls/serialization/base/index.js.map +0 -1
  52. package/dist/cjs/controls/serialization/index.js.map +0 -1
  53. package/dist/cjs/controls/serialization/message-port/index.js.map +0 -1
  54. package/dist/cjs/controls/style-v2/index.js.map +0 -1
  55. package/dist/cjs/global.d.js.map +0 -1
  56. package/dist/cjs/index.js.map +0 -1
  57. package/dist/cjs/next/api-handler/index.js.map +0 -1
  58. package/dist/cjs/next/client.js.map +0 -1
  59. package/dist/cjs/next/components/framework-provider/app-router/index.js.map +0 -1
  60. package/dist/cjs/next/components/framework-provider/index.js.map +0 -1
  61. package/dist/cjs/next/components/framework-provider/pages-router/index.js.map +0 -1
  62. package/dist/cjs/next/document.js.map +0 -1
  63. package/dist/cjs/next/fetch.js.map +0 -1
  64. package/dist/cjs/next/index.js.map +0 -1
  65. package/dist/cjs/next/middleware/index.js.map +0 -1
  66. package/dist/cjs/next/testing/element-data.js.map +0 -1
  67. package/dist/cjs/next/testing/index.js.map +0 -1
  68. package/dist/cjs/prop-controllers/copy.js.map +0 -1
  69. package/dist/cjs/prop-controllers/deleted.js.map +0 -1
  70. package/dist/cjs/prop-controllers/descriptors.js.map +0 -1
  71. package/dist/cjs/react/builtins/countdown.js.map +0 -1
  72. package/dist/cjs/react/builtins/divider.js.map +0 -1
  73. package/dist/cjs/react/builtins/embed.js.map +0 -1
  74. package/dist/cjs/react/builtins/form.js.map +0 -1
  75. package/dist/cjs/react/builtins/image.js.map +0 -1
  76. package/dist/cjs/react/builtins/index.js.map +0 -1
  77. package/dist/cjs/react/core/index.js.map +0 -1
  78. package/dist/cjs/react/index.js.map +0 -1
  79. package/dist/cjs/runtimes/react/components/index.js.map +0 -1
  80. package/dist/cjs/runtimes/react/components/page/index.js.map +0 -1
  81. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +0 -1
  82. package/dist/cjs/runtimes/react/controls/rich-text/components/Leaf/leaf.js.map +0 -1
  83. package/dist/cjs/runtimes/react/element-imperative-handle.js.map +0 -1
  84. package/dist/cjs/runtimes/react/find-dom-node.js.map +0 -1
  85. package/dist/cjs/runtimes/react/host-api-client.js.map +0 -1
  86. package/dist/cjs/runtimes/react/index.js.map +0 -1
  87. package/dist/cjs/runtimes/react/legacy-controls.js.map +0 -1
  88. package/dist/cjs/slate/BlockPlugin/indent.js.map +0 -1
  89. package/dist/cjs/slate/BlockPlugin/index.js.map +0 -1
  90. package/dist/cjs/slate/BuilderPlugin/index.js.map +0 -1
  91. package/dist/cjs/slate/InlineModePlugin/index.js.map +0 -1
  92. package/dist/cjs/slate/InlinePlugin/getValue.js.map +0 -1
  93. package/dist/cjs/slate/InlinePlugin/index.js.map +0 -1
  94. package/dist/cjs/slate/LinkPlugin/getValue.js.map +0 -1
  95. package/dist/cjs/slate/LinkPlugin/index.js.map +0 -1
  96. package/dist/cjs/slate/LocalChangesPlugin/index.js.map +0 -1
  97. package/dist/cjs/slate/TextAlignPlugin/getValue.js.map +0 -1
  98. package/dist/cjs/slate/TextAlignPlugin/index.js.map +0 -1
  99. package/dist/cjs/slate/TypographyPlugin/getValue.js.map +0 -1
  100. package/dist/cjs/slate/TypographyPlugin/index.js.map +0 -1
  101. package/dist/cjs/slate/index.js.map +0 -1
  102. package/dist/cjs/slate/utils/editor.js.map +0 -1
  103. package/dist/cjs/slate/utils/element.js.map +0 -1
  104. package/dist/cjs/slate/utils/filterForSubtreeRoots.js.map +0 -1
  105. package/dist/cjs/slate/utils/index.js.map +0 -1
  106. package/dist/cjs/state/actions/index.js.map +0 -1
  107. package/dist/cjs/state/actions/internal/index.js.map +0 -1
  108. package/dist/cjs/state/host-api.js.map +0 -1
  109. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +0 -1
  110. package/dist/cjs/state/middleware/read-write/index.js.map +0 -1
  111. package/dist/cjs/state/modules/element-trees.js.map +0 -1
  112. package/dist/cjs/state/modules/is-in-builder.js.map +0 -1
  113. package/dist/cjs/state/modules/is-read-only.js.map +0 -1
  114. package/dist/cjs/testing/fixtures.js.map +0 -1
  115. package/dist/cjs/translations/index.js.map +0 -1
  116. package/dist/cjs/unstable-framework-support/index.js.map +0 -1
  117. package/dist/cjs/utils/deepEqual.js.map +0 -1
  118. package/dist/cjs/utils/deferred.js.map +0 -1
  119. package/dist/cjs/utils/deterministic-uuid.js.map +0 -1
  120. package/dist/cjs/utils/esm-compat.js.map +0 -1
  121. package/dist/cjs/utils/is-server.js.map +0 -1
  122. package/dist/cjs/utils/isNonNullable.js.map +0 -1
  123. package/dist/esm/api/graphql/documents/queries.js.map +0 -1
  124. package/dist/esm/api/graphql/generated/types.js.map +0 -1
  125. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  126. package/dist/esm/api-handler/handlers/webhook/site-published.js.map +0 -1
  127. package/dist/esm/api-handler/handlers/webhook/types.js.map +0 -1
  128. package/dist/esm/client/index.js +3 -3
  129. package/dist/esm/components/builtin/Box/register.js.map +0 -1
  130. package/dist/esm/components/builtin/Button/register.js.map +0 -1
  131. package/dist/esm/components/builtin/Carousel/register.js.map +0 -1
  132. package/dist/esm/components/builtin/Countdown/register.js.map +0 -1
  133. package/dist/esm/components/builtin/Divider/register.js.map +0 -1
  134. package/dist/esm/components/builtin/Embed/register.js.map +0 -1
  135. package/dist/esm/components/builtin/Form/components/Field/services/responsiveField.js.map +0 -1
  136. package/dist/esm/components/builtin/Form/register.js.map +0 -1
  137. package/dist/esm/components/builtin/Form/types.js.map +0 -1
  138. package/dist/esm/components/builtin/Image/register.js.map +0 -1
  139. package/dist/esm/components/builtin/Navigation/register.js.map +0 -1
  140. package/dist/esm/components/builtin/Root/Root.js.map +0 -1
  141. package/dist/esm/components/builtin/Root/register.js.map +0 -1
  142. package/dist/esm/components/builtin/Slot/Slot.js.map +0 -1
  143. package/dist/esm/components/builtin/Slot/register.js.map +0 -1
  144. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +0 -1
  145. package/dist/esm/components/builtin/SocialLinks/options.js.map +0 -1
  146. package/dist/esm/components/builtin/SocialLinks/register.js.map +0 -1
  147. package/dist/esm/components/builtin/Text/Text.js.map +0 -1
  148. package/dist/esm/components/builtin/Text/register.js.map +0 -1
  149. package/dist/esm/components/builtin/Video/Video.js +0 -49
  150. package/dist/esm/components/builtin/Video/Video.js.map +0 -1
  151. package/dist/esm/components/builtin/Video/register.js.map +0 -1
  152. package/dist/esm/components/hooks/useTableFormFieldsPropControllerData.js +0 -10
  153. package/dist/esm/components/hooks/useTablePropControllerData.js +0 -12
  154. package/dist/esm/components/hooks/useTextAreaPropControllerData.js +0 -12
  155. package/dist/esm/components/hooks/useTextInputPropControllerData.js +0 -10
  156. package/dist/esm/components/hooks/useTextStylePropControllerData.js +0 -12
  157. package/dist/esm/components/hooks/useVideoPropControllerData.js +0 -12
  158. package/dist/esm/components/icons/Warning20.js +0 -15
  159. package/dist/esm/controls/rich-text-v2/translations/merge-translations.js.map +0 -1
  160. package/dist/esm/controls/rich-text-v2/translations/translations-core.js.map +0 -1
  161. package/dist/esm/controls/serialization/base/visitor.js +0 -39
  162. package/dist/esm/controls/serialization/base/visitor.js.map +0 -1
  163. package/dist/esm/controls/serialization/message-port/visitor.js +0 -24
  164. package/dist/esm/controls/serialization/message-port/visitor.js.map +0 -1
  165. package/dist/esm/next/api-handler/config/pages-router.js.map +0 -1
  166. package/dist/esm/next/api-handler/handlers/pages-router-redirect-preview.js.map +0 -1
  167. package/dist/esm/next/components/tests/__fixtures__/page-document.js.map +0 -1
  168. package/dist/esm/next/components/tests/__fixtures__/resources/page-pathname-slices.js.map +0 -1
  169. package/dist/esm/next/components/tests/__fixtures__/resources/swatches.js.map +0 -1
  170. package/dist/esm/next/components/tests/controls/fixtures/rich-text-v2.js.map +0 -1
  171. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +0 -1
  172. package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +0 -1
  173. package/dist/esm/next/hooks/use-router-locale-sync.js.map +0 -1
  174. package/dist/esm/next/tests/__fixtures__/resources.js.map +0 -1
  175. package/dist/esm/next/tests/__fixtures__/translated-data.js.map +0 -1
  176. package/dist/esm/react/builtins/video.js +0 -7
  177. package/dist/esm/react/builtins/video.js.map +0 -1
  178. package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +0 -1
  179. package/dist/esm/runtimes/react/components/MakeswiftFonts.js.map +0 -1
  180. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +0 -1
  181. package/dist/esm/runtimes/react/components/Slot.js.map +0 -1
  182. package/dist/esm/runtimes/react/components/SlotProvider.js.map +0 -1
  183. package/dist/esm/runtimes/react/components/hooks/use-framework-context.js.map +0 -1
  184. package/dist/esm/runtimes/react/components/hooks/use-page-snippets.js.map +0 -1
  185. package/dist/esm/runtimes/react/components/page/Page.js.map +0 -1
  186. package/dist/esm/runtimes/react/components/page/PageHead.js.map +0 -1
  187. package/dist/esm/runtimes/react/components/page/page-seo-settings.js.map +0 -1
  188. package/dist/esm/runtimes/react/components/preview-switcher/preview-switcher.js.map +0 -1
  189. package/dist/esm/runtimes/react/components/preview-switcher/preview-toolbar.js.map +0 -1
  190. package/dist/esm/runtimes/react/components/render-hook.js.map +0 -1
  191. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.js +0 -39
  192. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.js.map +0 -1
  193. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +0 -35
  194. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +0 -1
  195. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +0 -1
  196. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +0 -1
  197. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +0 -1
  198. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +0 -1
  199. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +0 -1
  200. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +0 -1
  201. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useSyncDOMSelection.js +0 -39
  202. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useSyncDOMSelection.js.map +0 -1
  203. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +0 -1
  204. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +0 -1
  205. package/dist/esm/runtimes/react/controls/slot.js.map +0 -1
  206. package/dist/esm/runtimes/react/controls/style.js.map +0 -1
  207. package/dist/esm/runtimes/react/controls/typography.js.map +0 -1
  208. package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +0 -1
  209. package/dist/esm/runtimes/react/hooks/use-async-effect.js.map +0 -1
  210. package/dist/esm/runtimes/react/hooks/use-breakpoints.js.map +0 -1
  211. package/dist/esm/runtimes/react/hooks/use-builtin-suspense.js.map +0 -1
  212. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +0 -1
  213. package/dist/esm/runtimes/react/hooks/use-component.js.map +0 -1
  214. package/dist/esm/runtimes/react/hooks/use-css-id.js.map +0 -1
  215. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js.map +0 -1
  216. package/dist/esm/runtimes/react/hooks/use-disable-register-element.js.map +0 -1
  217. package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +0 -1
  218. package/dist/esm/runtimes/react/hooks/use-document-context.js.map +0 -1
  219. package/dist/esm/runtimes/react/hooks/use-document-cycles.js.map +0 -1
  220. package/dist/esm/runtimes/react/hooks/use-document.js.map +0 -1
  221. package/dist/esm/runtimes/react/hooks/use-element-id.js.map +0 -1
  222. package/dist/esm/runtimes/react/hooks/use-is-in-builder.js.map +0 -1
  223. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +0 -1
  224. package/dist/esm/runtimes/react/hooks/use-react-runtime.js.map +0 -1
  225. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +0 -1
  226. package/dist/esm/runtimes/react/hooks/use-resolvable-record.js.map +0 -1
  227. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +0 -1
  228. package/dist/esm/runtimes/react/hooks/use-resolved-value.js.map +0 -1
  229. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +0 -1
  230. package/dist/esm/runtimes/react/hooks/use-selector.js.map +0 -1
  231. package/dist/esm/runtimes/react/hooks/use-store.js.map +0 -1
  232. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +0 -1
  233. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +0 -1
  234. package/dist/esm/runtimes/react/lib/react-dom.js.map +0 -1
  235. package/dist/esm/runtimes/react/testing/react-runtime.js.map +0 -1
  236. package/dist/esm/runtimes/react/use-global-style.js.map +0 -1
  237. package/dist/esm/runtimes/react/use-style.js.map +0 -1
  238. package/dist/esm/runtimes/react/utils/prop-error-handling-proxy.js.map +0 -1
  239. package/dist/esm/runtimes/react/utils/suppress-ref-warning.js.map +0 -1
  240. package/dist/esm/slate/BlockPlugin/utils/location.js.map +0 -1
  241. package/dist/esm/slate/BlockPlugin/wrapInline.js +0 -12
  242. package/dist/esm/slate/BlockPlugin/wrapInline.js.map +0 -1
  243. package/dist/esm/slate/BlockPlugin/wrapList.js +0 -44
  244. package/dist/esm/slate/BlockPlugin/wrapList.js.map +0 -1
  245. package/dist/esm/slate/utils/responsive.js.map +0 -1
  246. package/dist/esm/slate/utils/toText.js.map +0 -1
  247. package/dist/esm/slate/utils/unhangRange.js.map +0 -1
  248. package/dist/esm/state/actions/internal/read-only-actions.js.map +0 -1
  249. package/dist/esm/state/actions/internal/read-write-actions.js.map +0 -1
  250. package/dist/esm/state/builder-api/proxy.js.map +0 -1
  251. package/dist/esm/state/middleware/read-only-element-tree.js.map +0 -1
  252. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +0 -1
  253. package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +0 -1
  254. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +0 -1
  255. package/dist/esm/state/modules/prop-controllers.js.map +0 -1
  256. package/dist/esm/state/modules/react-components.js.map +0 -1
  257. package/dist/esm/state/modules/read-only-documents.js.map +0 -1
  258. package/dist/esm/state/modules/read-write/pointer.js.map +0 -1
  259. package/dist/esm/state/modules/read-write/read-write-documents.js.map +0 -1
  260. package/dist/esm/state/modules/site-version.js.map +0 -1
  261. package/package.json +3 -3
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/next/api-handler/index.ts"],"sourcesContent":["import { match } from 'ts-pattern'\n\nimport { Makeswift as MakeswiftClient } from '../client'\n\nimport { type ApiHandlerUserConfig, createApiHandler } from '../../api-handler'\n\nimport * as AppRouter from './config/app-router'\nimport * as PagesRouter from './config/pages-router'\n\n/**\n * @deprecated This type is deprecated and will be removed in a future release.\n */\nexport type MakeswiftApiHandlerResponse = any\n\ntype ApiHandlerArgs = AppRouter.ApiHandlerArgs | PagesRouter.ApiHandlerArgs\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n { runtime, ...userConfig }: ApiHandlerUserConfig,\n): (...args: ApiHandlerArgs) => Promise<Response> | Promise<void> {\n const client = new MakeswiftClient(apiKey, { runtime })\n\n async function handler(...args: ApiHandlerArgs): Promise<Response | void> {\n const { req, route, sendResponse, customRoutes, ...handlerConfig } = await match(args)\n .with(AppRouter.argsPattern, ([req, context]) => AppRouter.config({ req, context, client }))\n .with(PagesRouter.argsPattern, ([req, res]) => PagesRouter.config({ req, res, client }))\n .exhaustive()\n\n const apiHandler = createApiHandler(apiKey, {\n ...userConfig,\n ...handlerConfig,\n runtime,\n client,\n })\n\n const customRouteResponse = await customRoutes(route)\n if (customRouteResponse) {\n return customRouteResponse.res\n }\n\n return sendResponse(await apiHandler(req, route))\n }\n\n // Next 15.5.0 performs type validations on the API handler. It expects a\n // return type of void | Promise<void> | Response | Promise<Response>, but\n // Typescript will not allow you to define an async function that returns a\n // union of two different Promises:\n\n // The return type of an async function or method must be the global\n // Promise<T> type. Did you mean to write 'Promise<void | Response>'?\n\n // This cast converts our handler's Promise<Response | void> return type to\n // Promise<Response> | Promise<void> to satisfy Next.js validations and bypass\n // the Typescript restriction. Ultimately, the value of the resolved type is\n // the same (Response | void).\n return handler as (...args: ApiHandlerArgs) => Promise<Response> | Promise<void>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AAEtB,oBAA6C;AAE7C,yBAA4D;AAE5D,gBAA2B;AAC3B,kBAA6B;AAStB,SAAS,oBACd,QACA,EAAE,SAAS,GAAG,WAAW,GACuC;AAChE,QAAM,SAAS,IAAI,cAAAA,UAAgB,QAAQ,EAAE,QAAQ,CAAC;AAEtD,iBAAe,WAAW,MAAgD;AACxE,UAAM,EAAE,KAAK,OAAO,cAAc,cAAc,GAAG,cAAc,IAAI,UAAM,yBAAM,IAAI,EAClF,KAAK,UAAU,aAAa,CAAC,CAACC,MAAK,OAAO,MAAM,UAAU,OAAO,EAAE,KAAAA,MAAK,SAAS,OAAO,CAAC,CAAC,EAC1F,KAAK,YAAY,aAAa,CAAC,CAACA,MAAK,GAAG,MAAM,YAAY,OAAO,EAAE,KAAAA,MAAK,KAAK,OAAO,CAAC,CAAC,EACtF,WAAW;AAEd,UAAM,iBAAa,qCAAiB,QAAQ;AAAA,MAC1C,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,sBAAsB,MAAM,aAAa,KAAK;AACpD,QAAI,qBAAqB;AACvB,aAAO,oBAAoB;AAAA,IAC7B;AAEA,WAAO,aAAa,MAAM,WAAW,KAAK,KAAK,CAAC;AAAA,EAClD;AAcA,SAAO;AACT;","names":["MakeswiftClient","req"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/next/client.ts"],"sourcesContent":["import { PreviewData } from 'next'\nimport { z } from 'zod'\n\nimport { deserializeSiteVersion, type SiteVersion } from '../api/site-version'\n\nimport { MakeswiftClient } from '../client'\nimport { MAKESWIFT_CACHE_TAG } from './cache'\n\nconst previewDataSchema = z.object({\n siteVersion: z.string(),\n})\n\nexport class Makeswift extends MakeswiftClient {\n static getSiteVersion(previewData: PreviewData): SiteVersion | null {\n const parsedSiteVersion = previewDataSchema.safeParse(previewData)\n if (!parsedSiteVersion.success) return null\n\n return deserializeSiteVersion(parsedSiteVersion.data.siteVersion)\n }\n\n static getPreviewMode(previewData: PreviewData): boolean {\n return this.getSiteVersion(previewData) != null\n }\n\n fetchOptions(_siteVersion: SiteVersion): Record<string, unknown> {\n return {\n next: {\n tags: [MAKESWIFT_CACHE_TAG],\n },\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAAkB;AAElB,0BAAyD;AAEzD,oBAAgC;AAChC,mBAAoC;AAEpC,MAAM,oBAAoB,aAAE,OAAO;AAAA,EACjC,aAAa,aAAE,OAAO;AACxB,CAAC;AAEM,MAAM,kBAAkB,8BAAgB;AAAA,EAC7C,OAAO,eAAe,aAA8C;AAClE,UAAM,oBAAoB,kBAAkB,UAAU,WAAW;AACjE,QAAI,CAAC,kBAAkB;AAAS,aAAO;AAEvC,eAAO,4CAAuB,kBAAkB,KAAK,WAAW;AAAA,EAClE;AAAA,EAEA,OAAO,eAAe,aAAmC;AACvD,WAAO,KAAK,eAAe,WAAW,KAAK;AAAA,EAC7C;AAAA,EAEA,aAAa,cAAoD;AAC/D,WAAO;AAAA,MACL,MAAM;AAAA,QACJ,MAAM,CAAC,gCAAmB;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/index.ts"],"sourcesContent":["import {\n type FrameworkContext,\n DefaultHead,\n} from '../../../../runtimes/react/components/framework-context'\n\nimport { HeadSnippet } from './HeadSnippet'\n\nexport const context: Pick<FrameworkContext, 'Head' | 'HeadSnippet'> = {\n // The App Router uses built-in React Canary releases, which include all stable\n // React 19 features, so we can simply use our default head implementation\n Head: DefaultHead,\n HeadSnippet,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAGO;AAEP,yBAA4B;AAErB,MAAM,UAA0D;AAAA;AAAA;AAAA,EAGrE,MAAM;AAAA,EACN;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/next/components/framework-provider/index.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useMemo } from 'react'\nimport NextImage from 'next/image'\n\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\nimport { FrameworkContext } from '../../../runtimes/react/components/framework-context'\n\nimport { context as appRouterContext } from './app-router'\nimport { context as pagesRouterContext } from './pages-router'\nimport { Link } from './link'\n\nexport function FrameworkProvider({\n children,\n forcePagesRouter,\n}: PropsWithChildren<{ forcePagesRouter?: boolean }>) {\n const isPagesRouter = useIsPagesRouter() || forcePagesRouter\n const context = useMemo<FrameworkContext>(\n () => ({\n ...(isPagesRouter ? pagesRouterContext : appRouterContext),\n Image: NextImage,\n Link,\n }),\n [isPagesRouter],\n )\n\n return <FrameworkContext.Provider value={context}>{children}</FrameworkContext.Provider>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BS;AAxBT,mBAAgD;AAChD,mBAAsB;AAEtB,iCAAiC;AACjC,+BAAiC;AAEjC,wBAA4C;AAC5C,0BAA8C;AAC9C,kBAAqB;AAEd,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,oBAAgB,6CAAiB,KAAK;AAC5C,QAAM,cAAU;AAAA,IACd,OAAO;AAAA,MACL,GAAI,gBAAgB,oBAAAA,UAAqB,kBAAAC;AAAA,MACzC,OAAO,aAAAC;AAAA,MACP;AAAA,IACF;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,SAAO,4CAAC,0CAAiB,UAAjB,EAA0B,OAAO,SAAU,UAAS;AAC9D;","names":["pagesRouterContext","appRouterContext","NextImage"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/index.tsx"],"sourcesContent":["import Head from 'next/head'\n\nimport { type FrameworkContext } from '../../../../runtimes/react/components/framework-context'\n\nimport { HeadSnippet } from './HeadSnippet'\n\nexport const context: Pick<FrameworkContext, 'Head' | 'HeadSnippet'> = {\n Head,\n HeadSnippet,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AAIjB,yBAA4B;AAErB,MAAM,UAA0D;AAAA,EACrE,kBAAAA;AAAA,EACA;AACF;","names":["Head"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/next/document.tsx"],"sourcesContent":["'use client'\n\nimport { cache } from '@emotion/css'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport NextDocument, {\n DocumentContext,\n DocumentInitialProps,\n Head,\n Html,\n Main,\n NextScript,\n} from 'next/document'\n\nimport { StyleTagSSR } from '../runtimes/react/root-style-registry'\n\nexport class Document extends NextDocument {\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const initialProps = await NextDocument.getInitialProps(ctx)\n\n const { extractCritical } = createEmotionServer(cache)\n const { ids, css } = extractCritical(initialProps.html)\n\n return {\n ...initialProps,\n styles: (\n <>\n {initialProps.styles}\n <StyleTagSSR cacheKey={cache.key} classNames={ids} css={css} />\n </>\n ),\n }\n }\n\n render() {\n return (\n <Html>\n <Head />\n <body>\n <Main />\n <NextScript />\n </body>\n </Html>\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBQ;AAvBR,iBAAsB;AACtB,6BAAgC;AAChC,sBAOO;AAEP,iCAA4B;AAErB,MAAM,iBAAiB,gBAAAA,QAAa;AAAA,EACzC,aAAa,gBAAgB,KAAqD;AAChF,UAAM,eAAe,MAAM,gBAAAA,QAAa,gBAAgB,GAAG;AAE3D,UAAM,EAAE,gBAAgB,QAAI,uBAAAC,SAAoB,gBAAK;AACrD,UAAM,EAAE,KAAK,IAAI,IAAI,gBAAgB,aAAa,IAAI;AAEtD,WAAO;AAAA,MACL,GAAG;AAAA,MACH,QACE,4EACG;AAAA,qBAAa;AAAA,QACd,4CAAC,0CAAY,UAAU,iBAAM,KAAK,YAAY,KAAK,KAAU;AAAA,SAC/D;AAAA,IAEJ;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WACE,6CAAC,wBACC;AAAA,kDAAC,wBAAK;AAAA,MACN,6CAAC,UACC;AAAA,oDAAC,wBAAK;AAAA,QACN,4CAAC,8BAAW;AAAA,SACd;AAAA,OACF;AAAA,EAEJ;AACF;","names":["NextDocument","createEmotionServer"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/next/fetch.ts"],"sourcesContent":["import { type HttpFetch } from '../state/makeswift-api-client'\n\nimport { MAKESWIFT_CACHE_TAG } from './cache'\n\nexport const fetch: HttpFetch = (url, init) =>\n globalThis.fetch(url, { ...init, next: { tags: [MAKESWIFT_CACHE_TAG] } })\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAoC;AAE7B,MAAM,QAAmB,CAAC,KAAK,SACpC,WAAW,MAAM,KAAK,EAAE,GAAG,MAAM,MAAM,EAAE,MAAM,CAAC,gCAAmB,EAAE,EAAE,CAAC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/next/index.tsx"],"sourcesContent":["export type { PageProps } from './components/page'\nexport { Page } from './components/page'\nexport { MakeswiftComponent } from '../runtimes/react/components/MakeswiftComponent'\nexport { Slot } from '../runtimes/react/components/Slot'\nexport type {\n MakeswiftPage,\n MakeswiftPageDocument,\n MakeswiftPageSnapshot,\n Sitemap,\n} from '../client'\nexport { Makeswift } from './client'\nexport { type SiteVersion } from '../api/site-version'\nexport { NextRootStyleRegistry as RootStyleRegistry } from './root-style-registry'\nexport { NextRuntimeProvider as ReactRuntimeProvider } from './runtime-provider'\nexport { NextReactRuntime as ReactRuntime } from './runtime'\nexport { fetch } from './fetch'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAqB;AACrB,gCAAmC;AACnC,kBAAqB;AAOrB,oBAA0B;AAE1B,iCAA2D;AAC3D,8BAA4D;AAC5D,qBAAiD;AACjD,mBAAsB;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/next/middleware/index.ts"],"sourcesContent":["export { isDraftModeRequest as unstable_isDraftModeRequest } from './request-utils'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAkE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/next/testing/element-data.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\n\nimport {\n type MakeswiftPageSnapshot,\n type MakeswiftPageDocument,\n type MakeswiftComponentSnapshot,\n} from '../../client'\nimport { CacheData } from '../../api/client'\nimport { type ElementData } from '../../state/read-only-state'\nimport { MakeswiftComponentType } from '../../components/builtin/constants'\n\nexport function createRootComponent(elements: ElementData[], rootId?: string) {\n return {\n key: rootId ?? randomUUID(),\n type: MakeswiftComponentType.Root,\n props: {\n children: {\n columns: [\n {\n deviceId: 'desktop',\n value: {\n count: 12,\n spans: elements?.map(() => [12]),\n },\n },\n ],\n elements,\n },\n },\n }\n}\n\nconst isDocument = (\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n): elementDataOrDocument is MakeswiftPageDocument =>\n 'snippets' in elementDataOrDocument ||\n 'fonts' in elementDataOrDocument ||\n 'meta' in elementDataOrDocument ||\n 'seo' in elementDataOrDocument\n\nexport function createMakeswiftPageSnapshot(\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftPageSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftPageSnapshot {\n return {\n document: isDocument(elementDataOrDocument)\n ? elementDataOrDocument\n : {\n id: 'test-page-id',\n site: { id: 'test-site-id' },\n data: elementDataOrDocument,\n snippets: [],\n fonts: [],\n meta: {},\n seo: {},\n localizedPages: [],\n locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n\nexport function createMakeswiftComponentSnapshot(\n elementData: ElementData | null,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftComponentSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftComponentSnapshot {\n return {\n key: randomUUID(),\n document: {\n id: 'test-component-id',\n name: 'Test Component Document',\n siteId: 'test-site-id',\n data: elementData,\n inheritsFromParent: false,\n locale,\n },\n meta: {\n allowLocaleFallback: false,\n requestedLocale: locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAO3B,IAAAA,iBAA0B;AAE1B,uBAAuC;AAEhC,SAAS,oBAAoB,UAAyB,QAAiB;AAC5E,SAAO;AAAA,IACL,KAAK,cAAU,0BAAW;AAAA,IAC1B,MAAM,wCAAuB;AAAA,IAC7B,OAAO;AAAA,MACL,UAAU;AAAA,QACR,SAAS;AAAA,UACP;AAAA,YACE,UAAU;AAAA,YACV,OAAO;AAAA,cACL,OAAO;AAAA,cACP,OAAO,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,aAAa,CACjB,0BAEA,cAAc,yBACd,WAAW,yBACX,UAAU,yBACV,SAAS;AAEJ,SAAS,4BACd,uBACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAAyF,CAAC,GACnE;AACvB,SAAO;AAAA,IACL,UAAU,WAAW,qBAAqB,IACtC,wBACA;AAAA,MACE,IAAI;AAAA,MACJ,MAAM,EAAE,IAAI,eAAe;AAAA,MAC3B,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,OAAO,CAAC;AAAA,MACR,MAAM,CAAC;AAAA,MACP,KAAK,CAAC;AAAA,MACN,gBAAgB,CAAC;AAAA,MACjB;AAAA,IACF;AAAA,IACJ,WAAW;AAAA,MACT,GAAG,yBAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,iCACd,aACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAA8F,CAAC,GACnE;AAC5B,SAAO;AAAA,IACL,SAAK,0BAAW;AAAA,IAChB,UAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,oBAAoB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,MACT,GAAG,yBAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;","names":["import_client"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/next/testing/index.ts"],"sourcesContent":["export * from './breakpoints'\nexport * from './element-data'\nexport * from './react-provider'\nexport * from './react-runtime'\nexport * from './page-rendering'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,0BAAd;AACA,4BAAc,2BADd;AAEA,4BAAc,6BAFd;AAGA,4BAAc,4BAHd;AAIA,4BAAc,6BAJd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/prop-controllers/copy.ts"],"sourcesContent":["import { type CopyContext } from '@makeswift/controls'\n\nimport {\n copyLinkPropControllerData,\n copyShadowsPropControllerData,\n copyBorderPropControllerData,\n copyElementIDPropControllerData,\n copyGridPropControllerData,\n copyImagePropControllerData,\n copyImagesPropControllerData,\n copyBackgroundsPropControllerData,\n copyResponsiveColorPropControllerData,\n copyTablePropControllerData,\n copyTableFormFieldsPropControllerData,\n copyNavigationLinksPropControllerData,\n Types as PropControllerTypes,\n} from '@makeswift/prop-controllers'\n\nimport { isLegacyDescriptor, type Descriptor } from './descriptors'\n\n// @note: note typing value, because would then have to type narrow `Data` per case\nexport function copy(descriptor: Descriptor, value: any, context: CopyContext) {\n if (!isLegacyDescriptor(descriptor)) {\n return descriptor.copyData(value, context)\n }\n\n switch (descriptor.type) {\n case PropControllerTypes.Backgrounds:\n return copyBackgroundsPropControllerData(descriptor, value, context)\n\n case PropControllerTypes.Grid:\n return copyGridPropControllerData(value, context)\n\n case PropControllerTypes.NavigationLinks:\n return copyNavigationLinksPropControllerData(value, context)\n\n case PropControllerTypes.Link:\n return copyLinkPropControllerData(value, context)\n\n case PropControllerTypes.Shadows:\n return copyShadowsPropControllerData(value, context)\n\n case PropControllerTypes.Image:\n return copyImagePropControllerData(value, context)\n\n case PropControllerTypes.Images:\n return copyImagesPropControllerData(value, context)\n\n case PropControllerTypes.ResponsiveColor:\n return copyResponsiveColorPropControllerData(value, context)\n\n case PropControllerTypes.TableFormFields:\n return copyTableFormFieldsPropControllerData(value, context)\n\n case PropControllerTypes.Table:\n return copyTablePropControllerData(value, context)\n\n case PropControllerTypes.Border:\n return copyBorderPropControllerData(value, context)\n\n case PropControllerTypes.ElementID:\n return copyElementIDPropControllerData(value, context)\n\n // FIXME: DELETED_PROP_CONTROLLER_TYPES.RichText ??\n\n default:\n return value\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,8BAcO;AAEP,yBAAoD;AAG7C,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,MAAI,KAAC,uCAAmB,UAAU,GAAG;AACnC,WAAO,WAAW,SAAS,OAAO,OAAO;AAAA,EAC3C;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,2DAAkC,YAAY,OAAO,OAAO;AAAA,IAErE,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,oDAA2B,OAAO,OAAO;AAAA,IAElD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,+DAAsC,OAAO,OAAO;AAAA,IAE7D,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,oDAA2B,OAAO,OAAO;AAAA,IAElD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,uDAA8B,OAAO,OAAO;AAAA,IAErD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,qDAA4B,OAAO,OAAO;AAAA,IAEnD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,sDAA6B,OAAO,OAAO;AAAA,IAEpD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,+DAAsC,OAAO,OAAO;AAAA,IAE7D,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,+DAAsC,OAAO,OAAO;AAAA,IAE7D,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,qDAA4B,OAAO,OAAO;AAAA,IAEnD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,sDAA6B,OAAO,OAAO;AAAA,IAEpD,KAAK,wBAAAA,MAAoB;AACvB,iBAAO,yDAAgC,OAAO,OAAO;AAAA,IAIvD;AACE,aAAO;AAAA,EACX;AACF;","names":["PropControllerTypes"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/prop-controllers/deleted.ts"],"sourcesContent":["import { type RichTextValue } from '@makeswift/controls'\nimport { Data, DescriptorValueType, PanelDescriptor } from './descriptors'\n\nexport const DELETED_PROP_CONTROLLER_TYPES = {\n List: 'List',\n RichText: 'RichText',\n Shape: 'Shape',\n Typeahead: 'Typeahead',\n} as const\n\nexport type DeletedPropControllerDescriptor<T extends Data = Data> =\n | ListDescriptor<T extends ListValue ? T : ListValue>\n | RichTextDescriptor<T>\n | ShapeDescriptor<T extends ShapeValue ? T : ShapeValue, any>\n | TypeaheadDescriptor<T extends TypeaheadValue ? T : TypeaheadValue>\n\ntype ListValueItem<T extends Data> = { id: string; value?: T }\n\nexport type ListValue<T extends Data = Data> = ListValueItem<T>[]\n\nexport type ListOptions<T extends Data> = {\n type: PanelDescriptor<T>\n label?: string\n getItemLabel?: ((value: T | undefined) => string) | ((value: T | undefined) => Promise<string>)\n preset?: ListValue<T>\n defaultValue?: ListValue<T>\n}\n\nexport type ListDescriptor<T extends ListValue = ListValue> = {\n type: typeof DELETED_PROP_CONTROLLER_TYPES.List\n options: ListOptions<T extends ListValue<infer U> ? U : never>\n}\n\nexport type RichTextOptions = { preset?: RichTextValue }\n\nexport type RichTextDescriptor<_T extends Data = RichTextValue> = {\n type: typeof DELETED_PROP_CONTROLLER_TYPES.RichText\n options: RichTextOptions\n}\n\nexport type ShapeValue<T extends Data = Data> = Record<string, T>\n\ntype ShapeOptions<T extends Record<string, PanelDescriptor>> = {\n type: T\n preset?: { [K in keyof T]?: DescriptorValueType<T[K]> }\n}\n\nexport type ShapeDescriptor<\n _T extends Record<string, Data>,\n U extends Record<string, PanelDescriptor>,\n> = {\n type: typeof DELETED_PROP_CONTROLLER_TYPES.Shape\n options: ShapeOptions<U>\n}\n\nexport type TypeaheadValue<T extends Data = Data> = {\n id: string\n label: string\n value: T\n}\n\nexport type TypeaheadOptions<T extends Data> = {\n getItems: (query: string) => Promise<TypeaheadValue<T>[]>\n label?: string\n preset?: TypeaheadValue<T>\n defaultValue?: TypeaheadValue<T>\n}\n\nexport type TypeaheadDescriptor<T extends TypeaheadValue = TypeaheadValue> = {\n type: typeof DELETED_PROP_CONTROLLER_TYPES.Typeahead\n options: TypeaheadOptions<T extends TypeaheadValue<infer U> ? U : never>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,gCAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AACb;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/prop-controllers/descriptors.ts"],"sourcesContent":["import {\n type ResolvedValueType,\n ControlDefinition as UnifiedControlDefinition,\n} from '@makeswift/controls'\n\nimport { type ResponsiveColor } from '../components/utils/types'\nimport type { Data } from '../state/read-only-state'\nimport {\n BorderDescriptor,\n CheckboxDescriptor,\n LinkDescriptor,\n ResolveLinkPropControllerValue,\n Types as PropControllerTypes,\n ShadowsDescriptor,\n ResolveShadowsPropControllerValue,\n ResponsiveLengthDescriptor,\n ResolveResponsiveLengthPropControllerValue,\n NumberDescriptor,\n ResolveNumberPropControllerValue,\n ResponsiveColorDescriptor,\n ResolveCheckboxPropControllerValue,\n BorderRadiusDescriptor,\n ResolveBorderPropControllerValue,\n ResolveBorderRadiusPropControllerValue,\n DateDescriptor,\n ResolveDatePropControllerValue,\n FontDescriptor,\n ResolveFontPropControllerValue,\n VideoDescriptor,\n ResolveVideoPropControllerValue,\n TableDescriptor,\n ResolveTablePropControllerValue,\n MarginDescriptor,\n ResolveMarginPropControllerValue,\n PaddingDescriptor,\n ResolvePaddingPropControllerValue,\n WidthDescriptor,\n ResolveWidthPropControllerValue,\n TextStyleDescriptor,\n ResolveTextStylePropControllerValue,\n NavigationLinksDescriptor,\n ResolveNavigationLinksPropControllerValue,\n TextAreaDescriptor,\n ResolveTextAreaPropControllerValue,\n GapX,\n ResponsiveNumber,\n ResponsiveSelect,\n ResolveGapYPropControllerValue,\n GapYDescriptor,\n ElementIDDescriptor,\n ResolveElementIDPropControllerValue,\n TableFormFieldsDescriptor,\n ResolveTableFormFieldsPropControllerValue,\n GridDescriptor,\n ResolveGridPropControllerValue,\n ImageDescriptor,\n ResolveImagePropControllerValue,\n ImagesDescriptor,\n ResolveImagesPropControllerValue,\n BackgroundsDescriptor,\n ResolveBackgroundsPropControllerValue,\n ResponsiveOpacity,\n ResponsiveIconRadioGroup,\n ResolveSocialLinksPropControllerValue,\n SocialLinksDescriptor,\n TextInputDescriptor,\n ResolveTextInputPropControllerValue,\n type Descriptor as PropDescriptor,\n type Value as PropValue,\n} from '@makeswift/prop-controllers'\n\nimport { DeletedPropControllerDescriptor } from './deleted'\n\nexport type { Data }\n\nexport type Gap = { value: number; unit: 'px' }\n\ntype PropControllerDescriptor<T extends Data = Data> =\n | DeletedPropControllerDescriptor<T>\n | BackgroundsDescriptor<T>\n | BorderDescriptor<T>\n | BorderRadiusDescriptor<T>\n | CheckboxDescriptor<T>\n | DateDescriptor<T>\n | ElementIDDescriptor<T>\n | FontDescriptor<T>\n | PropDescriptor<typeof GapX>\n | GapYDescriptor<T>\n | GridDescriptor<T>\n | ImageDescriptor<T>\n | ImagesDescriptor<T>\n | LinkDescriptor<T>\n | MarginDescriptor<T>\n | NavigationLinksDescriptor<T>\n | NumberDescriptor<T>\n | PaddingDescriptor<T>\n | ResponsiveColorDescriptor<T>\n | ResponsiveLengthDescriptor<T>\n | PropDescriptor<typeof ResponsiveIconRadioGroup>\n | PropDescriptor<typeof ResponsiveNumber>\n | PropDescriptor<typeof ResponsiveOpacity>\n | PropDescriptor<typeof ResponsiveSelect>\n | ShadowsDescriptor<T>\n | SocialLinksDescriptor<T>\n | TableDescriptor<T>\n | TableFormFieldsDescriptor<T>\n | TextAreaDescriptor<T>\n | TextInputDescriptor<T>\n | TextStyleDescriptor<T>\n | VideoDescriptor<T>\n | WidthDescriptor<T>\n\nexport type LegacyDescriptor<T extends Data = Data> = PropControllerDescriptor<T>\n\nexport type Descriptor<T extends Data = Data> = LegacyDescriptor<T> | UnifiedControlDefinition\n\nexport function isLegacyDescriptor<T extends Data>(\n control: Descriptor<T>,\n): control is LegacyDescriptor<T> {\n return !(control instanceof UnifiedControlDefinition)\n}\n\nexport type PanelDescriptorType =\n | typeof PropControllerTypes.Backgrounds\n | typeof PropControllerTypes.ResponsiveIconRadioGroup\n | typeof PropControllerTypes.Margin\n | typeof PropControllerTypes.Padding\n | typeof PropControllerTypes.Shadows\n | typeof PropControllerTypes.Border\n | typeof PropControllerTypes.GapY\n | typeof PropControllerTypes.GapX\n | typeof PropControllerTypes.BorderRadius\n | typeof PropControllerTypes.Checkbox\n | typeof PropControllerTypes.TextInput\n | typeof PropControllerTypes.Link\n | typeof PropControllerTypes.ResponsiveSelect\n | typeof PropControllerTypes.ResponsiveColor\n | typeof PropControllerTypes.TextStyle\n | typeof PropControllerTypes.Images\n | typeof PropControllerTypes.ResponsiveNumber\n | typeof PropControllerTypes.Number\n | typeof PropControllerTypes.Date\n | typeof PropControllerTypes.Font\n | typeof PropControllerTypes.TextArea\n | typeof PropControllerTypes.Table\n | typeof PropControllerTypes.Image\n | typeof PropControllerTypes.ResponsiveOpacity\n | typeof PropControllerTypes.SocialLinks\n | typeof PropControllerTypes.Video\n | typeof PropControllerTypes.NavigationLinks\n\nexport type PanelDescriptor<T extends Data = Data> = Extract<\n Descriptor<T>,\n { type: PanelDescriptorType }\n>\n\n// see https://github.com/prettier/prettier/issues/7940#issuecomment-2074455883\n// prettier-ignore\nexport type PropControllerDescriptorValueType<T extends PropControllerDescriptor> = T['type'] extends typeof PropControllerTypes.ResponsiveColor\n ? // TODO(miguel): We're not importing a resolver type from `@makeswift/prop-controllers` because\n // the resolved type is tightly coupled with the runtime (i.e., it's the result of an API call).\n // This means that we probably want to rethink how types are resolved and where that lives.\n ResponsiveColor | null | undefined\n : T['type'] extends typeof PropControllerTypes.Backgrounds\n ? ResolveBackgroundsPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.Backgrounds }>\n >\n : T['type'] extends typeof PropControllerTypes.Checkbox\n ? ResolveCheckboxPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Checkbox }>>\n : T['type'] extends typeof PropControllerTypes.Date\n ? ResolveDatePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Date }>>\n : T['type'] extends typeof PropControllerTypes.ElementID\n ? ResolveElementIDPropControllerValue<Extract<T, { type: typeof PropControllerTypes.ElementID }>>\n : T['type'] extends typeof PropControllerTypes.Font\n ? ResolveFontPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Font }>>\n : T['type'] extends typeof PropControllerTypes.GapX\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.GapY\n ? ResolveGapYPropControllerValue<Extract<T, { type: typeof PropControllerTypes.GapY }>>\n : T['type'] extends typeof PropControllerTypes.Grid\n ? ResolveGridPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Grid }>>\n : T['type'] extends typeof PropControllerTypes.Image\n ? ResolveImagePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Image }>>\n : T['type'] extends typeof PropControllerTypes.Images\n ? ResolveImagesPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Images }>>\n : T['type'] extends typeof PropControllerTypes.ResponsiveIconRadioGroup\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.ResponsiveNumber\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.ResponsiveOpacity\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.ResponsiveSelect\n ? PropValue<T> | undefined\n : T['type'] extends typeof PropControllerTypes.Link\n ? ResolveLinkPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Link }>>\n : T['type'] extends typeof PropControllerTypes.Width\n ? ResolveWidthPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Width }>>\n : T['type'] extends typeof PropControllerTypes.Padding\n ? ResolvePaddingPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Padding }>>\n : T['type'] extends typeof PropControllerTypes.Margin\n ? ResolveMarginPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Margin }>>\n : T['type'] extends typeof PropControllerTypes.NavigationLinks\n ? ResolveNavigationLinksPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.NavigationLinks }>\n >\n : T['type'] extends typeof PropControllerTypes.BorderRadius\n ? ResolveBorderRadiusPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.BorderRadius }>\n >\n : T['type'] extends typeof PropControllerTypes.Shadows\n ? ResolveShadowsPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Shadows }>>\n : T['type'] extends typeof PropControllerTypes.SocialLinks\n ? ResolveSocialLinksPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.SocialLinks }>\n >\n : T['type'] extends typeof PropControllerTypes.ResponsiveLength\n ? ResolveResponsiveLengthPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.ResponsiveLength }>\n >\n : T['type'] extends typeof PropControllerTypes.Border\n ? ResolveBorderPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Border }>>\n : T['type'] extends typeof PropControllerTypes.Number\n ? ResolveNumberPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Number }>>\n : T['type'] extends typeof PropControllerTypes.Table\n ? ResolveTablePropControllerValue<Extract<T, { type: typeof PropControllerTypes.Table }>>\n : T['type'] extends typeof PropControllerTypes.TableFormFields\n ? ResolveTableFormFieldsPropControllerValue<\n Extract<T, { type: typeof PropControllerTypes.TableFormFields }>\n >\n : T['type'] extends typeof PropControllerTypes.TextStyle\n ? ResolveTextStylePropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextStyle }>>\n : T['type'] extends typeof PropControllerTypes.TextArea\n ? ResolveTextAreaPropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextArea }>>\n : T['type'] extends typeof PropControllerTypes.TextInput\n ? ResolveTextInputPropControllerValue<Extract<T, { type: typeof PropControllerTypes.TextInput }>>\n : T['type'] extends typeof PropControllerTypes.Video\n ? ResolveVideoPropControllerValue<Extract<T, { type: typeof PropControllerTypes.Video }>>\n : T extends Descriptor<infer U>\n ? U | undefined\n : never\n\nexport type DescriptorValueType<T extends Descriptor> = T extends PropControllerDescriptor\n ? PropControllerDescriptorValueType<T>\n : T extends UnifiedControlDefinition\n ? ResolvedValueType<T>\n : T extends Descriptor<infer U>\n ? U | undefined\n : never\n\nexport type PanelDescriptorValueType<T extends PanelDescriptor> =\n T extends PanelDescriptor<infer U> ? U : never\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAGO;AAiHA,SAAS,mBACd,SACgC;AAChC,SAAO,EAAE,mBAAmB,gBAAAA;AAC9B;","names":["UnifiedControlDefinition"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/builtins/countdown.ts"],"sourcesContent":["export { registerComponent as registerCountdownComponent } from '../../components/builtin/Countdown/register'\nexport { default as Countdown } from '../../components/builtin/Countdown/Countdown'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAgE;AAChE,uBAAqC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/builtins/divider.ts"],"sourcesContent":["export { registerComponent as registerDividerComponent } from '../../components/builtin/Divider/register'\nexport { default as Divider } from '../../components/builtin/Divider/Divider'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA8D;AAC9D,qBAAmC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/builtins/embed.ts"],"sourcesContent":["export { registerComponent as registerEmbedComponent } from '../../components/builtin/Embed/register'\nexport { default as Embed } from '../../components/builtin/Embed/Embed'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA4D;AAC5D,mBAAiC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/builtins/form.ts"],"sourcesContent":["export { registerComponent as registerFormComponent } from '../../components/builtin/Form/register'\nexport { default as Form } from '../../components/builtin/Form/Form'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2D;AAC3D,kBAAgC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/builtins/image.ts"],"sourcesContent":["export { registerComponent as registerImageComponent } from '../../components/builtin/Image/register'\nexport { default as Image } from '../../components/builtin/Image/Image'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA4D;AAC5D,mBAAiC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/builtins/index.ts"],"sourcesContent":["export { MakeswiftComponentType } from '../../components/builtin/constants'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/react/core/index.ts"],"sourcesContent":["export { ReactRuntimeCore } from '../../runtimes/react/react-runtime-core'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAAiC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/react/index.ts"],"sourcesContent":["export { useIsInBuilder } from '../runtimes/react/hooks/use-is-in-builder'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAA+B;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/index.ts"],"sourcesContent":["export * from './render-hook'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAc,0BAAd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/runtimes/react/components/page/index.tsx"],"sourcesContent":["import { useMemo, memo, type ComponentProps } from 'react'\n\nimport { useCacheData } from '../../hooks/use-cache-data'\n\nimport { type MakeswiftPageSnapshot, pageToRootDocument } from '../../../../client'\n\nimport { type PageMetadataSettings } from './page-seo-settings'\nimport { Page as PageComponent } from './Page'\nimport { useRegisterDocument } from '../../hooks/use-register-document'\nimport { ActivityOrFallback } from '../activity-with-fallback'\n\nexport { type PageMetadataSettings } from './page-seo-settings'\n\n/**\n * @param snapshot - The snapshot of the page to render, from\n * `client.getPageSnapshot()`.\n * @param metadata - Allows control over whether to use data from Makeswift for\n * rendering metadata tags in the `<head>` of the page. Pass `true` (default if\n * not provided) to render all metadata tags, or `false` to not render any. For\n * more granular control, pass an object with boolean values for specific\n * metadata fields. Valid fields include:\n * - `title`\n * - `description`\n * - `keywords`\n * - `socialImage`\n * - `canonicalUrl`\n * - `indexingBlocked`\n * - `favicon`\n *\n * If a field is not provided, it will default to `false`.\n */\nexport const Page = memo(\n ({\n snapshot,\n metadata = true,\n }: {\n snapshot: MakeswiftPageSnapshot\n metadata?: boolean | PageMetadataSettings\n }) => {\n useCacheData(snapshot.cacheData)\n\n const rootDocument = useMemo(() => pageToRootDocument(snapshot.document), [snapshot.document])\n useRegisterDocument(rootDocument)\n\n return (\n <ActivityOrFallback>\n {/* We use a key here to reset the Snippets state in the PageMeta component */}\n <PageComponent\n key={snapshot.document.data.key}\n page={snapshot.document}\n rootDocument={rootDocument}\n metadata={metadata}\n />\n </ActivityOrFallback>\n )\n },\n)\n\nexport type PageProps = ComponentProps<typeof Page>\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CQ;AA/CR,mBAAmD;AAEnD,4BAA6B;AAE7B,oBAA+D;AAG/D,kBAAsC;AACtC,mCAAoC;AACpC,oCAAmC;AAsB5B,MAAM,WAAO;AAAA,EAClB,CAAC;AAAA,IACC;AAAA,IACA,WAAW;AAAA,EACb,MAGM;AACJ,4CAAa,SAAS,SAAS;AAE/B,UAAM,mBAAe,sBAAQ,UAAM,kCAAmB,SAAS,QAAQ,GAAG,CAAC,SAAS,QAAQ,CAAC;AAC7F,0DAAoB,YAAY;AAEhC,WACE,4CAAC,oDAEC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QAEC,MAAM,SAAS;AAAA,QACf;AAAA,QACA;AAAA;AAAA,MAHK,SAAS,SAAS,KAAK;AAAA,IAI9B,GACF;AAAA,EAEJ;AACF;","names":["PageComponent"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../../src/runtimes/react/controls/rich-text/components/Element/inline.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { RenderElementProps } from 'slate-react'\nimport { Slate } from '@makeswift/controls'\n\nimport { useStyle } from '../../../../use-style'\nimport { Link } from '../../../../../../components/shared/Link'\nimport { InlineType } from '../../../../../../slate/types'\n\nfunction StyledLink({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Link>) {\n return <Link {...restOfProps} className={cx(useStyle({ textDecoration: 'none' }), className)} />\n}\n\nexport interface InlineRenderElementProps extends RenderElementProps {\n element: Slate.Inline\n}\n\nexport function InlineElement({ element, attributes, children }: InlineRenderElementProps) {\n switch (element.type) {\n case InlineType.Code:\n return <code {...attributes}>{children}</code>\n\n case InlineType.SuperScript:\n return <sup {...attributes}>{children}</sup>\n\n case InlineType.SubScript:\n return <sub {...attributes}>{children}</sub>\n\n case InlineType.Link:\n return (\n <StyledLink {...attributes} link={element.link ?? undefined}>\n {children}\n </StyledLink>\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUS;AAVT,iBAAmB;AAKnB,uBAAyB;AACzB,kBAAqB;AACrB,mBAA2B;AAE3B,SAAS,WAAW,EAAE,WAAW,GAAG,YAAY,GAA0C;AACxF,SAAO,4CAAC,oBAAM,GAAG,aAAa,eAAW,mBAAG,2BAAS,EAAE,gBAAgB,OAAO,CAAC,GAAG,SAAS,GAAG;AAChG;AAMO,SAAS,cAAc,EAAE,SAAS,YAAY,SAAS,GAA6B;AACzF,UAAQ,QAAQ,MAAM;AAAA,IACpB,KAAK,wBAAW;AACd,aAAO,4CAAC,UAAM,GAAG,YAAa,UAAS;AAAA,IAEzC,KAAK,wBAAW;AACd,aAAO,4CAAC,SAAK,GAAG,YAAa,UAAS;AAAA,IAExC,KAAK,wBAAW;AACd,aAAO,4CAAC,SAAK,GAAG,YAAa,UAAS;AAAA,IAExC,KAAK,wBAAW;AACd,aACE,4CAAC,cAAY,GAAG,YAAY,MAAM,QAAQ,QAAQ,QAC/C,UACH;AAAA,EAEN;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../../src/runtimes/react/controls/rich-text/components/Leaf/leaf.tsx"],"sourcesContent":["import { RenderLeafProps } from 'slate-react'\nimport useEnhancedTypography, { useTypographyClassName } from '../../../typography'\n\nexport function Leaf({ leaf, ...props }: RenderLeafProps) {\n // for each breakpoint fetch related resources and merge its value with its override\n const enhancedTypography = useEnhancedTypography(leaf.typography)\n\n // for each breakpoint shallow merge back up through the breakpoints and create a className\n const typographyClassName = useTypographyClassName(enhancedTypography)\n\n return (\n <span {...props.attributes} className={typographyClassName}>\n {props.children}\n </span>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWI;AAVJ,wBAA8D;AAEvD,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAoB;AAExD,QAAM,yBAAqB,kBAAAA,SAAsB,KAAK,UAAU;AAGhE,QAAM,0BAAsB,0CAAuB,kBAAkB;AAErE,SACE,4CAAC,UAAM,GAAG,MAAM,YAAY,WAAW,qBACpC,gBAAM,UACT;AAEJ;","names":["useEnhancedTypography"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/element-imperative-handle.ts"],"sourcesContent":["import { BoxModelHandle, type BoxDisplayModel } from '../../state/modules/read-write/box-models'\nimport { Descriptor } from '../../prop-controllers/descriptors'\nimport { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport { isMeasurable, measure } from '../../state/modules/read-write/box-models'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../state/modules/prop-controller-handles'\n\nexport class ElementImperativeHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n >\n implements BoxModelHandle, PropControllersHandle<T>\n{\n private getCurrent: () => unknown = () => null\n private lastPropControllers: DescriptorsPropControllers<T> | null = null\n\n callback(getCurrent: () => unknown) {\n const current = this.getCurrent()\n\n if (current === null) this.setPropControllers(null)\n\n this.getCurrent = getCurrent\n\n if (this.lastPropControllers !== null) this.setPropControllers(this.lastPropControllers)\n }\n\n getBoxModel(): BoxDisplayModel | null {\n const current = this.getCurrent()\n\n return isMeasurable(current) ? measure(current) : null\n }\n\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void {\n const current = this.getCurrent()\n\n if (isPropControllersHandle(current)) current.setPropControllers(propControllers)\n\n this.lastPropControllers = propControllers\n }\n\n getDomNode(): Element | null {\n const current = this.getCurrent()\n\n if (isDomNodeHandle(current)) return current.getDomNode()\n\n return current instanceof Element ? current : null\n }\n}\n\ntype DomNodeHandle = {\n getDomNode(): Element | null\n}\n\nexport function isDomNodeHandle(value: unknown): value is DomNodeHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getDomNode' in value &&\n typeof (value as { getDomNode: unknown }).getDomNode === 'function'\n ) {\n return true\n }\n\n return false\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,IAAAA,qBAAsC;AACtC,qCAGO;AAEA,MAAM,wBAIb;AAAA,EACU,aAA4B,MAAM;AAAA,EAClC,sBAA4D;AAAA,EAEpE,SAAS,YAA2B;AAClC,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,YAAY;AAAM,WAAK,mBAAmB,IAAI;AAElD,SAAK,aAAa;AAElB,QAAI,KAAK,wBAAwB;AAAM,WAAK,mBAAmB,KAAK,mBAAmB;AAAA,EACzF;AAAA,EAEA,cAAsC;AACpC,UAAM,UAAU,KAAK,WAAW;AAEhC,eAAO,iCAAa,OAAO,QAAI,4BAAQ,OAAO,IAAI;AAAA,EACpD;AAAA,EAEA,mBAAmB,iBAA6D;AAC9E,UAAM,UAAU,KAAK,WAAW;AAEhC,YAAI,wDAAwB,OAAO;AAAG,cAAQ,mBAAmB,eAAe;AAEhF,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,aAA6B;AAC3B,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,gBAAgB,OAAO;AAAG,aAAO,QAAQ,WAAW;AAExD,WAAO,mBAAmB,UAAU,UAAU;AAAA,EAChD;AACF;AAMO,SAAS,gBAAgB,OAAwC;AACtE,MACE,OAAO,UAAU,YACjB,UAAU,QACV,gBAAgB,SAChB,OAAQ,MAAkC,eAAe,YACzD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":["import_box_models"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/find-dom-node.tsx"],"sourcesContent":["import {\n Component,\n MutableRefObject,\n ReactNode,\n forwardRef,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport { findDOMNode } from './lib/react-dom'\n\n/**\n * @see https://github.com/facebook/react/blob/a2505792ed17fd4d7ddc69561053c3ac90899491/packages/react-reconciler/src/ReactFiberReconciler.new.js#L179-L244\n * @see https://github.com/facebook/react/commit/c3b283964108b0e8dbcf1f9eb2e7e67815e39dfb\n */\nfunction suppressWarningAndFindDomNode(\n instance: Component | null | undefined,\n): Element | Text | null {\n const error = console.error\n\n console.error = (...args) => {\n if (typeof args[0] === 'string' && args[0].includes('%s is deprecated in StrictMode.')) return\n if (typeof args[0] === 'string' && args[0].includes('findDOMNode is deprecated')) return\n\n return error.apply(console, args)\n }\n\n const foundDomNode = findDOMNode(instance)\n\n console.error = error\n\n return foundDomNode\n}\n\ntype FindDomNodeClassComponentProps = {\n innerRef: MutableRefObject<(() => Element | Text | null) | null>\n children?: ReactNode\n}\n\nclass FindDomNodeClassComponent extends Component<FindDomNodeClassComponentProps> {\n constructor(props: FindDomNodeClassComponentProps) {\n super(props)\n\n this.props.innerRef.current = () => suppressWarningAndFindDomNode(this)\n }\n\n render() {\n return <>{this.props.children}</>\n }\n}\n\ntype FindDomNodeProps = {\n children?: ReactNode\n}\n\nexport const FindDomNode = forwardRef<() => Element | Text | null, FindDomNodeProps>(\n function FindDomNode(props, ref) {\n const findDomNodeRef = useRef<() => Element | Text | null>(null)\n\n useImperativeHandle(ref, () => () => findDomNodeRef.current?.() ?? null, [])\n\n return <FindDomNodeClassComponent {...props} innerRef={findDomNodeRef} />\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CW;AA/CX,mBAOO;AAEP,uBAA4B;AAM5B,SAAS,8BACP,UACuB;AACvB,QAAM,QAAQ,QAAQ;AAEtB,UAAQ,QAAQ,IAAI,SAAS;AAC3B,QAAI,OAAO,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,EAAE,SAAS,iCAAiC;AAAG;AACxF,QAAI,OAAO,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,EAAE,SAAS,2BAA2B;AAAG;AAElF,WAAO,MAAM,MAAM,SAAS,IAAI;AAAA,EAClC;AAEA,QAAM,mBAAe,8BAAY,QAAQ;AAEzC,UAAQ,QAAQ;AAEhB,SAAO;AACT;AAOA,MAAM,kCAAkC,uBAA0C;AAAA,EAChF,YAAY,OAAuC;AACjD,UAAM,KAAK;AAEX,SAAK,MAAM,SAAS,UAAU,MAAM,8BAA8B,IAAI;AAAA,EACxE;AAAA,EAEA,SAAS;AACP,WAAO,2EAAG,eAAK,MAAM,UAAS;AAAA,EAChC;AACF;AAMO,MAAM,kBAAc;AAAA,EACzB,SAASA,aAAY,OAAO,KAAK;AAC/B,UAAM,qBAAiB,qBAAoC,IAAI;AAE/D,0CAAoB,KAAK,MAAM,MAAM,eAAe,UAAU,KAAK,MAAM,CAAC,CAAC;AAE3E,WAAO,4CAAC,6BAA2B,GAAG,OAAO,UAAU,gBAAgB;AAAA,EACzE;AACF;","names":["FindDomNode"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/host-api-client.tsx"],"sourcesContent":["'use client'\n\nimport { MakeswiftHostApiClient } from '../../api/client'\n\nimport { useStore } from './hooks/use-store'\n\nexport function useMakeswiftHostApiClient(): MakeswiftHostApiClient {\n return useStore().hostApiClient\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,uBAAyB;AAElB,SAAS,4BAAoD;AAClE,aAAO,2BAAS,EAAE;AACpB;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/index.ts"],"sourcesContent":["export { Element } from './components/Element'\nexport { DocumentRoot } from './components/DocumentRoot'\nexport { RuntimeProvider } from './components/RuntimeProvider'\n\nexport { useBreakpoints } from './hooks/use-breakpoints'\nexport { useBuilderEditMode } from './hooks/use-builder-edit-mode'\nexport { useDocumentKey } from './hooks/use-document-context'\nexport { useElementId } from './hooks/use-element-id'\nexport { useIsInBuilder } from './hooks/use-is-in-builder'\nexport { useIsReadOnly } from './hooks/use-is-read-only'\nexport { useSelector } from './hooks/use-selector'\nexport { useStore } from './hooks/use-store'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAwB;AACxB,0BAA6B;AAC7B,6BAAgC;AAEhC,6BAA+B;AAC/B,mCAAmC;AACnC,kCAA+B;AAC/B,4BAA6B;AAC7B,+BAA+B;AAC/B,8BAA8B;AAC9B,0BAA4B;AAC5B,uBAAyB;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/legacy-controls.tsx"],"sourcesContent":["import { ReactNode } from 'react'\nimport {\n useBoxShadow,\n useBorder as useBorderData,\n useLinkPropControllerData,\n useCheckboxPropControllerData,\n useDatePropControllerData,\n useFontPropControllerData,\n useVideoPropControllerData,\n useTablePropControllerData,\n} from '../../components/hooks'\nimport type { ColorValue } from '../../components/utils/types'\nimport {\n useResponsiveBorder,\n useResponsiveBorderRadius,\n useResponsiveMargin,\n useResponsivePadding,\n useResponsiveShadow,\n useResponsiveWidth,\n} from '../../components/utils/responsive-style'\n\nimport { RenderHook } from './components'\nimport { useStyle } from './use-style'\n\nimport {\n Types as PropControllerTypes,\n getShadowsPropControllerDataResponsiveShadowsData,\n ShadowsPropControllerData,\n Shadows,\n ResponsiveValue,\n BorderPropControllerFormat,\n ResponsiveBorderData,\n BorderPropControllerData,\n getBorderPropControllerDataResponsiveBorderData,\n getBorderRadiusPropControllerDataResponsiveBorderRadiusData,\n BorderRadiusPropControllerData,\n BorderRadiusPropControllerFormat,\n MarginPropControllerFormat,\n MarginPropControllerData,\n getMarginPropControllerDataResponsiveMarginData,\n PaddingPropControllerData,\n getPaddingPropControllerDataResponsivePaddingData,\n PaddingPropControllerFormat,\n WidthPropControllerData,\n getWidthPropControllerDataResponsiveLengthData,\n WidthPropControllerFormat,\n WidthDescriptor,\n GapX,\n ResponsiveNumber,\n ResponsiveIconRadioGroup,\n ResponsiveSelect,\n ResponsiveOpacity,\n getSocialLinksPropControllerDataSocialLinksData,\n} from '@makeswift/prop-controllers'\n\nimport { LegacyDescriptor } from '../../prop-controllers/descriptors'\nimport { useResponsiveLengthPropControllerData } from '../../components/hooks/useResponsiveLengthPropControllerData'\nimport { useNumberPropControllerData } from '../../components/hooks/useNumberPropControllerData'\nimport { useResponsiveColorPropControllerData } from '../../components/hooks/useResponsiveColorPropControllerData'\nimport { useTextStylePropControllerData } from '../../components/hooks/useTextStylePropControllerData'\nimport { useNavigationLinksPropControllerData } from '../../components/hooks/useNavigationLinksPropControllerData'\nimport { useTextAreaPropControllerData } from '../../components/hooks/useTextAreaPropControllerData'\nimport { usePropValue } from '../../components/hooks/usePropValue'\nimport { useGapYPropControllerData } from '../../components/hooks/useGapYPropControllerData'\nimport { useElementIDPropControllerData } from '../../components/hooks/useElementIDPropControllerData'\nimport { useTableFormFieldsPropControllerData } from '../../components/hooks/useTableFormFieldsPropControllerData'\nimport { useGridPropControllerData } from '../../components/hooks/useGridPropControllerData'\nimport { useImagePropControllerData } from '../../components/hooks/useImagePropControllerData'\nimport { useImagesPropControllerData } from '../../components/hooks/useImagesPropControllerData'\nimport { useBackgroundsPropControllerData } from '../../components/hooks/useBackgroundsPropControllerData'\nimport { useTextInputPropControllerData } from '../../components/hooks/useTextInputPropControllerData'\n\nexport type ResponsiveColor = ResponsiveValue<ColorValue>\n\nfunction useWidthStyle(\n data: WidthPropControllerData | undefined,\n descriptor: WidthDescriptor,\n): string {\n const value = getWidthPropControllerDataResponsiveLengthData(data)\n\n return useStyle(useResponsiveWidth(value, descriptor.options.defaultValue))\n}\n\nfunction usePaddingStyle(data: PaddingPropControllerData | undefined): string {\n const value = getPaddingPropControllerDataResponsivePaddingData(data)\n\n return useStyle(useResponsivePadding(value))\n}\n\nfunction useMarginStyle(data: MarginPropControllerData | undefined): string {\n const value = getMarginPropControllerDataResponsiveMarginData(data)\n\n return useStyle(useResponsiveMargin(value))\n}\n\nfunction useBorderRadiusStyle(data: BorderRadiusPropControllerData | undefined): string {\n const value = getBorderRadiusPropControllerDataResponsiveBorderRadiusData(data)\n\n return useStyle(useResponsiveBorderRadius(value))\n}\n\nfunction useShadowsStyle(data: ShadowsPropControllerData | undefined): string {\n return useStyle(useResponsiveShadow(useBoxShadow(data) ?? undefined))\n}\n\nfunction useBorderStyle(\n data: BorderPropControllerData | undefined,\n): string | ResponsiveBorderData | undefined {\n const value = getBorderPropControllerDataResponsiveBorderData(data)\n const borderData = useBorderData(value)\n\n return useStyle(useResponsiveBorder(borderData ?? undefined))\n}\n\nexport function resolveLegacyDescriptorProp(\n descriptor: LegacyDescriptor,\n propName: string,\n propData: any,\n props: Record<string, any>,\n renderFn: (props: Record<string, unknown>) => ReactNode,\n) {\n switch (descriptor.type) {\n case PropControllerTypes.Width:\n switch (descriptor.options.format) {\n case WidthPropControllerFormat.ClassName:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useWidthStyle}\n parameters={[propData, descriptor]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case WidthPropControllerFormat.ResponsiveValue:\n default:\n return renderFn({\n ...props,\n [propName]: getWidthPropControllerDataResponsiveLengthData(propData),\n })\n }\n\n case PropControllerTypes.Padding:\n switch (descriptor.options.format) {\n case PaddingPropControllerFormat.ClassName:\n return (\n <RenderHook key={descriptor.type} hook={usePaddingStyle} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PaddingPropControllerFormat.ResponsiveValue:\n default:\n return renderFn({\n ...props,\n [propName]: getPaddingPropControllerDataResponsivePaddingData(propData),\n })\n }\n\n case PropControllerTypes.Margin:\n switch (descriptor.options.format) {\n case MarginPropControllerFormat.ClassName:\n return (\n <RenderHook key={descriptor.type} hook={useMarginStyle} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case MarginPropControllerFormat.ResponsiveValue:\n default:\n return renderFn({\n ...props,\n [propName]: getMarginPropControllerDataResponsiveMarginData(propData),\n })\n }\n\n case PropControllerTypes.BorderRadius:\n switch (descriptor.options.format) {\n case BorderRadiusPropControllerFormat.ClassName:\n return (\n <RenderHook key={descriptor.type} hook={useBorderRadiusStyle} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case BorderRadiusPropControllerFormat.ResponsiveValue:\n default:\n return renderFn({\n ...props,\n [propName]: getBorderRadiusPropControllerDataResponsiveBorderRadiusData(propData),\n })\n }\n\n case PropControllerTypes.Backgrounds:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useBackgroundsPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Image:\n return (\n <RenderHook key={descriptor.type} hook={useImagePropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Images:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useImagesPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Number:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useNumberPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ResponsiveNumber:\n return (\n <RenderHook\n key={descriptor.type}\n hook={data => usePropValue(ResponsiveNumber, data)}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ResponsiveIconRadioGroup:\n return (\n <RenderHook\n key={descriptor.type}\n hook={data => usePropValue(ResponsiveIconRadioGroup, data)}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ResponsiveSelect:\n return (\n <RenderHook\n key={descriptor.type}\n hook={data => usePropValue(ResponsiveSelect, data)}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ResponsiveOpacity:\n return (\n <RenderHook\n key={descriptor.type}\n hook={data => usePropValue(ResponsiveOpacity, data)}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ResponsiveLength:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveLengthPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Shadows:\n switch (descriptor.options.format) {\n case Shadows.Format.ClassName:\n return (\n <RenderHook key={descriptor.type} hook={useShadowsStyle} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case Shadows.Format.ResponsiveValue:\n default:\n return renderFn({\n ...props,\n [propName]: getShadowsPropControllerDataResponsiveShadowsData(propData),\n })\n }\n\n case PropControllerTypes.Border:\n switch (descriptor.options.format) {\n case BorderPropControllerFormat.ClassName:\n return (\n <RenderHook key={descriptor.type} hook={useBorderStyle} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case BorderPropControllerFormat.ResponsiveValue:\n default:\n return renderFn({\n ...props,\n [propName]: getBorderPropControllerDataResponsiveBorderData(propData),\n })\n }\n\n case PropControllerTypes.ResponsiveColor:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useResponsiveColorPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Link:\n return (\n <RenderHook key={descriptor.type} hook={useLinkPropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Checkbox:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useCheckboxPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Date:\n return (\n <RenderHook key={descriptor.type} hook={useDatePropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Font:\n return (\n <RenderHook key={descriptor.type} hook={useFontPropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Video:\n return (\n <RenderHook key={descriptor.type} hook={useVideoPropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.Table:\n return (\n <RenderHook key={descriptor.type} hook={useTablePropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.TextStyle:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useTextStylePropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.NavigationLinks:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useNavigationLinksPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.TextInput:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useTextInputPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.TextArea:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useTextAreaPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.GapX:\n return (\n <RenderHook\n key={descriptor.type}\n hook={data => usePropValue(GapX, data)}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.GapY:\n return (\n <RenderHook key={descriptor.type} hook={useGapYPropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.ElementID:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useElementIDPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.TableFormFields:\n return (\n <RenderHook\n key={descriptor.type}\n hook={useTableFormFieldsPropControllerData}\n parameters={[propData]}\n >\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n case PropControllerTypes.SocialLinks:\n return renderFn({\n ...props,\n [propName]: getSocialLinksPropControllerDataSocialLinksData(propData),\n })\n\n case PropControllerTypes.Grid:\n return (\n <RenderHook key={descriptor.type} hook={useGridPropControllerData} parameters={[propData]}>\n {value => renderFn({ ...props, [propName]: value })}\n </RenderHook>\n )\n\n default:\n return renderFn({ ...props, [propName]: propData })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8HY;AA7HZ,mBASO;AAEP,8BAOO;AAEP,wBAA2B;AAC3B,uBAAyB;AAEzB,8BA6BO;AAGP,mDAAsD;AACtD,yCAA4C;AAC5C,kDAAqD;AACrD,4CAA+C;AAC/C,kDAAqD;AACrD,2CAA8C;AAC9C,0BAA6B;AAC7B,uCAA0C;AAC1C,4CAA+C;AAC/C,kDAAqD;AACrD,uCAA0C;AAC1C,wCAA2C;AAC3C,yCAA4C;AAC5C,8CAAiD;AACjD,4CAA+C;AAI/C,SAAS,cACP,MACA,YACQ;AACR,QAAM,YAAQ,wEAA+C,IAAI;AAEjE,aAAO,+BAAS,4CAAmB,OAAO,WAAW,QAAQ,YAAY,CAAC;AAC5E;AAEA,SAAS,gBAAgB,MAAqD;AAC5E,QAAM,YAAQ,2EAAkD,IAAI;AAEpE,aAAO,+BAAS,8CAAqB,KAAK,CAAC;AAC7C;AAEA,SAAS,eAAe,MAAoD;AAC1E,QAAM,YAAQ,yEAAgD,IAAI;AAElE,aAAO,+BAAS,6CAAoB,KAAK,CAAC;AAC5C;AAEA,SAAS,qBAAqB,MAA0D;AACtF,QAAM,YAAQ,qFAA4D,IAAI;AAE9E,aAAO,+BAAS,mDAA0B,KAAK,CAAC;AAClD;AAEA,SAAS,gBAAgB,MAAqD;AAC5E,aAAO,+BAAS,iDAAoB,2BAAa,IAAI,KAAK,MAAS,CAAC;AACtE;AAEA,SAAS,eACP,MAC2C;AAC3C,QAAM,YAAQ,yEAAgD,IAAI;AAClE,QAAM,iBAAa,aAAAA,WAAc,KAAK;AAEtC,aAAO,+BAAS,6CAAoB,cAAc,MAAS,CAAC;AAC9D;AAEO,SAAS,4BACd,YACA,UACA,UACA,OACA,UACA;AACA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,wBAAAC,MAAoB;AACvB,cAAQ,WAAW,QAAQ,QAAQ;AAAA,QACjC,KAAK,kDAA0B;AAC7B,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,MAAM;AAAA,cACN,YAAY,CAAC,UAAU,UAAU;AAAA,cAEhC,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,YAJ7C,WAAW;AAAA,UAKlB;AAAA,QAGJ,KAAK,kDAA0B;AAAA,QAC/B;AACE,iBAAO,SAAS;AAAA,YACd,GAAG;AAAA,YACH,CAAC,QAAQ,OAAG,wEAA+C,QAAQ;AAAA,UACrE,CAAC;AAAA,MACL;AAAA,IAEF,KAAK,wBAAAA,MAAoB;AACvB,cAAQ,WAAW,QAAQ,QAAQ;AAAA,QACjC,KAAK,oDAA4B;AAC/B,iBACE,4CAAC,gCAAiC,MAAM,iBAAiB,YAAY,CAAC,QAAQ,GAC3E,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,QAGJ,KAAK,oDAA4B;AAAA,QACjC;AACE,iBAAO,SAAS;AAAA,YACd,GAAG;AAAA,YACH,CAAC,QAAQ,OAAG,2EAAkD,QAAQ;AAAA,UACxE,CAAC;AAAA,MACL;AAAA,IAEF,KAAK,wBAAAA,MAAoB;AACvB,cAAQ,WAAW,QAAQ,QAAQ;AAAA,QACjC,KAAK,mDAA2B;AAC9B,iBACE,4CAAC,gCAAiC,MAAM,gBAAgB,YAAY,CAAC,QAAQ,GAC1E,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,QAGJ,KAAK,mDAA2B;AAAA,QAChC;AACE,iBAAO,SAAS;AAAA,YACd,GAAG;AAAA,YACH,CAAC,QAAQ,OAAG,yEAAgD,QAAQ;AAAA,UACtE,CAAC;AAAA,MACL;AAAA,IAEF,KAAK,wBAAAA,MAAoB;AACvB,cAAQ,WAAW,QAAQ,QAAQ;AAAA,QACjC,KAAK,yDAAiC;AACpC,iBACE,4CAAC,gCAAiC,MAAM,sBAAsB,YAAY,CAAC,QAAQ,GAChF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,QAGJ,KAAK,yDAAiC;AAAA,QACtC;AACE,iBAAO,SAAS;AAAA,YACd,GAAG;AAAA,YACH,CAAC,QAAQ,OAAG,qFAA4D,QAAQ;AAAA,UAClF,CAAC;AAAA,MACL;AAAA,IAEF,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,8DAA4B,YAAY,CAAC,QAAQ,GACtF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,cAAQ,kCAAa,0CAAkB,IAAI;AAAA,UACjD,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,cAAQ,kCAAa,kDAA0B,IAAI;AAAA,UACzD,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,cAAQ,kCAAa,0CAAkB,IAAI;AAAA,UACjD,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,cAAQ,kCAAa,2CAAmB,IAAI;AAAA,UAClD,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,cAAQ,WAAW,QAAQ,QAAQ;AAAA,QACjC,KAAK,gCAAQ,OAAO;AAClB,iBACE,4CAAC,gCAAiC,MAAM,iBAAiB,YAAY,CAAC,QAAQ,GAC3E,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,QAGJ,KAAK,gCAAQ,OAAO;AAAA,QACpB;AACE,iBAAO,SAAS;AAAA,YACd,GAAG;AAAA,YACH,CAAC,QAAQ,OAAG,2EAAkD,QAAQ;AAAA,UACxE,CAAC;AAAA,MACL;AAAA,IAEF,KAAK,wBAAAA,MAAoB;AACvB,cAAQ,WAAW,QAAQ,QAAQ;AAAA,QACjC,KAAK,mDAA2B;AAC9B,iBACE,4CAAC,gCAAiC,MAAM,gBAAgB,YAAY,CAAC,QAAQ,GAC1E,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,QAGJ,KAAK,mDAA2B;AAAA,QAChC;AACE,iBAAO,SAAS;AAAA,YACd,GAAG;AAAA,YACH,CAAC,QAAQ,OAAG,yEAAgD,QAAQ;AAAA,UACtE,CAAC;AAAA,MACL;AAAA,IAEF,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,wCAA2B,YAAY,CAAC,QAAQ,GACrF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,wCAA2B,YAAY,CAAC,QAAQ,GACrF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,wCAA2B,YAAY,CAAC,QAAQ,GACrF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,yCAA4B,YAAY,CAAC,QAAQ,GACtF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,yCAA4B,YAAY,CAAC,QAAQ,GACtF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,cAAQ,kCAAa,8BAAM,IAAI;AAAA,UACrC,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,4DAA2B,YAAY,CAAC,QAAQ,GACrF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,QAAQ;AAAA,UAEpB,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAAA;AAAA,QAJ7C,WAAW;AAAA,MAKlB;AAAA,IAGJ,KAAK,wBAAAA,MAAoB;AACvB,aAAO,SAAS;AAAA,QACd,GAAG;AAAA,QACH,CAAC,QAAQ,OAAG,yEAAgD,QAAQ;AAAA,MACtE,CAAC;AAAA,IAEH,KAAK,wBAAAA,MAAoB;AACvB,aACE,4CAAC,gCAAiC,MAAM,4DAA2B,YAAY,CAAC,QAAQ,GACrF,qBAAS,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KADnC,WAAW,IAE5B;AAAA,IAGJ;AACE,aAAO,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;AAAA,EACtD;AACF;","names":["useBorderData","PropControllerTypes"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/indent.ts"],"sourcesContent":["import { Editor, Node, Path, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { ElementUtils } from '../utils/element'\nimport { LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function indentPath(editor: Editor, path: Path) {\n const parent = Node.parent(editor, path)\n if (!path || !Path.hasPrevious(path) || !Slate.isList(parent)) return\n\n const previosPath = Path.previous(path)\n\n const previousChildListPath = [...previosPath, LIST_ITEM_LIST_POSITION]\n const previousHasChildList = Node.has(editor, previousChildListPath)\n\n Editor.withoutNormalizing(editor, () => {\n if (!previousHasChildList) {\n Transforms.insertNodes(editor, ElementUtils.createList(parent.type), {\n at: previousChildListPath,\n })\n }\n\n const previousChildList = Node.get(editor, previousChildListPath)\n\n if (Slate.isList(previousChildList)) {\n const index = previousHasChildList ? previousChildList.children.length : 0\n Transforms.moveNodes(editor, {\n at: path,\n to: [...previousChildListPath, index],\n })\n }\n })\n}\n\nexport function indent(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n indentPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+C;AAC/C,sBAAsB;AAEtB,qBAA6B;AAC7B,uBAAwC;AACxC,mCAAsC;AACtC,kCAAqC;AAE9B,SAAS,WAAW,QAAgB,MAAY;AACrD,QAAM,SAAS,kBAAK,OAAO,QAAQ,IAAI;AACvC,MAAI,CAAC,QAAQ,CAAC,kBAAK,YAAY,IAAI,KAAK,CAAC,sBAAM,OAAO,MAAM;AAAG;AAE/D,QAAM,cAAc,kBAAK,SAAS,IAAI;AAEtC,QAAM,wBAAwB,CAAC,GAAG,aAAa,wCAAuB;AACtE,QAAM,uBAAuB,kBAAK,IAAI,QAAQ,qBAAqB;AAEnE,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,QAAI,CAAC,sBAAsB;AACzB,8BAAW,YAAY,QAAQ,4BAAa,WAAW,OAAO,IAAI,GAAG;AAAA,QACnE,IAAI;AAAA,MACN,CAAC;AAAA,IACH;AAEA,UAAM,oBAAoB,kBAAK,IAAI,QAAQ,qBAAqB;AAEhE,QAAI,sBAAM,OAAO,iBAAiB,GAAG;AACnC,YAAM,QAAQ,uBAAuB,kBAAkB,SAAS,SAAS;AACzE,8BAAW,UAAU,QAAQ;AAAA,QAC3B,IAAI;AAAA,QACJ,IAAI,CAAC,GAAG,uBAAuB,KAAK;AAAA,MACtC,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,SAAS,OAAO,QAAgB;AACrC,MAAI,CAAC,OAAO;AAAW;AAEvB,QAAM,gBAAY,kDAAqB,MAAM;AAC7C,QAAM,eAAW,oDAAsB,SAAS;AAChD,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAErE,OAAK,QAAQ,SAAO;AAClB,QAAI,IAAI,SAAS;AACf,iBAAW,QAAQ,IAAI,OAAO;AAAA,IAChC;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/index.tsx"],"sourcesContent":["import type { KeyboardEvent } from 'react'\nimport { cx } from '@emotion/css'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { Select, Slate, type DataType } from '@makeswift/controls'\n\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { wrapInline } from './wrapInline'\nimport { unwrapInline } from './unwrapInline'\nimport { getSelection } from '../selectors'\nimport { ElementUtils } from '../utils/element'\nimport { getActiveBlockType } from '../selectors'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { indent } from './indent'\nimport { dedent } from './dedent'\nimport { toggleList } from './toggleList'\nimport { EditorUtils } from '../utils/editor'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\nimport { BlockType } from '../../slate/types'\n\nexport const BlockActions = {\n setBlockKeyForDevice,\n clearBlockKeyForDevice,\n wrapInline,\n unwrapInline,\n}\n\n// TODO: This API is still litered with artifacts from the list plugin being seperated out.\n// This plugin needs to be rewritten to be assumptionless.\nexport const ListActions = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => Slate.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n ListActions.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n ListActions.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else if (list) {\n ListActions.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else {\n ListActions.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => Slate.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n\n editor.isInline = entry => {\n return Slate.isInline(entry)\n }\n\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (Slate.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n // Normalization for preventing non-list root blocks from being nested.\n if (\n normalizationPath.length === 1 &&\n Slate.isRootBlock(normalizationNode) &&\n !Slate.isList(normalizationNode)\n ) {\n const children = Array.from(Node.children(editor, normalizationPath))\n if (children.findIndex(([child]) => Slate.isRootBlock(child)) !== -1) {\n Transforms.unwrapNodes(editor, { at: normalizationPath })\n return\n }\n }\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (Slate.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (Slate.isRootBlock(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !Slate.isList(potentialNodeToBeMerged[0]) ||\n !Slate.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.reverse().forEach(([_, childPath]) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nconst definition = Select({\n label: 'Block',\n labelOrientation: 'horizontal',\n options: [\n {\n value: BlockType.Paragraph,\n label: 'Paragraph',\n },\n {\n value: BlockType.Heading1,\n label: 'Heading 1',\n },\n {\n value: BlockType.Heading2,\n label: 'Heading 2',\n },\n {\n value: BlockType.Heading3,\n label: 'Heading 3',\n },\n {\n value: BlockType.Heading4,\n label: 'Heading 4',\n },\n {\n value: BlockType.Heading5,\n label: 'Heading 5',\n },\n {\n value: BlockType.Heading6,\n label: 'Heading 6',\n },\n {\n value: BlockType.UnorderedList,\n label: 'Bulleted list',\n },\n {\n value: BlockType.OrderedList,\n label: 'Numbered list',\n },\n {\n value: BlockType.BlockQuote,\n label: 'Quote',\n },\n ],\n defaultValue: BlockType.Paragraph,\n})\n\nexport function BlockPlugin() {\n return Plugin({\n withPlugin: withBlock,\n onKeyDown: onKeyDown,\n control: {\n definition,\n onChange: (editor, value: DataType<typeof definition>) => {\n // TODO: This onChange being so complex is an artifact of how the List plugin used to be seperated out from the block plugin.\n // Would be great to refactor and simplify here.\n\n const activeBlockType = getActiveBlockType(editor)\n if (value === BlockType.UnorderedList || value === BlockType.OrderedList) {\n ListActions.toggleList(editor, {\n type: value,\n at: getSelection(editor),\n })\n } else if (activeBlockType === value) {\n Transforms.setNodes(\n editor,\n {\n type: BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n } else {\n ListActions.unwrapList(editor, {\n at: getSelection(editor),\n })\n Transforms.setNodes(\n editor,\n {\n type: value ?? BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n }\n },\n getValue: editor => {\n const activeBlock = getActiveBlockType(editor)\n\n if (activeBlock == null) return undefined\n if (activeBlock === Slate.RootBlockType.Default) return undefined\n\n return activeBlock\n },\n },\n renderElement: renderElement => props => (\n <BlockPluginComponent {...props} renderElement={renderElement} />\n ),\n })\n}\n\nfunction BlockPluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n const blockStyles = [useStyle({ margin: 0 }), props.element.className]\n const quoteStyles = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const unorderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n ul: {\n listStyleType: 'circle',\n },\n 'ul ul': {\n listStyleType: 'square',\n },\n })\n\n const orderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'decimal',\n })\n\n switch (props.element.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote {...props.attributes} className={cx(...blockStyles, quoteStyles)}>\n {renderElement(props)}\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol {...props.attributes} className={cx(...blockStyles, orderedListStyles)}>\n {renderElement(props)}\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul {...props.attributes} className={cx(...blockStyles, unorderedListStyles)}>\n {renderElement(props)}\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </span>\n )\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":"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","names":["import_selectors","isHotkey"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/BuilderPlugin/index.ts"],"sourcesContent":["import { BaseEditor, Descendant, Editor, Transforms, Text, Node } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { Slate } from '@makeswift/controls'\n\nexport interface BuilderEditor extends BaseEditor {\n focusAndSelectAll: () => void\n deselectAndBlur: () => void\n resetValue: (value: Descendant[]) => void\n}\n\nexport function withBuilder(editor: Editor) {\n editor.resetValue = function (value: Descendant[]) {\n const firstRootBlock = Node.has(editor, [0]) && Node.get(editor, [0])\n const textAlignOfFirstBlock =\n firstRootBlock && Slate.isRootBlock(firstRootBlock) ? firstRootBlock.textAlign : undefined\n const typographyOfFirstText = Array.from(Node.texts(editor)).at(0)?.[0].typography\n\n ReactEditor.deselect(editor)\n ReactEditor.blur(editor)\n\n editor.children = value\n editor.onChange()\n\n if (typographyOfFirstText) {\n Transforms.setNodes(\n editor,\n { typography: typographyOfFirstText },\n {\n match: Text.isText,\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n },\n )\n }\n if (textAlignOfFirstBlock) {\n Transforms.setNodes(\n editor,\n { textAlign: textAlignOfFirstBlock },\n {\n match: Slate.isRootBlock,\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n },\n )\n }\n }\n editor.deselectAndBlur = function () {\n ReactEditor.deselect(editor)\n ReactEditor.blur(editor)\n }\n\n editor.focusAndSelectAll = function () {\n ReactEditor.focus(editor)\n Transforms.select(editor, {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n })\n }\n\n return editor\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuE;AACvE,yBAA4B;AAC5B,sBAAsB;AAQf,SAAS,YAAY,QAAgB;AAC1C,SAAO,aAAa,SAAU,OAAqB;AACjD,UAAM,iBAAiB,kBAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;AACpE,UAAM,wBACJ,kBAAkB,sBAAM,YAAY,cAAc,IAAI,eAAe,YAAY;AACnF,UAAM,wBAAwB,MAAM,KAAK,kBAAK,MAAM,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;AAExE,mCAAY,SAAS,MAAM;AAC3B,mCAAY,KAAK,MAAM;AAEvB,WAAO,WAAW;AAClB,WAAO,SAAS;AAEhB,QAAI,uBAAuB;AACzB,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,YAAY,sBAAsB;AAAA,QACpC;AAAA,UACE,OAAO,kBAAK;AAAA,UACZ,IAAI;AAAA,YACF,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,YAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,uBAAuB;AACzB,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,WAAW,sBAAsB;AAAA,QACnC;AAAA,UACE,OAAO,sBAAM;AAAA,UACb,IAAI;AAAA,YACF,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,YAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,kBAAkB,WAAY;AACnC,mCAAY,SAAS,MAAM;AAC3B,mCAAY,KAAK,MAAM;AAAA,EACzB;AAEA,SAAO,oBAAoB,WAAY;AACrC,mCAAY,MAAM,MAAM;AACxB,4BAAW,OAAO,QAAQ;AAAA,MACxB,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,IAC9B,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/InlineModePlugin/index.tsx"],"sourcesContent":["import { type KeyboardEvent } from 'react'\nimport { type Editor, Path, Text, Transforms } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport isHotkey from 'is-hotkey'\n\nimport { Slate } from '@makeswift/controls'\n\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\n\nconst BLOCK_ONE_PATH = [0]\nconst BLOCK_TWO_PATH = [1]\n\nexport function withInlineMode(editor: Editor): Editor {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n /**\n * Merge root nodes past the first one\n */\n if (Path.equals(BLOCK_TWO_PATH, normalizationPath)) {\n Transforms.mergeNodes(editor, { at: BLOCK_TWO_PATH })\n return\n }\n /**\n * Unwrap non text nodes of first root node\n */\n if (Path.isAncestor(BLOCK_ONE_PATH, normalizationPath) && Slate.isBlock(normalizationNode)) {\n Transforms.unwrapNodes(editor, {\n at: normalizationPath,\n })\n return\n }\n /**\n * Update type of root nodes to be `text-block`\n */\n if (Path.equals(BLOCK_ONE_PATH, normalizationPath)) {\n Transforms.setNodes(editor, { type: Slate.BlockType.Default }, { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function InlineModePlugin() {\n return Plugin({\n onKeyDown: (e: KeyboardEvent) => {\n if (isHotkey('enter', e)) e.preventDefault()\n },\n withPlugin: withInlineMode,\n renderElement: renderElement => props => (\n <InlineModePluginComponent {...props} renderElement={renderElement} />\n ),\n })\n}\n\nconst minWidth = `${'Write some text...'.length}ch`\n\nfunction InlineModePluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n if (props.element.children.length === 1) {\n const text = props.element.children[0]\n\n if (Text.isText(text) && text.text === '') {\n return (\n <span style={{ display: 'inline-block', minWidth }} {...props.attributes}>\n {renderElement(props)}\n </span>\n )\n }\n }\n\n return (\n <span style={{ minWidth }} {...props.attributes}>\n {renderElement(props)}\n </span>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsDM;AArDN,mBAAoD;AAEpD,uBAAqB;AAErB,sBAAsB;AAEtB,oBAA2C;AAE3C,MAAM,iBAAiB,CAAC,CAAC;AACzB,MAAM,iBAAiB,CAAC,CAAC;AAElB,SAAS,eAAe,QAAwB;AACrD,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,UAAM,CAAC,mBAAmB,iBAAiB,IAAI;AAK/C,QAAI,kBAAK,OAAO,gBAAgB,iBAAiB,GAAG;AAClD,8BAAW,WAAW,QAAQ,EAAE,IAAI,eAAe,CAAC;AACpD;AAAA,IACF;AAIA,QAAI,kBAAK,WAAW,gBAAgB,iBAAiB,KAAK,sBAAM,QAAQ,iBAAiB,GAAG;AAC1F,8BAAW,YAAY,QAAQ;AAAA,QAC7B,IAAI;AAAA,MACN,CAAC;AACD;AAAA,IACF;AAIA,QAAI,kBAAK,OAAO,gBAAgB,iBAAiB,GAAG;AAClD,8BAAW,SAAS,QAAQ,EAAE,MAAM,sBAAM,UAAU,QAAQ,GAAG,EAAE,IAAI,kBAAkB,CAAC;AACxF;AAAA,IACF;AAEA,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,aAAO,sBAAO;AAAA,IACZ,WAAW,CAAC,MAAqB;AAC/B,cAAI,iBAAAA,SAAS,SAAS,CAAC;AAAG,UAAE,eAAe;AAAA,IAC7C;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAC9B,4CAAC,6BAA2B,GAAG,OAAO,eAA8B;AAAA,EAExE,CAAC;AACH;AAEA,MAAM,WAAW,GAAG,qBAAqB,MAAM;AAE/C,SAAS,0BAA0B;AAAA,EACjC;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,MAAI,MAAM,QAAQ,SAAS,WAAW,GAAG;AACvC,UAAM,OAAO,MAAM,QAAQ,SAAS,CAAC;AAErC,QAAI,kBAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI;AACzC,aACE,4CAAC,UAAK,OAAO,EAAE,SAAS,gBAAgB,SAAS,GAAI,GAAG,MAAM,YAC3D,wBAAc,KAAK,GACtB;AAAA,IAEJ;AAAA,EACF;AAEA,SACE,4CAAC,UAAK,OAAO,EAAE,SAAS,GAAI,GAAG,MAAM,YAClC,wBAAc,KAAK,GACtB;AAEJ;","names":["isHotkey"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/InlinePlugin/getValue.ts"],"sourcesContent":["import { Editor, NodeEntry, Text } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { SupportedInline, isSupportedInlineType, isSupportedInlineEntry } from './types'\n\nexport function getSupportedInlinesAndTextInSelection(\n editor: Editor,\n): NodeEntry<SupportedInline | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node =>\n (Slate.isInline(node) && isSupportedInlineType(node.type)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | SupportedInline>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n const areAllRootsSupportedInlineTypesOrText = roots.every(\n entry => isSupportedInlineEntry(entry) || Text.isText(entry[0]),\n )\n\n if (!areAllRootsSupportedInlineTypesOrText) return undefined\n\n const matchingValues = roots.filter(isSupportedInlineEntry).map(([node]) => node)\n\n const match = matchingValues.reduce(\n (a, b) => (a?.type === b?.type ? b : undefined),\n matchingValues.at(0) ?? undefined,\n )\n\n return match == null ? null : match.type\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,sBAAsB;AAEtB,uBAA6B;AAC7B,mCAAsC;AACtC,mBAA+E;AAExE,SAAS,sCACd,QACqC;AACrC,SAAO,MAAM;AAAA,IACX,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,UACJ,sBAAM,SAAS,IAAI,SAAK,oCAAsB,KAAK,IAAI,KAAM,kBAAK,OAAO,IAAI;AAAA,IAClF,CAAC;AAAA,EACH;AACF;AAEO,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,YAAQ,oDAAsB,sCAAsC,MAAM,CAAC;AACjF,QAAM,wCAAwC,MAAM;AAAA,IAClD,eAAS,qCAAuB,KAAK,KAAK,kBAAK,OAAO,MAAM,CAAC,CAAC;AAAA,EAChE;AAEA,MAAI,CAAC;AAAuC,WAAO;AAEnD,QAAM,iBAAiB,MAAM,OAAO,mCAAsB,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAEhF,QAAM,QAAQ,eAAe;AAAA,IAC3B,CAAC,GAAG,MAAO,GAAG,SAAS,GAAG,OAAO,IAAI;AAAA,IACrC,eAAe,GAAG,CAAC,KAAK;AAAA,EAC1B;AAEA,SAAO,SAAS,OAAO,OAAO,MAAM;AACtC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/InlinePlugin/index.tsx"],"sourcesContent":["import { type Editor, type Element } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { unstable_IconRadioGroup, Slate } from '@makeswift/controls'\n\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\n\nimport { supportedInlineOptions, isSupportedInlineNode } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withInline = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return Slate.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nexport function InlinePlugin() {\n return Plugin({\n control: {\n definition: unstable_IconRadioGroup({\n label: 'Inline',\n options: supportedInlineOptions,\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) =>\n isSupportedInlineNode(element) ? element.type : undefined,\n },\n withPlugin: withInline,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n\nfunction InlinePluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n switch (props.element.type) {\n case Slate.InlineType.Code:\n return <code {...props.attributes}>{renderElement(props)}</code>\n\n case Slate.InlineType.SuperScript:\n return <sup {...props.attributes}>{renderElement(props)}</sup>\n\n case Slate.InlineType.SubScript:\n return <sub {...props.attributes}>{renderElement(props)}</sub>\n\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCa;AAhCb,sBAA+C;AAE/C,oBAA2C;AAE3C,mBAA8D;AAC9D,sBAAyB;AACzB,sBAAyB;AAElB,MAAM,aAAa,CAAC,WAAmB;AAC5C,QAAM,EAAE,SAAS,IAAI;AAErB,SAAO,WAAW,WAAS;AACzB,WAAO,sBAAM,SAAS,KAAK,KAAK,SAAS,KAAK;AAAA,EAChD;AAEA,SAAO;AACT;AAEO,SAAS,eAAe;AAC7B,aAAO,sBAAO;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,yCAAwB;AAAA,QAClC,OAAO;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,gBAChB,oCAAsB,OAAO,IAAI,QAAQ,OAAO;AAAA,IACpD;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAAS;AACvC,aAAO,4CAAC,yBAAuB,GAAG,OAAO,eAA8B;AAAA,IACzE;AAAA,EACF,CAAC;AACH;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,UAAQ,MAAM,QAAQ,MAAM;AAAA,IAC1B,KAAK,sBAAM,WAAW;AACpB,aAAO,4CAAC,UAAM,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE3D,KAAK,sBAAM,WAAW;AACpB,aAAO,4CAAC,SAAK,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE1D,KAAK,sBAAM,WAAW;AACpB,aAAO,4CAAC,SAAK,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE1D;AACE,aAAO,2EAAG,wBAAc,KAAK,GAAE;AAAA,EACnC;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/LinkPlugin/getValue.ts"],"sourcesContent":["import { Editor, NodeEntry, Text } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport deepEqual from '../../utils/deepEqual'\n\nexport function getLinksAndTextInSelection(editor: Editor): NodeEntry<Slate.LinkElement | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => (Slate.isInline(node) && Slate.isLink(node)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | Slate.LinkElement>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n\n const areAllRootsLinks = roots.every(([root]) => Slate.isLink(root) || Text.isText(root))\n\n if (!areAllRootsLinks) return undefined\n\n const matchingValues = roots.map(([node]) => node).filter(Slate.isLink) as (\n | Slate.LinkElement\n | null\n | undefined\n )[]\n\n const match = matchingValues.reduce(\n (a, b) => (deepEqual(a?.link, b?.link) ? b : null),\n matchingValues.at(0) ?? undefined,\n )\n\n return match == null ? match : match.link\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,sBAAsB;AAEtB,uBAA6B;AAC7B,mCAAsC;AACtC,uBAAsB;AAEf,SAAS,2BAA2B,QAAuD;AAChG,SAAO,MAAM;AAAA,IACX,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,UAAS,sBAAM,SAAS,IAAI,KAAK,sBAAM,OAAO,IAAI,KAAM,kBAAK,OAAO,IAAI;AAAA,IACjF,CAAC;AAAA,EACH;AACF;AAEO,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,YAAQ,oDAAsB,2BAA2B,MAAM,CAAC;AAEtE,QAAM,mBAAmB,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,sBAAM,OAAO,IAAI,KAAK,kBAAK,OAAO,IAAI,CAAC;AAExF,MAAI,CAAC;AAAkB,WAAO;AAE9B,QAAM,iBAAiB,MAAM,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,OAAO,sBAAM,MAAM;AAMtE,QAAM,QAAQ,eAAe;AAAA,IAC3B,CAAC,GAAG,UAAO,iBAAAA,SAAU,GAAG,MAAM,GAAG,IAAI,IAAI,IAAI;AAAA,IAC7C,eAAe,GAAG,CAAC,KAAK;AAAA,EAC1B;AAEA,SAAO,SAAS,OAAO,QAAQ,MAAM;AACvC;","names":["deepEqual"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/LinkPlugin/index.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { type Editor, Element } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { Slate } from '@makeswift/controls'\n\nimport { Link } from '../../controls/link'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { Link as LinkComponent } from '../../components/shared/Link'\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\n\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withLink = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return Slate.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\n const linkStyle = useStyle({ textDecoration: 'none' })\n switch (element.type) {\n case Slate.InlineType.Link:\n return (\n <LinkComponent\n {...attributes}\n link={element.link ?? undefined}\n className={cx(linkStyle, element.className)}\n >\n {renderElement({\n element,\n attributes,\n children,\n })}\n </LinkComponent>\n )\n\n default:\n return (\n <>\n {renderElement({\n element,\n attributes,\n children,\n })}\n </>\n )\n }\n}\n\nexport function LinkPlugin() {\n return Plugin({\n control: {\n definition: Link({\n label: 'On Click',\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return Slate.isLink(element) ? element.link : undefined\n },\n },\n withPlugin: withLink,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCQ;AAjCR,iBAAmB;AAGnB,sBAAsB;AAEtB,kBAAqB;AACrB,uBAAyB;AACzB,kBAAsC;AACtC,oBAA2C;AAE3C,sBAAyB;AACzB,sBAAyB;AAElB,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,EAAE,SAAS,IAAI;AAErB,SAAO,WAAW,WAAS;AACzB,WAAO,sBAAM,SAAS,KAAK,KAAK,SAAS,KAAK;AAAA,EAChD;AAEA,SAAO;AACT;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0D;AACxD,QAAM,gBAAY,2BAAS,EAAE,gBAAgB,OAAO,CAAC;AACrD,UAAQ,QAAQ,MAAM;AAAA,IACpB,KAAK,sBAAM,WAAW;AACpB,aACE;AAAA,QAAC,YAAAA;AAAA,QAAA;AAAA,UACE,GAAG;AAAA,UACJ,MAAM,QAAQ,QAAQ;AAAA,UACtB,eAAW,eAAG,WAAW,QAAQ,SAAS;AAAA,UAEzC,wBAAc;AAAA,YACb;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA;AAAA,MACH;AAAA,IAGJ;AACE,aACE,2EACG,wBAAc;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GACH;AAAA,EAEN;AACF;AAEO,SAAS,aAAa;AAC3B,aAAO,sBAAO;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,kBAAK;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,YAAqB;AACrC,eAAO,sBAAM,OAAO,OAAO,IAAI,QAAQ,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAAS;AACvC,aAAO,4CAAC,yBAAuB,GAAG,OAAO,eAA8B;AAAA,IACzE;AAAA,EACF,CAAC;AACH;","names":["LinkComponent"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/LocalChangesPlugin/index.tsx"],"sourcesContent":["import { BaseEditor, Editor, Selection } from 'slate'\nimport { v4 as uuid } from 'uuid'\n\nexport type LocalChange = { selection: Selection; time: number }\n\nexport interface LocalChangesEditor extends BaseEditor {\n localChanges: Map<string, LocalChange>\n recentKeys: Map<string, number>\n recentLocalChanges: { time: number; key: string }[]\n currentKey: string\n}\n\nexport function withLocalChanges(editor: Editor): Editor {\n editor.localChanges = new Map<string, LocalChange>()\n editor.recentLocalChanges = []\n editor.currentKey = ''\n\n const _onChange = editor.onChange\n editor.onChange = options => {\n _onChange(options)\n if (editor == null || options?.operation == null) return\n\n const key = uuid()\n editor.localChanges.set(key, { selection: editor.selection, time: performance.now() })\n editor.currentKey = key\n }\n\n return editor\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA2B;AAWpB,SAAS,iBAAiB,QAAwB;AACvD,SAAO,eAAe,oBAAI,IAAyB;AACnD,SAAO,qBAAqB,CAAC;AAC7B,SAAO,aAAa;AAEpB,QAAM,YAAY,OAAO;AACzB,SAAO,WAAW,aAAW;AAC3B,cAAU,OAAO;AACjB,QAAI,UAAU,QAAQ,SAAS,aAAa;AAAM;AAElD,UAAM,UAAM,YAAAA,IAAK;AACjB,WAAO,aAAa,IAAI,KAAK,EAAE,WAAW,OAAO,WAAW,MAAM,YAAY,IAAI,EAAE,CAAC;AACrF,WAAO,aAAa;AAAA,EACtB;AAEA,SAAO;AACT;","names":["uuid"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/TextAlignPlugin/getValue.ts"],"sourcesContent":["import { Editor } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\nimport { responsiveShallowEqual } from '../utils/responsive'\n\nexport function getValue(editor: Editor): Slate.ResponsiveBlockTextAlignment | undefined {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: Slate.isRootBlock,\n }),\n ).map(([node]) => node['textAlign']) as (Slate.ResponsiveBlockTextAlignment | undefined)[]\n\n return matchingValues.length === 0\n ? undefined\n : matchingValues.reduce((a, b) => {\n return responsiveShallowEqual(a, b)\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuB;AACvB,sBAAsB;AAEtB,uBAA6B;AAC7B,wBAAuC;AAEhC,SAAS,SAAS,QAAgE;AACvF,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,sBAAM;AAAA,IACf,CAAC;AAAA,EACH,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,WAAW,CAAC;AAEnC,SAAO,eAAe,WAAW,IAC7B,SACA,eAAe,OAAO,CAAC,GAAG,MAAM;AAC9B,eAAO,0CAAuB,GAAG,CAAC;AAAA,EACpC,CAAC;AACP;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/TextAlignPlugin/index.tsx"],"sourcesContent":["import { Editor, Element, NodeEntry } from 'slate'\nimport { unstable_IconRadioGroup, Slate } from '@makeswift/controls'\n\nimport { unstable_StyleV2 } from '../../controls/style-v2/style-v2'\nimport { normalizeResponsiveValue, setResponsiveValue } from '../utils/responsive'\nimport { getValue } from './getValue'\nimport { Plugin } from '../../controls/rich-text-v2/plugin'\n\nconst TEXT_ALIGN_KEY = 'textAlign'\n\nexport const withTextAlign = (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (\n normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, { match: Slate.isRootBlock })(\n entry as NodeEntry<Slate.RootBlock>,\n )\n ) {\n return\n }\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TextAlignPlugin() {\n return Plugin({\n control: {\n definition: unstable_StyleV2({\n type: unstable_IconRadioGroup({\n label: 'Alignment',\n options: [\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignLeft,\n label: 'Left Align',\n value: 'left',\n },\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignCenter,\n label: 'Center Align',\n value: 'center',\n },\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignRight,\n label: 'Right Align',\n value: 'right',\n },\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignJustify,\n label: 'Justify',\n value: 'justify',\n },\n ],\n defaultValue: 'left',\n }),\n getStyle(textAlign) {\n return { textAlign }\n },\n }),\n onChange: (editor, value) =>\n setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {\n match: Slate.isRootBlock,\n split: false,\n }),\n getValue,\n getElementValue: (element: Element) => {\n return Slate.isRootBlock(element) ? element.textAlign : undefined\n },\n },\n withPlugin: withTextAlign,\n renderElement: (renderElement, className) => props => {\n return renderElement({\n ...props,\n element: {\n ...props.element,\n className,\n },\n })\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAA+C;AAE/C,sBAAiC;AACjC,wBAA6D;AAC7D,sBAAyB;AACzB,oBAAuB;AAEvB,MAAM,iBAAiB;AAEhB,MAAM,gBAAgB,CAAC,WAAmB;AAC/C,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,YACE,4CAAyB,QAAQ,gBAAgB,EAAE,OAAO,sBAAM,YAAY,CAAC;AAAA,MAC3E;AAAA,IACF,GACA;AACA;AAAA,IACF;AACA,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,kBAAkB;AAChC,aAAO,sBAAO;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,kCAAiB;AAAA,QAC3B,UAAM,yCAAwB;AAAA,UAC5B,OAAO;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,UACF;AAAA,UACA,cAAc;AAAA,QAChB,CAAC;AAAA,QACD,SAAS,WAAW;AAClB,iBAAO,EAAE,UAAU;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,MACD,UAAU,CAAC,QAAQ,cACjB,sCAAmB,QAAQ,gBAAgB,OAAO;AAAA,QAChD,OAAO,sBAAM;AAAA,QACb,OAAO;AAAA,MACT,CAAC;AAAA,MACH;AAAA,MACA,iBAAiB,CAAC,YAAqB;AACrC,eAAO,sBAAM,YAAY,OAAO,IAAI,QAAQ,YAAY;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,CAAC,eAAe,cAAc,WAAS;AACpD,aAAO,cAAc;AAAA,QACnB,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,MAAM;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/getValue.tsx"],"sourcesContent":["import { Editor, Text } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\n\nexport function getValue(editor: Editor) {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: Text.isText,\n }),\n ).map(([node]) => node['typography']) as (RichTextTypography | undefined)[]\n\n return matchingValues\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAG7B,uBAA6B;AAEtB,SAAS,SAAS,QAAgB;AACvC,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,kBAAK;AAAA,IACd,CAAC;AAAA,EACH,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,YAAY,CAAC;AAEpC,SAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/index.ts"],"sourcesContent":["import { BaseEditor, Descendant, Editor, NodeEntry, Text, Transforms } from 'slate'\nimport { cx } from '@emotion/css'\nimport { unstable_Typography } from '@makeswift/controls'\n\nimport { clearActiveTypographyStyle } from './clearActiveTypographyStyle'\nimport { clearDeviceActiveTypography } from './clearDeviceActiveTypography'\nimport { detachActiveTypography } from './detachActiveTypography'\nimport { setActiveTypographyId } from './setActiveTypographyId'\nimport { setActiveTypographyStyle } from './setActiveTypographyStyle'\nimport { getValue } from './getValue'\nimport { getSelection } from '../selectors'\nimport { Plugin } from '../../controls/rich-text-v2/plugin'\nimport { normalizeTypographyUp } from './normalizeTypographyUp'\nimport { normalizeTypographyDown } from './normalizeTypographyDown'\nimport { normalizeSimilarText } from './normalizeSimilarText'\n\nexport const TypographyActions = {\n setActiveTypographyId,\n setActiveTypographyStyle,\n clearActiveTypographyStyle,\n clearDeviceActiveTypography,\n detachActiveTypography,\n}\n\nexport const TYPOGRAPHY_KEY = 'typography'\n\nexport interface TypographyEditor extends BaseEditor {\n typographyNormalizationDirection?: 'up' | 'neutral' | 'down'\n}\n\nexport function withTypography(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n if (\n 'typography' in normalizationNode &&\n normalizationNode?.typography?.id == null &&\n normalizationNode?.typography?.style.length === 0\n ) {\n Transforms.unsetNodes(editor, TYPOGRAPHY_KEY, { at: normalizationPath })\n return\n }\n\n if ('slice' in normalizationNode && normalizationNode?.slice != null) {\n Transforms.unsetNodes(editor, 'slice', { at: normalizationPath })\n return\n }\n\n if (normalizeSimilarText(editor, entry)) return\n\n if (editor.typographyNormalizationDirection === 'up' && normalizeTypographyUp(editor, entry))\n return\n\n if (\n (editor.typographyNormalizationDirection === 'down' ||\n editor.typographyNormalizationDirection == null) &&\n normalizeTypographyDown(editor, entry)\n )\n return\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TypographyPlugin() {\n return Plugin({\n withPlugin: withTypography,\n control: {\n definition: unstable_Typography(),\n onChange: (editor, value) => {\n Editor.withoutNormalizing(editor, () => {\n const at = getSelection(editor)\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n if (atRef.current) {\n Transforms.setNodes<Descendant>(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: Text.isText,\n split: true,\n },\n )\n }\n\n if (atRef.current) {\n const nodesToUpdate = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n ) as NodeEntry<Text>[]\n\n if (nodesToUpdate.length !== value?.length)\n return console.error(\n `TypographyControl.onChange received the wrong number of arguments.\n Called with ${value?.length} values mapping to ${nodesToUpdate.length} nodes.`,\n )\n\n for (const [index, [, path]] of nodesToUpdate.entries()) {\n Transforms.setNodes(\n editor,\n {\n typography: value?.at(index),\n },\n { at: path, match: Text.isText },\n )\n }\n }\n\n atRef.unref()\n })\n },\n getValue,\n getLeafValue: (text: Text) => {\n return Text.isText(text) ? text.typography : undefined\n },\n },\n renderLeaf: (renderLeaf, className) => props => {\n return renderLeaf({\n ...props,\n leaf: {\n ...props.leaf,\n className: cx(props.leaf.className, className),\n },\n })\n },\n })\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/slate/index.ts"],"sourcesContent":["export { type NodeJSON, type ValueJSON, type InlineJSON, type MarkJSON } from '@makeswift/controls'\nexport * from './BlockPlugin'\nexport * from './BuilderPlugin'\nexport * from './InlineModePlugin'\nexport * from './InlinePlugin'\nexport * from './LinkPlugin'\nexport * from './LocalChangesPlugin'\nexport * from './TextAlignPlugin'\nexport * from './TypographyPlugin'\nexport * from './types'\nexport * from './utils'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AACA,0BAAc,0BADd;AAEA,0BAAc,4BAFd;AAGA,0BAAc,+BAHd;AAIA,0BAAc,2BAJd;AAKA,0BAAc,yBALd;AAMA,0BAAc,iCANd;AAOA,0BAAc,8BAPd;AAQA,0BAAc,+BARd;AASA,0BAAc,oBATd;AAUA,0BAAc,oBAVd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/editor.ts"],"sourcesContent":["import { Editor, type Path, type NodeEntry } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nexport const EditorUtils = {\n getFirstAncestorList(\n editor: Editor,\n path: Path,\n ): NodeEntry<Slate.Element & Slate.ListElement> | null {\n try {\n const parentList = Editor.above(editor, {\n at: path,\n match: Slate.isList,\n })\n return parentList ?? null\n } catch (e) {\n return null\n }\n },\n\n getFirstAncestorListItem(editor: Editor, path: Path): NodeEntry<Slate.ListItemElement> | null {\n try {\n const parentListItem = Editor.above(editor, {\n at: path,\n match: Slate.isListItem,\n })\n\n return parentListItem ?? null\n } catch (e) {\n return null\n }\n },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkD;AAClD,sBAAsB;AAEf,MAAM,cAAc;AAAA,EACzB,qBACE,QACA,MACqD;AACrD,QAAI;AACF,YAAM,aAAa,oBAAO,MAAM,QAAQ;AAAA,QACtC,IAAI;AAAA,QACJ,OAAO,sBAAM;AAAA,MACf,CAAC;AACD,aAAO,cAAc;AAAA,IACvB,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,yBAAyB,QAAgB,MAAqD;AAC5F,QAAI;AACF,YAAM,iBAAiB,oBAAO,MAAM,QAAQ;AAAA,QAC1C,IAAI;AAAA,QACJ,OAAO,sBAAM;AAAA,MACf,CAAC;AAED,aAAO,kBAAkB;AAAA,IAC3B,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/element.ts"],"sourcesContent":["import { Slate } from '@makeswift/controls'\n\nexport const ElementUtils = {\n createText() {\n return { text: '' }\n },\n createParagraph() {\n return {\n children: [this.createText()],\n type: Slate.BlockType.Paragraph,\n }\n },\n createList(type: Slate.BlockType = Slate.BlockType.UnorderedList): Slate.Block {\n return { children: [this.createText()], type }\n },\n createListItem(): Slate.Block {\n return {\n children: [this.createListItemChild()],\n type: Slate.BlockType.ListItem,\n }\n },\n createListItemChild(): Slate.Block {\n return {\n children: [this.createText()],\n type: Slate.BlockType.ListItemChild,\n }\n },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsB;AAEf,MAAM,eAAe;AAAA,EAC1B,aAAa;AACX,WAAO,EAAE,MAAM,GAAG;AAAA,EACpB;AAAA,EACA,kBAAkB;AAChB,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,WAAW,CAAC;AAAA,MAC5B,MAAM,sBAAM,UAAU;AAAA,IACxB;AAAA,EACF;AAAA,EACA,WAAW,OAAwB,sBAAM,UAAU,eAA4B;AAC7E,WAAO,EAAE,UAAU,CAAC,KAAK,WAAW,CAAC,GAAG,KAAK;AAAA,EAC/C;AAAA,EACA,iBAA8B;AAC5B,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,oBAAoB,CAAC;AAAA,MACrC,MAAM,sBAAM,UAAU;AAAA,IACxB;AAAA,EACF;AAAA,EACA,sBAAmC;AACjC,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,WAAW,CAAC;AAAA,MAC5B,MAAM,sBAAM,UAAU;AAAA,IACxB;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/filterForSubtreeRoots.ts"],"sourcesContent":["import type { Node, NodeEntry } from 'slate'\nimport { Path } from 'slate'\n\nexport function filterForSubtreeRoots(entries: NodeEntry<Node>[]): NodeEntry<Node>[] {\n return entries.filter(\n ([, nodePath]) =>\n !Path.ancestors(nodePath).some(ancestor => {\n return entries.some(([, path]) => Path.equals(path, ancestor))\n }),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAqB;AAEd,SAAS,sBAAsB,SAA+C;AACnF,SAAO,QAAQ;AAAA,IACb,CAAC,CAAC,EAAE,QAAQ,MACV,CAAC,kBAAK,UAAU,QAAQ,EAAE,KAAK,cAAY;AACzC,aAAO,QAAQ,KAAK,CAAC,CAAC,EAAE,IAAI,MAAM,kBAAK,OAAO,MAAM,QAAQ,CAAC;AAAA,IAC/D,CAAC;AAAA,EACL;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/index.ts"],"sourcesContent":["export * from './toText'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,qBAAd;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/actions/index.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\nimport { type BuilderAction, BuilderActionTypes } from '../builder-api/actions'\nimport { type HostAction, HostActionTypes } from '../host-api'\n\nimport { type InternalAction, InternalActionTypes } from './internal'\n\nexport { type UnknownAction } from '@reduxjs/toolkit'\nexport { type DocumentPayload } from '../shared-api'\n\nexport const ActionTypes = {\n ...HostActionTypes,\n ...BuilderActionTypes,\n ...InternalActionTypes,\n} as const\n\nexport type Action = HostAction | BuilderAction | InternalAction\n\nexport function isKnownAction(action: unknown): action is Action {\n return isAction(action) && Object.hasOwn(ActionTypes, action.type)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AAEzB,qBAAuD;AACvD,sBAAiD;AAEjD,sBAAyD;AAKlD,MAAM,cAAc;AAAA,EACzB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAIO,SAAS,cAAc,QAAmC;AAC/D,aAAO,yBAAS,MAAM,KAAK,OAAO,OAAO,aAAa,OAAO,IAAI;AACnE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/state/actions/internal/index.ts"],"sourcesContent":["import { type ReadOnlyAction, ReadOnlyActionTypes } from './read-only-actions'\nimport { type ReadWriteAction, ReadWriteActionTypes } from './read-write-actions'\n\nexport const InternalActionTypes = {\n ...ReadOnlyActionTypes,\n ...ReadWriteActionTypes,\n} as const\n\nexport type InternalAction = ReadOnlyAction | ReadWriteAction\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAyD;AACzD,gCAA2D;AAEpD,MAAM,sBAAsB;AAAA,EACjC,GAAG;AAAA,EACH,GAAG;AACL;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/host-api.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\nimport { type Operation } from 'ot-json0'\n\nimport { type PropControllerMessage } from '../prop-controllers/instances'\nimport { type APIResource, APIResourceLocale } from '../api/types'\n\nimport { BuilderEditMode } from './modules/builder-edit-mode'\nimport { type Point } from './modules/read-write/pointer'\n\nimport { type SharedAction, SharedActionTypes } from './shared-api'\n\n// actions dispatched by the builder to the host (\"Host API\")\nexport const HostActionTypes = {\n ...SharedActionTypes,\n\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n SCROLL_DOCUMENT_ELEMENT: 'SCROLL_DOCUMENT_ELEMENT',\n\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n\n SET_BUILDER_EDIT_MODE: 'SET_BUILDER_EDIT_MODE',\n SET_LOCALIZED_RESOURCE_ID: 'SET_LOCALIZED_RESOURCE_ID',\n\n BUILDER_POINTER_MOVE: 'BUILDER_POINTER_MOVE',\n} as const\n\ntype InitAction = { type: typeof HostActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof HostActionTypes.CLEAN_UP }\n\ntype ChangeDocumentAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype ScrollDocumentElementAction = {\n type: typeof HostActionTypes.SCROLL_DOCUMENT_ELEMENT\n payload: { scrollTopDelta: number }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof HostActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource; locale?: string | null }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof HostActionTypes.EVICT_API_RESOURCE\n payload: { id: string; locale?: string | null }\n}\n\ntype SetBuilderEditModeAction = {\n type: typeof HostActionTypes.SET_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype SetLocalizedResourceIdAction = {\n type: typeof HostActionTypes.SET_LOCALIZED_RESOURCE_ID\n // TODO: make `locale` required once we've upgraded the builder to always provide it\n payload: { locale?: string; resourceId: string; localizedResourceId: string | null }\n}\n\ntype BuilderPointerMoveAction = {\n type: typeof HostActionTypes.BUILDER_POINTER_MOVE\n payload: { pointer: Point | null }\n}\n\nexport type HostAction =\n | SharedAction\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | ChangeDocumentElementScrollTopAction\n | ScrollDocumentElementAction\n | MessageHostPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n | SetBuilderEditModeAction\n | SetLocalizedResourceIdAction\n | BuilderPointerMoveAction\n\nexport function init(): InitAction {\n return { type: HostActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: HostActionTypes.CLEAN_UP }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function scrollDocumentElement(scrollTopDelta: number): ScrollDocumentElementAction {\n return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } }\n}\n\nexport function messageHostPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageHostPropControllerAction<T> {\n return {\n type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource<R extends APIResource>(\n resource: R,\n locale?: APIResourceLocale<R>,\n): ChangeAPIResourceAction {\n return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } }\n}\n\nexport function evictApiResource(id: string, locale?: string | null): EvictAPIResourceAction {\n return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } }\n}\n\nexport function setBuilderEditMode(editMode: BuilderEditMode): SetBuilderEditModeAction {\n return {\n type: HostActionTypes.SET_BUILDER_EDIT_MODE,\n payload: { editMode },\n }\n}\n\nexport function setLocalizedResourceId({\n resourceId,\n localizedResourceId,\n locale,\n}: {\n resourceId: string\n localizedResourceId: string | null\n locale?: string\n}): SetLocalizedResourceIdAction {\n return {\n type: HostActionTypes.SET_LOCALIZED_RESOURCE_ID,\n payload: { resourceId, localizedResourceId, locale },\n }\n}\n\nexport function builderPointerMove(pointer: Point | null): BuilderPointerMoveAction {\n return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } }\n}\n\nexport function isHostAction(action: unknown): action is HostAction {\n return isAction(action) && Object.hasOwn(HostActionTypes, action.type)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AAUzB,wBAAqD;AAG9C,MAAM,kBAAkB;AAAA,EAC7B,GAAG;AAAA,EAEH,MAAM;AAAA,EACN,UAAU;AAAA,EAEV,iBAAiB;AAAA,EAEjB,oCAAoC;AAAA,EACpC,yBAAyB;AAAA,EAEzB,8BAA8B;AAAA,EAE9B,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EAEpB,uBAAuB;AAAA,EACvB,2BAA2B;AAAA,EAE3B,sBAAsB;AACxB;AAkEO,SAAS,OAAmB;AACjC,SAAO,EAAE,MAAM,gBAAgB,KAAK;AACtC;AAEO,SAAS,UAAyB;AACvC,SAAO,EAAE,MAAM,gBAAgB,SAAS;AAC1C;AAEO,SAAS,eAAe,aAAqB,WAA4C;AAC9F,SAAO,EAAE,MAAM,gBAAgB,iBAAiB,SAAS,EAAE,aAAa,UAAU,EAAE;AACtF;AAEO,SAAS,+BACd,WACsC;AACtC,SAAO,EAAE,MAAM,gBAAgB,oCAAoC,SAAS,EAAE,UAAU,EAAE;AAC5F;AAEO,SAAS,sBAAsB,gBAAqD;AACzF,SAAO,EAAE,MAAM,gBAAgB,yBAAyB,SAAS,EAAE,eAAe,EAAE;AACtF;AAEO,SAAS,0BACd,aACA,YACA,UACA,SACoC;AACpC,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,aAAa,YAAY,UAAU,QAAQ;AAAA,EACxD;AACF;AAEO,SAAS,kBACd,UACA,QACyB;AACzB,SAAO,EAAE,MAAM,gBAAgB,qBAAqB,SAAS,EAAE,UAAU,OAAO,EAAE;AACpF;AAEO,SAAS,iBAAiB,IAAY,QAAgD;AAC3F,SAAO,EAAE,MAAM,gBAAgB,oBAAoB,SAAS,EAAE,IAAI,OAAO,EAAE;AAC7E;AAEO,SAAS,mBAAmB,UAAqD;AACtF,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,SAAS;AAAA,EACtB;AACF;AAEO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAIiC;AAC/B,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,YAAY,qBAAqB,OAAO;AAAA,EACrD;AACF;AAEO,SAAS,mBAAmB,SAAiD;AAClF,SAAO,EAAE,MAAM,gBAAgB,sBAAsB,SAAS,EAAE,QAAQ,EAAE;AAC5E;AAEO,SAAS,aAAa,QAAuC;AAClE,aAAO,yBAAS,MAAM,KAAK,OAAO,OAAO,iBAAiB,OAAO,IAAI;AACvE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/state/middleware/read-write/builder-api/initialize-connection.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport deepEqual from '../../../../utils/deepEqual'\n\nimport * as BoxModels from '../../../modules/read-write/box-models'\nimport * as BuilderEditMode from '../../../modules/builder-edit-mode'\n\nimport { type Action } from '../../../actions'\n\nimport * as ReadOnly from '../../../actions/internal/read-only-actions'\nimport * as Builder from '../../../builder-api/actions'\n\nimport { serializeControls } from '../../../../builder'\nimport { type BuilderAPIProxy } from '../../../builder-api/proxy'\n\nimport * as ReadOnlyState from '../../../read-only-state'\nimport {\n type State,\n getDocuments,\n getMeasurables,\n getBoxModels,\n getBoxModel,\n getElementImperativeHandlesContainingElement,\n getPointer,\n} from '../../../read-write-state'\n\nimport { type ElementSize, getElementSize } from './element-size'\n\nfunction measureElements(): ThunkAction<void, State, unknown, Action> {\n return (dispatch, getState) => {\n const measurables = getMeasurables(getState())\n const currentBoxModels = getBoxModels(getState())\n const measuredBoxModels = new Map<string, Map<string, BoxModels.BoxDisplayModel>>()\n\n measurables.forEach((documentMeasurables, documentKey) => {\n const measuredDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel>()\n\n documentMeasurables.forEach((measurable, elementKey) => {\n const boxModel = BoxModels.measure(measurable)\n\n if (boxModel != null) measuredDocumentBoxModels.set(elementKey, boxModel)\n })\n\n if (measuredDocumentBoxModels.size > 0) {\n measuredBoxModels.set(documentKey, measuredDocumentBoxModels)\n }\n })\n\n const changedBoxModels = new Map<string, Map<string, BoxModels.BoxDisplayModel | null>>()\n\n currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel | null>()\n\n currentDocumentBoxModels.forEach((_boxModel, elementKey) => {\n if (!measuredBoxModels.get(documentKey)?.has(elementKey)) {\n changedDocumentBoxModels.set(elementKey, null)\n }\n\n if (changedDocumentBoxModels.size > 0) {\n changedBoxModels.set(documentKey, changedDocumentBoxModels)\n }\n })\n })\n\n measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxDisplayModel | null>()\n\n measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {\n const currentBoxModel = getBoxModel(getState(), documentKey, elementKey)\n\n if (currentBoxModel == null || !deepEqual(currentBoxModel, measuredBoxModel)) {\n changedDocumentBoxModels.set(elementKey, measuredBoxModel)\n }\n })\n\n if (changedDocumentBoxModels.size > 0) {\n changedBoxModels.set(documentKey, changedDocumentBoxModels)\n }\n })\n\n if (changedBoxModels.size > 0) dispatch(Builder.changeElementBoxModels(changedBoxModels))\n }\n}\n\nfunction startMeasuringElements(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n dispatch(measureElements())\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction lockDocumentScroll(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n const lastDocumentOverflow = window.document.documentElement.style.overflow\n window.document.documentElement.style.overflow = 'hidden'\n\n window.document.documentElement.addEventListener('wheel', handleWheelEvent)\n\n return () => {\n window.document.documentElement.style.overflow = lastDocumentOverflow\n window.document.documentElement.removeEventListener('wheel', handleWheelEvent)\n }\n\n function handleWheelEvent({ deltaX, deltaY }: WheelEvent) {\n dispatch(Builder.handleWheel({ deltaX, deltaY }))\n }\n }\n}\n\nfunction startHandlingPointerMoveEvent(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n window.document.documentElement.addEventListener('pointermove', handlePointerMoveEvent)\n\n return () => {\n window.document.documentElement.removeEventListener('pointermove', handlePointerMoveEvent)\n }\n\n function handlePointerMoveEvent({ clientX, clientY }: PointerEvent) {\n dispatch(Builder.handlePointerMove({ clientX, clientY }))\n }\n }\n}\n\nfunction startHandlingFocusEvents(): ThunkAction<() => void, State, unknown, Action> {\n return (_dispatch, getState) => {\n window.addEventListener('focusin', handleFocusIn)\n window.addEventListener('focusout', handleFocusOut)\n\n return () => {\n window.removeEventListener('focusin', handleFocusIn)\n window.removeEventListener('focusout', handleFocusOut)\n }\n\n function handleFocusIn(event: FocusEvent) {\n if (\n ReadOnlyState.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT\n ) {\n return\n }\n\n if (!(event.target instanceof window.HTMLElement) || !event.target.isContentEditable) {\n window.parent.focus()\n }\n }\n\n function handleFocusOut(event: FocusEvent) {\n if (\n ReadOnlyState.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT\n ) {\n return\n }\n\n if (\n !(event.relatedTarget instanceof window.HTMLElement) ||\n !event.relatedTarget.isContentEditable\n ) {\n window.parent.focus()\n }\n }\n }\n}\n\nfunction startMeasuringDocumentElement(): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n let lastSize: ElementSize\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n const nextSize = getElementSize(window.document.documentElement)\n\n if (!deepEqual(lastSize, nextSize)) {\n lastSize = nextSize\n\n dispatch(Builder.changeDocumentElementSize(nextSize))\n }\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction elementKeysFromElementFromPoint(\n elementFromPoint: Element | null,\n): ThunkAction<{ documentKey: string; elementKey: string } | null, State, unknown, Action> {\n return (_dispatch, getState) => {\n if (elementFromPoint == null) return null\n\n const elementImperativeHandles = getElementImperativeHandlesContainingElement(\n getState(),\n elementFromPoint,\n )\n const ascendingDepthDocumentKeys = ReadOnlyState.getDocumentKeysSortedByDepth(getState())\n const descendingDepthDocumentKeys = ascendingDepthDocumentKeys.slice().reverse()\n\n let currentElement: Element | null = elementFromPoint\n let keys = null\n\n while (currentElement != null) {\n for (const documentKey of descendingDepthDocumentKeys) {\n const byElementKey = elementImperativeHandles.get(documentKey)\n\n if (byElementKey == null) continue\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n if (elementImperativeHandle.getDomNode() === currentElement) {\n return { documentKey, elementKey }\n }\n }\n }\n\n currentElement = currentElement.parentElement\n }\n\n return keys\n }\n}\n\nfunction startPollingElementFromPoint(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n let lastElementFromPoint: Element | null = null\n let animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameRequestId)\n }\n\n function handleAnimationFrameRequest() {\n const pointer = getPointer(getState())\n const elementFromPoint =\n pointer == null ? null : document.elementFromPoint(pointer.x, pointer.y)\n\n if (elementFromPoint !== lastElementFromPoint) {\n lastElementFromPoint = elementFromPoint\n\n const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint))\n\n dispatch(Builder.elementFromPointChange(keys))\n }\n\n animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction registerBuilderComponents(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const state = getState()\n const componentsMeta = ReadOnlyState.getComponentsMeta(state)\n\n componentsMeta.forEach((meta, type) => {\n const descriptors = ReadOnlyState.getComponentPropControllerDescriptors(state, type)\n if (descriptors != null) {\n const [serializedControls, transferables] = serializeControls(descriptors)\n dispatch(\n Builder.registerBuilderComponent({ type, meta, serializedControls }, transferables),\n )\n }\n })\n\n return () => {\n componentsMeta.forEach((_, type) => {\n dispatch(Builder.unregisterBuilderComponent({ type }))\n })\n }\n }\n}\n\nfunction registerBuilderDocuments(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const documents = getDocuments(getState())\n\n documents.forEach(document => {\n dispatch(Builder.registerBuilderDocument(document))\n })\n\n return () => {\n documents.forEach((_document, documentKey) => {\n dispatch(Builder.unregisterBuilderDocument(documentKey))\n })\n }\n }\n}\n\nexport function initializeBuilderConnection(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const unregisterBuilderDocuments = dispatch(registerBuilderDocuments())\n const stopMeasuringElements = dispatch(startMeasuringElements())\n const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement())\n const stopHandlingFocusEvent = dispatch(startHandlingFocusEvents())\n const unlockDocumentScroll = dispatch(lockDocumentScroll())\n const stopHandlingPointerMoveEvent = dispatch(startHandlingPointerMoveEvent())\n const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint())\n const unregisterBuilderComponents = dispatch(registerBuilderComponents())\n\n const breakpoints = ReadOnlyState.getBreakpoints(getState())\n dispatch(Builder.setBreakpoints(breakpoints))\n\n const locale = ReadOnlyState.getLocale(getState())\n if (locale != null) dispatch(Builder.setLocale(new Intl.Locale(locale)))\n\n dispatch(ReadOnly.setIsInBuilder(true))\n builderProxy.dispatchBuffered()\n\n return () => {\n unregisterBuilderDocuments()\n stopMeasuringElements()\n stopMeasuringDocumentElement()\n stopHandlingFocusEvent()\n unlockDocumentScroll()\n stopHandlingPointerMoveEvent()\n stopPollingElementFromPoint()\n unregisterBuilderComponents()\n dispatch(ReadOnly.setIsInBuilder(false))\n }\n }\n}\n"],"mappings":"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","names":["deepEqual","document"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/state/middleware/read-write/index.ts"],"sourcesContent":["import { type BuilderAPIProxy } from '../../builder-api/proxy'\n\nimport { updateElementTreeMiddleware } from './update-element-tree'\nimport { measureBoxModelsMiddleware } from './measure-box-models'\nimport { builderAPIMiddleware } from './builder-api'\nimport { propControllerHandlesMiddleware } from './prop-controller-handles'\n\nexport function createReadWriteMiddleware({ builderProxy }: { builderProxy: BuilderAPIProxy }) {\n return [\n updateElementTreeMiddleware(),\n measureBoxModelsMiddleware(),\n builderAPIMiddleware(builderProxy),\n propControllerHandlesMiddleware(),\n ]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iCAA4C;AAC5C,gCAA2C;AAC3C,yBAAqC;AACrC,qCAAgD;AAEzC,SAAS,0BAA0B,EAAE,aAAa,GAAsC;AAC7F,SAAO;AAAA,QACL,wDAA4B;AAAA,QAC5B,sDAA2B;AAAA,QAC3B,yCAAqB,YAAY;AAAA,QACjC,gEAAgC;AAAA,EAClC;AACF;","names":[]}