@makeswift/runtime 0.24.0-canary.1 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/dist/cjs/api/react.js +28 -7
  2. package/dist/cjs/api/react.js.map +1 -1
  3. package/dist/cjs/api/site-version.js +36 -0
  4. package/dist/cjs/api/site-version.js.map +1 -0
  5. package/dist/cjs/components/builtin/Box/register.js +3 -3
  6. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  7. package/dist/cjs/components/builtin/Button/register.js +2 -2
  8. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  9. package/dist/cjs/components/builtin/Carousel/Carousel.js +6 -5
  10. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  11. package/dist/cjs/components/builtin/Carousel/register.js +2 -2
  12. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  13. package/dist/cjs/components/builtin/Countdown/register.js +2 -2
  14. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  15. package/dist/cjs/components/builtin/Form/register.js +4 -4
  16. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  17. package/dist/cjs/components/builtin/Image/Image.js +3 -3
  18. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  19. package/dist/cjs/components/builtin/Navigation/register.js +4 -4
  20. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  21. package/dist/cjs/components/builtin/SocialLinks/register.js +3 -3
  22. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  23. package/dist/cjs/components/builtin/Text/register.js +3 -3
  24. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  25. package/dist/cjs/components/hooks/useMediaQuery.js +5 -5
  26. package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
  27. package/dist/cjs/components/page/Page.js +7 -4
  28. package/dist/cjs/components/page/Page.js.map +1 -1
  29. package/dist/cjs/components/page/PageHead.js +17 -8
  30. package/dist/cjs/components/page/PageHead.js.map +1 -1
  31. package/dist/cjs/components/page/page-seo-settings.js +43 -0
  32. package/dist/cjs/components/page/page-seo-settings.js.map +1 -0
  33. package/dist/cjs/components/shared/Link/index.js +3 -1
  34. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  35. package/dist/cjs/components/utils/responsive-style.js +2 -3
  36. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  37. package/dist/cjs/core/index.js +18 -2
  38. package/dist/cjs/core/index.js.map +1 -1
  39. package/dist/cjs/jest-setup.js +3 -0
  40. package/dist/cjs/jest-setup.js.map +1 -1
  41. package/dist/cjs/locale.js +79 -0
  42. package/dist/cjs/locale.js.map +1 -1
  43. package/dist/cjs/next/api-handler/handlers/clear-draft.js +64 -0
  44. package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +1 -0
  45. package/dist/cjs/next/api-handler/handlers/manifest.js +3 -2
  46. package/dist/cjs/next/api-handler/handlers/manifest.js.map +1 -1
  47. package/dist/cjs/next/api-handler/handlers/redirect-draft.js +77 -0
  48. package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -0
  49. package/dist/cjs/next/api-handler/handlers/redirect-preview.js +67 -0
  50. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -0
  51. package/dist/cjs/next/api-handler/handlers/utils/draft.js +53 -0
  52. package/dist/cjs/next/api-handler/handlers/utils/draft.js.map +1 -0
  53. package/dist/cjs/next/api-handler/handlers/webhook/index.js +3 -3
  54. package/dist/cjs/next/api-handler/handlers/webhook/index.js.map +1 -1
  55. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js +8 -5
  56. package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  57. package/dist/cjs/next/api-handler/handlers/webhook/types.js.map +1 -1
  58. package/dist/cjs/next/api-handler/index.js +24 -9
  59. package/dist/cjs/next/api-handler/index.js.map +1 -1
  60. package/dist/cjs/next/cache.js +29 -0
  61. package/dist/cjs/next/cache.js.map +1 -0
  62. package/dist/cjs/next/client.js +135 -60
  63. package/dist/cjs/next/client.js.map +1 -1
  64. package/dist/cjs/next/components/page.js +3 -2
  65. package/dist/cjs/next/components/page.js.map +1 -1
  66. package/dist/cjs/next/components/tests/controls/color-control/fixtures.js +51 -0
  67. package/dist/cjs/next/components/tests/controls/color-control/fixtures.js.map +1 -0
  68. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +4 -1
  69. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  70. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js +91 -0
  71. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -0
  72. package/dist/cjs/next/document.js +1 -3
  73. package/dist/cjs/next/document.js.map +1 -1
  74. package/dist/cjs/next/draft-mode/index.js +3 -3
  75. package/dist/cjs/next/draft-mode/index.js.map +1 -1
  76. package/dist/cjs/next/hooks/use-is-pages-router.js.map +1 -1
  77. package/dist/cjs/next/index.js +0 -3
  78. package/dist/cjs/next/index.js.map +1 -1
  79. package/dist/cjs/next/middleware/index.js +29 -0
  80. package/dist/cjs/next/middleware/index.js.map +1 -0
  81. package/dist/cjs/next/middleware/request-utils.js +49 -0
  82. package/dist/cjs/next/middleware/request-utils.js.map +1 -0
  83. package/dist/cjs/next/preview-mode.js +4 -110
  84. package/dist/cjs/next/preview-mode.js.map +1 -1
  85. package/dist/cjs/next/root-style-registry.js +7 -4
  86. package/dist/cjs/next/root-style-registry.js.map +1 -1
  87. package/dist/cjs/next/server.js +0 -3
  88. package/dist/cjs/next/server.js.map +1 -1
  89. package/dist/cjs/next/tests/test-utils.js +61 -0
  90. package/dist/cjs/next/tests/test-utils.js.map +1 -0
  91. package/dist/cjs/runtimes/react/components/Document.js +1 -1
  92. package/dist/cjs/runtimes/react/components/Document.js.map +1 -1
  93. package/dist/cjs/runtimes/react/components/ElementData.js +1 -0
  94. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  95. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +14 -3
  96. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  97. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js +72 -0
  98. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  99. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js +79 -0
  100. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  101. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +67 -0
  102. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  103. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js +45 -0
  104. package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  105. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +1 -1
  106. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  107. package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
  108. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
  109. package/dist/cjs/runtimes/react/hooks/use-document-context.js +8 -13
  110. package/dist/cjs/runtimes/react/hooks/use-document-context.js.map +1 -1
  111. package/dist/cjs/runtimes/react/hooks/use-register-document.js +8 -1
  112. package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
  113. package/dist/cjs/runtimes/react/hooks/use-resolvable-record.js +68 -0
  114. package/dist/cjs/runtimes/react/hooks/use-resolvable-record.js.map +1 -0
  115. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +3 -3
  116. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  117. package/dist/cjs/runtimes/react/hooks/use-resolved-value.js +1 -1
  118. package/dist/cjs/runtimes/react/hooks/use-resolved-value.js.map +1 -1
  119. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js +2 -1
  120. package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  121. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js +1 -2
  122. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  123. package/dist/cjs/runtimes/react/host-api-client.js +5 -1
  124. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
  125. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js +1 -2
  126. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  127. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js +2 -2
  128. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  129. package/dist/cjs/slate/selectors.js +2 -3
  130. package/dist/cjs/slate/selectors.js.map +1 -1
  131. package/dist/cjs/state/makeswift-api-client.js +23 -12
  132. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  133. package/dist/cjs/state/modules/breakpoints.js +1 -44
  134. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  135. package/dist/cjs/state/modules/element-trees.js +10 -7
  136. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  137. package/dist/esm/api/react.js +28 -7
  138. package/dist/esm/api/react.js.map +1 -1
  139. package/dist/esm/api/site-version.js +10 -0
  140. package/dist/esm/api/site-version.js.map +1 -0
  141. package/dist/esm/components/builtin/Box/register.js +1 -1
  142. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  143. package/dist/esm/components/builtin/Button/register.js +1 -1
  144. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  145. package/dist/esm/components/builtin/Carousel/Carousel.js +5 -4
  146. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  147. package/dist/esm/components/builtin/Carousel/register.js +1 -1
  148. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  149. package/dist/esm/components/builtin/Countdown/register.js +1 -1
  150. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  151. package/dist/esm/components/builtin/Form/register.js +1 -1
  152. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  153. package/dist/esm/components/builtin/Image/Image.js +1 -1
  154. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  155. package/dist/esm/components/builtin/Navigation/register.js +1 -1
  156. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  157. package/dist/esm/components/builtin/SocialLinks/register.js +1 -1
  158. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  159. package/dist/esm/components/builtin/Text/register.js +1 -1
  160. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  161. package/dist/esm/components/hooks/useMediaQuery.js +1 -1
  162. package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
  163. package/dist/esm/components/page/Page.js +5 -2
  164. package/dist/esm/components/page/Page.js.map +1 -1
  165. package/dist/esm/components/page/PageHead.js +17 -8
  166. package/dist/esm/components/page/PageHead.js.map +1 -1
  167. package/dist/esm/components/page/page-seo-settings.js +19 -0
  168. package/dist/esm/components/page/page-seo-settings.js.map +1 -0
  169. package/dist/esm/components/shared/Link/index.js +3 -1
  170. package/dist/esm/components/shared/Link/index.js.map +1 -1
  171. package/dist/esm/components/utils/responsive-style.js +3 -2
  172. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  173. package/dist/esm/core/index.js +18 -2
  174. package/dist/esm/core/index.js.map +1 -1
  175. package/dist/esm/jest-setup.js +4 -1
  176. package/dist/esm/jest-setup.js.map +1 -1
  177. package/dist/esm/locale.js +79 -0
  178. package/dist/esm/locale.js.map +1 -1
  179. package/dist/esm/next/api-handler/handlers/clear-draft.js +50 -0
  180. package/dist/esm/next/api-handler/handlers/clear-draft.js.map +1 -0
  181. package/dist/esm/next/api-handler/handlers/manifest.js +3 -2
  182. package/dist/esm/next/api-handler/handlers/manifest.js.map +1 -1
  183. package/dist/esm/next/api-handler/handlers/redirect-draft.js +63 -0
  184. package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -0
  185. package/dist/esm/next/api-handler/handlers/redirect-preview.js +53 -0
  186. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -0
  187. package/dist/esm/next/api-handler/handlers/utils/draft.js +24 -0
  188. package/dist/esm/next/api-handler/handlers/utils/draft.js.map +1 -0
  189. package/dist/esm/next/api-handler/handlers/webhook/index.js +3 -3
  190. package/dist/esm/next/api-handler/handlers/webhook/index.js.map +1 -1
  191. package/dist/esm/next/api-handler/handlers/webhook/site-published.js +7 -3
  192. package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +1 -1
  193. package/dist/esm/next/api-handler/handlers/webhook/types.js.map +1 -1
  194. package/dist/esm/next/api-handler/index.js +28 -9
  195. package/dist/esm/next/api-handler/index.js.map +1 -1
  196. package/dist/esm/next/cache.js +5 -0
  197. package/dist/esm/next/cache.js.map +1 -0
  198. package/dist/esm/next/client.js +128 -54
  199. package/dist/esm/next/client.js.map +1 -1
  200. package/dist/esm/next/components/page.js +3 -2
  201. package/dist/esm/next/components/page.js.map +1 -1
  202. package/dist/esm/next/components/tests/controls/color-control/fixtures.js +24 -0
  203. package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -0
  204. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +4 -1
  205. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  206. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js +56 -0
  207. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -0
  208. package/dist/esm/next/document.js +1 -3
  209. package/dist/esm/next/document.js.map +1 -1
  210. package/dist/esm/next/draft-mode/index.js +1 -1
  211. package/dist/esm/next/draft-mode/index.js.map +1 -1
  212. package/dist/esm/next/hooks/use-is-pages-router.js.map +1 -1
  213. package/dist/esm/next/index.js +0 -2
  214. package/dist/esm/next/index.js.map +1 -1
  215. package/dist/esm/next/middleware/index.js +5 -0
  216. package/dist/esm/next/middleware/index.js.map +1 -0
  217. package/dist/esm/next/middleware/request-utils.js +28 -0
  218. package/dist/esm/next/middleware/request-utils.js.map +1 -0
  219. package/dist/esm/next/preview-mode.js +2 -105
  220. package/dist/esm/next/preview-mode.js.map +1 -1
  221. package/dist/esm/next/root-style-registry.js +7 -4
  222. package/dist/esm/next/root-style-registry.js.map +1 -1
  223. package/dist/esm/next/server.js +0 -2
  224. package/dist/esm/next/server.js.map +1 -1
  225. package/dist/esm/next/tests/test-utils.js +37 -0
  226. package/dist/esm/next/tests/test-utils.js.map +1 -0
  227. package/dist/esm/runtimes/react/components/Document.js +2 -2
  228. package/dist/esm/runtimes/react/components/Document.js.map +1 -1
  229. package/dist/esm/runtimes/react/components/ElementData.js +1 -0
  230. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  231. package/dist/esm/runtimes/react/components/RuntimeProvider.js +15 -4
  232. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  233. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js +48 -0
  234. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
  235. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js +55 -0
  236. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
  237. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +43 -0
  238. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
  239. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js +21 -0
  240. package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
  241. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +2 -2
  242. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  243. package/dist/esm/runtimes/react/hooks/use-cache-data.js +2 -2
  244. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  245. package/dist/esm/runtimes/react/hooks/use-document-context.js +6 -11
  246. package/dist/esm/runtimes/react/hooks/use-document-context.js.map +1 -1
  247. package/dist/esm/runtimes/react/hooks/use-register-document.js +9 -2
  248. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
  249. package/dist/esm/runtimes/react/hooks/use-resolvable-record.js +44 -0
  250. package/dist/esm/runtimes/react/hooks/use-resolvable-record.js.map +1 -0
  251. package/dist/esm/runtimes/react/hooks/use-resolved-props.js +3 -3
  252. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  253. package/dist/esm/runtimes/react/hooks/use-resolved-value.js +1 -1
  254. package/dist/esm/runtimes/react/hooks/use-resolved-value.js.map +1 -1
  255. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +3 -2
  256. package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
  257. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js +2 -2
  258. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  259. package/dist/esm/runtimes/react/host-api-client.js +5 -1
  260. package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
  261. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js +4 -2
  262. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  263. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js +3 -1
  264. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  265. package/dist/esm/slate/selectors.js +4 -2
  266. package/dist/esm/slate/selectors.js.map +1 -1
  267. package/dist/esm/state/makeswift-api-client.js +22 -11
  268. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  269. package/dist/esm/state/modules/breakpoints.js +1 -42
  270. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  271. package/dist/esm/state/modules/element-trees.js +10 -7
  272. package/dist/esm/state/modules/element-trees.js.map +1 -1
  273. package/dist/types/api/react.d.ts +4 -1
  274. package/dist/types/api/react.d.ts.map +1 -1
  275. package/dist/types/api/site-version.d.ts +6 -0
  276. package/dist/types/api/site-version.d.ts.map +1 -0
  277. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  278. package/dist/types/components/builtin/Button/register.d.ts.map +1 -1
  279. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  280. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  281. package/dist/types/components/hooks/useMediaQuery.d.ts +1 -1
  282. package/dist/types/components/hooks/useMediaQuery.d.ts.map +1 -1
  283. package/dist/types/components/page/Page.d.ts +3 -1
  284. package/dist/types/components/page/Page.d.ts.map +1 -1
  285. package/dist/types/components/page/PageHead.d.ts +3 -1
  286. package/dist/types/components/page/PageHead.d.ts.map +1 -1
  287. package/dist/types/components/page/page-seo-settings.d.ts +11 -0
  288. package/dist/types/components/page/page-seo-settings.d.ts.map +1 -0
  289. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  290. package/dist/types/components/utils/responsive-style.d.ts +1 -1
  291. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  292. package/dist/types/controls/link.d.ts +1 -1
  293. package/dist/types/core/index.d.ts +1 -1
  294. package/dist/types/core/index.d.ts.map +1 -1
  295. package/dist/types/locale.d.ts +3 -3
  296. package/dist/types/locale.d.ts.map +1 -1
  297. package/dist/types/next/api-handler/handlers/clear-draft.d.ts +20 -0
  298. package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +1 -0
  299. package/dist/types/next/api-handler/handlers/manifest.d.ts +1 -0
  300. package/dist/types/next/api-handler/handlers/manifest.d.ts.map +1 -1
  301. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +18 -0
  302. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -0
  303. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +18 -0
  304. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -0
  305. package/dist/types/next/api-handler/handlers/utils/draft.d.ts +16 -0
  306. package/dist/types/next/api-handler/handlers/utils/draft.d.ts.map +1 -0
  307. package/dist/types/next/api-handler/handlers/webhook/index.d.ts +9 -11
  308. package/dist/types/next/api-handler/handlers/webhook/index.d.ts.map +1 -1
  309. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts +6 -3
  310. package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +1 -1
  311. package/dist/types/next/api-handler/handlers/webhook/types.d.ts +13 -12
  312. package/dist/types/next/api-handler/handlers/webhook/types.d.ts.map +1 -1
  313. package/dist/types/next/api-handler/index.d.ts +10 -5
  314. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  315. package/dist/types/next/cache.d.ts +2 -0
  316. package/dist/types/next/cache.d.ts.map +1 -0
  317. package/dist/types/next/client.d.ts +14 -12
  318. package/dist/types/next/client.d.ts.map +1 -1
  319. package/dist/types/next/components/page.d.ts +21 -1
  320. package/dist/types/next/components/page.d.ts.map +1 -1
  321. package/dist/types/next/components/tests/controls/color-control/client.test.d.ts +3 -0
  322. package/dist/types/next/components/tests/controls/color-control/client.test.d.ts.map +1 -0
  323. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +11 -0
  324. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -0
  325. package/dist/types/next/components/tests/controls/color-control/server.test.d.ts +2 -0
  326. package/dist/types/next/components/tests/controls/color-control/server.test.d.ts.map +1 -0
  327. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  328. package/dist/types/next/components/tests/controls/rich-text-v2-control/client.test.d.ts +2 -0
  329. package/dist/types/next/components/tests/controls/rich-text-v2-control/client.test.d.ts.map +1 -0
  330. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +42 -0
  331. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -0
  332. package/dist/types/next/components/tests/controls/rich-text-v2-control/server.test.d.ts +2 -0
  333. package/dist/types/next/components/tests/controls/rich-text-v2-control/server.test.d.ts.map +1 -0
  334. package/dist/types/next/components/tests/makeswift-page-metadata-rendering.test.d.ts +3 -0
  335. package/dist/types/next/components/tests/makeswift-page-metadata-rendering.test.d.ts.map +1 -0
  336. package/dist/types/next/document.d.ts +1 -5
  337. package/dist/types/next/document.d.ts.map +1 -1
  338. package/dist/types/next/draft-mode/index.d.ts +2 -2
  339. package/dist/types/next/hooks/use-is-pages-router.d.ts.map +1 -1
  340. package/dist/types/next/index.d.ts +0 -1
  341. package/dist/types/next/index.d.ts.map +1 -1
  342. package/dist/types/next/middleware/index.d.ts +2 -0
  343. package/dist/types/next/middleware/index.d.ts.map +1 -0
  344. package/dist/types/next/middleware/request-utils.d.ts +3 -0
  345. package/dist/types/next/middleware/request-utils.d.ts.map +1 -0
  346. package/dist/types/next/middleware/request-utils.test.d.ts +2 -0
  347. package/dist/types/next/middleware/request-utils.test.d.ts.map +1 -0
  348. package/dist/types/next/preview-mode.d.ts +3 -10
  349. package/dist/types/next/preview-mode.d.ts.map +1 -1
  350. package/dist/types/next/root-style-registry.d.ts +2 -1
  351. package/dist/types/next/root-style-registry.d.ts.map +1 -1
  352. package/dist/types/next/server.d.ts +0 -1
  353. package/dist/types/next/server.d.ts.map +1 -1
  354. package/dist/types/next/tests/client.error-handling.test.d.ts +2 -0
  355. package/dist/types/next/tests/client.error-handling.test.d.ts.map +1 -0
  356. package/dist/types/next/tests/client.get-page-snapshot.test.d.ts +2 -0
  357. package/dist/types/next/tests/client.get-page-snapshot.test.d.ts.map +1 -0
  358. package/dist/types/next/tests/client.get-resources.test.d.ts +2 -0
  359. package/dist/types/next/tests/client.get-resources.test.d.ts.map +1 -0
  360. package/dist/types/next/tests/server.makeswift-api-handler.test.d.ts +2 -0
  361. package/dist/types/next/tests/server.makeswift-api-handler.test.d.ts.map +1 -0
  362. package/dist/types/next/tests/test-utils.d.ts +8 -0
  363. package/dist/types/next/tests/test-utils.d.ts.map +1 -0
  364. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  365. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  366. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +2 -1
  367. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  368. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +4 -0
  369. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +1 -0
  370. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +6 -0
  371. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +1 -0
  372. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +4 -0
  373. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -0
  374. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts +4 -0
  375. package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts.map +1 -0
  376. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
  377. package/dist/types/runtimes/react/hooks/use-document-context.d.ts +2 -7
  378. package/dist/types/runtimes/react/hooks/use-document-context.d.ts.map +1 -1
  379. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
  380. package/dist/types/runtimes/react/hooks/use-resolvable-record.d.ts +3 -0
  381. package/dist/types/runtimes/react/hooks/use-resolvable-record.d.ts.map +1 -0
  382. package/dist/types/runtimes/react/hooks/use-resource-resolver.d.ts.map +1 -1
  383. package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts.map +1 -1
  384. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
  385. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts +1 -1
  386. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  387. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts +1 -1
  388. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  389. package/dist/types/slate/selectors.d.ts +1 -2
  390. package/dist/types/slate/selectors.d.ts.map +1 -1
  391. package/dist/types/state/makeswift-api-client.d.ts +2 -1
  392. package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
  393. package/dist/types/state/modules/__tests__/fixtures/element-trees-demo-component.d.ts +7 -0
  394. package/dist/types/state/modules/__tests__/fixtures/element-trees-demo-component.d.ts.map +1 -0
  395. package/dist/types/state/modules/__tests__/fixtures/element-trees.d.ts +239 -0
  396. package/dist/types/state/modules/__tests__/fixtures/element-trees.d.ts.map +1 -1
  397. package/dist/types/state/modules/breakpoints.d.ts +2 -7
  398. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  399. package/dist/types/state/modules/element-trees.d.ts +1 -1
  400. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  401. package/package.json +15 -5
  402. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js +0 -80
  403. package/dist/cjs/next/api-handler/handlers/proxy-draft-mode.js.map +0 -1
  404. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js +0 -100
  405. package/dist/cjs/next/api-handler/handlers/proxy-preview-mode.js.map +0 -1
  406. package/dist/cjs/next/draft-mode/draft-mode-script.js +0 -137
  407. package/dist/cjs/next/draft-mode/draft-mode-script.js.map +0 -1
  408. package/dist/cjs/runtimes/react/resolvable-record.js +0 -67
  409. package/dist/cjs/runtimes/react/resolvable-record.js.map +0 -1
  410. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js +0 -60
  411. package/dist/esm/next/api-handler/handlers/proxy-draft-mode.js.map +0 -1
  412. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js +0 -80
  413. package/dist/esm/next/api-handler/handlers/proxy-preview-mode.js.map +0 -1
  414. package/dist/esm/next/draft-mode/draft-mode-script.js +0 -103
  415. package/dist/esm/next/draft-mode/draft-mode-script.js.map +0 -1
  416. package/dist/esm/runtimes/react/resolvable-record.js +0 -43
  417. package/dist/esm/runtimes/react/resolvable-record.js.map +0 -1
  418. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts +0 -20
  419. package/dist/types/next/api-handler/handlers/proxy-draft-mode.d.ts.map +0 -1
  420. package/dist/types/next/api-handler/handlers/proxy-draft-mode.test.d.ts +0 -2
  421. package/dist/types/next/api-handler/handlers/proxy-draft-mode.test.d.ts.map +0 -1
  422. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts +0 -20
  423. package/dist/types/next/api-handler/handlers/proxy-preview-mode.d.ts.map +0 -1
  424. package/dist/types/next/components/tests/controls/color-control.test.d.ts +0 -3
  425. package/dist/types/next/components/tests/controls/color-control.test.d.ts.map +0 -1
  426. package/dist/types/next/components/tests/controls/rich-text-v2-control.test.d.ts +0 -2
  427. package/dist/types/next/components/tests/controls/rich-text-v2-control.test.d.ts.map +0 -1
  428. package/dist/types/next/draft-mode/draft-mode-script.d.ts +0 -6
  429. package/dist/types/next/draft-mode/draft-mode-script.d.ts.map +0 -1
  430. package/dist/types/runtimes/react/resolvable-record.d.ts +0 -3
  431. package/dist/types/runtimes/react/resolvable-record.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Countdown/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { getBaseBreakpoint } from '../../../state/modules/breakpoints'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n Date as DatePropController,\n ElementID,\n Font,\n GapX,\n Margin,\n ResponsiveColor,\n ResponsiveIconRadioGroup,\n TextInput,\n Width,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Countdown')),\n {\n type: MakeswiftComponentType.Countdown,\n label: 'Countdown',\n icon: ComponentIcon.Countdown,\n props: {\n id: ElementID(),\n date: DatePropController(() => ({\n preset: new Date(Date.now() + 1000 * 60 * 60 * 24 * 2).toISOString(),\n })),\n variant: ResponsiveIconRadioGroup({\n label: 'Style',\n options: [\n { label: 'Filled', value: 'filled', icon: 'CountdownSolid16' },\n {\n label: 'Filled split',\n value: 'filled-split',\n icon: 'CountdownSolidSplit16',\n },\n { label: 'Outline', value: 'outline', icon: 'CountdownOutline16' },\n {\n label: 'Outline split',\n value: 'outline-split',\n icon: 'CountdownOutlineSplit16',\n },\n { label: 'Clear', value: 'clear', icon: 'CountdownNaked16' },\n ],\n defaultValue: 'filled',\n }),\n shape: ResponsiveIconRadioGroup({\n label: 'Shape',\n options: [\n { label: 'Pill', value: 'pill', icon: 'ButtonPill16' },\n { label: 'Rounded', value: 'rounded', icon: 'ButtonRounded16' },\n { label: 'Square', value: 'square', icon: 'ButtonSquare16' },\n ],\n defaultValue: 'rounded',\n }),\n size: ResponsiveIconRadioGroup({\n label: 'Size',\n options: [\n { label: 'Small', value: 'small', icon: 'SizeSmall16' },\n { label: 'Medium', value: 'medium', icon: 'SizeMedium16' },\n { label: 'Large', value: 'large', icon: 'SizeLarge16' },\n ],\n defaultValue: 'medium',\n }),\n gap: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Gap',\n step: 1,\n min: 0,\n max: 100,\n defaultValue: { value: 0, unit: 'px' },\n }),\n numberFont: Font({ label: 'Number font' }),\n numberColor: ResponsiveColor({\n label: 'Number color',\n placeholder: 'white',\n }),\n blockColor: ResponsiveColor({\n label: 'Block color',\n placeholder: 'black',\n }),\n labelFont: Font({ label: 'Label font' }),\n labelColor: ResponsiveColor({\n label: 'Label color',\n placeholder: 'black',\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 560, unit: 'px' },\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n daysLabel: TextInput({ label: 'Days label', placeholder: 'Days' }),\n hoursLabel: TextInput({ label: 'Hours label', placeholder: 'Hours' }),\n minutesLabel: TextInput({\n label: 'Minutes label',\n placeholder: 'Minutes',\n }),\n secondsLabel: TextInput({\n label: 'Seconds label',\n placeholder: 'Seconds',\n }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react","DatePropController"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Countdown/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { getBaseBreakpoint } from '@makeswift/controls'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n Date as DatePropController,\n ElementID,\n Font,\n GapX,\n Margin,\n ResponsiveColor,\n ResponsiveIconRadioGroup,\n TextInput,\n Width,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Countdown')),\n {\n type: MakeswiftComponentType.Countdown,\n label: 'Countdown',\n icon: ComponentIcon.Countdown,\n props: {\n id: ElementID(),\n date: DatePropController(() => ({\n preset: new Date(Date.now() + 1000 * 60 * 60 * 24 * 2).toISOString(),\n })),\n variant: ResponsiveIconRadioGroup({\n label: 'Style',\n options: [\n { label: 'Filled', value: 'filled', icon: 'CountdownSolid16' },\n {\n label: 'Filled split',\n value: 'filled-split',\n icon: 'CountdownSolidSplit16',\n },\n { label: 'Outline', value: 'outline', icon: 'CountdownOutline16' },\n {\n label: 'Outline split',\n value: 'outline-split',\n icon: 'CountdownOutlineSplit16',\n },\n { label: 'Clear', value: 'clear', icon: 'CountdownNaked16' },\n ],\n defaultValue: 'filled',\n }),\n shape: ResponsiveIconRadioGroup({\n label: 'Shape',\n options: [\n { label: 'Pill', value: 'pill', icon: 'ButtonPill16' },\n { label: 'Rounded', value: 'rounded', icon: 'ButtonRounded16' },\n { label: 'Square', value: 'square', icon: 'ButtonSquare16' },\n ],\n defaultValue: 'rounded',\n }),\n size: ResponsiveIconRadioGroup({\n label: 'Size',\n options: [\n { label: 'Small', value: 'small', icon: 'SizeSmall16' },\n { label: 'Medium', value: 'medium', icon: 'SizeMedium16' },\n { label: 'Large', value: 'large', icon: 'SizeLarge16' },\n ],\n defaultValue: 'medium',\n }),\n gap: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Gap',\n step: 1,\n min: 0,\n max: 100,\n defaultValue: { value: 0, unit: 'px' },\n }),\n numberFont: Font({ label: 'Number font' }),\n numberColor: ResponsiveColor({\n label: 'Number color',\n placeholder: 'white',\n }),\n blockColor: ResponsiveColor({\n label: 'Block color',\n placeholder: 'black',\n }),\n labelFont: Font({ label: 'Label font' }),\n labelColor: ResponsiveColor({\n label: 'Label color',\n placeholder: 'black',\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 560, unit: 'px' },\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n daysLabel: TextInput({ label: 'Days label', placeholder: 'Days' }),\n hoursLabel: TextInput({ label: 'Hours label', placeholder: 'Hours' }),\n minutesLabel: TextInput({\n label: 'Minutes label',\n placeholder: 'Minutes',\n }),\n secondsLabel: TextInput({\n label: 'Seconds label',\n placeholder: 'Seconds',\n }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react","DatePropController"]}
@@ -31,7 +31,7 @@ __export(register_exports, {
31
31
  registerComponent: () => registerComponent
32
32
  });
33
33
  module.exports = __toCommonJS(register_exports);
34
- var import_breakpoints = require("../../../state/modules/breakpoints");
34
+ var import_controls = require("@makeswift/controls");
35
35
  var import_constants = require("../constants");
36
36
  var import_FormContext = require("./context/FormContext");
37
37
  var import_components_meta = require("../../../state/modules/components-meta");
@@ -60,7 +60,7 @@ function registerComponent(runtime) {
60
60
  gap: (0, import_prop_controllers.GapY)((props) => ({
61
61
  preset: [
62
62
  {
63
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
63
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
64
64
  value: { value: 10, unit: "px" }
65
65
  }
66
66
  ],
@@ -103,7 +103,7 @@ function registerComponent(runtime) {
103
103
  const responsiveContrast = import_prop_controllers.ResponsiveSelect.fromPropData(
104
104
  props.contrast
105
105
  );
106
- const contrast = (0, import_breakpoints.findBreakpointOverride)(
106
+ const contrast = (0, import_controls.findBreakpointOverride)(
107
107
  runtime.getBreakpoints(),
108
108
  responsiveContrast,
109
109
  device
@@ -163,7 +163,7 @@ function registerComponent(runtime) {
163
163
  width: (0, import_prop_controllers.Width)({
164
164
  preset: [
165
165
  {
166
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
166
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
167
167
  value: { value: 550, unit: "px" }
168
168
  }
169
169
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Form/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { findBreakpointOverride, getBaseBreakpoint } from '../../../state/modules/breakpoints'\nimport { MakeswiftComponentType } from '../constants'\nimport { Alignments, Contrast, Contrasts, Shapes, Sizes } from './context/FormContext'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ElementID,\n GapY,\n Link,\n Margin,\n ResponsiveColor,\n ResponsiveLength,\n ResponsiveSelect,\n ResponsiveIconRadioGroup,\n Table,\n TableFormFields,\n TextInput,\n TextStyle,\n Width,\n type PropData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Form')),\n {\n type: MakeswiftComponentType.Form,\n label: 'Form',\n icon: ComponentIcon.Form,\n props: {\n id: ElementID(),\n tableId: Table(),\n fields: TableFormFields(),\n submitLink: Link(props => ({\n label: 'Redirect to',\n // TODO: This option is hardcoded. We should import it from LinkPanelOptions\n options: [\n { value: 'OPEN_PAGE', label: 'Open page' },\n { value: 'OPEN_URL', label: 'Open URL' },\n ],\n hidden: props.tableId == null,\n })),\n gap: GapY(props => ({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Gap',\n defaultValue: { value: 0, unit: 'px' },\n hidden: props.tableId == null,\n })),\n shape: ResponsiveIconRadioGroup(props => ({\n label: 'Shape',\n options: [\n { label: 'Pill', value: Shapes.PILL, icon: 'ButtonPill16' },\n { label: 'Rounded', value: Shapes.ROUNDED, icon: 'ButtonRounded16' },\n { label: 'Square', value: Shapes.SQUARE, icon: 'ButtonSquare16' },\n ],\n defaultValue: Shapes.ROUNDED,\n hidden: props.tableId == null,\n })),\n size: ResponsiveIconRadioGroup(props => ({\n label: 'Size',\n options: [\n { label: 'Small', value: Sizes.SMALL, icon: 'SizeSmall16' },\n { label: 'Medium', value: Sizes.MEDIUM, icon: 'SizeMedium16' },\n { label: 'Large', value: Sizes.LARGE, icon: 'SizeLarge16' },\n ],\n defaultValue: Sizes.MEDIUM,\n hidden: props?.tableId == null,\n })),\n contrast: ResponsiveIconRadioGroup(props => ({\n label: 'Color',\n options: [\n { label: 'Light mode', value: Contrasts.LIGHT, icon: 'Sun16' },\n { label: 'Dark mode', value: Contrasts.DARK, icon: 'Moon16' },\n ],\n defaultValue: Contrasts.LIGHT,\n hidden: props.tableId == null,\n })),\n labelTextStyle: TextStyle({ label: 'Label text style' }),\n labelTextColor: ResponsiveColor((props, device) => {\n const hidden = props.tableId == null\n const responsiveContrast = ResponsiveSelect.fromPropData<Contrast>(\n props.contrast as PropData<typeof ResponsiveSelect> | undefined,\n )\n const contrast = findBreakpointOverride<Contrast>(\n runtime.getBreakpoints(),\n responsiveContrast,\n device,\n )\n\n return {\n hidden,\n label: 'Label text color',\n placeholder:\n contrast?.value === Contrasts.DARK ? 'rgba(255,255,255,0.95)' : 'rgba(0,0,0,0.8)',\n }\n }),\n submitTextStyle: TextStyle({ label: 'Button text style' }),\n brandColor: ResponsiveColor(props => ({\n label: 'Button color',\n placeholder: 'black',\n hidden: props.tableId == null,\n // TODO: Add hideAlphaSlider\n })),\n submitTextColor: ResponsiveColor(props => ({\n label: 'Button text color',\n placeholder: 'white',\n hidden: props.tableId == null,\n })),\n submitLabel: TextInput(props => ({\n label: 'Button label',\n placeholder: 'Submit',\n hidden: props.tableId == null,\n })),\n submitVariant: ResponsiveSelect(props => ({\n label: 'Button style',\n options: [\n { value: 'flat', label: 'Flat' },\n { value: 'outline', label: 'Outline' },\n { value: 'shadow', label: 'Floating' },\n { value: 'clear', label: 'Clear' },\n { value: 'blocky', label: 'Blocky' },\n { value: 'bubbly', label: 'Bubbly' },\n { value: 'skewed', label: 'Skewed' },\n ],\n defaultValue: 'flat',\n hidden: props.tableId == null,\n })),\n submitWidth: ResponsiveLength(props => ({\n label: 'Button width',\n hidden: props.tableId == null,\n // TODO: Add placeholder: { value: 'auto' }\n })),\n submitAlignment: ResponsiveIconRadioGroup(props => ({\n label: 'Button alignment',\n options: [\n { label: 'Left', value: Alignments.LEFT, icon: 'AlignLeft16' },\n { label: 'Center', value: Alignments.CENTER, icon: 'AlignCenter16' },\n { label: 'Right', value: Alignments.RIGHT, icon: 'AlignRight16' },\n ],\n defaultValue: Alignments.CENTER,\n hidden: props.tableId == null,\n })),\n width: Width({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 550, unit: 'px' },\n },\n ],\n defaultValue: { value: 100, unit: '%' },\n format: Width.Format.ClassName,\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Form/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { findBreakpointOverride, getBaseBreakpoint } from '@makeswift/controls'\nimport { MakeswiftComponentType } from '../constants'\nimport { Alignments, Contrast, Contrasts, Shapes, Sizes } from './context/FormContext'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ElementID,\n GapY,\n Link,\n Margin,\n ResponsiveColor,\n ResponsiveLength,\n ResponsiveSelect,\n ResponsiveIconRadioGroup,\n Table,\n TableFormFields,\n TextInput,\n TextStyle,\n Width,\n type PropData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Form')),\n {\n type: MakeswiftComponentType.Form,\n label: 'Form',\n icon: ComponentIcon.Form,\n props: {\n id: ElementID(),\n tableId: Table(),\n fields: TableFormFields(),\n submitLink: Link(props => ({\n label: 'Redirect to',\n // TODO: This option is hardcoded. We should import it from LinkPanelOptions\n options: [\n { value: 'OPEN_PAGE', label: 'Open page' },\n { value: 'OPEN_URL', label: 'Open URL' },\n ],\n hidden: props.tableId == null,\n })),\n gap: GapY(props => ({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Gap',\n defaultValue: { value: 0, unit: 'px' },\n hidden: props.tableId == null,\n })),\n shape: ResponsiveIconRadioGroup(props => ({\n label: 'Shape',\n options: [\n { label: 'Pill', value: Shapes.PILL, icon: 'ButtonPill16' },\n { label: 'Rounded', value: Shapes.ROUNDED, icon: 'ButtonRounded16' },\n { label: 'Square', value: Shapes.SQUARE, icon: 'ButtonSquare16' },\n ],\n defaultValue: Shapes.ROUNDED,\n hidden: props.tableId == null,\n })),\n size: ResponsiveIconRadioGroup(props => ({\n label: 'Size',\n options: [\n { label: 'Small', value: Sizes.SMALL, icon: 'SizeSmall16' },\n { label: 'Medium', value: Sizes.MEDIUM, icon: 'SizeMedium16' },\n { label: 'Large', value: Sizes.LARGE, icon: 'SizeLarge16' },\n ],\n defaultValue: Sizes.MEDIUM,\n hidden: props?.tableId == null,\n })),\n contrast: ResponsiveIconRadioGroup(props => ({\n label: 'Color',\n options: [\n { label: 'Light mode', value: Contrasts.LIGHT, icon: 'Sun16' },\n { label: 'Dark mode', value: Contrasts.DARK, icon: 'Moon16' },\n ],\n defaultValue: Contrasts.LIGHT,\n hidden: props.tableId == null,\n })),\n labelTextStyle: TextStyle({ label: 'Label text style' }),\n labelTextColor: ResponsiveColor((props, device) => {\n const hidden = props.tableId == null\n const responsiveContrast = ResponsiveSelect.fromPropData<Contrast>(\n props.contrast as PropData<typeof ResponsiveSelect> | undefined,\n )\n const contrast = findBreakpointOverride<Contrast>(\n runtime.getBreakpoints(),\n responsiveContrast,\n device,\n )\n\n return {\n hidden,\n label: 'Label text color',\n placeholder:\n contrast?.value === Contrasts.DARK ? 'rgba(255,255,255,0.95)' : 'rgba(0,0,0,0.8)',\n }\n }),\n submitTextStyle: TextStyle({ label: 'Button text style' }),\n brandColor: ResponsiveColor(props => ({\n label: 'Button color',\n placeholder: 'black',\n hidden: props.tableId == null,\n // TODO: Add hideAlphaSlider\n })),\n submitTextColor: ResponsiveColor(props => ({\n label: 'Button text color',\n placeholder: 'white',\n hidden: props.tableId == null,\n })),\n submitLabel: TextInput(props => ({\n label: 'Button label',\n placeholder: 'Submit',\n hidden: props.tableId == null,\n })),\n submitVariant: ResponsiveSelect(props => ({\n label: 'Button style',\n options: [\n { value: 'flat', label: 'Flat' },\n { value: 'outline', label: 'Outline' },\n { value: 'shadow', label: 'Floating' },\n { value: 'clear', label: 'Clear' },\n { value: 'blocky', label: 'Blocky' },\n { value: 'bubbly', label: 'Bubbly' },\n { value: 'skewed', label: 'Skewed' },\n ],\n defaultValue: 'flat',\n hidden: props.tableId == null,\n })),\n submitWidth: ResponsiveLength(props => ({\n label: 'Button width',\n hidden: props.tableId == null,\n // TODO: Add placeholder: { value: 'auto' }\n })),\n submitAlignment: ResponsiveIconRadioGroup(props => ({\n label: 'Button alignment',\n options: [\n { label: 'Left', value: Alignments.LEFT, icon: 'AlignLeft16' },\n { label: 'Center', value: Alignments.CENTER, icon: 'AlignCenter16' },\n { label: 'Right', value: Alignments.RIGHT, icon: 'AlignRight16' },\n ],\n defaultValue: Alignments.CENTER,\n hidden: props.tableId == null,\n })),\n width: Width({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 550, unit: 'px' },\n },\n ],\n defaultValue: { value: 100, unit: '%' },\n format: Width.Format.ClassName,\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react"]}
@@ -35,7 +35,7 @@ module.exports = __toCommonJS(Image_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = require("react");
37
37
  var import_image = __toESM(require("next/image"));
38
- var import_breakpoints = require("../../../state/modules/breakpoints");
38
+ var import_controls = require("@makeswift/controls");
39
39
  var import_placeholders = require("../../utils/placeholders");
40
40
  var import_Link = require("../../shared/Link");
41
41
  var import_css = require("@emotion/css");
@@ -56,10 +56,10 @@ function loadImage(src) {
56
56
  }
57
57
  function imageSizes(breakpoints, width) {
58
58
  const baseDevice = breakpoints.find((breakpoint) => breakpoint.maxWidth == null);
59
- const baseWidth = baseDevice && width && (0, import_breakpoints.findBreakpointOverride)(breakpoints, width, baseDevice.id);
59
+ const baseWidth = baseDevice && width && (0, import_controls.findBreakpointOverride)(breakpoints, width, baseDevice.id);
60
60
  const baseWidthSize = baseWidth == null || baseWidth.value.unit !== "px" ? "100vw" : `${baseWidth.value.value}px`;
61
61
  return breakpoints.map((breakpoint) => {
62
- const override = (0, import_breakpoints.findBreakpointOverride)(breakpoints, width, breakpoint.id);
62
+ const override = (0, import_controls.findBreakpointOverride)(breakpoints, width, breakpoint.id);
63
63
  if (override == null || breakpoint.maxWidth == null || override.value.unit !== "px") {
64
64
  return null;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Image/Image.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useEffect, Ref, forwardRef } from 'react'\nimport NextImage from 'next/image'\nimport type NextLegacyImageType from 'next/legacy/image'\n\nimport {\n LinkData,\n ResponsiveLengthData,\n ImageData,\n ResponsiveOpacityValue,\n} from '@makeswift/prop-controllers'\nimport { Breakpoints, findBreakpointOverride } from '../../../state/modules/breakpoints'\nimport { placeholders } from '../../utils/placeholders'\nimport { Link } from '../../shared/Link'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveWidth } from '../../utils/responsive-style'\nimport { useFile } from '../../../runtimes/react/hooks/makeswift-api'\nimport { major as nextMajorVersion } from '../../../next/next-version'\nimport { useBreakpoints } from '../../../runtimes/react/hooks/use-breakpoints'\nimport { match, P } from 'ts-pattern'\n\nconst NextLegacyImage = NextImage as typeof NextLegacyImageType\n\ntype Props = {\n id?: string\n file?: ImageData\n altText?: string\n link?: LinkData\n width?: ResponsiveLengthData\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n opacity?: ResponsiveOpacityValue\n placeholder?: { src: string; dimensions: { width: number; height: number } }\n className?: string\n priority?: boolean\n}\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image()\n\n image.onload = () => resolve(image)\n image.onerror = reject\n image.src = src\n })\n}\n\nfunction imageSizes(breakpoints: Breakpoints, width?: Props['width']): string {\n const baseDevice = breakpoints.find(breakpoint => breakpoint.maxWidth == null)\n const baseWidth = baseDevice && width && findBreakpointOverride(breakpoints, width, baseDevice.id)\n const baseWidthSize =\n baseWidth == null || baseWidth.value.unit !== 'px' ? '100vw' : `${baseWidth.value.value}px`\n\n return breakpoints\n .map(breakpoint => {\n const override = findBreakpointOverride(breakpoints, width, breakpoint.id)\n\n if (override == null || breakpoint.maxWidth == null || override.value.unit !== 'px') {\n return null\n }\n\n return `(max-width: ${breakpoint.maxWidth}px) ${Math.min(\n breakpoint.maxWidth,\n override.value.value,\n )}px`\n })\n .filter((size): size is NonNullable<typeof size> => size != null)\n .reduce((sourceSizes, sourceSize) => `${sourceSize}, ${sourceSizes}`, baseWidthSize)\n}\n\ntype Dimensions = {\n width: number\n height: number\n}\n\nconst ImageComponent = forwardRef(function Image(\n {\n id,\n width,\n margin,\n padding,\n file,\n border,\n borderRadius,\n altText,\n link,\n opacity,\n boxShadow,\n placeholder = placeholders.image,\n className,\n priority,\n }: Props,\n ref: Ref<HTMLAnchorElement & HTMLDivElement>,\n) {\n const fileId = match(file)\n .with(P.string, v => v)\n .with({ type: 'makeswift-file', version: 1 }, v => v.id)\n .otherwise(() => null)\n const fileData = useFile(fileId)\n const imageSrc = match([file, fileData])\n .with([P.any, P.not(P.nullish)], ([, fileData]) => fileData.publicUrl)\n .with([{ type: 'external-file', version: 1 }, P.any], ([file]) => file.url)\n .otherwise(() => placeholder.src)\n const dataDimensions = match([file, fileData, imageSrc])\n .with(\n [{ type: 'external-file', version: 1, width: P.number, height: P.number }, P.any, P.any],\n ([externalFile]) => ({ width: externalFile.width, height: externalFile.height }),\n )\n .with([P.any, P.not(P.nullish), P.any], ([, data]) => data.dimensions)\n .with([P.any, P.any, placeholder.src], () => placeholder.dimensions)\n .otherwise(() => null)\n const [measuredDimensions, setMeasuredDimensions] = useState<Dimensions | null>(null)\n const breakpoints = useBreakpoints()\n\n useEffect(() => {\n if (dataDimensions) return\n\n let cleanedUp = false\n\n loadImage(imageSrc)\n .then(image => {\n if (!cleanedUp) {\n setMeasuredDimensions({ width: image.naturalWidth, height: image.naturalHeight })\n }\n })\n .catch(console.error)\n\n return () => {\n cleanedUp = true\n }\n }, [dataDimensions, imageSrc])\n\n const dimensions = dataDimensions ?? measuredDimensions\n const Container = link ? Link : 'div'\n const containerClassName = cx(\n useStyle({ lineHeight: 0, overflow: 'hidden' }),\n useStyle(useResponsiveWidth(width, dimensions?.width)),\n useStyle(useResponsiveStyle([opacity] as const, ([opacity = 1]) => ({ opacity }))),\n margin,\n padding,\n border,\n borderRadius,\n boxShadow,\n className,\n )\n\n if (!dimensions) return null\n\n return (\n <Container link={link} ref={ref} id={id} className={containerClassName}>\n {nextMajorVersion < 13 ? (\n <NextLegacyImage\n layout=\"responsive\"\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText}\n width={dimensions.width}\n height={dimensions.height}\n priority={priority}\n />\n ) : (\n <NextImage\n src={imageSrc}\n priority={priority}\n sizes={imageSizes(breakpoints, width)}\n alt={altText ?? ''}\n width={dimensions.width}\n height={dimensions.height}\n style={{\n width: '100%',\n height: 'auto',\n }}\n />\n )}\n </Container>\n )\n})\n\nexport default ImageComponent\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4JQ;AA1JR,mBAAqD;AACrD,mBAAsB;AAStB,yBAAoD;AACpD,0BAA6B;AAC7B,kBAAqB;AACrB,iBAAmB;AACnB,uBAAyB;AACzB,8BAAuD;AACvD,2BAAwB;AACxB,0BAA0C;AAC1C,6BAA+B;AAC/B,wBAAyB;AAEzB,MAAM,kBAAkB,aAAAA;AAmBxB,SAAS,UAAU,KAAwC;AACzD,SAAO,IAAI,QAA0B,CAAC,SAAS,WAAW;AACxD,UAAM,QAAQ,IAAI,MAAM;AAExB,UAAM,SAAS,MAAM,QAAQ,KAAK;AAClC,UAAM,UAAU;AAChB,UAAM,MAAM;AAAA,EACd,CAAC;AACH;AAEA,SAAS,WAAW,aAA0B,OAAgC;AAC5E,QAAM,aAAa,YAAY,KAAK,gBAAc,WAAW,YAAY,IAAI;AAC7E,QAAM,YAAY,cAAc,aAAS,2CAAuB,aAAa,OAAO,WAAW,EAAE;AACjG,QAAM,gBACJ,aAAa,QAAQ,UAAU,MAAM,SAAS,OAAO,UAAU,GAAG,UAAU,MAAM,KAAK;AAEzF,SAAO,YACJ,IAAI,gBAAc;AACjB,UAAM,eAAW,2CAAuB,aAAa,OAAO,WAAW,EAAE;AAEzE,QAAI,YAAY,QAAQ,WAAW,YAAY,QAAQ,SAAS,MAAM,SAAS,MAAM;AACnF,aAAO;AAAA,IACT;AAEA,WAAO,eAAe,WAAW,QAAQ,OAAO,KAAK;AAAA,MACnD,WAAW;AAAA,MACX,SAAS,MAAM;AAAA,IACjB,CAAC;AAAA,EACH,CAAC,EACA,OAAO,CAAC,SAA2C,QAAQ,IAAI,EAC/D,OAAO,CAAC,aAAa,eAAe,GAAG,UAAU,KAAK,WAAW,IAAI,aAAa;AACvF;AAOA,MAAM,qBAAiB,yBAAW,SAASC,OACzC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc,iCAAa;AAAA,EAC3B;AAAA,EACA;AACF,GACA,KACA;AACA,QAAM,aAAS,yBAAM,IAAI,EACtB,KAAK,oBAAE,QAAQ,OAAK,CAAC,EACrB,KAAK,EAAE,MAAM,kBAAkB,SAAS,EAAE,GAAG,OAAK,EAAE,EAAE,EACtD,UAAU,MAAM,IAAI;AACvB,QAAM,eAAW,8BAAQ,MAAM;AAC/B,QAAM,eAAW,yBAAM,CAAC,MAAM,QAAQ,CAAC,EACpC,KAAK,CAAC,oBAAE,KAAK,oBAAE,IAAI,oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAEC,SAAQ,MAAMA,UAAS,SAAS,EACpE,KAAK,CAAC,EAAE,MAAM,iBAAiB,SAAS,EAAE,GAAG,oBAAE,GAAG,GAAG,CAAC,CAACC,KAAI,MAAMA,MAAK,GAAG,EACzE,UAAU,MAAM,YAAY,GAAG;AAClC,QAAM,qBAAiB,yBAAM,CAAC,MAAM,UAAU,QAAQ,CAAC,EACpD;AAAA,IACC,CAAC,EAAE,MAAM,iBAAiB,SAAS,GAAG,OAAO,oBAAE,QAAQ,QAAQ,oBAAE,OAAO,GAAG,oBAAE,KAAK,oBAAE,GAAG;AAAA,IACvF,CAAC,CAAC,YAAY,OAAO,EAAE,OAAO,aAAa,OAAO,QAAQ,aAAa,OAAO;AAAA,EAChF,EACC,KAAK,CAAC,oBAAE,KAAK,oBAAE,IAAI,oBAAE,OAAO,GAAG,oBAAE,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM,KAAK,UAAU,EACpE,KAAK,CAAC,oBAAE,KAAK,oBAAE,KAAK,YAAY,GAAG,GAAG,MAAM,YAAY,UAAU,EAClE,UAAU,MAAM,IAAI;AACvB,QAAM,CAAC,oBAAoB,qBAAqB,QAAI,uBAA4B,IAAI;AACpF,QAAM,kBAAc,uCAAe;AAEnC,8BAAU,MAAM;AACd,QAAI;AAAgB;AAEpB,QAAI,YAAY;AAEhB,cAAU,QAAQ,EACf,KAAK,WAAS;AACb,UAAI,CAAC,WAAW;AACd,8BAAsB,EAAE,OAAO,MAAM,cAAc,QAAQ,MAAM,cAAc,CAAC;AAAA,MAClF;AAAA,IACF,CAAC,EACA,MAAM,QAAQ,KAAK;AAEtB,WAAO,MAAM;AACX,kBAAY;AAAA,IACd;AAAA,EACF,GAAG,CAAC,gBAAgB,QAAQ,CAAC;AAE7B,QAAM,aAAa,kBAAkB;AACrC,QAAM,YAAY,OAAO,mBAAO;AAChC,QAAM,yBAAqB;AAAA,QACzB,2BAAS,EAAE,YAAY,GAAG,UAAU,SAAS,CAAC;AAAA,QAC9C,+BAAS,4CAAmB,OAAO,YAAY,KAAK,CAAC;AAAA,QACrD,+BAAS,4CAAmB,CAAC,OAAO,GAAY,CAAC,CAACC,WAAU,CAAC,OAAO,EAAE,SAAAA,SAAQ,EAAE,CAAC;AAAA,IACjF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,CAAC;AAAY,WAAO;AAExB,SACE,4CAAC,aAAU,MAAY,KAAU,IAAQ,WAAW,oBACjD,8BAAAC,QAAmB,KAClB;AAAA,IAAC;AAAA;AAAA,MACC,QAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO,WAAW,aAAa,KAAK;AAAA,MACpC,KAAK;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ,WAAW;AAAA,MACnB;AAAA;AAAA,EACF,IAEA;AAAA,IAAC,aAAAL;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,OAAO,WAAW,aAAa,KAAK;AAAA,MACpC,KAAK,WAAW;AAAA,MAChB,OAAO,WAAW;AAAA,MAClB,QAAQ,WAAW;AAAA,MACnB,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA;AAAA,EACF,GAEJ;AAEJ,CAAC;AAED,IAAO,gBAAQ;","names":["NextImage","Image","fileData","file","opacity","nextMajorVersion"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Image/Image.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useEffect, Ref, forwardRef } from 'react'\nimport NextImage from 'next/image'\nimport type NextLegacyImageType from 'next/legacy/image'\n\nimport {\n LinkData,\n ResponsiveLengthData,\n ImageData,\n ResponsiveOpacityValue,\n} from '@makeswift/prop-controllers'\nimport { type Breakpoints, findBreakpointOverride } from '@makeswift/controls'\n\nimport { placeholders } from '../../utils/placeholders'\nimport { Link } from '../../shared/Link'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveWidth } from '../../utils/responsive-style'\nimport { useFile } from '../../../runtimes/react/hooks/makeswift-api'\nimport { major as nextMajorVersion } from '../../../next/next-version'\nimport { useBreakpoints } from '../../../runtimes/react/hooks/use-breakpoints'\nimport { match, P } from 'ts-pattern'\n\nconst NextLegacyImage = NextImage as typeof NextLegacyImageType\n\ntype Props = {\n id?: string\n file?: ImageData\n altText?: string\n link?: LinkData\n width?: ResponsiveLengthData\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n opacity?: ResponsiveOpacityValue\n placeholder?: { src: string; dimensions: { width: number; height: number } }\n className?: string\n priority?: boolean\n}\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image()\n\n image.onload = () => resolve(image)\n image.onerror = reject\n image.src = src\n })\n}\n\nfunction imageSizes(breakpoints: Breakpoints, width?: Props['width']): string {\n const baseDevice = breakpoints.find(breakpoint => breakpoint.maxWidth == null)\n const baseWidth = baseDevice && width && findBreakpointOverride(breakpoints, width, baseDevice.id)\n const baseWidthSize =\n baseWidth == null || baseWidth.value.unit !== 'px' ? '100vw' : `${baseWidth.value.value}px`\n\n return breakpoints\n .map(breakpoint => {\n const override = findBreakpointOverride(breakpoints, width, breakpoint.id)\n\n if (override == null || breakpoint.maxWidth == null || override.value.unit !== 'px') {\n return null\n }\n\n return `(max-width: ${breakpoint.maxWidth}px) ${Math.min(\n breakpoint.maxWidth,\n override.value.value,\n )}px`\n })\n .filter((size): size is NonNullable<typeof size> => size != null)\n .reduce((sourceSizes, sourceSize) => `${sourceSize}, ${sourceSizes}`, baseWidthSize)\n}\n\ntype Dimensions = {\n width: number\n height: number\n}\n\nconst ImageComponent = forwardRef(function Image(\n {\n id,\n width,\n margin,\n padding,\n file,\n border,\n borderRadius,\n altText,\n link,\n opacity,\n boxShadow,\n placeholder = placeholders.image,\n className,\n priority,\n }: Props,\n ref: Ref<HTMLAnchorElement & HTMLDivElement>,\n) {\n const fileId = match(file)\n .with(P.string, v => v)\n .with({ type: 'makeswift-file', version: 1 }, v => v.id)\n .otherwise(() => null)\n const fileData = useFile(fileId)\n const imageSrc = match([file, fileData])\n .with([P.any, P.not(P.nullish)], ([, fileData]) => fileData.publicUrl)\n .with([{ type: 'external-file', version: 1 }, P.any], ([file]) => file.url)\n .otherwise(() => placeholder.src)\n const dataDimensions = match([file, fileData, imageSrc])\n .with(\n [{ type: 'external-file', version: 1, width: P.number, height: P.number }, P.any, P.any],\n ([externalFile]) => ({ width: externalFile.width, height: externalFile.height }),\n )\n .with([P.any, P.not(P.nullish), P.any], ([, data]) => data.dimensions)\n .with([P.any, P.any, placeholder.src], () => placeholder.dimensions)\n .otherwise(() => null)\n const [measuredDimensions, setMeasuredDimensions] = useState<Dimensions | null>(null)\n const breakpoints = useBreakpoints()\n\n useEffect(() => {\n if (dataDimensions) return\n\n let cleanedUp = false\n\n loadImage(imageSrc)\n .then(image => {\n if (!cleanedUp) {\n setMeasuredDimensions({ width: image.naturalWidth, height: image.naturalHeight })\n }\n })\n .catch(console.error)\n\n return () => {\n cleanedUp = true\n }\n }, [dataDimensions, imageSrc])\n\n const dimensions = dataDimensions ?? measuredDimensions\n const Container = link ? Link : 'div'\n const containerClassName = cx(\n useStyle({ lineHeight: 0, overflow: 'hidden' }),\n useStyle(useResponsiveWidth(width, dimensions?.width)),\n useStyle(useResponsiveStyle([opacity] as const, ([opacity = 1]) => ({ opacity }))),\n margin,\n padding,\n border,\n borderRadius,\n boxShadow,\n className,\n )\n\n if (!dimensions) return null\n\n return (\n <Container link={link} ref={ref} id={id} className={containerClassName}>\n {nextMajorVersion < 13 ? (\n <NextLegacyImage\n layout=\"responsive\"\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText}\n width={dimensions.width}\n height={dimensions.height}\n priority={priority}\n />\n ) : (\n <NextImage\n src={imageSrc}\n priority={priority}\n sizes={imageSizes(breakpoints, width)}\n alt={altText ?? ''}\n width={dimensions.width}\n height={dimensions.height}\n style={{\n width: '100%',\n height: 'auto',\n }}\n />\n )}\n </Container>\n )\n})\n\nexport default ImageComponent\n"],"mappings":"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","names":["NextImage","Image","fileData","file","opacity","nextMajorVersion"]}
@@ -31,7 +31,7 @@ __export(register_exports, {
31
31
  registerComponent: () => registerComponent
32
32
  });
33
33
  module.exports = __toCommonJS(register_exports);
34
- var import_breakpoints = require("../../../state/modules/breakpoints");
34
+ var import_controls = require("@makeswift/controls");
35
35
  var import_constants = require("../constants");
36
36
  var import_components_meta = require("../../../state/modules/components-meta");
37
37
  var import_react2 = require("react");
@@ -41,7 +41,7 @@ function registerComponent(runtime) {
41
41
  const mobileMenuAnimation = import_prop_controllers.ResponsiveSelect.fromPropData(
42
42
  props.mobileMenuAnimation
43
43
  );
44
- return !(0, import_breakpoints.findBreakpointOverride)(runtime.getBreakpoints(), mobileMenuAnimation, deviceId);
44
+ return !(0, import_controls.findBreakpointOverride)(runtime.getBreakpoints(), mobileMenuAnimation, deviceId);
45
45
  }
46
46
  return runtime.registerComponent(
47
47
  (0, import_react2.lazy)(() => Promise.resolve().then(() => __toESM(require("./Navigation")))),
@@ -75,7 +75,7 @@ function registerComponent(runtime) {
75
75
  [import_prop_controllers.ControlDataTypeKey]: import_prop_controllers.ResponsiveLengthPropControllerDataV1Type,
76
76
  value: [
77
77
  {
78
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
78
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
79
79
  value: { value: 100, unit: "px" }
80
80
  }
81
81
  ]
@@ -113,7 +113,7 @@ function registerComponent(runtime) {
113
113
  gutter: (0, import_prop_controllers.GapX)({
114
114
  preset: [
115
115
  {
116
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
116
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
117
117
  value: { value: 10, unit: "px" }
118
118
  }
119
119
  ],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Navigation/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { findBreakpointOverride, getBaseBreakpoint } from '../../../state/modules/breakpoints'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ControlDataTypeKey,\n Checkbox,\n Link,\n ResponsiveColor,\n ResponsiveLength,\n ResponsiveLengthPropControllerDataV1Type,\n checkboxPropControllerDataSchema,\n getCheckboxPropControllerDataBoolean,\n Margin,\n Width,\n TextStyle,\n NavigationLinks,\n NavigationLinksData,\n GapX,\n ResponsiveIconRadioGroup,\n ResponsiveSelect,\n ElementID,\n Image,\n TextInput,\n type PropData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n function isHiddenBasedOnMenuAnimation(props: Record<string, unknown>, deviceId: string): boolean {\n const mobileMenuAnimation = ResponsiveSelect.fromPropData(\n props.mobileMenuAnimation as PropData<typeof ResponsiveSelect> | undefined,\n )\n\n return !findBreakpointOverride(runtime.getBreakpoints(), mobileMenuAnimation, deviceId)\n }\n\n return runtime.registerComponent(\n lazy(() => import('./Navigation')),\n {\n type: MakeswiftComponentType.Navigation,\n label: 'Navigation',\n icon: ComponentIcon.Navigation,\n props: {\n id: ElementID(),\n links: NavigationLinks(),\n linkTextStyle: TextStyle(props => {\n const links = props.links as NavigationLinksData | undefined\n\n return {\n label: 'Link text style',\n hidden: links == null || links.length === 0,\n }\n }),\n showLogo: Checkbox({ preset: true, label: 'Show logo' }),\n logoFile: Image(props => ({\n label: 'Logo',\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n logoWidth: ResponsiveLength(props => ({\n // TODO(miguel): We're manually constructing the data here but should be using a factory\n // function instead. This is because the factory function currently expects a definition\n // but we don't have one to pass here. Perhaps we should make the factory function not\n // require the definition and use the latest version when a definition isn't provided.\n preset: {\n [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,\n value: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 100, unit: 'px' },\n },\n ],\n },\n label: 'Logo width',\n min: 0,\n max: 1000,\n // TODO: This is hardcoded value, import it from LengthInputOptions\n options: [{ value: 'px', label: 'Pixels', icon: 'Px16' }],\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n logoAltText: TextInput(props => ({\n label: 'Logo alt text',\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n logoLink: Link(props => ({\n label: 'Logo on click',\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n alignment: ResponsiveIconRadioGroup({\n label: 'Alignment',\n options: [\n { label: 'Left', value: 'flex-start', icon: 'AlignLeft16' },\n { label: 'Center', value: 'center', icon: 'AlignCenter16' },\n { label: 'End', value: 'flex-end', icon: 'AlignRight16' },\n ],\n defaultValue: 'flex-end',\n }),\n gutter: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Link gap',\n min: 0,\n max: 100,\n step: 1,\n defaultValue: { value: 0, unit: 'px' },\n }),\n mobileMenuAnimation: ResponsiveSelect({\n label: 'Mobile menu',\n options: [\n { value: 'coverRight', label: 'Cover from right' },\n { value: 'coverLeft', label: 'Cover from left' },\n ],\n }),\n mobileMenuOpenIconColor: ResponsiveColor((props, device) => {\n return {\n label: 'Open icon color',\n placeholder: 'rgba(161, 168, 194, 0.5)',\n hidden: isHiddenBasedOnMenuAnimation(props, device),\n }\n }),\n mobileMenuCloseIconColor: ResponsiveColor((props, device) => {\n return {\n label: 'Close icon color',\n placeholder: 'rgba(161, 168, 194, 0.5)',\n hidden: isHiddenBasedOnMenuAnimation(props, device),\n }\n }),\n mobileMenuBackgroundColor: ResponsiveColor((props, device) => {\n return {\n label: 'Menu BG color',\n placeholder: 'black',\n hidden: isHiddenBasedOnMenuAnimation(props, device),\n }\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Navigation/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { findBreakpointOverride, getBaseBreakpoint } from '@makeswift/controls'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ControlDataTypeKey,\n Checkbox,\n Link,\n ResponsiveColor,\n ResponsiveLength,\n ResponsiveLengthPropControllerDataV1Type,\n checkboxPropControllerDataSchema,\n getCheckboxPropControllerDataBoolean,\n Margin,\n Width,\n TextStyle,\n NavigationLinks,\n NavigationLinksData,\n GapX,\n ResponsiveIconRadioGroup,\n ResponsiveSelect,\n ElementID,\n Image,\n TextInput,\n type PropData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n function isHiddenBasedOnMenuAnimation(props: Record<string, unknown>, deviceId: string): boolean {\n const mobileMenuAnimation = ResponsiveSelect.fromPropData(\n props.mobileMenuAnimation as PropData<typeof ResponsiveSelect> | undefined,\n )\n\n return !findBreakpointOverride(runtime.getBreakpoints(), mobileMenuAnimation, deviceId)\n }\n\n return runtime.registerComponent(\n lazy(() => import('./Navigation')),\n {\n type: MakeswiftComponentType.Navigation,\n label: 'Navigation',\n icon: ComponentIcon.Navigation,\n props: {\n id: ElementID(),\n links: NavigationLinks(),\n linkTextStyle: TextStyle(props => {\n const links = props.links as NavigationLinksData | undefined\n\n return {\n label: 'Link text style',\n hidden: links == null || links.length === 0,\n }\n }),\n showLogo: Checkbox({ preset: true, label: 'Show logo' }),\n logoFile: Image(props => ({\n label: 'Logo',\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n logoWidth: ResponsiveLength(props => ({\n // TODO(miguel): We're manually constructing the data here but should be using a factory\n // function instead. This is because the factory function currently expects a definition\n // but we don't have one to pass here. Perhaps we should make the factory function not\n // require the definition and use the latest version when a definition isn't provided.\n preset: {\n [ControlDataTypeKey]: ResponsiveLengthPropControllerDataV1Type,\n value: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 100, unit: 'px' },\n },\n ],\n },\n label: 'Logo width',\n min: 0,\n max: 1000,\n // TODO: This is hardcoded value, import it from LengthInputOptions\n options: [{ value: 'px', label: 'Pixels', icon: 'Px16' }],\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n logoAltText: TextInput(props => ({\n label: 'Logo alt text',\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n logoLink: Link(props => ({\n label: 'Logo on click',\n hidden:\n getCheckboxPropControllerDataBoolean(\n checkboxPropControllerDataSchema.optional().catch(undefined).parse(props.showLogo),\n ) === false,\n })),\n alignment: ResponsiveIconRadioGroup({\n label: 'Alignment',\n options: [\n { label: 'Left', value: 'flex-start', icon: 'AlignLeft16' },\n { label: 'Center', value: 'center', icon: 'AlignCenter16' },\n { label: 'End', value: 'flex-end', icon: 'AlignRight16' },\n ],\n defaultValue: 'flex-end',\n }),\n gutter: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Link gap',\n min: 0,\n max: 100,\n step: 1,\n defaultValue: { value: 0, unit: 'px' },\n }),\n mobileMenuAnimation: ResponsiveSelect({\n label: 'Mobile menu',\n options: [\n { value: 'coverRight', label: 'Cover from right' },\n { value: 'coverLeft', label: 'Cover from left' },\n ],\n }),\n mobileMenuOpenIconColor: ResponsiveColor((props, device) => {\n return {\n label: 'Open icon color',\n placeholder: 'rgba(161, 168, 194, 0.5)',\n hidden: isHiddenBasedOnMenuAnimation(props, device),\n }\n }),\n mobileMenuCloseIconColor: ResponsiveColor((props, device) => {\n return {\n label: 'Close icon color',\n placeholder: 'rgba(161, 168, 194, 0.5)',\n hidden: isHiddenBasedOnMenuAnimation(props, device),\n }\n }),\n mobileMenuBackgroundColor: ResponsiveColor((props, device) => {\n return {\n label: 'Menu BG color',\n placeholder: 'black',\n hidden: isHiddenBasedOnMenuAnimation(props, device),\n }\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react"]}
@@ -31,7 +31,7 @@ __export(register_exports, {
31
31
  registerComponent: () => registerComponent
32
32
  });
33
33
  module.exports = __toCommonJS(register_exports);
34
- var import_breakpoints = require("../../../state/modules/breakpoints");
34
+ var import_controls = require("@makeswift/controls");
35
35
  var import_constants = require("../constants");
36
36
  var import_components_meta = require("../../../state/modules/components-meta");
37
37
  var import_react2 = require("react");
@@ -145,7 +145,7 @@ function registerComponent(runtime) {
145
145
  gutter: (0, import_prop_controllers.GapX)({
146
146
  preset: [
147
147
  {
148
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
148
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
149
149
  value: { value: 10, unit: "px" }
150
150
  }
151
151
  ],
@@ -163,7 +163,7 @@ function registerComponent(runtime) {
163
163
  format: import_prop_controllers.Margin.Format.ClassName,
164
164
  preset: [
165
165
  {
166
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
166
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
167
167
  value: {
168
168
  marginTop: { value: 10, unit: "px" },
169
169
  marginRight: "auto",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/SocialLinks/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { getBaseBreakpoint } from '../../../state/modules/breakpoints'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ElementID,\n GapX,\n Margin,\n ResponsiveColor,\n ResponsiveSelect,\n ResponsiveIconRadioGroup,\n SocialLinks,\n SocialLinksPropControllerData,\n Width,\n getSocialLinksPropControllerDataSocialLinksData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./SocialLinks')),\n {\n type: MakeswiftComponentType.SocialLinks,\n label: 'Social Links',\n icon: ComponentIcon.SocialLinks,\n props: {\n id: ElementID(),\n links: SocialLinks({\n preset: {\n links: [\n {\n id: 'facebook',\n payload: { type: 'facebook', url: 'https://www.facebook.com' },\n },\n {\n id: 'instagram',\n payload: { type: 'instagram', url: 'https://www.instagram.com' },\n },\n {\n id: 'twitter',\n payload: { type: 'twitter', url: 'https://www.twitter.com' },\n },\n ],\n openInNewTab: false,\n },\n }),\n shape: ResponsiveIconRadioGroup(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n\n return {\n label: 'Shape',\n options: [\n { label: 'Naked', value: 'naked', icon: 'Star16' },\n { label: 'Circle', value: 'circle', icon: 'StarCircle16' },\n { label: 'Rounded', value: 'rounded', icon: 'StarRoundedSquare16' },\n { label: 'Square', value: 'square', icon: 'StarSquare16' },\n ],\n defaultValue: 'naked',\n hidden: links == null || links.links.length === 0,\n }\n }),\n size: ResponsiveIconRadioGroup(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n\n return {\n label: 'Size',\n options: [\n { label: 'Small', value: 'small', icon: 'SizeSmall16' },\n { label: 'Medium', value: 'medium', icon: 'SizeMedium16' },\n { label: 'Large', value: 'large', icon: 'SizeLarge16' },\n ],\n defaultValue: 'medium',\n hidden: links == null || links.links.length === 0,\n }\n }),\n hoverStyle: ResponsiveSelect(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'On hover',\n options: [\n { value: 'none', label: 'None' },\n { value: 'grow', label: 'Grow' },\n { value: 'shrink', label: 'Shrink' },\n { value: 'fade', label: 'Fade' },\n ],\n defaultValue: 'none',\n labelOrientation: 'horizontal',\n hidden,\n }\n }),\n fill: ResponsiveColor(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'Icon color',\n hidden,\n }\n }),\n backgroundColor: ResponsiveColor(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'Shape color',\n hidden,\n }\n }),\n alignment: ResponsiveIconRadioGroup({\n label: 'Alignment',\n options: [\n { label: 'flex-start', value: 'flex-start', icon: 'AlignLeft16' },\n { label: 'center', value: 'center', icon: 'AlignCenter16' },\n { label: 'flex-end', value: 'flex-end', icon: 'AlignRight16' },\n ],\n defaultValue: 'center',\n }),\n gutter: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Link gap',\n min: 0,\n max: 100,\n step: 1,\n defaultValue: { value: 0, unit: 'px' },\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({\n format: Margin.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: {\n marginTop: { value: 10, unit: 'px' },\n marginRight: 'auto',\n marginBottom: { value: 10, unit: 'px' },\n marginLeft: 'auto',\n },\n },\n ],\n }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/SocialLinks/register.ts"],"sourcesContent":["import { ReactRuntime } from '../../../runtimes/react'\nimport { getBaseBreakpoint } from '@makeswift/controls'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport {\n ElementID,\n GapX,\n Margin,\n ResponsiveColor,\n ResponsiveSelect,\n ResponsiveIconRadioGroup,\n SocialLinks,\n SocialLinksPropControllerData,\n Width,\n getSocialLinksPropControllerDataSocialLinksData,\n} from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./SocialLinks')),\n {\n type: MakeswiftComponentType.SocialLinks,\n label: 'Social Links',\n icon: ComponentIcon.SocialLinks,\n props: {\n id: ElementID(),\n links: SocialLinks({\n preset: {\n links: [\n {\n id: 'facebook',\n payload: { type: 'facebook', url: 'https://www.facebook.com' },\n },\n {\n id: 'instagram',\n payload: { type: 'instagram', url: 'https://www.instagram.com' },\n },\n {\n id: 'twitter',\n payload: { type: 'twitter', url: 'https://www.twitter.com' },\n },\n ],\n openInNewTab: false,\n },\n }),\n shape: ResponsiveIconRadioGroup(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n\n return {\n label: 'Shape',\n options: [\n { label: 'Naked', value: 'naked', icon: 'Star16' },\n { label: 'Circle', value: 'circle', icon: 'StarCircle16' },\n { label: 'Rounded', value: 'rounded', icon: 'StarRoundedSquare16' },\n { label: 'Square', value: 'square', icon: 'StarSquare16' },\n ],\n defaultValue: 'naked',\n hidden: links == null || links.links.length === 0,\n }\n }),\n size: ResponsiveIconRadioGroup(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n\n return {\n label: 'Size',\n options: [\n { label: 'Small', value: 'small', icon: 'SizeSmall16' },\n { label: 'Medium', value: 'medium', icon: 'SizeMedium16' },\n { label: 'Large', value: 'large', icon: 'SizeLarge16' },\n ],\n defaultValue: 'medium',\n hidden: links == null || links.links.length === 0,\n }\n }),\n hoverStyle: ResponsiveSelect(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'On hover',\n options: [\n { value: 'none', label: 'None' },\n { value: 'grow', label: 'Grow' },\n { value: 'shrink', label: 'Shrink' },\n { value: 'fade', label: 'Fade' },\n ],\n defaultValue: 'none',\n labelOrientation: 'horizontal',\n hidden,\n }\n }),\n fill: ResponsiveColor(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'Icon color',\n hidden,\n }\n }),\n backgroundColor: ResponsiveColor(props => {\n const links = getSocialLinksPropControllerDataSocialLinksData(\n props.links as SocialLinksPropControllerData | undefined,\n )\n const hidden = links == null || links.links.length === 0\n\n return {\n label: 'Shape color',\n hidden,\n }\n }),\n alignment: ResponsiveIconRadioGroup({\n label: 'Alignment',\n options: [\n { label: 'flex-start', value: 'flex-start', icon: 'AlignLeft16' },\n { label: 'center', value: 'center', icon: 'AlignCenter16' },\n { label: 'flex-end', value: 'flex-end', icon: 'AlignRight16' },\n ],\n defaultValue: 'center',\n }),\n gutter: GapX({\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 10, unit: 'px' },\n },\n ],\n label: 'Link gap',\n min: 0,\n max: 100,\n step: 1,\n defaultValue: { value: 0, unit: 'px' },\n }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({\n format: Margin.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: {\n marginTop: { value: 10, unit: 'px' },\n marginRight: 'auto',\n marginBottom: { value: 10, unit: 'px' },\n marginLeft: 'auto',\n },\n },\n ],\n }),\n },\n },\n )\n}\n"],"mappings":"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","names":["import_react"]}
@@ -32,7 +32,7 @@ __export(register_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(register_exports);
34
34
  var import_constants = require("../constants");
35
- var import_breakpoints = require("../../../state/modules/breakpoints");
35
+ var import_controls = require("@makeswift/controls");
36
36
  var import_rich_text_v2 = require("../../../controls/rich-text-v2/rich-text-v2");
37
37
  var import_react2 = require("react");
38
38
  var import_prop_controllers = require("@makeswift/prop-controllers");
@@ -49,7 +49,7 @@ function registerComponent(runtime) {
49
49
  format: import_prop_controllers.Width.Format.ClassName,
50
50
  preset: [
51
51
  {
52
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
52
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
53
53
  value: { value: 700, unit: "px" }
54
54
  }
55
55
  ],
@@ -59,7 +59,7 @@ function registerComponent(runtime) {
59
59
  format: import_prop_controllers.Margin.Format.ClassName,
60
60
  preset: [
61
61
  {
62
- deviceId: (0, import_breakpoints.getBaseBreakpoint)(runtime.getBreakpoints()).id,
62
+ deviceId: (0, import_controls.getBaseBreakpoint)(runtime.getBreakpoints()).id,
63
63
  value: {
64
64
  marginTop: null,
65
65
  marginRight: "auto",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Text/register.ts"],"sourcesContent":["import { type ReactRuntime } from '../../../runtimes/react'\nimport { MakeswiftComponentType } from '../constants'\nimport { getBaseBreakpoint } from '../../../state/modules/breakpoints'\nimport { RichText } from '../../../controls/rich-text-v2/rich-text-v2'\nimport { lazy } from 'react'\nimport { ElementID, Margin, Width } from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Text')),\n {\n type: MakeswiftComponentType.Text,\n label: 'Text',\n props: {\n id: ElementID(),\n text: RichText(),\n width: Width({\n format: Width.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 700, unit: 'px' },\n },\n ],\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({\n format: Margin.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: {\n marginTop: null,\n marginRight: 'auto',\n marginBottom: { value: 20, unit: 'px' },\n marginLeft: 'auto',\n },\n },\n ],\n }),\n },\n },\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAAuC;AACvC,yBAAkC;AAClC,0BAAyB;AACzB,IAAAA,gBAAqB;AACrB,8BAAyC;AAElC,SAAS,kBAAkB,SAAuB;AACvD,SAAO,QAAQ;AAAA,QACb,oBAAK,MAAM,6CAAO,QAAQ,GAAC;AAAA,IAC3B;AAAA,MACE,MAAM,wCAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,OAAO;AAAA,QACL,QAAI,mCAAU;AAAA,QACd,UAAM,8BAAS;AAAA,QACf,WAAO,+BAAM;AAAA,UACX,QAAQ,8BAAM,OAAO;AAAA,UACrB,QAAQ;AAAA,YACN;AAAA,cACE,cAAU,sCAAkB,QAAQ,eAAe,CAAC,EAAE;AAAA,cACtD,OAAO,EAAE,OAAO,KAAK,MAAM,KAAK;AAAA,YAClC;AAAA,UACF;AAAA,UACA,cAAc,EAAE,OAAO,KAAK,MAAM,IAAI;AAAA,QACxC,CAAC;AAAA,QACD,YAAQ,gCAAO;AAAA,UACb,QAAQ,+BAAO,OAAO;AAAA,UACtB,QAAQ;AAAA,YACN;AAAA,cACE,cAAU,sCAAkB,QAAQ,eAAe,CAAC,EAAE;AAAA,cACtD,OAAO;AAAA,gBACL,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,cAAc,EAAE,OAAO,IAAI,MAAM,KAAK;AAAA,gBACtC,YAAY;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":["import_react"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Text/register.ts"],"sourcesContent":["import { type ReactRuntime } from '../../../runtimes/react'\nimport { MakeswiftComponentType } from '../constants'\nimport { getBaseBreakpoint } from '@makeswift/controls'\nimport { RichText } from '../../../controls/rich-text-v2/rich-text-v2'\nimport { lazy } from 'react'\nimport { ElementID, Margin, Width } from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Text')),\n {\n type: MakeswiftComponentType.Text,\n label: 'Text',\n props: {\n id: ElementID(),\n text: RichText(),\n width: Width({\n format: Width.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: { value: 700, unit: 'px' },\n },\n ],\n defaultValue: { value: 100, unit: '%' },\n }),\n margin: Margin({\n format: Margin.Format.ClassName,\n preset: [\n {\n deviceId: getBaseBreakpoint(runtime.getBreakpoints()).id,\n value: {\n marginTop: null,\n marginRight: 'auto',\n marginBottom: { value: 20, unit: 'px' },\n marginLeft: 'auto',\n },\n },\n ],\n }),\n },\n },\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAAuC;AACvC,sBAAkC;AAClC,0BAAyB;AACzB,IAAAA,gBAAqB;AACrB,8BAAyC;AAElC,SAAS,kBAAkB,SAAuB;AACvD,SAAO,QAAQ;AAAA,QACb,oBAAK,MAAM,6CAAO,QAAQ,GAAC;AAAA,IAC3B;AAAA,MACE,MAAM,wCAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,OAAO;AAAA,QACL,QAAI,mCAAU;AAAA,QACd,UAAM,8BAAS;AAAA,QACf,WAAO,+BAAM;AAAA,UACX,QAAQ,8BAAM,OAAO;AAAA,UACrB,QAAQ;AAAA,YACN;AAAA,cACE,cAAU,mCAAkB,QAAQ,eAAe,CAAC,EAAE;AAAA,cACtD,OAAO,EAAE,OAAO,KAAK,MAAM,KAAK;AAAA,YAClC;AAAA,UACF;AAAA,UACA,cAAc,EAAE,OAAO,KAAK,MAAM,IAAI;AAAA,QACxC,CAAC;AAAA,QACD,YAAQ,gCAAO;AAAA,UACb,QAAQ,+BAAO,OAAO;AAAA,UACtB,QAAQ;AAAA,YACN;AAAA,cACE,cAAU,mCAAkB,QAAQ,eAAe,CAAC,EAAE;AAAA,cACtD,OAAO;AAAA,gBACL,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,cAAc,EAAE,OAAO,IAAI,MAAM,KAAK;AAAA,gBACtC,YAAY;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":["import_react"]}
@@ -23,15 +23,15 @@ __export(useMediaQuery_exports, {
23
23
  module.exports = __toCommonJS(useMediaQuery_exports);
24
24
  var import_shim = require("use-sync-external-store/shim");
25
25
  var import_react = require("react");
26
- var import_breakpoints = require("../../state/modules/breakpoints");
26
+ var import_controls = require("@makeswift/controls");
27
27
  var import_use_breakpoints = require("../../runtimes/react/hooks/use-breakpoints");
28
28
  const getDeviceQueries = (breakpoints) => breakpoints.map((device) => ({
29
29
  id: device.id,
30
- query: (0, import_breakpoints.getBreakpointMediaQuery)(device).replace("@media", "")
30
+ query: (0, import_controls.getBreakpointMediaQuery)(device).replace("@media", "")
31
31
  }));
32
32
  function useMediaQuery(responsiveValue) {
33
33
  const breakpoints = (0, import_use_breakpoints.useBreakpoints)();
34
- const baseBreakpointId = (0, import_breakpoints.getBaseBreakpoint)(breakpoints).id;
34
+ const baseBreakpointId = (0, import_controls.getBaseBreakpoint)(breakpoints).id;
35
35
  const subscribe = (0, import_react.useCallback)(
36
36
  (notify) => {
37
37
  const cleanUpFns = getDeviceQueries(breakpoints).map((q) => {
@@ -43,7 +43,7 @@ function useMediaQuery(responsiveValue) {
43
43
  },
44
44
  [breakpoints]
45
45
  );
46
- const getServerSnapshot = () => (0, import_breakpoints.findBreakpointOverride)(breakpoints, responsiveValue, baseBreakpointId)?.value;
46
+ const getServerSnapshot = () => (0, import_controls.findBreakpointOverride)(breakpoints, responsiveValue, baseBreakpointId)?.value;
47
47
  function getSnapshot() {
48
48
  const deviceId = getDeviceQueries(breakpoints).reduce(
49
49
  (matchedDevice, deviceQueries) => {
@@ -54,7 +54,7 @@ function useMediaQuery(responsiveValue) {
54
54
  },
55
55
  baseBreakpointId
56
56
  );
57
- return (0, import_breakpoints.findBreakpointOverride)(breakpoints, responsiveValue, deviceId)?.value;
57
+ return (0, import_controls.findBreakpointOverride)(breakpoints, responsiveValue, deviceId)?.value;
58
58
  }
59
59
  return (0, import_shim.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/useMediaQuery.ts"],"sourcesContent":["import { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { useCallback } from 'react'\n\nimport { DeviceOverride } from '../../prop-controllers'\nimport {\n Breakpoints,\n findBreakpointOverride,\n getBaseBreakpoint,\n getBreakpointMediaQuery,\n} from '../../state/modules/breakpoints'\nimport { useBreakpoints } from '../../runtimes/react/hooks/use-breakpoints'\n\nconst getDeviceQueries = (breakpoints: Breakpoints) =>\n breakpoints.map(device => ({\n id: device.id,\n query: getBreakpointMediaQuery(device).replace('@media', ''),\n }))\n\nexport function useMediaQuery<S>(responsiveValue?: Array<DeviceOverride<S>>): S | undefined {\n const breakpoints = useBreakpoints()\n const baseBreakpointId = getBaseBreakpoint(breakpoints).id\n const subscribe = useCallback(\n (notify: () => void) => {\n const cleanUpFns = getDeviceQueries(breakpoints).map(q => {\n const mediaQueryList = window.matchMedia(q.query)\n mediaQueryList.addEventListener('change', notify)\n return () => mediaQueryList.removeEventListener('change', notify)\n })\n return () => cleanUpFns.forEach(fn => fn())\n },\n [breakpoints],\n )\n const getServerSnapshot = () =>\n findBreakpointOverride(breakpoints, responsiveValue, baseBreakpointId)?.value\n\n function getSnapshot() {\n const deviceId: string = getDeviceQueries(breakpoints).reduce(\n (matchedDevice, deviceQueries) => {\n if (window.matchMedia(deviceQueries.query).matches) {\n return deviceQueries.id\n }\n return matchedDevice\n },\n baseBreakpointId,\n )\n return findBreakpointOverride(breakpoints, responsiveValue, deviceId)?.value\n }\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqC;AACrC,mBAA4B;AAG5B,yBAKO;AACP,6BAA+B;AAE/B,MAAM,mBAAmB,CAAC,gBACxB,YAAY,IAAI,aAAW;AAAA,EACzB,IAAI,OAAO;AAAA,EACX,WAAO,4CAAwB,MAAM,EAAE,QAAQ,UAAU,EAAE;AAC7D,EAAE;AAEG,SAAS,cAAiB,iBAA2D;AAC1F,QAAM,kBAAc,uCAAe;AACnC,QAAM,uBAAmB,sCAAkB,WAAW,EAAE;AACxD,QAAM,gBAAY;AAAA,IAChB,CAAC,WAAuB;AACtB,YAAM,aAAa,iBAAiB,WAAW,EAAE,IAAI,OAAK;AACxD,cAAM,iBAAiB,OAAO,WAAW,EAAE,KAAK;AAChD,uBAAe,iBAAiB,UAAU,MAAM;AAChD,eAAO,MAAM,eAAe,oBAAoB,UAAU,MAAM;AAAA,MAClE,CAAC;AACD,aAAO,MAAM,WAAW,QAAQ,QAAM,GAAG,CAAC;AAAA,IAC5C;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AACA,QAAM,oBAAoB,UACxB,2CAAuB,aAAa,iBAAiB,gBAAgB,GAAG;AAE1E,WAAS,cAAc;AACrB,UAAM,WAAmB,iBAAiB,WAAW,EAAE;AAAA,MACrD,CAAC,eAAe,kBAAkB;AAChC,YAAI,OAAO,WAAW,cAAc,KAAK,EAAE,SAAS;AAClD,iBAAO,cAAc;AAAA,QACvB;AACA,eAAO;AAAA,MACT;AAAA,MACA;AAAA,IACF;AACA,eAAO,2CAAuB,aAAa,iBAAiB,QAAQ,GAAG;AAAA,EACzE;AAEA,aAAO,kCAAqB,WAAW,aAAa,iBAAiB;AACvE;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/useMediaQuery.ts"],"sourcesContent":["import { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { useCallback } from 'react'\n\nimport {\n type Breakpoints,\n type DeviceOverride,\n findBreakpointOverride,\n getBaseBreakpoint,\n getBreakpointMediaQuery,\n} from '@makeswift/controls'\n\nimport { useBreakpoints } from '../../runtimes/react/hooks/use-breakpoints'\n\nconst getDeviceQueries = (breakpoints: Breakpoints) =>\n breakpoints.map(device => ({\n id: device.id,\n query: getBreakpointMediaQuery(device).replace('@media', ''),\n }))\n\nexport function useMediaQuery<S>(responsiveValue?: Array<DeviceOverride<S>>): S | undefined {\n const breakpoints = useBreakpoints()\n const baseBreakpointId = getBaseBreakpoint(breakpoints).id\n const subscribe = useCallback(\n (notify: () => void) => {\n const cleanUpFns = getDeviceQueries(breakpoints).map(q => {\n const mediaQueryList = window.matchMedia(q.query)\n mediaQueryList.addEventListener('change', notify)\n return () => mediaQueryList.removeEventListener('change', notify)\n })\n return () => cleanUpFns.forEach(fn => fn())\n },\n [breakpoints],\n )\n const getServerSnapshot = () =>\n findBreakpointOverride(breakpoints, responsiveValue, baseBreakpointId)?.value\n\n function getSnapshot() {\n const deviceId: string = getDeviceQueries(breakpoints).reduce(\n (matchedDevice, deviceQueries) => {\n if (window.matchMedia(deviceQueries.query).matches) {\n return deviceQueries.id\n }\n return matchedDevice\n },\n baseBreakpointId,\n )\n return findBreakpointOverride(breakpoints, responsiveValue, deviceId)?.value\n }\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAqC;AACrC,mBAA4B;AAE5B,sBAMO;AAEP,6BAA+B;AAE/B,MAAM,mBAAmB,CAAC,gBACxB,YAAY,IAAI,aAAW;AAAA,EACzB,IAAI,OAAO;AAAA,EACX,WAAO,yCAAwB,MAAM,EAAE,QAAQ,UAAU,EAAE;AAC7D,EAAE;AAEG,SAAS,cAAiB,iBAA2D;AAC1F,QAAM,kBAAc,uCAAe;AACnC,QAAM,uBAAmB,mCAAkB,WAAW,EAAE;AACxD,QAAM,gBAAY;AAAA,IAChB,CAAC,WAAuB;AACtB,YAAM,aAAa,iBAAiB,WAAW,EAAE,IAAI,OAAK;AACxD,cAAM,iBAAiB,OAAO,WAAW,EAAE,KAAK;AAChD,uBAAe,iBAAiB,UAAU,MAAM;AAChD,eAAO,MAAM,eAAe,oBAAoB,UAAU,MAAM;AAAA,MAClE,CAAC;AACD,aAAO,MAAM,WAAW,QAAQ,QAAM,GAAG,CAAC;AAAA,IAC5C;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AACA,QAAM,oBAAoB,UACxB,wCAAuB,aAAa,iBAAiB,gBAAgB,GAAG;AAE1E,WAAS,cAAc;AACrB,UAAM,WAAmB,iBAAiB,WAAW,EAAE;AAAA,MACrD,CAAC,eAAe,kBAAkB;AAChC,YAAI,OAAO,WAAW,cAAc,KAAK,EAAE,SAAS;AAClD,iBAAO,cAAc;AAAA,QACvB;AACA,eAAO;AAAA,MACT;AAAA,MACA;AAAA,IACF;AACA,eAAO,wCAAuB,aAAa,iBAAiB,QAAQ,GAAG;AAAA,EACzE;AAEA,aAAO,kCAAqB,WAAW,aAAa,iBAAiB;AACvE;","names":[]}
@@ -23,17 +23,20 @@ __export(Page_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(Page_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_react = require("react");
26
27
  var import_BodySnippet = require("./BodySnippet");
27
- var import_react = require("../../runtimes/react");
28
+ var import_react2 = require("../../runtimes/react");
28
29
  var import_useRouterLocaleSync = require("../hooks/useRouterLocaleSync");
29
30
  var import_usePageSnippets = require("../hooks/usePageSnippets");
30
31
  var import_PageHead = require("./PageHead");
31
- function Page({ page, rootDocument }) {
32
+ var import_page_seo_settings = require("./page-seo-settings");
33
+ function Page({ page, rootDocument, metadata = true }) {
32
34
  const { bodySnippets } = (0, import_usePageSnippets.usePageSnippets)({ page });
35
+ const pageMetadataSettings = (0, import_react.useMemo)(() => (0, import_page_seo_settings.flattenMetadataSettings)(metadata), [metadata]);
33
36
  (0, import_useRouterLocaleSync.useRouterLocaleSync)();
34
37
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
35
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PageHead.PageHead, { document: page }),
36
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.DocumentRoot, { rootDocument }),
38
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PageHead.PageHead, { document: page, metadata: pageMetadataSettings }),
39
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react2.DocumentRoot, { rootDocument }),
37
40
  bodySnippets.map((snippet) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BodySnippet.BodySnippet, { code: snippet.code, cleanup: snippet.cleanup }, snippet.id))
38
41
  ] });
39
42
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/page/Page.tsx"],"sourcesContent":["'use client'\n\nimport { BodySnippet } from './BodySnippet'\nimport { DocumentRoot } from '../../runtimes/react'\nimport { type Document } from '../../state/react-page'\nimport { MakeswiftPageDocument } from '../../next'\nimport { useRouterLocaleSync } from '../hooks/useRouterLocaleSync'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { PageHead } from './PageHead'\n\ntype Props = {\n page: MakeswiftPageDocument\n rootDocument: Document\n}\n\nexport function Page({ page, rootDocument }: Props): JSX.Element {\n const { bodySnippets } = usePageSnippets({ page })\n\n useRouterLocaleSync()\n\n return (\n <>\n <PageHead document={page} />\n\n <DocumentRoot rootDocument={rootDocument} />\n\n {bodySnippets.map(snippet => (\n <BodySnippet key={snippet.id} code={snippet.code} cleanup={snippet.cleanup} />\n ))}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBI;AAnBJ,yBAA4B;AAC5B,mBAA6B;AAG7B,iCAAoC;AACpC,6BAAgC;AAChC,sBAAyB;AAOlB,SAAS,KAAK,EAAE,MAAM,aAAa,GAAuB;AAC/D,QAAM,EAAE,aAAa,QAAI,wCAAgB,EAAE,KAAK,CAAC;AAEjD,sDAAoB;AAEpB,SACE,4EACE;AAAA,gDAAC,4BAAS,UAAU,MAAM;AAAA,IAE1B,4CAAC,6BAAa,cAA4B;AAAA,IAEzC,aAAa,IAAI,aAChB,4CAAC,kCAA6B,MAAM,QAAQ,MAAM,SAAS,QAAQ,WAAjD,QAAQ,EAAkD,CAC7E;AAAA,KACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/page/Page.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport { BodySnippet } from './BodySnippet'\nimport { DocumentRoot } from '../../runtimes/react'\nimport { type Document } from '../../state/react-page'\nimport { MakeswiftPageDocument } from '../../next'\nimport { useRouterLocaleSync } from '../hooks/useRouterLocaleSync'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { PageHead } from './PageHead'\nimport { flattenMetadataSettings, type PageMetadataSettings } from './page-seo-settings'\n\ntype Props = {\n page: MakeswiftPageDocument\n rootDocument: Document\n metadata?: boolean | PageMetadataSettings\n}\n\nexport function Page({ page, rootDocument, metadata = true }: Props): JSX.Element {\n const { bodySnippets } = usePageSnippets({ page })\n const pageMetadataSettings = useMemo(() => flattenMetadataSettings(metadata), [metadata])\n\n useRouterLocaleSync()\n\n return (\n <>\n <PageHead document={page} metadata={pageMetadataSettings} />\n\n <DocumentRoot rootDocument={rootDocument} />\n\n {bodySnippets.map(snippet => (\n <BodySnippet key={snippet.id} code={snippet.code} cleanup={snippet.cleanup} />\n ))}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBI;AAvBJ,mBAAwB;AACxB,yBAA4B;AAC5B,IAAAA,gBAA6B;AAG7B,iCAAoC;AACpC,6BAAgC;AAChC,sBAAyB;AACzB,+BAAmE;AAQ5D,SAAS,KAAK,EAAE,MAAM,cAAc,WAAW,KAAK,GAAuB;AAChF,QAAM,EAAE,aAAa,QAAI,wCAAgB,EAAE,KAAK,CAAC;AACjD,QAAM,2BAAuB,sBAAQ,UAAM,kDAAwB,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAExF,sDAAoB;AAEpB,SACE,4EACE;AAAA,gDAAC,4BAAS,UAAU,MAAM,UAAU,sBAAsB;AAAA,IAE1D,4CAAC,8BAAa,cAA4B;AAAA,IAEzC,aAAa,IAAI,aAChB,4CAAC,kCAA6B,MAAM,QAAQ,MAAM,SAAS,QAAQ,WAAjD,QAAQ,EAAkD,CAC7E;AAAA,KACH;AAEJ;","names":["import_react"]}
@@ -35,7 +35,16 @@ const defaultFavicon = {
35
35
  mimetype: "image/png",
36
36
  publicUrl: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC"
37
37
  };
38
- function PageHead({ document: page }) {
38
+ function PageHead({ document: page, metadata = {} }) {
39
+ const {
40
+ title: useTitle = false,
41
+ favicon: useFavicon = false,
42
+ canonicalUrl: useCanonicalUrl = false,
43
+ indexingBlocked: useIndexingBlocked = false,
44
+ description: useDescription = false,
45
+ keywords: useKeywords = false,
46
+ socialImage: useSocialImage = false
47
+ } = metadata;
39
48
  const { headSnippets } = (0, import_usePageSnippets.usePageSnippets)({ page });
40
49
  const isInBuilder = (0, import_react2.useIsInBuilder)();
41
50
  const site = useCachedSite(isInBuilder ? page.site.id : null);
@@ -69,17 +78,17 @@ function PageHead({ document: page }) {
69
78
  overflow: hidden;
70
79
  }
71
80
  ` }),
72
- title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageTitle, { children: title }),
73
- favicon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageLink, { rel: "icon", type: favicon.mimetype, href: favicon.publicUrl }),
74
- canonicalUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageLink, { rel: "canonical", href: canonicalUrl }),
75
- isIndexingBlocked && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "robots", content: "noindex" }),
76
- description && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
81
+ useTitle && title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageTitle, { children: title }),
82
+ useFavicon && favicon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageLink, { rel: "icon", type: favicon.mimetype, href: favicon.publicUrl }),
83
+ useCanonicalUrl && canonicalUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageLink, { rel: "canonical", href: canonicalUrl }),
84
+ useIndexingBlocked && isIndexingBlocked && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "robots", content: "noindex" }),
85
+ useDescription && description && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
77
86
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "description", content: description }),
78
87
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { property: "og:description", content: description }),
79
88
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "twitter:description", content: description })
80
89
  ] }),
81
- keywords && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "keywords", content: keywords }),
82
- socialImage && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
90
+ useKeywords && keywords && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "keywords", content: keywords }),
91
+ useSocialImage && socialImage && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
83
92
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { property: "og:image", content: socialImage.publicUrl }),
84
93
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { property: "og:image:type", content: socialImage.mimetype }),
85
94
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head_tags.PageMeta, { name: "twitter:image", content: socialImage.publicUrl }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/page/PageHead.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport { MakeswiftPageDocument } from '../../next'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { useIsInBuilder } from '../../react'\nimport { useMakeswiftHostApiClient } from '../../runtimes/react/host-api-client'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { Site } from '../../api'\nimport { PageTitle, PageMeta, PageLink, PageStyle } from '../../next/components/head-tags'\nimport { HeadSnippet } from './HeadSnippet'\n\nconst defaultFavicon = {\n id: 'default-favicon',\n mimetype: 'image/png',\n publicUrl:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC',\n}\n\ntype Props = {\n document: MakeswiftPageDocument\n}\n\nexport function PageHead({ document: page }: Props): JSX.Element {\n const { headSnippets } = usePageSnippets({ page })\n\n const isInBuilder = useIsInBuilder()\n\n const site = useCachedSite(isInBuilder ? page.site.id : null)\n const baseLocalizedPage = page.localizedPages.find(({ parentId }) => parentId == null)\n\n const favicon = page.meta.favicon ?? defaultFavicon\n const title = baseLocalizedPage?.meta.title ?? page.meta.title\n const description = baseLocalizedPage?.meta.description ?? page.meta.description\n const keywords = baseLocalizedPage?.meta.keywords ?? page.meta.keywords\n const socialImage = baseLocalizedPage?.meta.socialImage ?? page.meta.socialImage\n const canonicalUrl = baseLocalizedPage?.seo.canonicalUrl ?? page.seo.canonicalUrl\n const isIndexingBlocked = baseLocalizedPage?.seo.isIndexingBlocked ?? page.seo.isIndexingBlocked\n\n const fontFamilyParamValue = useMemo(() => {\n if (site == null) {\n return page.fonts\n .map(({ family, variants }) => {\n return `${family.replace(/ /g, '+')}:${variants.join()}`\n })\n .join('|')\n }\n\n return site.googleFonts.edges\n .filter((edge): edge is NonNullable<typeof edge> => edge != null)\n .map(({ activeVariants, node: { family, variants } }) => {\n const activeVariantSpecifiers = variants\n .filter(variant =>\n activeVariants.some(activeVariant => activeVariant.specifier === variant.specifier),\n )\n .map(variant => variant.specifier)\n .join()\n\n return `${family.replace(/ /g, '+')}:${activeVariantSpecifiers}`\n })\n .join('|')\n }, [site, page])\n\n return (\n <>\n <PageStyle precedence=\"high\" href=\"makeswift-base-styles\">\n {`\n html {\n font-family: sans-serif;\n }\n div#__next {\n overflow: hidden;\n }\n `}\n </PageStyle>\n {title && <PageTitle>{title}</PageTitle>}\n {favicon && <PageLink rel=\"icon\" type={favicon.mimetype} href={favicon.publicUrl} />}\n {canonicalUrl && <PageLink rel=\"canonical\" href={canonicalUrl} />}\n {isIndexingBlocked && <PageMeta name=\"robots\" content=\"noindex\" />}\n {description && (\n <>\n <PageMeta name=\"description\" content={description} />\n <PageMeta property=\"og:description\" content={description} />\n <PageMeta name=\"twitter:description\" content={description} />\n </>\n )}\n {keywords && <PageMeta name=\"keywords\" content={keywords} />}\n {socialImage && (\n <>\n <PageMeta property=\"og:image\" content={socialImage.publicUrl} />\n <PageMeta property=\"og:image:type\" content={socialImage.mimetype} />\n <PageMeta name=\"twitter:image\" content={socialImage.publicUrl} />\n <PageMeta name=\"twitter:card\" content=\"summary_large_image\" />\n </>\n )}\n {fontFamilyParamValue !== '' && (\n <PageLink\n precedence=\"medium\"\n rel=\"stylesheet\"\n href={`https://fonts.googleapis.com/css?family=${fontFamilyParamValue}&display=swap`}\n />\n )}\n {headSnippets.map(snippet => (\n <HeadSnippet key={snippet.id} snippet={snippet} />\n ))}\n </>\n )\n}\n\nfunction useCachedSite(siteId: string | null): Site | null {\n const client = useMakeswiftHostApiClient()\n const getSnapshot = () => (siteId == null ? null : client.readSite(siteId))\n\n const site = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n return site\n}\n"],"mappings":"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","names":["import_react"]}
1
+ {"version":3,"sources":["../../../../src/components/page/PageHead.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport { MakeswiftPageDocument } from '../../next'\nimport { usePageSnippets } from '../hooks/usePageSnippets'\nimport { useIsInBuilder } from '../../react'\nimport { useMakeswiftHostApiClient } from '../../runtimes/react/host-api-client'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport { Site } from '../../api'\nimport { PageTitle, PageMeta, PageLink, PageStyle } from '../../next/components/head-tags'\nimport { HeadSnippet } from './HeadSnippet'\nimport { type PageMetadataSettings } from './page-seo-settings'\n\nconst defaultFavicon = {\n id: 'default-favicon',\n mimetype: 'image/png',\n publicUrl:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC',\n}\n\ntype Props = {\n document: MakeswiftPageDocument\n metadata?: PageMetadataSettings\n}\n\nexport function PageHead({ document: page, metadata = {} }: Props): JSX.Element {\n const {\n title: useTitle = false,\n favicon: useFavicon = false,\n canonicalUrl: useCanonicalUrl = false,\n indexingBlocked: useIndexingBlocked = false,\n description: useDescription = false,\n keywords: useKeywords = false,\n socialImage: useSocialImage = false,\n } = metadata\n\n const { headSnippets } = usePageSnippets({ page })\n\n const isInBuilder = useIsInBuilder()\n\n const site = useCachedSite(isInBuilder ? page.site.id : null)\n const baseLocalizedPage = page.localizedPages.find(({ parentId }) => parentId == null)\n\n const favicon = page.meta.favicon ?? defaultFavicon\n const title = baseLocalizedPage?.meta.title ?? page.meta.title\n const description = baseLocalizedPage?.meta.description ?? page.meta.description\n const keywords = baseLocalizedPage?.meta.keywords ?? page.meta.keywords\n const socialImage = baseLocalizedPage?.meta.socialImage ?? page.meta.socialImage\n const canonicalUrl = baseLocalizedPage?.seo.canonicalUrl ?? page.seo.canonicalUrl\n const isIndexingBlocked = baseLocalizedPage?.seo.isIndexingBlocked ?? page.seo.isIndexingBlocked\n\n const fontFamilyParamValue = useMemo(() => {\n if (site == null) {\n return page.fonts\n .map(({ family, variants }) => {\n return `${family.replace(/ /g, '+')}:${variants.join()}`\n })\n .join('|')\n }\n\n return site.googleFonts.edges\n .filter((edge): edge is NonNullable<typeof edge> => edge != null)\n .map(({ activeVariants, node: { family, variants } }) => {\n const activeVariantSpecifiers = variants\n .filter(variant =>\n activeVariants.some(activeVariant => activeVariant.specifier === variant.specifier),\n )\n .map(variant => variant.specifier)\n .join()\n\n return `${family.replace(/ /g, '+')}:${activeVariantSpecifiers}`\n })\n .join('|')\n }, [site, page])\n\n return (\n <>\n <PageStyle precedence=\"high\" href=\"makeswift-base-styles\">\n {`\n html {\n font-family: sans-serif;\n }\n div#__next {\n overflow: hidden;\n }\n `}\n </PageStyle>\n {useTitle && title && <PageTitle>{title}</PageTitle>}\n {useFavicon && favicon && (\n <PageLink rel=\"icon\" type={favicon.mimetype} href={favicon.publicUrl} />\n )}\n {useCanonicalUrl && canonicalUrl && <PageLink rel=\"canonical\" href={canonicalUrl} />}\n {useIndexingBlocked && isIndexingBlocked && <PageMeta name=\"robots\" content=\"noindex\" />}\n {useDescription && description && (\n <>\n <PageMeta name=\"description\" content={description} />\n <PageMeta property=\"og:description\" content={description} />\n <PageMeta name=\"twitter:description\" content={description} />\n </>\n )}\n {useKeywords && keywords && <PageMeta name=\"keywords\" content={keywords} />}\n {useSocialImage && socialImage && (\n <>\n <PageMeta property=\"og:image\" content={socialImage.publicUrl} />\n <PageMeta property=\"og:image:type\" content={socialImage.mimetype} />\n <PageMeta name=\"twitter:image\" content={socialImage.publicUrl} />\n <PageMeta name=\"twitter:card\" content=\"summary_large_image\" />\n </>\n )}\n {fontFamilyParamValue !== '' && (\n <PageLink\n precedence=\"medium\"\n rel=\"stylesheet\"\n href={`https://fonts.googleapis.com/css?family=${fontFamilyParamValue}&display=swap`}\n />\n )}\n {headSnippets.map(snippet => (\n <HeadSnippet key={snippet.id} snippet={snippet} />\n ))}\n </>\n )\n}\n\nfunction useCachedSite(siteId: string | null): Site | null {\n const client = useMakeswiftHostApiClient()\n const getSnapshot = () => (siteId == null ? null : client.readSite(siteId))\n\n const site = useSyncExternalStore(client.subscribe, getSnapshot, getSnapshot)\n\n return site\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6EM;AA3EN,mBAAwB;AAExB,6BAAgC;AAChC,IAAAA,gBAA+B;AAC/B,6BAA0C;AAC1C,kBAAqC;AAErC,uBAAyD;AACzD,yBAA4B;AAG5B,MAAM,iBAAiB;AAAA,EACrB,IAAI;AAAA,EACJ,UAAU;AAAA,EACV,WACE;AACJ;AAOO,SAAS,SAAS,EAAE,UAAU,MAAM,WAAW,CAAC,EAAE,GAAuB;AAC9E,QAAM;AAAA,IACJ,OAAO,WAAW;AAAA,IAClB,SAAS,aAAa;AAAA,IACtB,cAAc,kBAAkB;AAAA,IAChC,iBAAiB,qBAAqB;AAAA,IACtC,aAAa,iBAAiB;AAAA,IAC9B,UAAU,cAAc;AAAA,IACxB,aAAa,iBAAiB;AAAA,EAChC,IAAI;AAEJ,QAAM,EAAE,aAAa,QAAI,wCAAgB,EAAE,KAAK,CAAC;AAEjD,QAAM,kBAAc,8BAAe;AAEnC,QAAM,OAAO,cAAc,cAAc,KAAK,KAAK,KAAK,IAAI;AAC5D,QAAM,oBAAoB,KAAK,eAAe,KAAK,CAAC,EAAE,SAAS,MAAM,YAAY,IAAI;AAErF,QAAM,UAAU,KAAK,KAAK,WAAW;AACrC,QAAM,QAAQ,mBAAmB,KAAK,SAAS,KAAK,KAAK;AACzD,QAAM,cAAc,mBAAmB,KAAK,eAAe,KAAK,KAAK;AACrE,QAAM,WAAW,mBAAmB,KAAK,YAAY,KAAK,KAAK;AAC/D,QAAM,cAAc,mBAAmB,KAAK,eAAe,KAAK,KAAK;AACrE,QAAM,eAAe,mBAAmB,IAAI,gBAAgB,KAAK,IAAI;AACrE,QAAM,oBAAoB,mBAAmB,IAAI,qBAAqB,KAAK,IAAI;AAE/E,QAAM,2BAAuB,sBAAQ,MAAM;AACzC,QAAI,QAAQ,MAAM;AAChB,aAAO,KAAK,MACT,IAAI,CAAC,EAAE,QAAQ,SAAS,MAAM;AAC7B,eAAO,GAAG,OAAO,QAAQ,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC;AAAA,MACxD,CAAC,EACA,KAAK,GAAG;AAAA,IACb;AAEA,WAAO,KAAK,YAAY,MACrB,OAAO,CAAC,SAA2C,QAAQ,IAAI,EAC/D,IAAI,CAAC,EAAE,gBAAgB,MAAM,EAAE,QAAQ,SAAS,EAAE,MAAM;AACvD,YAAM,0BAA0B,SAC7B;AAAA,QAAO,aACN,eAAe,KAAK,mBAAiB,cAAc,cAAc,QAAQ,SAAS;AAAA,MACpF,EACC,IAAI,aAAW,QAAQ,SAAS,EAChC,KAAK;AAER,aAAO,GAAG,OAAO,QAAQ,MAAM,GAAG,CAAC,IAAI,uBAAuB;AAAA,IAChE,CAAC,EACA,KAAK,GAAG;AAAA,EACb,GAAG,CAAC,MAAM,IAAI,CAAC;AAEf,SACE,4EACE;AAAA,gDAAC,8BAAU,YAAW,QAAO,MAAK,yBAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQH;AAAA,IACC,YAAY,SAAS,4CAAC,8BAAW,iBAAM;AAAA,IACvC,cAAc,WACb,4CAAC,6BAAS,KAAI,QAAO,MAAM,QAAQ,UAAU,MAAM,QAAQ,WAAW;AAAA,IAEvE,mBAAmB,gBAAgB,4CAAC,6BAAS,KAAI,aAAY,MAAM,cAAc;AAAA,IACjF,sBAAsB,qBAAqB,4CAAC,6BAAS,MAAK,UAAS,SAAQ,WAAU;AAAA,IACrF,kBAAkB,eACjB,4EACE;AAAA,kDAAC,6BAAS,MAAK,eAAc,SAAS,aAAa;AAAA,MACnD,4CAAC,6BAAS,UAAS,kBAAiB,SAAS,aAAa;AAAA,MAC1D,4CAAC,6BAAS,MAAK,uBAAsB,SAAS,aAAa;AAAA,OAC7D;AAAA,IAED,eAAe,YAAY,4CAAC,6BAAS,MAAK,YAAW,SAAS,UAAU;AAAA,IACxE,kBAAkB,eACjB,4EACE;AAAA,kDAAC,6BAAS,UAAS,YAAW,SAAS,YAAY,WAAW;AAAA,MAC9D,4CAAC,6BAAS,UAAS,iBAAgB,SAAS,YAAY,UAAU;AAAA,MAClE,4CAAC,6BAAS,MAAK,iBAAgB,SAAS,YAAY,WAAW;AAAA,MAC/D,4CAAC,6BAAS,MAAK,gBAAe,SAAQ,uBAAsB;AAAA,OAC9D;AAAA,IAED,yBAAyB,MACxB;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,KAAI;AAAA,QACJ,MAAM,2CAA2C,oBAAoB;AAAA;AAAA,IACvE;AAAA,IAED,aAAa,IAAI,aAChB,4CAAC,kCAA6B,WAAZ,QAAQ,EAAsB,CACjD;AAAA,KACH;AAEJ;AAEA,SAAS,cAAc,QAAoC;AACzD,QAAM,aAAS,kDAA0B;AACzC,QAAM,cAAc,MAAO,UAAU,OAAO,OAAO,OAAO,SAAS,MAAM;AAEzE,QAAM,WAAO,kCAAqB,OAAO,WAAW,aAAa,WAAW;AAE5E,SAAO;AACT;","names":["import_react"]}