@makeswift/runtime 0.25.0-canary.8 → 0.25.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 (777) hide show
  1. package/dist/cjs/api/react.js +10 -14
  2. package/dist/cjs/api/react.js.map +1 -1
  3. package/dist/cjs/api/site-version/index.js +103 -0
  4. package/dist/cjs/api/site-version/index.js.map +1 -0
  5. package/dist/cjs/api-handler/handlers/manifest.js +3 -4
  6. package/dist/cjs/api-handler/handlers/manifest.js.map +1 -1
  7. package/dist/cjs/api-handler/handlers/redirect-live.js +52 -0
  8. package/dist/cjs/api-handler/handlers/redirect-live.js.map +1 -0
  9. package/dist/cjs/api-handler/index.js +6 -5
  10. package/dist/cjs/api-handler/index.js.map +1 -1
  11. package/dist/cjs/api-handler/node-request-response.js +99 -0
  12. package/dist/cjs/api-handler/node-request-response.js.map +1 -0
  13. package/dist/cjs/{next/preview-mode.js → api-handler/preview.js} +12 -18
  14. package/dist/cjs/api-handler/preview.js.map +1 -0
  15. package/dist/cjs/api-handler/request-response.js +9 -0
  16. package/dist/cjs/api-handler/request-response.js.map +1 -1
  17. package/dist/cjs/client/index.js +67 -59
  18. package/dist/cjs/client/index.js.map +1 -1
  19. package/dist/cjs/components/builtin/Box/animations.js.map +1 -1
  20. package/dist/cjs/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -1
  21. package/dist/cjs/components/builtin/Image/Image.js +4 -26
  22. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  23. package/dist/cjs/components/builtin/Root/Root.js +4 -4
  24. package/dist/cjs/components/builtin/Root/Root.js.map +1 -1
  25. package/dist/cjs/components/builtin/Slot/Slot.js +1 -1
  26. package/dist/cjs/components/builtin/Slot/Slot.js.map +1 -1
  27. package/dist/cjs/components/builtin/Video/Video.js +3 -13
  28. package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
  29. package/dist/cjs/components/hooks/useMediaQuery.js +1 -2
  30. package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
  31. package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +3 -13
  32. package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  33. package/dist/cjs/components/shared/BackgroundsContainer/components/Backgrounds/index.js +4 -14
  34. package/dist/cjs/components/shared/BackgroundsContainer/components/Backgrounds/index.js.map +1 -1
  35. package/dist/cjs/components/shared/Link/index.js +15 -40
  36. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  37. package/dist/cjs/{next/components/Slot.js → components/shared/react-player.js} +9 -18
  38. package/dist/cjs/components/shared/react-player.js.map +1 -0
  39. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  40. package/dist/cjs/css/border-radius.js.map +1 -1
  41. package/dist/cjs/css/border.js.map +1 -1
  42. package/dist/cjs/css/margin.js.map +1 -1
  43. package/dist/cjs/css/padding.js.map +1 -1
  44. package/dist/cjs/next/api-handler/config/app-router.js +12 -10
  45. package/dist/cjs/next/api-handler/config/app-router.js.map +1 -1
  46. package/dist/cjs/next/api-handler/config/pages-router.js +9 -69
  47. package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -1
  48. package/dist/cjs/next/api-handler/handlers/{redirect-draft.js → app-router-redirect-preview.js} +30 -26
  49. package/dist/cjs/next/api-handler/handlers/app-router-redirect-preview.js.map +1 -0
  50. package/dist/cjs/next/api-handler/handlers/{redirect-preview.js → pages-router-redirect-preview.js} +29 -22
  51. package/dist/cjs/next/api-handler/handlers/pages-router-redirect-preview.js.map +1 -0
  52. package/dist/cjs/next/api-handler/index.js +4 -3
  53. package/dist/cjs/next/api-handler/index.js.map +1 -1
  54. package/dist/cjs/next/api-handler/{draft.js → preview.js} +13 -11
  55. package/dist/cjs/next/api-handler/preview.js.map +1 -0
  56. package/dist/cjs/next/app-router-site-version.js +40 -0
  57. package/dist/cjs/next/app-router-site-version.js.map +1 -0
  58. package/dist/cjs/next/client.js +9 -3
  59. package/dist/cjs/next/client.js.map +1 -1
  60. package/dist/cjs/next/components/framework-provider/app-router/index.js.map +1 -1
  61. package/dist/cjs/next/components/framework-provider/index.js +20 -2
  62. package/dist/cjs/next/components/framework-provider/index.js.map +1 -1
  63. package/dist/cjs/next/components/framework-provider/link.js +69 -0
  64. package/dist/cjs/next/components/framework-provider/link.js.map +1 -0
  65. package/dist/cjs/next/components/framework-provider/pages-router/index.js.map +1 -1
  66. package/dist/cjs/next/components/page.js +1 -1
  67. package/dist/cjs/next/components/page.js.map +1 -1
  68. package/dist/cjs/next/components/tests/__fixtures__/element-data/box-component.js +124 -0
  69. package/dist/cjs/next/components/tests/__fixtures__/element-data/box-component.js.map +1 -0
  70. package/dist/cjs/next/components/tests/__fixtures__/element-data/button-component.js +109 -0
  71. package/dist/cjs/next/components/tests/__fixtures__/element-data/button-component.js.map +1 -0
  72. package/dist/cjs/next/components/tests/__fixtures__/element-data/image-component.js +193 -0
  73. package/dist/cjs/next/components/tests/__fixtures__/element-data/image-component.js.map +1 -0
  74. package/dist/cjs/{api-handler/handlers/clear-draft.js → next/components/tests/__fixtures__/resources/files.js} +17 -19
  75. package/dist/cjs/next/components/tests/__fixtures__/resources/files.js.map +1 -0
  76. package/dist/cjs/next/components/tests/__fixtures__/resources/index.js +27 -0
  77. package/dist/cjs/next/components/tests/__fixtures__/resources/index.js.map +1 -0
  78. package/dist/cjs/next/components/tests/__fixtures__/resources/page-pathname-slices.js +33 -0
  79. package/dist/cjs/next/components/tests/__fixtures__/resources/page-pathname-slices.js.map +1 -0
  80. package/dist/cjs/next/components/tests/__fixtures__/resources/swatches.js +35 -0
  81. package/dist/cjs/next/components/tests/__fixtures__/resources/swatches.js.map +1 -0
  82. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +1 -1
  83. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  84. package/dist/cjs/next/document.js +2 -1
  85. package/dist/cjs/next/document.js.map +1 -1
  86. package/dist/cjs/next/index.js +2 -2
  87. package/dist/cjs/next/index.js.map +1 -1
  88. package/dist/cjs/next/middleware/request-utils.js +11 -17
  89. package/dist/cjs/next/middleware/request-utils.js.map +1 -1
  90. package/dist/cjs/next/root-style-registry.js +10 -25
  91. package/dist/cjs/next/root-style-registry.js.map +1 -1
  92. package/dist/cjs/next/server.js +2 -2
  93. package/dist/cjs/next/server.js.map +1 -1
  94. package/dist/cjs/next/testing/page-rendering.js +16 -3
  95. package/dist/cjs/next/testing/page-rendering.js.map +1 -1
  96. package/dist/cjs/next/testing/react-provider.js +2 -2
  97. package/dist/cjs/next/testing/react-provider.js.map +1 -1
  98. package/dist/cjs/next/tests/test-utils.js +7 -5
  99. package/dist/cjs/next/tests/test-utils.js.map +1 -1
  100. package/dist/cjs/{next → runtimes/react}/components/MakeswiftComponent.js +4 -4
  101. package/dist/cjs/runtimes/react/components/MakeswiftComponent.js.map +1 -0
  102. package/dist/cjs/runtimes/react/components/RuntimeProvider.js +9 -7
  103. package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
  104. package/dist/cjs/runtimes/react/components/Slot.js +38 -0
  105. package/dist/cjs/runtimes/react/components/Slot.js.map +1 -0
  106. package/dist/cjs/{next → runtimes/react}/components/SlotProvider.js +3 -3
  107. package/dist/cjs/runtimes/react/components/SlotProvider.js.map +1 -0
  108. package/dist/cjs/runtimes/react/components/framework-context.js +38 -3
  109. package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
  110. package/dist/cjs/runtimes/react/components/page/index.js +18 -16
  111. package/dist/cjs/runtimes/react/components/page/index.js.map +1 -1
  112. package/dist/cjs/runtimes/react/components/{draft-switcher/draft-switcher.js → preview-switcher/preview-switcher.js} +12 -22
  113. package/dist/cjs/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
  114. package/dist/cjs/runtimes/react/components/{draft-switcher/draft-toolbar.js → preview-switcher/preview-toolbar.js} +17 -9
  115. package/dist/cjs/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
  116. package/dist/cjs/runtimes/react/controls/style.js.map +1 -1
  117. package/dist/cjs/runtimes/react/hooks/makeswift-api.js +9 -10
  118. package/dist/cjs/runtimes/react/hooks/makeswift-api.js.map +1 -1
  119. package/dist/cjs/runtimes/react/hooks/use-selector.js +1 -1
  120. package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
  121. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js +1 -1
  122. package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  123. package/dist/cjs/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  124. package/dist/cjs/runtimes/react/host-api-client.js +7 -2
  125. package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
  126. package/dist/cjs/runtimes/react/root-style-registry.js +39 -13
  127. package/dist/cjs/runtimes/react/root-style-registry.js.map +1 -1
  128. package/dist/cjs/runtimes/react/use-global-style.js +1 -1
  129. package/dist/cjs/runtimes/react/use-global-style.js.map +1 -1
  130. package/dist/cjs/runtimes/react/use-style.js +3 -3
  131. package/dist/cjs/runtimes/react/use-style.js.map +1 -1
  132. package/dist/cjs/state/actions.js +6 -0
  133. package/dist/cjs/state/actions.js.map +1 -1
  134. package/dist/cjs/state/makeswift-api-client.js +42 -57
  135. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  136. package/dist/cjs/state/mixins/setup-teardown.js.map +1 -1
  137. package/dist/cjs/state/modules/api-resources.js +2 -0
  138. package/dist/cjs/state/modules/api-resources.js.map +1 -1
  139. package/dist/cjs/state/modules/box-models.js +2 -0
  140. package/dist/cjs/state/modules/box-models.js.map +1 -1
  141. package/dist/cjs/state/modules/breakpoints.js +3 -1
  142. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  143. package/dist/cjs/state/modules/builder-edit-mode.js +2 -0
  144. package/dist/cjs/state/modules/builder-edit-mode.js.map +1 -1
  145. package/dist/cjs/state/modules/components-meta.js +2 -0
  146. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  147. package/dist/cjs/state/modules/element-imperative-handles.js +2 -0
  148. package/dist/cjs/state/modules/element-imperative-handles.js.map +1 -1
  149. package/dist/cjs/state/modules/element-trees.js +2 -0
  150. package/dist/cjs/state/modules/element-trees.js.map +1 -1
  151. package/dist/cjs/state/modules/is-in-builder.js +2 -0
  152. package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
  153. package/dist/cjs/state/modules/is-preview.js +3 -0
  154. package/dist/cjs/state/modules/is-preview.js.map +1 -1
  155. package/dist/cjs/state/modules/localized-resources-map.js +2 -0
  156. package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
  157. package/dist/cjs/state/modules/pointer.js +2 -0
  158. package/dist/cjs/state/modules/pointer.js.map +1 -1
  159. package/dist/cjs/state/modules/prop-controller-handles.js +2 -0
  160. package/dist/cjs/state/modules/prop-controller-handles.js.map +1 -1
  161. package/dist/cjs/state/modules/prop-controllers.js +2 -0
  162. package/dist/cjs/state/modules/prop-controllers.js.map +1 -1
  163. package/dist/cjs/state/modules/react-components.js +2 -0
  164. package/dist/cjs/state/modules/react-components.js.map +1 -1
  165. package/dist/cjs/state/modules/read-only-documents.js +2 -0
  166. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  167. package/dist/cjs/state/modules/read-write-documents.js +2 -0
  168. package/dist/cjs/state/modules/read-write-documents.js.map +1 -1
  169. package/dist/cjs/state/react-builder-preview.js +32 -38
  170. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  171. package/dist/cjs/state/react-page.js +15 -19
  172. package/dist/cjs/state/react-page.js.map +1 -1
  173. package/dist/cjs/state/toolkit.js +54 -0
  174. package/dist/cjs/state/toolkit.js.map +1 -0
  175. package/dist/cjs/testing/fixtures.js +38 -0
  176. package/dist/cjs/testing/fixtures.js.map +1 -0
  177. package/dist/cjs/utils/esm-compat.js +29 -0
  178. package/dist/cjs/utils/esm-compat.js.map +1 -0
  179. package/dist/esm/api/react.js +10 -14
  180. package/dist/esm/api/react.js.map +1 -1
  181. package/dist/esm/api/site-version/index.js +75 -0
  182. package/dist/esm/api/site-version/index.js.map +1 -0
  183. package/dist/esm/api-handler/handlers/manifest.js +3 -4
  184. package/dist/esm/api-handler/handlers/manifest.js.map +1 -1
  185. package/dist/esm/api-handler/handlers/redirect-live.js +27 -0
  186. package/dist/esm/api-handler/handlers/redirect-live.js.map +1 -0
  187. package/dist/esm/api-handler/index.js +7 -6
  188. package/dist/esm/api-handler/index.js.map +1 -1
  189. package/dist/esm/api-handler/node-request-response.js +73 -0
  190. package/dist/esm/api-handler/node-request-response.js.map +1 -0
  191. package/dist/esm/api-handler/preview.js +9 -0
  192. package/dist/esm/api-handler/preview.js.map +1 -0
  193. package/dist/esm/api-handler/request-response.js +9 -0
  194. package/dist/esm/api-handler/request-response.js.map +1 -1
  195. package/dist/esm/client/index.js +65 -58
  196. package/dist/esm/client/index.js.map +1 -1
  197. package/dist/esm/components/builtin/Box/animations.js.map +1 -1
  198. package/dist/esm/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -1
  199. package/dist/esm/components/builtin/Image/Image.js +4 -16
  200. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  201. package/dist/esm/components/builtin/Root/Root.js +4 -4
  202. package/dist/esm/components/builtin/Root/Root.js.map +1 -1
  203. package/dist/esm/components/builtin/Slot/Slot.js +1 -1
  204. package/dist/esm/components/builtin/Slot/Slot.js.map +1 -1
  205. package/dist/esm/components/builtin/Video/Video.js +1 -1
  206. package/dist/esm/components/builtin/Video/Video.js.map +1 -1
  207. package/dist/esm/components/hooks/useMediaQuery.js +1 -2
  208. package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
  209. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -1
  210. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  211. package/dist/esm/components/shared/BackgroundsContainer/components/Backgrounds/index.js +4 -14
  212. package/dist/esm/components/shared/BackgroundsContainer/components/Backgrounds/index.js.map +1 -1
  213. package/dist/esm/components/shared/Link/index.js +13 -28
  214. package/dist/esm/components/shared/Link/index.js.map +1 -1
  215. package/dist/esm/components/shared/react-player.js +7 -0
  216. package/dist/esm/components/shared/react-player.js.map +1 -0
  217. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  218. package/dist/esm/css/border-radius.js.map +1 -1
  219. package/dist/esm/css/border.js.map +1 -1
  220. package/dist/esm/css/margin.js.map +1 -1
  221. package/dist/esm/css/padding.js.map +1 -1
  222. package/dist/esm/next/api-handler/config/app-router.js +12 -10
  223. package/dist/esm/next/api-handler/config/app-router.js.map +1 -1
  224. package/dist/esm/next/api-handler/config/pages-router.js +9 -69
  225. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -1
  226. package/dist/esm/next/api-handler/handlers/app-router-redirect-preview.js +64 -0
  227. package/dist/esm/next/api-handler/handlers/app-router-redirect-preview.js.map +1 -0
  228. package/dist/esm/next/api-handler/handlers/pages-router-redirect-preview.js +52 -0
  229. package/dist/esm/next/api-handler/handlers/pages-router-redirect-preview.js.map +1 -0
  230. package/dist/esm/next/api-handler/index.js +4 -3
  231. package/dist/esm/next/api-handler/index.js.map +1 -1
  232. package/dist/esm/next/api-handler/preview.js +15 -0
  233. package/dist/esm/next/api-handler/preview.js.map +1 -0
  234. package/dist/esm/next/app-router-site-version.js +16 -0
  235. package/dist/esm/next/app-router-site-version.js.map +1 -0
  236. package/dist/esm/next/client.js +10 -4
  237. package/dist/esm/next/client.js.map +1 -1
  238. package/dist/esm/next/components/framework-provider/app-router/index.js.map +1 -1
  239. package/dist/esm/next/components/framework-provider/index.js +13 -2
  240. package/dist/esm/next/components/framework-provider/index.js.map +1 -1
  241. package/dist/esm/next/components/framework-provider/link.js +35 -0
  242. package/dist/esm/next/components/framework-provider/link.js.map +1 -0
  243. package/dist/esm/next/components/framework-provider/pages-router/index.js.map +1 -1
  244. package/dist/esm/next/components/page.js +2 -4
  245. package/dist/esm/next/components/page.js.map +1 -1
  246. package/dist/esm/next/components/tests/__fixtures__/element-data/box-component.js +99 -0
  247. package/dist/esm/next/components/tests/__fixtures__/element-data/box-component.js.map +1 -0
  248. package/dist/esm/next/components/tests/__fixtures__/element-data/button-component.js +83 -0
  249. package/dist/esm/next/components/tests/__fixtures__/element-data/button-component.js.map +1 -0
  250. package/dist/esm/next/components/tests/__fixtures__/element-data/image-component.js +169 -0
  251. package/dist/esm/next/components/tests/__fixtures__/element-data/image-component.js.map +1 -0
  252. package/dist/esm/next/components/tests/__fixtures__/resources/files.js +15 -0
  253. package/dist/esm/next/components/tests/__fixtures__/resources/files.js.map +1 -0
  254. package/dist/esm/next/components/tests/__fixtures__/resources/index.js +4 -0
  255. package/dist/esm/next/components/tests/__fixtures__/resources/index.js.map +1 -0
  256. package/dist/esm/next/components/tests/__fixtures__/resources/page-pathname-slices.js +9 -0
  257. package/dist/esm/next/components/tests/__fixtures__/resources/page-pathname-slices.js.map +1 -0
  258. package/dist/esm/next/components/tests/__fixtures__/resources/swatches.js +11 -0
  259. package/dist/esm/next/components/tests/__fixtures__/resources/swatches.js.map +1 -0
  260. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +1 -1
  261. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  262. package/dist/esm/next/document.js +2 -1
  263. package/dist/esm/next/document.js.map +1 -1
  264. package/dist/esm/next/index.js +2 -2
  265. package/dist/esm/next/index.js.map +1 -1
  266. package/dist/esm/next/middleware/request-utils.js +14 -17
  267. package/dist/esm/next/middleware/request-utils.js.map +1 -1
  268. package/dist/esm/next/root-style-registry.js +11 -23
  269. package/dist/esm/next/root-style-registry.js.map +1 -1
  270. package/dist/esm/next/server.js +1 -1
  271. package/dist/esm/next/server.js.map +1 -1
  272. package/dist/esm/next/testing/page-rendering.js +14 -2
  273. package/dist/esm/next/testing/page-rendering.js.map +1 -1
  274. package/dist/esm/next/testing/react-provider.js +2 -2
  275. package/dist/esm/next/testing/react-provider.js.map +1 -1
  276. package/dist/esm/next/tests/test-utils.js +7 -5
  277. package/dist/esm/next/tests/test-utils.js.map +1 -1
  278. package/dist/esm/{next → runtimes/react}/components/MakeswiftComponent.js +6 -4
  279. package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -0
  280. package/dist/esm/runtimes/react/components/RuntimeProvider.js +9 -7
  281. package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
  282. package/dist/esm/{next → runtimes/react}/components/Slot.js +3 -5
  283. package/dist/esm/runtimes/react/components/Slot.js.map +1 -0
  284. package/dist/esm/{next → runtimes/react}/components/SlotProvider.js +1 -2
  285. package/dist/esm/runtimes/react/components/SlotProvider.js.map +1 -0
  286. package/dist/esm/runtimes/react/components/framework-context.js +41 -3
  287. package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
  288. package/dist/esm/runtimes/react/components/page/index.js +19 -17
  289. package/dist/esm/runtimes/react/components/page/index.js.map +1 -1
  290. package/dist/esm/runtimes/react/components/{draft-switcher/draft-switcher.js → preview-switcher/preview-switcher.js} +8 -18
  291. package/dist/esm/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
  292. package/dist/esm/runtimes/react/components/{draft-switcher/draft-toolbar.js → preview-switcher/preview-toolbar.js} +13 -5
  293. package/dist/esm/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
  294. package/dist/esm/runtimes/react/controls/style.js.map +1 -1
  295. package/dist/esm/runtimes/react/hooks/makeswift-api.js +1 -2
  296. package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +1 -1
  297. package/dist/esm/runtimes/react/hooks/use-selector.js +1 -1
  298. package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
  299. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js +1 -1
  300. package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
  301. package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
  302. package/dist/esm/runtimes/react/host-api-client.js +7 -2
  303. package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
  304. package/dist/esm/runtimes/react/root-style-registry.js +37 -13
  305. package/dist/esm/runtimes/react/root-style-registry.js.map +1 -1
  306. package/dist/esm/runtimes/react/use-global-style.js +1 -1
  307. package/dist/esm/runtimes/react/use-global-style.js.map +1 -1
  308. package/dist/esm/runtimes/react/use-style.js +1 -1
  309. package/dist/esm/runtimes/react/use-style.js.map +1 -1
  310. package/dist/esm/state/actions.js +5 -0
  311. package/dist/esm/state/actions.js.map +1 -1
  312. package/dist/esm/state/makeswift-api-client.js +42 -58
  313. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  314. package/dist/esm/state/mixins/setup-teardown.js.map +1 -1
  315. package/dist/esm/state/modules/api-resources.js +3 -1
  316. package/dist/esm/state/modules/api-resources.js.map +1 -1
  317. package/dist/esm/state/modules/box-models.js +3 -1
  318. package/dist/esm/state/modules/box-models.js.map +1 -1
  319. package/dist/esm/state/modules/breakpoints.js +4 -2
  320. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  321. package/dist/esm/state/modules/builder-edit-mode.js +3 -1
  322. package/dist/esm/state/modules/builder-edit-mode.js.map +1 -1
  323. package/dist/esm/state/modules/components-meta.js +3 -1
  324. package/dist/esm/state/modules/components-meta.js.map +1 -1
  325. package/dist/esm/state/modules/element-imperative-handles.js +3 -1
  326. package/dist/esm/state/modules/element-imperative-handles.js.map +1 -1
  327. package/dist/esm/state/modules/element-trees.js +3 -1
  328. package/dist/esm/state/modules/element-trees.js.map +1 -1
  329. package/dist/esm/state/modules/is-in-builder.js +3 -1
  330. package/dist/esm/state/modules/is-in-builder.js.map +1 -1
  331. package/dist/esm/state/modules/is-preview.js +3 -0
  332. package/dist/esm/state/modules/is-preview.js.map +1 -1
  333. package/dist/esm/state/modules/localized-resources-map.js +3 -1
  334. package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
  335. package/dist/esm/state/modules/pointer.js +3 -1
  336. package/dist/esm/state/modules/pointer.js.map +1 -1
  337. package/dist/esm/state/modules/prop-controller-handles.js +3 -1
  338. package/dist/esm/state/modules/prop-controller-handles.js.map +1 -1
  339. package/dist/esm/state/modules/prop-controllers.js +3 -1
  340. package/dist/esm/state/modules/prop-controllers.js.map +1 -1
  341. package/dist/esm/state/modules/react-components.js +3 -1
  342. package/dist/esm/state/modules/react-components.js.map +1 -1
  343. package/dist/esm/state/modules/read-only-documents.js +6 -1
  344. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  345. package/dist/esm/state/modules/read-write-documents.js +3 -1
  346. package/dist/esm/state/modules/read-write-documents.js.map +1 -1
  347. package/dist/esm/state/react-builder-preview.js +33 -40
  348. package/dist/esm/state/react-builder-preview.js.map +1 -1
  349. package/dist/esm/state/react-page.js +16 -21
  350. package/dist/esm/state/react-page.js.map +1 -1
  351. package/dist/esm/state/toolkit.js +28 -0
  352. package/dist/esm/state/toolkit.js.map +1 -0
  353. package/dist/esm/testing/fixtures.js +13 -0
  354. package/dist/esm/testing/fixtures.js.map +1 -0
  355. package/dist/esm/utils/esm-compat.js +5 -0
  356. package/dist/esm/utils/esm-compat.js.map +1 -0
  357. package/dist/types/api/graphql/documents/queries.d.ts +7 -7
  358. package/dist/types/api/graphql/documents/queries.d.ts.map +1 -1
  359. package/dist/types/api/graphql/generated/fragment-document-nodes.d.ts.map +1 -1
  360. package/dist/types/api/react.d.ts +3 -4
  361. package/dist/types/api/react.d.ts.map +1 -1
  362. package/dist/types/api/site-version/index.d.ts +19 -0
  363. package/dist/types/api/site-version/index.d.ts.map +1 -0
  364. package/dist/types/api/site-version/site-version.test.d.ts +2 -0
  365. package/dist/types/api/site-version/site-version.test.d.ts.map +1 -0
  366. package/dist/types/api-handler/handlers/manifest.d.ts +1 -3
  367. package/dist/types/api-handler/handlers/manifest.d.ts.map +1 -1
  368. package/dist/types/api-handler/handlers/redirect-live.d.ts +6 -0
  369. package/dist/types/api-handler/handlers/redirect-live.d.ts.map +1 -0
  370. package/dist/types/api-handler/index.d.ts +5 -5
  371. package/dist/types/api-handler/index.d.ts.map +1 -1
  372. package/dist/types/api-handler/node-request-response.d.ts +8 -0
  373. package/dist/types/api-handler/node-request-response.d.ts.map +1 -0
  374. package/dist/types/api-handler/node-request-response.test.d.ts +2 -0
  375. package/dist/types/api-handler/node-request-response.test.d.ts.map +1 -0
  376. package/dist/types/api-handler/preview.d.ts +5 -0
  377. package/dist/types/api-handler/preview.d.ts.map +1 -0
  378. package/dist/types/api-handler/request-response.d.ts +1 -0
  379. package/dist/types/api-handler/request-response.d.ts.map +1 -1
  380. package/dist/types/client/index.d.ts +174 -165
  381. package/dist/types/client/index.d.ts.map +1 -1
  382. package/dist/types/components/builtin/Box/Box.d.ts +15 -147
  383. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  384. package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts +0 -1
  385. package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -1
  386. package/dist/types/components/builtin/Button/Button.d.ts +4 -70
  387. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  388. package/dist/types/components/builtin/Carousel/Carousel.d.ts +0 -1
  389. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  390. package/dist/types/components/builtin/Countdown/Countdown.d.ts +0 -1
  391. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  392. package/dist/types/components/builtin/Divider/Divider.d.ts +0 -1
  393. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  394. package/dist/types/components/builtin/Embed/Embed.d.ts +0 -1
  395. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  396. package/dist/types/components/builtin/Form/Form.d.ts +0 -1
  397. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  398. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  399. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
  400. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +0 -1
  401. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -1
  402. package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +0 -1
  403. package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -1
  404. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts +0 -1
  405. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
  406. package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +0 -1
  407. package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -1
  408. package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +0 -1
  409. package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -1
  410. package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +0 -1
  411. package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -1
  412. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +0 -1
  413. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
  414. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +1 -1
  415. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
  416. package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +0 -1
  417. package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -1
  418. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +0 -1
  419. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
  420. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts +0 -1
  421. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
  422. package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +0 -1
  423. package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -1
  424. package/dist/types/components/builtin/Form/components/Field/index.d.ts +0 -1
  425. package/dist/types/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  426. package/dist/types/components/builtin/Form/components/Field/services/responsiveField.d.ts +1 -1
  427. package/dist/types/components/builtin/Form/components/Field/services/responsiveField.d.ts.map +1 -1
  428. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts +0 -1
  429. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
  430. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts +0 -1
  431. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
  432. package/dist/types/components/builtin/Form/context/FormContext.d.ts +0 -1
  433. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  434. package/dist/types/components/builtin/Image/Image.d.ts +0 -1
  435. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  436. package/dist/types/components/builtin/Navigation/Navigation.d.ts +0 -1
  437. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  438. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +0 -1
  439. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  440. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +0 -1
  441. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  442. package/dist/types/components/builtin/Root/Root.d.ts +1 -2
  443. package/dist/types/components/builtin/Root/Root.d.ts.map +1 -1
  444. package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts +0 -1
  445. package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -1
  446. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +0 -1
  447. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  448. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +0 -1
  449. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  450. package/dist/types/components/builtin/Text/Text.d.ts +0 -1
  451. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
  452. package/dist/types/components/builtin/Video/Video.d.ts +0 -1
  453. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  454. package/dist/types/components/hooks/useMediaQuery.d.ts.map +1 -1
  455. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +0 -1
  456. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  457. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +0 -1
  458. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  459. package/dist/types/components/shared/ErrorBoundary.d.ts +0 -1
  460. package/dist/types/components/shared/ErrorBoundary.d.ts.map +1 -1
  461. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts +0 -1
  462. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
  463. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  464. package/dist/types/components/shared/react-player.d.ts +3 -0
  465. package/dist/types/components/shared/react-player.d.ts.map +1 -0
  466. package/dist/types/components/utils/columns.d.ts.map +1 -1
  467. package/dist/types/components/utils/responsive-style.d.ts +1 -1
  468. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  469. package/dist/types/controls/control.d.ts +1 -25
  470. package/dist/types/controls/control.d.ts.map +1 -1
  471. package/dist/types/controls/link.d.ts +3 -3
  472. package/dist/types/controls/link.d.ts.map +1 -1
  473. package/dist/types/controls/rich-text/control.d.ts.map +1 -1
  474. package/dist/types/controls/rich-text-v2/control.d.ts +13 -13
  475. package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -1
  476. package/dist/types/controls/rich-text-v2/plugin.d.ts +2 -2
  477. package/dist/types/controls/rich-text-v2/plugin.d.ts.map +1 -1
  478. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +556 -12
  479. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  480. package/dist/types/css/border-radius.d.ts +1 -1
  481. package/dist/types/css/border-radius.d.ts.map +1 -1
  482. package/dist/types/css/border.d.ts +1 -1
  483. package/dist/types/css/border.d.ts.map +1 -1
  484. package/dist/types/css/margin.d.ts +1 -1
  485. package/dist/types/css/margin.d.ts.map +1 -1
  486. package/dist/types/css/padding.d.ts +1 -1
  487. package/dist/types/css/padding.d.ts.map +1 -1
  488. package/dist/types/next/api-handler/config/app-router.d.ts +10 -8
  489. package/dist/types/next/api-handler/config/app-router.d.ts.map +1 -1
  490. package/dist/types/next/api-handler/config/pages-router.d.ts +3 -2
  491. package/dist/types/next/api-handler/config/pages-router.d.ts.map +1 -1
  492. package/dist/types/next/api-handler/handlers/app-router-redirect-preview.d.ts +5 -0
  493. package/dist/types/next/api-handler/handlers/app-router-redirect-preview.d.ts.map +1 -0
  494. package/dist/types/next/api-handler/handlers/app-router-redirect-preview.test.d.ts +2 -0
  495. package/dist/types/next/api-handler/handlers/app-router-redirect-preview.test.d.ts.map +1 -0
  496. package/dist/types/next/api-handler/handlers/pages-router-redirect-preview.d.ts +4 -0
  497. package/dist/types/next/api-handler/handlers/pages-router-redirect-preview.d.ts.map +1 -0
  498. package/dist/types/next/api-handler/index.d.ts +1 -1
  499. package/dist/types/next/api-handler/index.d.ts.map +1 -1
  500. package/dist/types/next/api-handler/preview.d.ts +8 -0
  501. package/dist/types/next/api-handler/preview.d.ts.map +1 -0
  502. package/dist/types/next/app-router-site-version.d.ts +3 -0
  503. package/dist/types/next/app-router-site-version.d.ts.map +1 -0
  504. package/dist/types/next/client.d.ts +3 -3
  505. package/dist/types/next/client.d.ts.map +1 -1
  506. package/dist/types/next/components/framework-provider/app-router/index.d.ts +1 -1
  507. package/dist/types/next/components/framework-provider/app-router/index.d.ts.map +1 -1
  508. package/dist/types/next/components/framework-provider/index.d.ts.map +1 -1
  509. package/dist/types/next/components/framework-provider/link.d.ts +2 -0
  510. package/dist/types/next/components/framework-provider/link.d.ts.map +1 -0
  511. package/dist/types/next/components/framework-provider/pages-router/index.d.ts +1 -1
  512. package/dist/types/next/components/framework-provider/pages-router/index.d.ts.map +1 -1
  513. package/dist/types/next/components/page.d.ts +2 -7
  514. package/dist/types/next/components/page.d.ts.map +1 -1
  515. package/dist/types/next/components/tests/__fixtures__/element-data/box-component.d.ts +8 -0
  516. package/dist/types/next/components/tests/__fixtures__/element-data/box-component.d.ts.map +1 -0
  517. package/dist/types/next/components/tests/__fixtures__/element-data/button-component.d.ts +9 -0
  518. package/dist/types/next/components/tests/__fixtures__/element-data/button-component.d.ts.map +1 -0
  519. package/dist/types/next/components/tests/__fixtures__/element-data/image-component.d.ts +7 -0
  520. package/dist/types/next/components/tests/__fixtures__/element-data/image-component.d.ts.map +1 -0
  521. package/dist/types/next/components/tests/__fixtures__/resources/files.d.ts +3 -0
  522. package/dist/types/next/components/tests/__fixtures__/resources/files.d.ts.map +1 -0
  523. package/dist/types/next/components/tests/__fixtures__/resources/index.d.ts +4 -0
  524. package/dist/types/next/components/tests/__fixtures__/resources/index.d.ts.map +1 -0
  525. package/dist/types/next/components/tests/__fixtures__/resources/page-pathname-slices.d.ts +3 -0
  526. package/dist/types/next/components/tests/__fixtures__/resources/page-pathname-slices.d.ts.map +1 -0
  527. package/dist/types/next/components/tests/__fixtures__/resources/swatches.d.ts +3 -0
  528. package/dist/types/next/components/tests/__fixtures__/resources/swatches.d.ts.map +1 -0
  529. package/dist/types/next/components/tests/components/box-component-rendering.test.d.ts +3 -0
  530. package/dist/types/next/components/tests/components/box-component-rendering.test.d.ts.map +1 -0
  531. package/dist/types/next/components/tests/components/button-component-rendering.test.d.ts +3 -0
  532. package/dist/types/next/components/tests/components/button-component-rendering.test.d.ts.map +1 -0
  533. package/dist/types/next/components/tests/components/image-component-rendering.test.d.ts +3 -0
  534. package/dist/types/next/components/tests/components/image-component-rendering.test.d.ts.map +1 -0
  535. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -1
  536. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -1
  537. package/dist/types/next/components/tests/controls/style-control/fixtures.d.ts.map +1 -1
  538. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +3 -16
  539. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  540. package/dist/types/next/document.d.ts.map +1 -1
  541. package/dist/types/next/index.d.ts +3 -3
  542. package/dist/types/next/index.d.ts.map +1 -1
  543. package/dist/types/next/middleware/request-utils.d.ts +1 -0
  544. package/dist/types/next/middleware/request-utils.d.ts.map +1 -1
  545. package/dist/types/next/root-style-registry.d.ts +3 -12
  546. package/dist/types/next/root-style-registry.d.ts.map +1 -1
  547. package/dist/types/next/server.d.ts +1 -1
  548. package/dist/types/next/server.d.ts.map +1 -1
  549. package/dist/types/next/testing/element-data.d.ts +13 -13
  550. package/dist/types/next/testing/page-rendering.d.ts +3 -0
  551. package/dist/types/next/testing/page-rendering.d.ts.map +1 -1
  552. package/dist/types/next/testing/react-provider.d.ts +3 -3
  553. package/dist/types/next/testing/react-provider.d.ts.map +1 -1
  554. package/dist/types/next/tests/server.api-handler-app-router-redirect-preview.test.d.ts +2 -0
  555. package/dist/types/next/tests/server.api-handler-app-router-redirect-preview.test.d.ts.map +1 -0
  556. package/dist/types/next/tests/server.api-handler-pages-router-redirect-preview.test.d.ts +2 -0
  557. package/dist/types/next/tests/server.api-handler-pages-router-redirect-preview.test.d.ts.map +1 -0
  558. package/dist/types/next/tests/server.api-handler-redirect-live.test.d.ts +2 -0
  559. package/dist/types/next/tests/server.api-handler-redirect-live.test.d.ts.map +1 -0
  560. package/dist/types/next/tests/test-utils.d.ts.map +1 -1
  561. package/dist/types/runtimes/react/components/Document.d.ts +0 -1
  562. package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
  563. package/dist/types/runtimes/react/components/DocumentRoot.d.ts +0 -1
  564. package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -1
  565. package/dist/types/runtimes/react/components/Element.d.ts +0 -1
  566. package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
  567. package/dist/types/runtimes/react/components/ElementData.d.ts +0 -1
  568. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  569. package/dist/types/runtimes/react/components/ElementReference.d.ts +0 -1
  570. package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
  571. package/dist/types/{next → runtimes/react}/components/MakeswiftComponent.d.ts +1 -2
  572. package/dist/types/runtimes/react/components/MakeswiftComponent.d.ts.map +1 -0
  573. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +3 -2
  574. package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
  575. package/dist/types/{next → runtimes/react}/components/Slot.d.ts +2 -2
  576. package/dist/types/runtimes/react/components/Slot.d.ts.map +1 -0
  577. package/dist/types/{next → runtimes/react}/components/SlotProvider.d.ts +1 -2
  578. package/dist/types/runtimes/react/components/SlotProvider.d.ts.map +1 -0
  579. package/dist/types/runtimes/react/components/framework-context.d.ts +25 -1
  580. package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
  581. package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts +0 -1
  582. package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts.map +1 -1
  583. package/dist/types/runtimes/react/components/page/Page.d.ts +0 -1
  584. package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -1
  585. package/dist/types/runtimes/react/components/page/PageHead.d.ts +0 -1
  586. package/dist/types/runtimes/react/components/page/PageHead.d.ts.map +1 -1
  587. package/dist/types/runtimes/react/components/page/index.d.ts +23 -3
  588. package/dist/types/runtimes/react/components/page/index.d.ts.map +1 -1
  589. package/dist/types/runtimes/react/components/preview-switcher/preview-switcher.d.ts +4 -0
  590. package/dist/types/runtimes/react/components/preview-switcher/preview-switcher.d.ts.map +1 -0
  591. package/dist/types/runtimes/react/components/preview-switcher/preview-toolbar.d.ts +2 -0
  592. package/dist/types/runtimes/react/components/preview-switcher/preview-toolbar.d.ts.map +1 -0
  593. package/dist/types/runtimes/react/components/render-hook.d.ts +0 -1
  594. package/dist/types/runtimes/react/components/render-hook.d.ts.map +1 -1
  595. package/dist/types/runtimes/react/controls/control.d.ts +0 -1
  596. package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
  597. package/dist/types/runtimes/react/controls/group.d.ts +0 -1
  598. package/dist/types/runtimes/react/controls/group.d.ts.map +1 -1
  599. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +0 -1
  600. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  601. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts +0 -1
  602. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
  603. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +0 -1
  604. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  605. package/dist/types/runtimes/react/controls/style.d.ts +1 -1
  606. package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
  607. package/dist/types/runtimes/react/controls.d.ts +0 -1
  608. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  609. package/dist/types/runtimes/react/hooks/makeswift-api.d.ts.map +1 -1
  610. package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts +0 -1
  611. package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts.map +1 -1
  612. package/dist/types/runtimes/react/hooks/use-document-context.d.ts +0 -1
  613. package/dist/types/runtimes/react/hooks/use-document-context.d.ts.map +1 -1
  614. package/dist/types/runtimes/react/hooks/use-document-cycles.d.ts +0 -1
  615. package/dist/types/runtimes/react/hooks/use-document-cycles.d.ts.map +1 -1
  616. package/dist/types/runtimes/react/hooks/use-react-runtime.d.ts +0 -1
  617. package/dist/types/runtimes/react/hooks/use-react-runtime.d.ts.map +1 -1
  618. package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
  619. package/dist/types/runtimes/react/hooks/use-store.d.ts +25 -2
  620. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  621. package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts.map +1 -1
  622. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts +1 -1
  623. package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts.map +1 -1
  624. package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
  625. package/dist/types/runtimes/react/legacy-controls.d.ts +0 -1
  626. package/dist/types/runtimes/react/legacy-controls.d.ts.map +1 -1
  627. package/dist/types/runtimes/react/root-style-registry.d.ts +30 -10
  628. package/dist/types/runtimes/react/root-style-registry.d.ts.map +1 -1
  629. package/dist/types/runtimes/react/use-global-style.d.ts.map +1 -1
  630. package/dist/types/runtimes/react/use-style.d.ts +1 -1
  631. package/dist/types/runtimes/react/use-style.d.ts.map +1 -1
  632. package/dist/types/slate/BlockPlugin/index.d.ts +5 -5
  633. package/dist/types/slate/BlockPlugin/utils/location.d.ts.map +1 -1
  634. package/dist/types/slate/InlineModePlugin/index.d.ts +41 -41
  635. package/dist/types/slate/InlinePlugin/getValue.d.ts.map +1 -1
  636. package/dist/types/slate/InlinePlugin/index.d.ts +5 -6
  637. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  638. package/dist/types/slate/InlinePlugin/onChange.d.ts.map +1 -1
  639. package/dist/types/slate/LinkPlugin/getValue.d.ts +1 -1
  640. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  641. package/dist/types/slate/LinkPlugin/index.d.ts +3 -4
  642. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  643. package/dist/types/slate/LinkPlugin/onChange.d.ts.map +1 -1
  644. package/dist/types/slate/TextAlignPlugin/index.d.ts +5 -6
  645. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  646. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  647. package/dist/types/slate/TypographyPlugin/index.d.ts +2 -3
  648. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  649. package/dist/types/slate/test-helpers/editor-v1.d.ts +0 -1
  650. package/dist/types/slate/test-helpers/editor-v1.d.ts.map +1 -1
  651. package/dist/types/slate/test-helpers/editor-v2-inline.d.ts +0 -1
  652. package/dist/types/slate/test-helpers/editor-v2-inline.d.ts.map +1 -1
  653. package/dist/types/slate/test-helpers/editor-v2.d.ts +0 -1
  654. package/dist/types/slate/test-helpers/editor-v2.d.ts.map +1 -1
  655. package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
  656. package/dist/types/slate/test-helpers/slate-test-helper.d.ts.map +1 -1
  657. package/dist/types/slate/test-helpers/test-elements.d.ts +8 -64
  658. package/dist/types/slate/test-helpers/test-elements.d.ts.map +1 -1
  659. package/dist/types/slate/utils/editor.d.ts.map +1 -1
  660. package/dist/types/slate/utils/element.d.ts.map +1 -1
  661. package/dist/types/slate/utils/location.d.ts.map +1 -1
  662. package/dist/types/slate/utils/responsive.d.ts.map +1 -1
  663. package/dist/types/state/__tests__/actions.test.d.ts +2 -0
  664. package/dist/types/state/__tests__/actions.test.d.ts.map +1 -0
  665. package/dist/types/state/actions.d.ts +3 -2
  666. package/dist/types/state/actions.d.ts.map +1 -1
  667. package/dist/types/state/makeswift-api-client.d.ts +19 -11
  668. package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
  669. package/dist/types/state/mixins/setup-teardown.d.ts +1 -1
  670. package/dist/types/state/mixins/setup-teardown.d.ts.map +1 -1
  671. package/dist/types/state/modules/api-resources.d.ts +2 -2
  672. package/dist/types/state/modules/api-resources.d.ts.map +1 -1
  673. package/dist/types/state/modules/box-models.d.ts +2 -2
  674. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  675. package/dist/types/state/modules/breakpoints.d.ts +2 -2
  676. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  677. package/dist/types/state/modules/builder-edit-mode.d.ts +2 -2
  678. package/dist/types/state/modules/builder-edit-mode.d.ts.map +1 -1
  679. package/dist/types/state/modules/components-meta.d.ts +2 -2
  680. package/dist/types/state/modules/components-meta.d.ts.map +1 -1
  681. package/dist/types/state/modules/element-imperative-handles.d.ts +2 -2
  682. package/dist/types/state/modules/element-imperative-handles.d.ts.map +1 -1
  683. package/dist/types/state/modules/element-trees.d.ts +2 -2
  684. package/dist/types/state/modules/element-trees.d.ts.map +1 -1
  685. package/dist/types/state/modules/is-in-builder.d.ts +2 -2
  686. package/dist/types/state/modules/is-in-builder.d.ts.map +1 -1
  687. package/dist/types/state/modules/is-preview.d.ts +2 -2
  688. package/dist/types/state/modules/is-preview.d.ts.map +1 -1
  689. package/dist/types/state/modules/localized-resources-map.d.ts +2 -2
  690. package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -1
  691. package/dist/types/state/modules/pointer.d.ts +2 -2
  692. package/dist/types/state/modules/pointer.d.ts.map +1 -1
  693. package/dist/types/state/modules/prop-controller-handles.d.ts +2 -2
  694. package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
  695. package/dist/types/state/modules/prop-controllers.d.ts +2 -2
  696. package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
  697. package/dist/types/state/modules/react-components.d.ts +2 -2
  698. package/dist/types/state/modules/react-components.d.ts.map +1 -1
  699. package/dist/types/state/modules/read-only-documents.d.ts +2 -2
  700. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  701. package/dist/types/state/modules/read-write-documents.d.ts +2 -2
  702. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -1
  703. package/dist/types/state/react-builder-preview.d.ts +57 -10
  704. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  705. package/dist/types/state/react-page.d.ts +67 -36
  706. package/dist/types/state/react-page.d.ts.map +1 -1
  707. package/dist/types/state/toolkit.d.ts +11 -0
  708. package/dist/types/state/toolkit.d.ts.map +1 -0
  709. package/dist/types/testing/fixtures.d.ts +7 -0
  710. package/dist/types/testing/fixtures.d.ts.map +1 -0
  711. package/dist/types/utils/clamp.d.ts.map +1 -1
  712. package/dist/types/utils/esm-compat.d.ts +2 -0
  713. package/dist/types/utils/esm-compat.d.ts.map +1 -0
  714. package/dist/types/utils/keys.d.ts.map +1 -1
  715. package/package.json +14 -15
  716. package/dist/cjs/api/site-version.js +0 -42
  717. package/dist/cjs/api/site-version.js.map +0 -1
  718. package/dist/cjs/api-handler/handlers/clear-draft.js.map +0 -1
  719. package/dist/cjs/next/api-handler/draft.js.map +0 -1
  720. package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +0 -1
  721. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +0 -1
  722. package/dist/cjs/next/components/MakeswiftComponent.js.map +0 -1
  723. package/dist/cjs/next/components/Slot.js.map +0 -1
  724. package/dist/cjs/next/components/SlotProvider.js.map +0 -1
  725. package/dist/cjs/next/draft-mode/index.js +0 -56
  726. package/dist/cjs/next/draft-mode/index.js.map +0 -1
  727. package/dist/cjs/next/preview-mode.js.map +0 -1
  728. package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +0 -1
  729. package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +0 -1
  730. package/dist/esm/api/site-version.js +0 -15
  731. package/dist/esm/api/site-version.js.map +0 -1
  732. package/dist/esm/api-handler/handlers/clear-draft.js +0 -17
  733. package/dist/esm/api-handler/handlers/clear-draft.js.map +0 -1
  734. package/dist/esm/next/api-handler/draft.js +0 -14
  735. package/dist/esm/next/api-handler/draft.js.map +0 -1
  736. package/dist/esm/next/api-handler/handlers/redirect-draft.js +0 -52
  737. package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +0 -1
  738. package/dist/esm/next/api-handler/handlers/redirect-preview.js +0 -37
  739. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +0 -1
  740. package/dist/esm/next/components/MakeswiftComponent.js.map +0 -1
  741. package/dist/esm/next/components/Slot.js.map +0 -1
  742. package/dist/esm/next/components/SlotProvider.js.map +0 -1
  743. package/dist/esm/next/draft-mode/index.js +0 -30
  744. package/dist/esm/next/draft-mode/index.js.map +0 -1
  745. package/dist/esm/next/preview-mode.js +0 -16
  746. package/dist/esm/next/preview-mode.js.map +0 -1
  747. package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +0 -1
  748. package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +0 -1
  749. package/dist/types/api/site-version.d.ts +0 -7
  750. package/dist/types/api/site-version.d.ts.map +0 -1
  751. package/dist/types/api-handler/handlers/clear-draft.d.ts +0 -7
  752. package/dist/types/api-handler/handlers/clear-draft.d.ts.map +0 -1
  753. package/dist/types/next/api-handler/draft.d.ts +0 -8
  754. package/dist/types/next/api-handler/draft.d.ts.map +0 -1
  755. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +0 -6
  756. package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +0 -1
  757. package/dist/types/next/api-handler/handlers/redirect-draft.test.d.ts +0 -2
  758. package/dist/types/next/api-handler/handlers/redirect-draft.test.d.ts.map +0 -1
  759. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +0 -5
  760. package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +0 -1
  761. package/dist/types/next/components/MakeswiftComponent.d.ts.map +0 -1
  762. package/dist/types/next/components/Slot.d.ts.map +0 -1
  763. package/dist/types/next/components/SlotProvider.d.ts.map +0 -1
  764. package/dist/types/next/draft-mode/index.d.ts +0 -15
  765. package/dist/types/next/draft-mode/index.d.ts.map +0 -1
  766. package/dist/types/next/preview-mode.d.ts +0 -17
  767. package/dist/types/next/preview-mode.d.ts.map +0 -1
  768. package/dist/types/next/tests/server.api-handler-clear-draft.test.d.ts +0 -2
  769. package/dist/types/next/tests/server.api-handler-clear-draft.test.d.ts.map +0 -1
  770. package/dist/types/next/tests/server.api-handler-redirect-draft.test.d.ts +0 -2
  771. package/dist/types/next/tests/server.api-handler-redirect-draft.test.d.ts.map +0 -1
  772. package/dist/types/next/tests/server.api-handler-redirect-preview.test.d.ts +0 -2
  773. package/dist/types/next/tests/server.api-handler-redirect-preview.test.d.ts.map +0 -1
  774. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +0 -4
  775. package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +0 -1
  776. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +0 -6
  777. package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\n\nimport type { ResponsiveValueType as ExtractResponsiveValue } from '@makeswift/controls'\n\nimport type {\n LengthData,\n ResponsiveBorderRadiusData,\n ResponsiveMarginData,\n ResponsivePaddingData,\n ResponsiveValue,\n ResponsiveLengthData,\n ResponsiveTextStyleData,\n} from '@makeswift/prop-controllers'\n\nimport {\n type Breakpoints,\n type FallbackStrategy,\n join as joinResponsiveValues,\n getBreakpoint,\n getBreakpointMediaQuery,\n} from '@makeswift/controls'\n\nimport { useBreakpoints } from '../../runtimes/react/hooks/use-breakpoints'\n\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadow, ResponsiveBoxShadow } from '../hooks'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: ResponsiveLengthData | undefined,\n defaultValue: LengthData | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: ResponsivePaddingData | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: ResponsiveMarginData | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: ResponsiveBorderRadiusData | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadow) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: ResponsiveBoxShadow | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: ResponsiveTextStyleData | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":["joinResponsiveValues"]}
1
+ {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { type CSSObject } from '@emotion/serialize'\n\nimport type { ResponsiveValueType as ExtractResponsiveValue } from '@makeswift/controls'\n\nimport type {\n LengthData,\n ResponsiveBorderRadiusData,\n ResponsiveMarginData,\n ResponsivePaddingData,\n ResponsiveValue,\n ResponsiveLengthData,\n ResponsiveTextStyleData,\n} from '@makeswift/prop-controllers'\n\nimport {\n type Breakpoints,\n type FallbackStrategy,\n join as joinResponsiveValues,\n getBreakpoint,\n getBreakpointMediaQuery,\n} from '@makeswift/controls'\n\nimport { useBreakpoints } from '../../runtimes/react/hooks/use-breakpoints'\n\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadow, ResponsiveBoxShadow } from '../hooks'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: ResponsiveLengthData | undefined,\n defaultValue: LengthData | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: ResponsivePaddingData | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: ResponsiveMarginData | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: ResponsiveBorderRadiusData | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadow) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: ResponsiveBoxShadow | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: ResponsiveTextStyleData | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":["joinResponsiveValues"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/border-radius.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderTopLeftRadiusProperty,\n BorderTopRightRadiusProperty,\n BorderBottomRightRadiusProperty,\n BorderBottomLeftRadiusProperty,\n} from 'csstype'\nimport { LengthPercentageData, lengthPercentageDataToString } from './length-percentage'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius#constituent_properties */\nexport type BorderRadiusLonghandPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderRadiusPropertyData = {\n borderTopLeftRadius?:\n | LengthPercentageData\n | BorderTopLeftRadiusProperty<string | number>\n | null\n | undefined\n borderTopRightRadius?:\n | LengthPercentageData\n | BorderTopRightRadiusProperty<string | number>\n | null\n | undefined\n borderBottomRightRadius?:\n | LengthPercentageData\n | BorderBottomRightRadiusProperty<string | number>\n | null\n | undefined\n borderBottomLeftRadius?:\n | LengthPercentageData\n | BorderBottomLeftRadiusProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderRadiusPropertyDataToStyle(\n data: BorderRadiusPropertyData,\n defaultValue: BorderRadiusPropertyData = {},\n): CSSObject {\n const borderTopLeftRadius = data.borderTopLeftRadius ?? defaultValue.borderTopLeftRadius\n const borderTopRightRadius = data.borderTopRightRadius ?? defaultValue.borderTopRightRadius\n const borderBottomRightRadius =\n data.borderBottomRightRadius ?? defaultValue.borderBottomRightRadius\n const borderBottomLeftRadius = data.borderBottomLeftRadius ?? defaultValue.borderBottomLeftRadius\n const style: CSSObject = {}\n\n if (borderTopLeftRadius != null) {\n style.borderTopLeftRadius = lengthPercentageDataToString(borderTopLeftRadius)\n }\n\n if (borderTopRightRadius != null) {\n style.borderTopRightRadius = lengthPercentageDataToString(borderTopRightRadius)\n }\n\n if (borderBottomRightRadius != null) {\n style.borderBottomRightRadius = lengthPercentageDataToString(borderBottomRightRadius)\n }\n\n if (borderBottomLeftRadius != null) {\n style.borderBottomLeftRadius = lengthPercentageDataToString(borderBottomLeftRadius)\n }\n\n return style\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAmE;AAmC5D,SAAS,gCACd,MACA,eAAyC,CAAC,GAC/B;AACX,QAAM,sBAAsB,KAAK,uBAAuB,aAAa;AACrE,QAAM,uBAAuB,KAAK,wBAAwB,aAAa;AACvE,QAAM,0BACJ,KAAK,2BAA2B,aAAa;AAC/C,QAAM,yBAAyB,KAAK,0BAA0B,aAAa;AAC3E,QAAM,QAAmB,CAAC;AAE1B,MAAI,uBAAuB,MAAM;AAC/B,UAAM,0BAAsB,uDAA6B,mBAAmB;AAAA,EAC9E;AAEA,MAAI,wBAAwB,MAAM;AAChC,UAAM,2BAAuB,uDAA6B,oBAAoB;AAAA,EAChF;AAEA,MAAI,2BAA2B,MAAM;AACnC,UAAM,8BAA0B,uDAA6B,uBAAuB;AAAA,EACtF;AAEA,MAAI,0BAA0B,MAAM;AAClC,UAAM,6BAAyB,uDAA6B,sBAAsB;AAAA,EACpF;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/border-radius.ts"],"sourcesContent":["import { type CSSObject } from '@emotion/serialize'\nimport {\n BorderTopLeftRadiusProperty,\n BorderTopRightRadiusProperty,\n BorderBottomRightRadiusProperty,\n BorderBottomLeftRadiusProperty,\n} from 'csstype'\nimport { LengthPercentageData, lengthPercentageDataToString } from './length-percentage'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius#constituent_properties */\nexport type BorderRadiusLonghandPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderRadiusPropertyData = {\n borderTopLeftRadius?:\n | LengthPercentageData\n | BorderTopLeftRadiusProperty<string | number>\n | null\n | undefined\n borderTopRightRadius?:\n | LengthPercentageData\n | BorderTopRightRadiusProperty<string | number>\n | null\n | undefined\n borderBottomRightRadius?:\n | LengthPercentageData\n | BorderBottomRightRadiusProperty<string | number>\n | null\n | undefined\n borderBottomLeftRadius?:\n | LengthPercentageData\n | BorderBottomLeftRadiusProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderRadiusPropertyDataToStyle(\n data: BorderRadiusPropertyData,\n defaultValue: BorderRadiusPropertyData = {},\n): CSSObject {\n const borderTopLeftRadius = data.borderTopLeftRadius ?? defaultValue.borderTopLeftRadius\n const borderTopRightRadius = data.borderTopRightRadius ?? defaultValue.borderTopRightRadius\n const borderBottomRightRadius =\n data.borderBottomRightRadius ?? defaultValue.borderBottomRightRadius\n const borderBottomLeftRadius = data.borderBottomLeftRadius ?? defaultValue.borderBottomLeftRadius\n const style: CSSObject = {}\n\n if (borderTopLeftRadius != null) {\n style.borderTopLeftRadius = lengthPercentageDataToString(borderTopLeftRadius)\n }\n\n if (borderTopRightRadius != null) {\n style.borderTopRightRadius = lengthPercentageDataToString(borderTopRightRadius)\n }\n\n if (borderBottomRightRadius != null) {\n style.borderBottomRightRadius = lengthPercentageDataToString(borderBottomRightRadius)\n }\n\n if (borderBottomLeftRadius != null) {\n style.borderBottomLeftRadius = lengthPercentageDataToString(borderBottomLeftRadius)\n }\n\n return style\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAmE;AAmC5D,SAAS,gCACd,MACA,eAAyC,CAAC,GAC/B;AACX,QAAM,sBAAsB,KAAK,uBAAuB,aAAa;AACrE,QAAM,uBAAuB,KAAK,wBAAwB,aAAa;AACvE,QAAM,0BACJ,KAAK,2BAA2B,aAAa;AAC/C,QAAM,yBAAyB,KAAK,0BAA0B,aAAa;AAC3E,QAAM,QAAmB,CAAC;AAE1B,MAAI,uBAAuB,MAAM;AAC/B,UAAM,0BAAsB,uDAA6B,mBAAmB;AAAA,EAC9E;AAEA,MAAI,wBAAwB,MAAM;AAChC,UAAM,2BAAuB,uDAA6B,oBAAoB;AAAA,EAChF;AAEA,MAAI,2BAA2B,MAAM;AACnC,UAAM,8BAA0B,uDAA6B,uBAAuB;AAAA,EACtF;AAEA,MAAI,0BAA0B,MAAM;AAClC,UAAM,6BAAyB,uDAA6B,sBAAsB;AAAA,EACpF;AAEA,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width?: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA8B;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,WAAO,oCAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { type CSSObject } from '@emotion/serialize'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width?: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA8B;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,WAAO,oCAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/margin.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n MarginBottomProperty,\n MarginLeftProperty,\n MarginRightProperty,\n MarginTopProperty,\n} from 'csstype'\nimport { LengthData, lengthDataToString } from './length'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/margin#constituent_properties */\nexport type MarginLonghandPropertyData = LengthData | 'auto'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type MarginPropertyData = {\n marginTop: MarginLonghandPropertyData | MarginTopProperty<string | number> | null | undefined\n marginRight: MarginLonghandPropertyData | MarginRightProperty<string | number> | null | undefined\n marginBottom:\n | MarginLonghandPropertyData\n | MarginBottomProperty<string | number>\n | null\n | undefined\n marginLeft: MarginLonghandPropertyData | MarginLeftProperty<string | number> | null | undefined\n}\n\nexport function marginPropertyDataToStyle(\n data: MarginPropertyData,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n const marginTop = data.marginTop ?? defaultValue.marginTop\n const marginRight = data.marginRight ?? defaultValue.marginRight\n const marginBottom = data.marginBottom ?? defaultValue.marginBottom\n const marginLeft = data.marginLeft ?? defaultValue.marginLeft\n const style: CSSObject = {}\n\n if (marginTop != null) style.marginTop = lengthDataToString(marginTop)\n if (marginRight != null) style.marginRight = lengthDataToString(marginRight)\n if (marginBottom != null) style.marginBottom = lengthDataToString(marginBottom)\n if (marginLeft != null) style.marginLeft = lengthDataToString(marginLeft)\n\n return style\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,oBAA+C;AAuBxC,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,gBAAY,kCAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,kBAAc,kCAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,mBAAe,kCAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,iBAAa,kCAAmB,UAAU;AAExE,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/margin.ts"],"sourcesContent":["import { type CSSObject } from '@emotion/serialize'\nimport {\n MarginBottomProperty,\n MarginLeftProperty,\n MarginRightProperty,\n MarginTopProperty,\n} from 'csstype'\nimport { LengthData, lengthDataToString } from './length'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/margin#constituent_properties */\nexport type MarginLonghandPropertyData = LengthData | 'auto'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type MarginPropertyData = {\n marginTop: MarginLonghandPropertyData | MarginTopProperty<string | number> | null | undefined\n marginRight: MarginLonghandPropertyData | MarginRightProperty<string | number> | null | undefined\n marginBottom:\n | MarginLonghandPropertyData\n | MarginBottomProperty<string | number>\n | null\n | undefined\n marginLeft: MarginLonghandPropertyData | MarginLeftProperty<string | number> | null | undefined\n}\n\nexport function marginPropertyDataToStyle(\n data: MarginPropertyData,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n const marginTop = data.marginTop ?? defaultValue.marginTop\n const marginRight = data.marginRight ?? defaultValue.marginRight\n const marginBottom = data.marginBottom ?? defaultValue.marginBottom\n const marginLeft = data.marginLeft ?? defaultValue.marginLeft\n const style: CSSObject = {}\n\n if (marginTop != null) style.marginTop = lengthDataToString(marginTop)\n if (marginRight != null) style.marginRight = lengthDataToString(marginRight)\n if (marginBottom != null) style.marginBottom = lengthDataToString(marginBottom)\n if (marginLeft != null) style.marginLeft = lengthDataToString(marginLeft)\n\n return style\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,oBAA+C;AAuBxC,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,gBAAY,kCAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,kBAAc,kCAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,mBAAe,kCAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,iBAAa,kCAAmB,UAAU;AAExE,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/padding.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport { LengthData, lengthDataToString } from './length'\nimport {\n PaddingTopProperty,\n PaddingRightProperty,\n PaddingBottomProperty,\n PaddingLeftProperty,\n} from 'csstype'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/padding#constituent_properties */\nexport type PaddingLonghandPropertyData = LengthData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/padding\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type PaddingPropertyData = {\n paddingTop: PaddingLonghandPropertyData | PaddingTopProperty<number | string> | null | undefined\n paddingRight:\n | PaddingLonghandPropertyData\n | PaddingRightProperty<number | string>\n | null\n | undefined\n paddingBottom:\n | PaddingLonghandPropertyData\n | PaddingBottomProperty<number | string>\n | null\n | undefined\n paddingLeft: PaddingLonghandPropertyData | PaddingLeftProperty<number | string> | null | undefined\n}\n\nexport function paddingPropertyDataToStyle(\n data: PaddingPropertyData,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n const paddingTop = data.paddingTop ?? defaultValue.paddingTop\n const paddingRight = data.paddingRight ?? defaultValue.paddingRight\n const paddingBottom = data.paddingBottom ?? defaultValue.paddingBottom\n const paddingLeft = data.paddingLeft ?? defaultValue.paddingLeft\n const style: CSSObject = {}\n\n if (paddingTop != null) style.paddingTop = lengthDataToString(paddingTop)\n if (paddingRight != null) style.paddingRight = lengthDataToString(paddingRight)\n if (paddingBottom != null) style.paddingBottom = lengthDataToString(paddingBottom)\n if (paddingLeft != null) style.paddingLeft = lengthDataToString(paddingLeft)\n\n return style\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA+C;AAiCxC,SAAS,2BACd,MACA,eAAoC,CAAC,GAC1B;AACX,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,gBAAgB,KAAK,iBAAiB,aAAa;AACzD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,QAAmB,CAAC;AAE1B,MAAI,cAAc;AAAM,UAAM,iBAAa,kCAAmB,UAAU;AACxE,MAAI,gBAAgB;AAAM,UAAM,mBAAe,kCAAmB,YAAY;AAC9E,MAAI,iBAAiB;AAAM,UAAM,oBAAgB,kCAAmB,aAAa;AACjF,MAAI,eAAe;AAAM,UAAM,kBAAc,kCAAmB,WAAW;AAE3E,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/padding.ts"],"sourcesContent":["import { type CSSObject } from '@emotion/serialize'\nimport { LengthData, lengthDataToString } from './length'\nimport {\n PaddingTopProperty,\n PaddingRightProperty,\n PaddingBottomProperty,\n PaddingLeftProperty,\n} from 'csstype'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/padding#constituent_properties */\nexport type PaddingLonghandPropertyData = LengthData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/padding\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type PaddingPropertyData = {\n paddingTop: PaddingLonghandPropertyData | PaddingTopProperty<number | string> | null | undefined\n paddingRight:\n | PaddingLonghandPropertyData\n | PaddingRightProperty<number | string>\n | null\n | undefined\n paddingBottom:\n | PaddingLonghandPropertyData\n | PaddingBottomProperty<number | string>\n | null\n | undefined\n paddingLeft: PaddingLonghandPropertyData | PaddingLeftProperty<number | string> | null | undefined\n}\n\nexport function paddingPropertyDataToStyle(\n data: PaddingPropertyData,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n const paddingTop = data.paddingTop ?? defaultValue.paddingTop\n const paddingRight = data.paddingRight ?? defaultValue.paddingRight\n const paddingBottom = data.paddingBottom ?? defaultValue.paddingBottom\n const paddingLeft = data.paddingLeft ?? defaultValue.paddingLeft\n const style: CSSObject = {}\n\n if (paddingTop != null) style.paddingTop = lengthDataToString(paddingTop)\n if (paddingRight != null) style.paddingRight = lengthDataToString(paddingRight)\n if (paddingBottom != null) style.paddingBottom = lengthDataToString(paddingBottom)\n if (paddingLeft != null) style.paddingLeft = lengthDataToString(paddingLeft)\n\n return style\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA+C;AAiCxC,SAAS,2BACd,MACA,eAAoC,CAAC,GAC1B;AACX,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,gBAAgB,KAAK,iBAAiB,aAAa;AACzD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,QAAmB,CAAC;AAE1B,MAAI,cAAc;AAAM,UAAM,iBAAa,kCAAmB,UAAU;AACxE,MAAI,gBAAgB;AAAM,UAAM,mBAAe,kCAAmB,YAAY;AAC9E,MAAI,iBAAiB;AAAM,UAAM,oBAAgB,kCAAmB,aAAa;AACjF,MAAI,eAAe;AAAM,UAAM,kBAAc,kCAAmB,WAAW;AAE3E,SAAO;AACT;","names":[]}
@@ -24,23 +24,24 @@ __export(app_router_exports, {
24
24
  module.exports = __toCommonJS(app_router_exports);
25
25
  var import_ts_pattern = require("ts-pattern");
26
26
  var import_cache = require("next/cache");
27
+ var import_server = require("next/server");
27
28
  var import_cache2 = require("../../cache");
28
- var import_redirect_draft = require("../handlers/redirect-draft");
29
- var import_draft = require("../draft");
29
+ var import_app_router_redirect_preview = require("../handlers/app-router-redirect-preview");
30
+ var import_preview = require("../preview");
30
31
  var import_base = require("./base");
31
- const argsPattern = [import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.any];
32
+ const argsPattern = [
33
+ import_ts_pattern.P.union(import_ts_pattern.P.instanceOf(Request), import_ts_pattern.P.instanceOf(import_server.NextRequest)),
34
+ import_ts_pattern.P.any
35
+ ];
32
36
  async function config({
33
37
  req,
34
38
  context,
35
- apiKey
39
+ client
36
40
  }) {
37
41
  return {
38
42
  req,
39
43
  route: (0, import_base.validateApiRoute)(await context.params),
40
- manifest: {
41
- draftMode: true
42
- },
43
- draftCookieNames: [import_draft.PRERENDER_BYPASS_COOKIE, import_draft.MAKESWIFT_DRAFT_DATA_COOKIE],
44
+ previewCookieNames: [import_preview.PRERENDER_BYPASS_COOKIE, import_preview.MAKESWIFT_SITE_VERSION_COOKIE],
44
45
  sendResponse: async (res) => res,
45
46
  revalidationHandler: async (path) => {
46
47
  if (path != null) {
@@ -50,8 +51,9 @@ async function config({
50
51
  }
51
52
  },
52
53
  customRoutes: async (route) => {
53
- if (route === "/draft") {
54
- return { res: await (0, import_redirect_draft.redirectDraftHandler)(req, context, { apiKey }) };
54
+ if (route === "/redirect-preview") {
55
+ const request = req instanceof import_server.NextRequest ? req : new import_server.NextRequest(req, req);
56
+ return { res: await (0, import_app_router_redirect_preview.appRouterRedirectPreviewHandler)(request, context, client) };
55
57
  }
56
58
  return null;
57
59
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/next/api-handler/config/app-router.ts"],"sourcesContent":["import { P } from 'ts-pattern'\nimport { revalidatePath, revalidateTag } from 'next/cache'\nimport { NextRequest } from 'next/server'\n\nimport { MAKESWIFT_CACHE_TAG } from '../../cache'\nimport { type ApiResponse } from '../../../api-handler/request-response'\n\nimport { redirectDraftHandler } from '../handlers/redirect-draft'\nimport { MAKESWIFT_DRAFT_DATA_COOKIE, PRERENDER_BYPASS_COOKIE } from '../draft'\n\nimport { validateApiRoute, type ApiHandlerConfig } from './base'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\nexport type ApiHandlerArgs = [NextRequest, Context]\nexport const argsPattern = [P.instanceOf(Request), P.any] as const\n\nexport async function config({\n req,\n context,\n apiKey,\n}: {\n req: NextRequest\n context: Context\n apiKey: string\n}): Promise<ApiHandlerConfig> {\n return {\n req,\n route: validateApiRoute(await context.params),\n manifest: {\n draftMode: true,\n },\n draftCookieNames: [PRERENDER_BYPASS_COOKIE, MAKESWIFT_DRAFT_DATA_COOKIE],\n sendResponse: async (res: ApiResponse): Promise<Response | void> => res,\n revalidationHandler: async (path?: string): Promise<void> => {\n if (path != null) {\n revalidatePath(path)\n } else {\n revalidateTag(MAKESWIFT_CACHE_TAG)\n }\n },\n customRoutes: async (route: string) => {\n if (route === '/draft') {\n return { res: await redirectDraftHandler(req, context, { apiKey }) }\n }\n\n return null\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAkB;AAClB,mBAA8C;AAG9C,IAAAA,gBAAoC;AAGpC,4BAAqC;AACrC,mBAAqE;AAErE,kBAAwD;AAKjD,MAAM,cAAc,CAAC,oBAAE,WAAW,OAAO,GAAG,oBAAE,GAAG;AAExD,eAAsB,OAAO;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAI8B;AAC5B,SAAO;AAAA,IACL;AAAA,IACA,WAAO,8BAAiB,MAAM,QAAQ,MAAM;AAAA,IAC5C,UAAU;AAAA,MACR,WAAW;AAAA,IACb;AAAA,IACA,kBAAkB,CAAC,sCAAyB,wCAA2B;AAAA,IACvE,cAAc,OAAO,QAA+C;AAAA,IACpE,qBAAqB,OAAO,SAAiC;AAC3D,UAAI,QAAQ,MAAM;AAChB,yCAAe,IAAI;AAAA,MACrB,OAAO;AACL,wCAAc,iCAAmB;AAAA,MACnC;AAAA,IACF;AAAA,IACA,cAAc,OAAO,UAAkB;AACrC,UAAI,UAAU,UAAU;AACtB,eAAO,EAAE,KAAK,UAAM,4CAAqB,KAAK,SAAS,EAAE,OAAO,CAAC,EAAE;AAAA,MACrE;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["import_cache"]}
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/config/app-router.ts"],"sourcesContent":["import { P } from 'ts-pattern'\nimport { revalidatePath, revalidateTag } from 'next/cache'\nimport { NextRequest } from 'next/server'\n\nimport { MAKESWIFT_CACHE_TAG } from '../../cache'\nimport { type ApiResponse } from '../../../api-handler/request-response'\n\nimport { appRouterRedirectPreviewHandler } from '../handlers/app-router-redirect-preview'\nimport { MAKESWIFT_SITE_VERSION_COOKIE, PRERENDER_BYPASS_COOKIE } from '../preview'\n\nimport { validateApiRoute, type ApiHandlerConfig } from './base'\nimport { MakeswiftClient } from '../../../client'\n\ntype Params = { [key: string]: string | string[] }\ntype Context = { params: Promise<Params> }\n\nexport type ApiHandlerArgs = [NextRequest | Request, Context]\nexport const argsPattern = [\n P.union(P.instanceOf(Request), P.instanceOf(NextRequest)),\n P.any,\n] as const\n\nexport async function config({\n req,\n context,\n client,\n}: {\n req: NextRequest | Request\n context: Context\n client: MakeswiftClient\n}): Promise<ApiHandlerConfig> {\n return {\n req,\n route: validateApiRoute(await context.params),\n previewCookieNames: [PRERENDER_BYPASS_COOKIE, MAKESWIFT_SITE_VERSION_COOKIE],\n sendResponse: async (res: ApiResponse): Promise<Response | void> => res,\n revalidationHandler: async (path?: string): Promise<void> => {\n if (path != null) {\n revalidatePath(path)\n } else {\n revalidateTag(MAKESWIFT_CACHE_TAG)\n }\n },\n customRoutes: async (route: string) => {\n if (route === '/redirect-preview') {\n // Convert any Request to NextRequest, if necessary. Due to an issue in\n // how NextRequests are instantiated, we have to pass the original\n // request to the constructor twice. See\n // https://github.com/vercel/next.js/issues/52967\n const request = req instanceof NextRequest ? req : new NextRequest(req, req)\n return { res: await appRouterRedirectPreviewHandler(request, context, client) }\n }\n\n return null\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAkB;AAClB,mBAA8C;AAC9C,oBAA4B;AAE5B,IAAAA,gBAAoC;AAGpC,yCAAgD;AAChD,qBAAuE;AAEvE,kBAAwD;AAOjD,MAAM,cAAc;AAAA,EACzB,oBAAE,MAAM,oBAAE,WAAW,OAAO,GAAG,oBAAE,WAAW,yBAAW,CAAC;AAAA,EACxD,oBAAE;AACJ;AAEA,eAAsB,OAAO;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAI8B;AAC5B,SAAO;AAAA,IACL;AAAA,IACA,WAAO,8BAAiB,MAAM,QAAQ,MAAM;AAAA,IAC5C,oBAAoB,CAAC,wCAAyB,4CAA6B;AAAA,IAC3E,cAAc,OAAO,QAA+C;AAAA,IACpE,qBAAqB,OAAO,SAAiC;AAC3D,UAAI,QAAQ,MAAM;AAChB,yCAAe,IAAI;AAAA,MACrB,OAAO;AACL,wCAAc,iCAAmB;AAAA,MACnC;AAAA,IACF;AAAA,IACA,cAAc,OAAO,UAAkB;AACrC,UAAI,UAAU,qBAAqB;AAKjC,cAAM,UAAU,eAAe,4BAAc,MAAM,IAAI,0BAAY,KAAK,GAAG;AAC3E,eAAO,EAAE,KAAK,UAAM,oEAAgC,SAAS,SAAS,MAAM,EAAE;AAAA,MAChF;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["import_cache"]}
@@ -23,40 +23,21 @@ __export(pages_router_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(pages_router_exports);
25
25
  var import_ts_pattern = require("ts-pattern");
26
- var import_redirect_preview = require("../handlers/redirect-preview");
27
- var import_draft = require("../draft");
26
+ var import_node_request_response = require("../../../api-handler/node-request-response");
27
+ var import_pages_router_redirect_preview = require("../handlers/pages-router-redirect-preview");
28
+ var import_preview = require("../preview");
28
29
  var import_base = require("./base");
29
30
  const argsPattern = [import_ts_pattern.P.any, import_ts_pattern.P.any];
30
31
  async function config({
31
32
  req,
32
33
  res,
33
- apiKey
34
+ client
34
35
  }) {
35
36
  return {
36
- req: {
37
- headers: requestHeaders(req.headers),
38
- method: req.method ?? "GET",
39
- url: req.url ?? "",
40
- json() {
41
- return req.body;
42
- }
43
- },
37
+ req: (0, import_node_request_response.toApiRequest)(req),
44
38
  route: (0, import_base.validateApiRoute)(await apiRequestParams(req)),
45
- manifest: {
46
- previewMode: true
47
- },
48
- draftCookieNames: [import_draft.PRERENDER_BYPASS_COOKIE, import_draft.PREVIEW_DATA_COOKIE],
49
- sendResponse: async (apiResponse) => {
50
- const headers = responseHeaders(apiResponse.headers);
51
- Object.entries(headers).forEach(([key, value]) => {
52
- res.setHeader(key, value);
53
- });
54
- res.status(apiResponse.status);
55
- if (apiResponse.body) {
56
- await pipeTo(apiResponse.body, res);
57
- }
58
- res.end();
59
- },
39
+ previewCookieNames: [import_preview.PRERENDER_BYPASS_COOKIE, import_preview.PREVIEW_DATA_COOKIE],
40
+ sendResponse: (apiResponse) => (0, import_node_request_response.pipeResponseTo)(apiResponse, res),
60
41
  revalidationHandler: async (path) => {
61
42
  if (path != null) {
62
43
  res.revalidate(path);
@@ -64,8 +45,8 @@ async function config({
64
45
  }
65
46
  },
66
47
  customRoutes: async (route) => {
67
- if (route === "/preview") {
68
- return { res: await (0, import_redirect_preview.redirectPreviewHandler)(req, res, { apiKey }) };
48
+ if (route === "/redirect-preview") {
49
+ return { res: await (0, import_pages_router_redirect_preview.pagesRouterRedirectPreviewHandler)(req, res, client) };
69
50
  }
70
51
  return null;
71
52
  }
@@ -74,47 +55,6 @@ async function config({
74
55
  function apiRequestParams(request) {
75
56
  return Promise.resolve(request.query);
76
57
  }
77
- function requestHeaders(headers) {
78
- const result = new Headers();
79
- for (const [key, value] of Object.entries(headers)) {
80
- if (value != null) {
81
- if (Array.isArray(value)) {
82
- value.forEach((v) => result.append(key, v));
83
- } else {
84
- result.append(key, value);
85
- }
86
- }
87
- }
88
- return result;
89
- }
90
- function responseHeaders(headers) {
91
- return [...headers.entries()].reduce((acc, [key, value]) => {
92
- if (key in acc) {
93
- const existingValue = acc[key];
94
- if (Array.isArray(existingValue)) {
95
- existingValue.push(value);
96
- } else {
97
- acc[key] = [existingValue, value];
98
- }
99
- } else {
100
- acc[key] = value;
101
- }
102
- return acc;
103
- }, {});
104
- }
105
- async function pipeTo(stream, res) {
106
- try {
107
- const reader = stream.getReader();
108
- while (true) {
109
- const { done, value } = await reader.read();
110
- if (done)
111
- break;
112
- res.write(value);
113
- }
114
- } catch (error) {
115
- res.destroy(error instanceof Error ? error : new Error(`${error}`));
116
- }
117
- }
118
58
  // Annotate the CommonJS export names for ESM import in node:
119
59
  0 && (module.exports = {
120
60
  argsPattern,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/next/api-handler/config/pages-router.ts"],"sourcesContent":["import { P } from 'ts-pattern'\nimport { NextApiRequest, NextApiResponse } from 'next'\n\nimport { type ApiResponse } from '../../../api-handler/request-response'\n\nimport { redirectPreviewHandler } from '../handlers/redirect-preview'\nimport { PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE } from '../draft'\n\nimport { validateApiRoute, type ApiHandlerConfig } from './base'\n\nexport type ApiHandlerArgs = [NextApiRequest, NextApiResponse]\nexport const argsPattern = [P.any, P.any] as const\n\nexport async function config({\n req,\n res,\n apiKey,\n}: {\n req: NextApiRequest\n res: NextApiResponse\n apiKey: string\n}): Promise<ApiHandlerConfig> {\n return {\n req: {\n headers: requestHeaders(req.headers),\n method: req.method ?? 'GET',\n url: req.url ?? '',\n json() {\n return req.body\n },\n },\n route: validateApiRoute(await apiRequestParams(req)),\n manifest: {\n previewMode: true,\n },\n draftCookieNames: [PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE],\n sendResponse: async (apiResponse: ApiResponse): Promise<Response | void> => {\n const headers = responseHeaders(apiResponse.headers)\n Object.entries(headers).forEach(([key, value]) => {\n res.setHeader(key, value)\n })\n\n res.status(apiResponse.status)\n\n if (apiResponse.body) {\n await pipeTo(apiResponse.body, res)\n }\n\n res.end()\n },\n revalidationHandler: async (path?: string): Promise<void> => {\n if (path != null) {\n res.revalidate(path)\n } else {\n // No-op, Pages Router does not support tag-based revalidation\n }\n },\n customRoutes: async (route: string) => {\n if (route === '/preview') {\n return { res: await redirectPreviewHandler(req, res, { apiKey }) }\n }\n\n return null\n },\n }\n}\n\nfunction apiRequestParams(request: NextApiRequest): Promise<NextApiRequest['query']> {\n // `NextApiRequest.query` prop became async in Next.js 15, but it's not reflected in the type definition;\n // force-casting it to a `Promise` manually\n return Promise.resolve(request.query)\n}\n\nfunction requestHeaders(headers: NextApiRequest['headers']): Headers {\n const result = new Headers()\n for (const [key, value] of Object.entries(headers)) {\n if (value != null) {\n if (Array.isArray(value)) {\n value.forEach(v => result.append(key, v))\n } else {\n result.append(key, value)\n }\n }\n }\n\n return result\n}\n\nfunction responseHeaders(headers: Headers): Record<string, string | string[]> {\n return [...headers.entries()].reduce<Record<string, string | string[]>>((acc, [key, value]) => {\n if (key in acc) {\n const existingValue = acc[key]\n if (Array.isArray(existingValue)) {\n existingValue.push(value)\n } else {\n acc[key] = [existingValue, value]\n }\n } else {\n acc[key] = value\n }\n return acc\n }, {})\n}\n\nasync function pipeTo(stream: ReadableStream<Uint8Array>, res: NextApiResponse): Promise<void> {\n try {\n const reader = stream.getReader()\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n res.write(value)\n }\n } catch (error) {\n res.destroy(error instanceof Error ? error : new Error(`${error}`))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAkB;AAKlB,8BAAuC;AACvC,mBAA6D;AAE7D,kBAAwD;AAGjD,MAAM,cAAc,CAAC,oBAAE,KAAK,oBAAE,GAAG;AAExC,eAAsB,OAAO;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAI8B;AAC5B,SAAO;AAAA,IACL,KAAK;AAAA,MACH,SAAS,eAAe,IAAI,OAAO;AAAA,MACnC,QAAQ,IAAI,UAAU;AAAA,MACtB,KAAK,IAAI,OAAO;AAAA,MAChB,OAAO;AACL,eAAO,IAAI;AAAA,MACb;AAAA,IACF;AAAA,IACA,WAAO,8BAAiB,MAAM,iBAAiB,GAAG,CAAC;AAAA,IACnD,UAAU;AAAA,MACR,aAAa;AAAA,IACf;AAAA,IACA,kBAAkB,CAAC,sCAAyB,gCAAmB;AAAA,IAC/D,cAAc,OAAO,gBAAuD;AAC1E,YAAM,UAAU,gBAAgB,YAAY,OAAO;AACnD,aAAO,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAChD,YAAI,UAAU,KAAK,KAAK;AAAA,MAC1B,CAAC;AAED,UAAI,OAAO,YAAY,MAAM;AAE7B,UAAI,YAAY,MAAM;AACpB,cAAM,OAAO,YAAY,MAAM,GAAG;AAAA,MACpC;AAEA,UAAI,IAAI;AAAA,IACV;AAAA,IACA,qBAAqB,OAAO,SAAiC;AAC3D,UAAI,QAAQ,MAAM;AAChB,YAAI,WAAW,IAAI;AAAA,MACrB,OAAO;AAAA,MAEP;AAAA,IACF;AAAA,IACA,cAAc,OAAO,UAAkB;AACrC,UAAI,UAAU,YAAY;AACxB,eAAO,EAAE,KAAK,UAAM,gDAAuB,KAAK,KAAK,EAAE,OAAO,CAAC,EAAE;AAAA,MACnE;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,SAA2D;AAGnF,SAAO,QAAQ,QAAQ,QAAQ,KAAK;AACtC;AAEA,SAAS,eAAe,SAA6C;AACnE,QAAM,SAAS,IAAI,QAAQ;AAC3B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,SAAS,MAAM;AACjB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,QAAQ,OAAK,OAAO,OAAO,KAAK,CAAC,CAAC;AAAA,MAC1C,OAAO;AACL,eAAO,OAAO,KAAK,KAAK;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,gBAAgB,SAAqD;AAC5E,SAAO,CAAC,GAAG,QAAQ,QAAQ,CAAC,EAAE,OAA0C,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM;AAC7F,QAAI,OAAO,KAAK;AACd,YAAM,gBAAgB,IAAI,GAAG;AAC7B,UAAI,MAAM,QAAQ,aAAa,GAAG;AAChC,sBAAc,KAAK,KAAK;AAAA,MAC1B,OAAO;AACL,YAAI,GAAG,IAAI,CAAC,eAAe,KAAK;AAAA,MAClC;AAAA,IACF,OAAO;AACL,UAAI,GAAG,IAAI;AAAA,IACb;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEA,eAAe,OAAO,QAAoC,KAAqC;AAC7F,MAAI;AACF,UAAM,SAAS,OAAO,UAAU;AAChC,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI;AAAM;AACV,UAAI,MAAM,KAAK;AAAA,IACjB;AAAA,EACF,SAAS,OAAO;AACd,QAAI,QAAQ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;AAAA,EACpE;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/config/pages-router.ts"],"sourcesContent":["import { P } from 'ts-pattern'\nimport { NextApiRequest, NextApiResponse } from 'next'\n\nimport { type ApiResponse } from '../../../api-handler/request-response'\nimport { toApiRequest, pipeResponseTo } from '../../../api-handler/node-request-response'\n\nimport { pagesRouterRedirectPreviewHandler } from '../handlers/pages-router-redirect-preview'\nimport { PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE } from '../preview'\n\nimport { validateApiRoute, type ApiHandlerConfig } from './base'\nimport { MakeswiftClient } from '../../../client'\n\nexport type ApiHandlerArgs = [NextApiRequest, NextApiResponse]\nexport const argsPattern = [P.any, P.any] as const\n\nexport async function config({\n req,\n res,\n client,\n}: {\n req: NextApiRequest\n res: NextApiResponse\n client: MakeswiftClient\n}): Promise<ApiHandlerConfig> {\n return {\n req: toApiRequest(req),\n route: validateApiRoute(await apiRequestParams(req)),\n previewCookieNames: [PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE],\n\n sendResponse: (apiResponse: ApiResponse): Promise<Response | void> =>\n pipeResponseTo(apiResponse, res),\n\n revalidationHandler: async (path?: string): Promise<void> => {\n if (path != null) {\n res.revalidate(path)\n } else {\n // No-op, Pages Router does not support tag-based revalidation\n }\n },\n\n customRoutes: async (route: string) => {\n if (route === '/redirect-preview') {\n return { res: await pagesRouterRedirectPreviewHandler(req, res, client) }\n }\n\n return null\n },\n }\n}\n\nfunction apiRequestParams(request: NextApiRequest): Promise<NextApiRequest['query']> {\n // `NextApiRequest.query` prop became async in Next.js 15, but it's not reflected in the type definition;\n // force-casting it to a `Promise` manually\n return Promise.resolve(request.query)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAkB;AAIlB,mCAA6C;AAE7C,2CAAkD;AAClD,qBAA6D;AAE7D,kBAAwD;AAIjD,MAAM,cAAc,CAAC,oBAAE,KAAK,oBAAE,GAAG;AAExC,eAAsB,OAAO;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAI8B;AAC5B,SAAO;AAAA,IACL,SAAK,2CAAa,GAAG;AAAA,IACrB,WAAO,8BAAiB,MAAM,iBAAiB,GAAG,CAAC;AAAA,IACnD,oBAAoB,CAAC,wCAAyB,kCAAmB;AAAA,IAEjE,cAAc,CAAC,oBACb,6CAAe,aAAa,GAAG;AAAA,IAEjC,qBAAqB,OAAO,SAAiC;AAC3D,UAAI,QAAQ,MAAM;AAChB,YAAI,WAAW,IAAI;AAAA,MACrB,OAAO;AAAA,MAEP;AAAA,IACF;AAAA,IAEA,cAAc,OAAO,UAAkB;AACrC,UAAI,UAAU,qBAAqB;AACjC,eAAO,EAAE,KAAK,UAAM,wEAAkC,KAAK,KAAK,MAAM,EAAE;AAAA,MAC1E;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB,SAA2D;AAGnF,SAAO,QAAQ,QAAQ,QAAQ,KAAK;AACtC;","names":[]}
@@ -16,62 +16,66 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var redirect_draft_exports = {};
20
- __export(redirect_draft_exports, {
21
- originalRequestProtocol: () => originalRequestProtocol,
22
- redirectDraftHandler: () => redirectDraftHandler
19
+ var app_router_redirect_preview_exports = {};
20
+ __export(app_router_redirect_preview_exports, {
21
+ appRouterRedirectPreviewHandler: () => appRouterRedirectPreviewHandler,
22
+ originalRequestProtocol: () => originalRequestProtocol
23
23
  });
24
- module.exports = __toCommonJS(redirect_draft_exports);
24
+ module.exports = __toCommonJS(app_router_redirect_preview_exports);
25
25
  var import_server = require("next/server");
26
26
  var import_headers = require("next/headers");
27
27
  var import_cookie = require("cookie");
28
- var import_site_version = require("../../../api/site-version");
29
28
  var import_cookies = require("../../../api-handler/cookies");
30
- var import_draft = require("../draft");
29
+ var import_site_version = require("../../../api/site-version");
30
+ var import_preview = require("../preview");
31
31
  function originalRequestProtocol(request) {
32
32
  const forwardedProto = request.headers.get("x-forwarded-proto");
33
33
  return forwardedProto != null ? forwardedProto.split(",")[0].trim() : null;
34
34
  }
35
- async function redirectDraftHandler(request, _context, { apiKey }) {
36
- const secret = request.nextUrl.searchParams.get(import_draft.SearchParams.DraftMode);
37
- if (secret == null) {
38
- return new import_server.NextResponse("Unauthorized to enable draft mode: no secret provided", {
39
- status: 401
40
- });
35
+ async function appRouterRedirectPreviewHandler(request, _context, client) {
36
+ const previewToken = request.nextUrl.searchParams.get(import_preview.SearchParams.PreviewToken);
37
+ if (previewToken == null) {
38
+ return new import_server.NextResponse("Bad request: no preview token provided", { status: 400 });
41
39
  }
42
- if (secret !== apiKey) {
43
- return new import_server.NextResponse("Unauthorized to enable draft mode: incorrect secret", { status: 401 });
40
+ const verificationResult = await client.readPreviewToken(previewToken);
41
+ if (verificationResult == null) {
42
+ return new import_server.NextResponse("Failed to verify preview token", { status: 401 });
44
43
  }
44
+ const { payload } = verificationResult;
45
45
  const draft = await (0, import_headers.draftMode)();
46
46
  const cookieStore = await (0, import_headers.cookies)();
47
47
  draft.enable();
48
- const prerenderBypassCookie = cookieStore.get(import_draft.PRERENDER_BYPASS_COOKIE);
48
+ const prerenderBypassCookie = cookieStore.get(import_preview.PRERENDER_BYPASS_COOKIE);
49
49
  if (prerenderBypassCookie?.value == null) {
50
50
  return new import_server.NextResponse("Could not retrieve draft mode bypass cookie", { status: 500 });
51
51
  }
52
+ const siteVersion = { version: payload.version, token: previewToken };
53
+ const serializedSiteVersion = (0, import_site_version.serializeSiteVersion)(siteVersion);
54
+ const secondsUntilExpiration = (0, import_site_version.secondsUntilSiteVersionExpiration)(siteVersion);
52
55
  const draftCookies = [
53
56
  prerenderBypassCookie,
54
- {
55
- name: import_draft.MAKESWIFT_DRAFT_DATA_COOKIE,
56
- // Eventually, we can make this value dynamic using the request
57
- value: JSON.stringify({ makeswift: true, siteVersion: import_site_version.MakeswiftSiteVersion.Working })
58
- }
57
+ { name: import_preview.MAKESWIFT_SITE_VERSION_COOKIE, value: serializedSiteVersion }
59
58
  ];
60
59
  const redirectProtocol = originalRequestProtocol(request) ?? request.nextUrl.protocol.replace(":", "");
61
60
  const redirectHost = request.headers.get("x-forwarded-host") ?? request.headers.get("host") ?? request.nextUrl.host;
62
61
  const redirectUrl = new URL(
63
62
  `${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`
64
63
  );
65
- redirectUrl.searchParams.delete(import_draft.SearchParams.DraftMode);
64
+ redirectUrl.searchParams.delete(import_preview.SearchParams.PreviewToken);
65
+ redirectUrl.searchParams.delete(import_preview.RewriteRuleMatches.PreviewToken);
66
+ redirectUrl.searchParams.delete(import_preview.RewriteRuleMatches.OriginalPath);
66
67
  const headers = new Headers();
67
68
  draftCookies.forEach(({ name, value }) => {
68
- headers.append(import_cookies.SET_COOKIE_HEADER, (0, import_cookie.serialize)(name, value, { ...import_cookies.cookieSettingOptions }));
69
+ headers.append(
70
+ import_cookies.SET_COOKIE_HEADER,
71
+ (0, import_cookie.serialize)(name, value, { ...import_cookies.cookieSettingOptions, maxAge: secondsUntilExpiration })
72
+ );
69
73
  });
70
74
  return import_server.NextResponse.redirect(redirectUrl, { headers });
71
75
  }
72
76
  // Annotate the CommonJS export names for ESM import in node:
73
77
  0 && (module.exports = {
74
- originalRequestProtocol,
75
- redirectDraftHandler
78
+ appRouterRedirectPreviewHandler,
79
+ originalRequestProtocol
76
80
  });
77
- //# sourceMappingURL=redirect-draft.js.map
81
+ //# sourceMappingURL=app-router-redirect-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/app-router-redirect-preview.ts"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server'\nimport { cookies, draftMode } from 'next/headers'\n\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\nimport {\n secondsUntilSiteVersionExpiration,\n serializeSiteVersion,\n type SiteVersion,\n} from '../../../api/site-version'\n\nimport {\n MAKESWIFT_SITE_VERSION_COOKIE,\n PRERENDER_BYPASS_COOKIE,\n RewriteRuleMatches,\n SearchParams,\n} from '../preview'\nimport { MakeswiftClient } from '../../../client'\n\nexport function originalRequestProtocol(request: NextRequest): string | null {\n // The `x-forwarded-proto` header is not formally standardized, but many proxies\n // *append* the protocol used for the request to the existing value. As a result,\n // if the request passes through multiple proxies, the header may contain a\n // comma-separated list of protocols: https://code.djangoproject.com/ticket/33569\n const forwardedProto = request.headers.get('x-forwarded-proto')\n return forwardedProto != null ? forwardedProto.split(',')[0].trim() : null\n}\n\nexport async function appRouterRedirectPreviewHandler(\n request: NextRequest,\n _context: any,\n client: MakeswiftClient,\n): Promise<NextResponse> {\n const previewToken = request.nextUrl.searchParams.get(SearchParams.PreviewToken)\n\n if (previewToken == null) {\n return new NextResponse('Bad request: no preview token provided', { status: 400 })\n }\n\n const verificationResult = await client.readPreviewToken(previewToken)\n\n if (verificationResult == null) {\n return new NextResponse('Failed to verify preview token', { status: 401 })\n }\n\n const { payload } = verificationResult\n\n const draft = await draftMode()\n const cookieStore = await cookies()\n\n draft.enable()\n\n const prerenderBypassCookie = cookieStore.get(PRERENDER_BYPASS_COOKIE)\n\n if (prerenderBypassCookie?.value == null) {\n return new NextResponse('Could not retrieve draft mode bypass cookie', { status: 500 })\n }\n\n const siteVersion: SiteVersion = { version: payload.version, token: previewToken }\n const serializedSiteVersion = serializeSiteVersion(siteVersion)\n const secondsUntilExpiration = secondsUntilSiteVersionExpiration(siteVersion)\n\n const draftCookies: { name: string; value: string }[] = [\n prerenderBypassCookie,\n { name: MAKESWIFT_SITE_VERSION_COOKIE, value: serializedSiteVersion },\n ]\n\n const redirectProtocol =\n originalRequestProtocol(request) ?? request.nextUrl.protocol.replace(':', '')\n\n const redirectHost =\n request.headers.get('x-forwarded-host') ?? request.headers.get('host') ?? request.nextUrl.host\n\n const redirectUrl = new URL(\n `${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`,\n )\n\n redirectUrl.searchParams.delete(SearchParams.PreviewToken)\n redirectUrl.searchParams.delete(RewriteRuleMatches.PreviewToken)\n redirectUrl.searchParams.delete(RewriteRuleMatches.OriginalPath)\n\n const headers = new Headers()\n draftCookies.forEach(({ name, value }) => {\n headers.append(\n SET_COOKIE_HEADER,\n serializeCookie(name, value, { ...cookieSettingOptions, maxAge: secondsUntilExpiration }),\n )\n })\n\n return NextResponse.redirect(redirectUrl, { headers })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0C;AAC1C,qBAAmC;AAEnC,oBAA6C;AAE7C,qBAAwD;AACxD,0BAIO;AAEP,qBAKO;AAGA,SAAS,wBAAwB,SAAqC;AAK3E,QAAM,iBAAiB,QAAQ,QAAQ,IAAI,mBAAmB;AAC9D,SAAO,kBAAkB,OAAO,eAAe,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI;AACxE;AAEA,eAAsB,gCACpB,SACA,UACA,QACuB;AACvB,QAAM,eAAe,QAAQ,QAAQ,aAAa,IAAI,4BAAa,YAAY;AAE/E,MAAI,gBAAgB,MAAM;AACxB,WAAO,IAAI,2BAAa,0CAA0C,EAAE,QAAQ,IAAI,CAAC;AAAA,EACnF;AAEA,QAAM,qBAAqB,MAAM,OAAO,iBAAiB,YAAY;AAErE,MAAI,sBAAsB,MAAM;AAC9B,WAAO,IAAI,2BAAa,kCAAkC,EAAE,QAAQ,IAAI,CAAC;AAAA,EAC3E;AAEA,QAAM,EAAE,QAAQ,IAAI;AAEpB,QAAM,QAAQ,UAAM,0BAAU;AAC9B,QAAM,cAAc,UAAM,wBAAQ;AAElC,QAAM,OAAO;AAEb,QAAM,wBAAwB,YAAY,IAAI,sCAAuB;AAErE,MAAI,uBAAuB,SAAS,MAAM;AACxC,WAAO,IAAI,2BAAa,+CAA+C,EAAE,QAAQ,IAAI,CAAC;AAAA,EACxF;AAEA,QAAM,cAA2B,EAAE,SAAS,QAAQ,SAAS,OAAO,aAAa;AACjF,QAAM,4BAAwB,0CAAqB,WAAW;AAC9D,QAAM,6BAAyB,uDAAkC,WAAW;AAE5E,QAAM,eAAkD;AAAA,IACtD;AAAA,IACA,EAAE,MAAM,8CAA+B,OAAO,sBAAsB;AAAA,EACtE;AAEA,QAAM,mBACJ,wBAAwB,OAAO,KAAK,QAAQ,QAAQ,SAAS,QAAQ,KAAK,EAAE;AAE9E,QAAM,eACJ,QAAQ,QAAQ,IAAI,kBAAkB,KAAK,QAAQ,QAAQ,IAAI,MAAM,KAAK,QAAQ,QAAQ;AAE5F,QAAM,cAAc,IAAI;AAAA,IACtB,GAAG,gBAAgB,MAAM,YAAY,GAAG,QAAQ,QAAQ,QAAQ,GAAG,QAAQ,QAAQ,MAAM;AAAA,EAC3F;AAEA,cAAY,aAAa,OAAO,4BAAa,YAAY;AACzD,cAAY,aAAa,OAAO,kCAAmB,YAAY;AAC/D,cAAY,aAAa,OAAO,kCAAmB,YAAY;AAE/D,QAAM,UAAU,IAAI,QAAQ;AAC5B,eAAa,QAAQ,CAAC,EAAE,MAAM,MAAM,MAAM;AACxC,YAAQ;AAAA,MACN;AAAA,UACA,cAAAA,WAAgB,MAAM,OAAO,EAAE,GAAG,qCAAsB,QAAQ,uBAAuB,CAAC;AAAA,IAC1F;AAAA,EACF,CAAC;AAED,SAAO,2BAAa,SAAS,aAAa,EAAE,QAAQ,CAAC;AACvD;","names":["serializeCookie"]}
@@ -16,46 +16,53 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var redirect_preview_exports = {};
20
- __export(redirect_preview_exports, {
21
- redirectPreviewHandler: () => redirectPreviewHandler
19
+ var pages_router_redirect_preview_exports = {};
20
+ __export(pages_router_redirect_preview_exports, {
21
+ pagesRouterRedirectPreviewHandler: () => pagesRouterRedirectPreviewHandler
22
22
  });
23
- module.exports = __toCommonJS(redirect_preview_exports);
23
+ module.exports = __toCommonJS(pages_router_redirect_preview_exports);
24
24
  var import_set_cookie_parser = require("set-cookie-parser");
25
25
  var import_cookie = require("cookie");
26
- var import_site_version = require("../../../api/site-version");
27
26
  var import_cookies = require("../../../api-handler/cookies");
28
- var import_draft = require("../draft");
29
- async function redirectPreviewHandler(req, res, { apiKey }) {
30
- const secret = req.query[import_draft.SearchParams.PreviewMode];
31
- const pathname = req.query.path;
32
- if (secret == null) {
33
- return res.status(401).send("Unauthorized to enable preview mode: no secret provided");
34
- }
35
- if (secret !== apiKey) {
36
- return res.status(401).send("Unauthorized to enable preview mode: secret is incorrect");
37
- }
27
+ var import_preview = require("../preview");
28
+ var import_site_version = require("../../../api/site-version");
29
+ async function pagesRouterRedirectPreviewHandler(req, res, client) {
30
+ const pathname = req.query[import_preview.RewriteRuleMatches.OriginalPath];
38
31
  if (pathname == null) {
39
32
  return res.status(400).send("Bad request: incoming request does not have an associated pathname");
40
33
  }
41
- const setCookie = res.setPreviewData({ makeswift: true, siteVersion: import_site_version.MakeswiftSiteVersion.Working }).getHeader(import_cookies.SET_COOKIE_HEADER);
34
+ const previewToken = req.query[import_preview.SearchParams.PreviewToken];
35
+ if (previewToken == null) {
36
+ return res.status(400).send("Bad request: no preview token provided");
37
+ }
38
+ const verificationResult = await client.readPreviewToken(previewToken);
39
+ if (verificationResult == null) {
40
+ return res.status(401).send("Failed to verify preview token");
41
+ }
42
+ const { payload } = verificationResult;
43
+ const siteVersion = { version: payload.version, token: previewToken };
44
+ const secondsUntilExpiration = (0, import_site_version.secondsUntilSiteVersionExpiration)(siteVersion);
45
+ const serializedSiteVersion = (0, import_site_version.serializeSiteVersion)(siteVersion);
46
+ const setCookie = res.setPreviewData({ siteVersion: serializedSiteVersion }).getHeader(import_cookies.SET_COOKIE_HEADER);
42
47
  res.removeHeader(import_cookies.SET_COOKIE_HEADER);
43
48
  const parsedCookies = (0, import_set_cookie_parser.parse)(Array.isArray(setCookie) ? setCookie : "");
44
- const prerenderBypassCookie = parsedCookies.find((c) => c.name === import_draft.PRERENDER_BYPASS_COOKIE);
45
- const previewDataCookie = parsedCookies.find((c) => c.name === import_draft.PREVIEW_DATA_COOKIE);
49
+ const prerenderBypassCookie = parsedCookies.find((c) => c.name === import_preview.PRERENDER_BYPASS_COOKIE);
50
+ const previewDataCookie = parsedCookies.find((c) => c.name === import_preview.PREVIEW_DATA_COOKIE);
46
51
  if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {
47
52
  return res.status(500).send("Could not retrieve preview mode cookies");
48
53
  }
49
54
  const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {
50
- return (0, import_cookie.serialize)(name, value, { ...import_cookies.cookieSettingOptions });
55
+ return (0, import_cookie.serialize)(name, value, { ...import_cookies.cookieSettingOptions, maxAge: secondsUntilExpiration });
51
56
  });
52
57
  res.setHeader(import_cookies.SET_COOKIE_HEADER, patchedCookies);
53
58
  const destinationUrl = new URL(pathname, "http://test.com");
54
- destinationUrl.searchParams.delete(import_draft.SearchParams.PreviewMode);
59
+ destinationUrl.searchParams.delete(import_preview.SearchParams.PreviewToken);
60
+ destinationUrl.searchParams.delete(import_preview.RewriteRuleMatches.PreviewToken);
61
+ destinationUrl.searchParams.delete(import_preview.RewriteRuleMatches.OriginalPath);
55
62
  res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`);
56
63
  }
57
64
  // Annotate the CommonJS export names for ESM import in node:
58
65
  0 && (module.exports = {
59
- redirectPreviewHandler
66
+ pagesRouterRedirectPreviewHandler
60
67
  });
61
- //# sourceMappingURL=redirect-preview.js.map
68
+ //# sourceMappingURL=pages-router-redirect-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/next/api-handler/handlers/pages-router-redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\n\nimport {\n PRERENDER_BYPASS_COOKIE,\n PREVIEW_DATA_COOKIE,\n RewriteRuleMatches,\n SearchParams,\n} from '../preview'\nimport { MakeswiftClient } from '../../../client'\nimport {\n secondsUntilSiteVersionExpiration,\n serializeSiteVersion,\n type SiteVersion,\n} from '../../../api/site-version'\n\nexport async function pagesRouterRedirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse,\n client: MakeswiftClient,\n): Promise<void> {\n // Next.js automatically strips the locale prefix from rewritten request's URL, even when the\n // rewrite's `locale` option is set to `false`: https://github.com/vercel/next.js/discussions/21798.\n // At the same time, it also maps rewrite's URL segments (e.g. `:path`) to query parameters\n // on the rewritten request, so we use the `query` to recover the original request path.\n const pathname = req.query[RewriteRuleMatches.OriginalPath] as string | undefined\n\n if (pathname == null) {\n return res\n .status(400)\n .send('Bad request: incoming request does not have an associated pathname')\n }\n\n const previewToken = req.query[SearchParams.PreviewToken] as string | undefined\n\n if (previewToken == null) {\n return res.status(400).send('Bad request: no preview token provided')\n }\n\n const verificationResult = await client.readPreviewToken(previewToken)\n\n if (verificationResult == null) {\n return res.status(401).send('Failed to verify preview token')\n }\n\n const { payload } = verificationResult\n\n const siteVersion: SiteVersion = { version: payload.version, token: previewToken }\n const secondsUntilExpiration = secondsUntilSiteVersionExpiration(siteVersion)\n const serializedSiteVersion = serializeSiteVersion(siteVersion)\n\n const setCookie = res\n .setPreviewData({ siteVersion: serializedSiteVersion })\n .getHeader(SET_COOKIE_HEADER)\n\n res.removeHeader(SET_COOKIE_HEADER)\n\n const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : '')\n\n const prerenderBypassCookie = parsedCookies.find(c => c.name === PRERENDER_BYPASS_COOKIE)\n const previewDataCookie = parsedCookies.find(c => c.name === PREVIEW_DATA_COOKIE)\n\n if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {\n return res.status(500).send('Could not retrieve preview mode cookies')\n }\n\n const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {\n return serializeCookie(name, value, { ...cookieSettingOptions, maxAge: secondsUntilExpiration })\n })\n res.setHeader(SET_COOKIE_HEADER, patchedCookies)\n\n const destinationUrl = new URL(pathname, 'http://test.com')\n destinationUrl.searchParams.delete(SearchParams.PreviewToken)\n destinationUrl.searchParams.delete(RewriteRuleMatches.PreviewToken)\n destinationUrl.searchParams.delete(RewriteRuleMatches.OriginalPath)\n\n res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,+BAAwC;AACxC,oBAA6C;AAE7C,qBAAwD;AAExD,qBAKO;AAEP,0BAIO;AAEP,eAAsB,kCACpB,KACA,KACA,QACe;AAKf,QAAM,WAAW,IAAI,MAAM,kCAAmB,YAAY;AAE1D,MAAI,YAAY,MAAM;AACpB,WAAO,IACJ,OAAO,GAAG,EACV,KAAK,oEAAoE;AAAA,EAC9E;AAEA,QAAM,eAAe,IAAI,MAAM,4BAAa,YAAY;AAExD,MAAI,gBAAgB,MAAM;AACxB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,wCAAwC;AAAA,EACtE;AAEA,QAAM,qBAAqB,MAAM,OAAO,iBAAiB,YAAY;AAErE,MAAI,sBAAsB,MAAM;AAC9B,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,gCAAgC;AAAA,EAC9D;AAEA,QAAM,EAAE,QAAQ,IAAI;AAEpB,QAAM,cAA2B,EAAE,SAAS,QAAQ,SAAS,OAAO,aAAa;AACjF,QAAM,6BAAyB,uDAAkC,WAAW;AAC5E,QAAM,4BAAwB,0CAAqB,WAAW;AAE9D,QAAM,YAAY,IACf,eAAe,EAAE,aAAa,sBAAsB,CAAC,EACrD,UAAU,gCAAiB;AAE9B,MAAI,aAAa,gCAAiB;AAElC,QAAM,oBAAgB,yBAAAA,OAAe,MAAM,QAAQ,SAAS,IAAI,YAAY,EAAE;AAE9E,QAAM,wBAAwB,cAAc,KAAK,OAAK,EAAE,SAAS,sCAAuB;AACxF,QAAM,oBAAoB,cAAc,KAAK,OAAK,EAAE,SAAS,kCAAmB;AAEhF,MAAI,uBAAuB,SAAS,QAAQ,mBAAmB,SAAS,MAAM;AAC5E,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yCAAyC;AAAA,EACvE;AAEA,QAAM,iBAAiB,CAAC,uBAAuB,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM;AACzF,eAAO,cAAAC,WAAgB,MAAM,OAAO,EAAE,GAAG,qCAAsB,QAAQ,uBAAuB,CAAC;AAAA,EACjG,CAAC;AACD,MAAI,UAAU,kCAAmB,cAAc;AAE/C,QAAM,iBAAiB,IAAI,IAAI,UAAU,iBAAiB;AAC1D,iBAAe,aAAa,OAAO,4BAAa,YAAY;AAC5D,iBAAe,aAAa,OAAO,kCAAmB,YAAY;AAClE,iBAAe,aAAa,OAAO,kCAAmB,YAAY;AAElE,MAAI,SAAS,GAAG,eAAe,QAAQ,IAAI,eAAe,aAAa,SAAS,CAAC,EAAE;AACrF;","names":["parseSetCookie","serializeCookie"]}
@@ -38,8 +38,8 @@ var AppRouter = __toESM(require("./config/app-router"));
38
38
  var PagesRouter = __toESM(require("./config/pages-router"));
39
39
  function MakeswiftApiHandler(apiKey, { apiOrigin, runtime, ...userConfig }) {
40
40
  const client = new import_client.Makeswift(apiKey, { apiOrigin, runtime });
41
- return async function handler(...args) {
42
- const { req, route, sendResponse, customRoutes, ...handlerConfig } = await (0, import_ts_pattern.match)(args).with(AppRouter.argsPattern, ([req2, context]) => AppRouter.config({ req: req2, context, apiKey })).with(PagesRouter.argsPattern, ([req2, res]) => PagesRouter.config({ req: req2, res, apiKey })).exhaustive();
41
+ async function handler(...args) {
42
+ const { req, route, sendResponse, customRoutes, ...handlerConfig } = await (0, import_ts_pattern.match)(args).with(AppRouter.argsPattern, ([req2, context]) => AppRouter.config({ req: req2, context, client })).with(PagesRouter.argsPattern, ([req2, res]) => PagesRouter.config({ req: req2, res, client })).exhaustive();
43
43
  const apiHandler = (0, import_api_handler.createApiHandler)(apiKey, {
44
44
  ...userConfig,
45
45
  ...handlerConfig,
@@ -51,7 +51,8 @@ function MakeswiftApiHandler(apiKey, { apiOrigin, runtime, ...userConfig }) {
51
51
  return customRouteResponse.res;
52
52
  }
53
53
  return sendResponse(await apiHandler(req, route));
54
- };
54
+ }
55
+ return handler;
55
56
  }
56
57
  // Annotate the CommonJS export names for ESM import in node:
57
58
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/next/api-handler/index.ts"],"sourcesContent":["import { match } from 'ts-pattern'\n\nimport { Makeswift as MakeswiftClient } from '../client'\n\nimport { type ApiHandlerUserConfig, createApiHandler } from '../../api-handler'\n\nimport * as AppRouter from './config/app-router'\nimport * as PagesRouter from './config/pages-router'\n\n/**\n * @deprecated This type is deprecated and will be removed in a future release.\n */\nexport type MakeswiftApiHandlerResponse = any\n\ntype ApiHandlerArgs = AppRouter.ApiHandlerArgs | PagesRouter.ApiHandlerArgs\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n { apiOrigin, runtime, ...userConfig }: ApiHandlerUserConfig,\n): (...args: ApiHandlerArgs) => Promise<Response | void> {\n const client = new MakeswiftClient(apiKey, { apiOrigin, runtime })\n\n return async function handler(...args: ApiHandlerArgs): Promise<Response | void> {\n const { req, route, sendResponse, customRoutes, ...handlerConfig } = await match(args)\n .with(AppRouter.argsPattern, ([req, context]) => AppRouter.config({ req, context, apiKey }))\n .with(PagesRouter.argsPattern, ([req, res]) => PagesRouter.config({ req, res, apiKey }))\n .exhaustive()\n\n const apiHandler = createApiHandler(apiKey, {\n ...userConfig,\n ...handlerConfig,\n runtime,\n client,\n })\n\n const customRouteResponse = await customRoutes(route)\n if (customRouteResponse) {\n return customRouteResponse.res\n }\n\n return sendResponse(await apiHandler(req, route))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AAEtB,oBAA6C;AAE7C,yBAA4D;AAE5D,gBAA2B;AAC3B,kBAA6B;AAStB,SAAS,oBACd,QACA,EAAE,WAAW,SAAS,GAAG,WAAW,GACmB;AACvD,QAAM,SAAS,IAAI,cAAAA,UAAgB,QAAQ,EAAE,WAAW,QAAQ,CAAC;AAEjE,SAAO,eAAe,WAAW,MAAgD;AAC/E,UAAM,EAAE,KAAK,OAAO,cAAc,cAAc,GAAG,cAAc,IAAI,UAAM,yBAAM,IAAI,EAClF,KAAK,UAAU,aAAa,CAAC,CAACC,MAAK,OAAO,MAAM,UAAU,OAAO,EAAE,KAAAA,MAAK,SAAS,OAAO,CAAC,CAAC,EAC1F,KAAK,YAAY,aAAa,CAAC,CAACA,MAAK,GAAG,MAAM,YAAY,OAAO,EAAE,KAAAA,MAAK,KAAK,OAAO,CAAC,CAAC,EACtF,WAAW;AAEd,UAAM,iBAAa,qCAAiB,QAAQ;AAAA,MAC1C,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,sBAAsB,MAAM,aAAa,KAAK;AACpD,QAAI,qBAAqB;AACvB,aAAO,oBAAoB;AAAA,IAC7B;AAEA,WAAO,aAAa,MAAM,WAAW,KAAK,KAAK,CAAC;AAAA,EAClD;AACF;","names":["MakeswiftClient","req"]}
1
+ {"version":3,"sources":["../../../../src/next/api-handler/index.ts"],"sourcesContent":["import { match } from 'ts-pattern'\n\nimport { Makeswift as MakeswiftClient } from '../client'\n\nimport { type ApiHandlerUserConfig, createApiHandler } from '../../api-handler'\n\nimport * as AppRouter from './config/app-router'\nimport * as PagesRouter from './config/pages-router'\n\n/**\n * @deprecated This type is deprecated and will be removed in a future release.\n */\nexport type MakeswiftApiHandlerResponse = any\n\ntype ApiHandlerArgs = AppRouter.ApiHandlerArgs | PagesRouter.ApiHandlerArgs\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n { apiOrigin, runtime, ...userConfig }: ApiHandlerUserConfig,\n): (...args: ApiHandlerArgs) => Promise<Response> | Promise<void> {\n const client = new MakeswiftClient(apiKey, { apiOrigin, runtime })\n\n async function handler(...args: ApiHandlerArgs): Promise<Response | void> {\n const { req, route, sendResponse, customRoutes, ...handlerConfig } = await match(args)\n .with(AppRouter.argsPattern, ([req, context]) => AppRouter.config({ req, context, client }))\n .with(PagesRouter.argsPattern, ([req, res]) => PagesRouter.config({ req, res, client }))\n .exhaustive()\n\n const apiHandler = createApiHandler(apiKey, {\n ...userConfig,\n ...handlerConfig,\n runtime,\n client,\n })\n\n const customRouteResponse = await customRoutes(route)\n if (customRouteResponse) {\n return customRouteResponse.res\n }\n\n return sendResponse(await apiHandler(req, route))\n }\n\n // Next 15.5.0 performs type validations on the API handler. It expects a\n // return type of void | Promise<void> | Response | Promise<Response>, but\n // Typescript will not allow you to define an async function that returns a\n // union of two different Promises:\n\n // The return type of an async function or method must be the global\n // Promise<T> type. Did you mean to write 'Promise<void | Response>'?\n\n // This cast converts our handler's Promise<Response | void> return type to\n // Promise<Response> | Promise<void> to satisfy Next.js validations and bypass\n // the Typescript restriction. Ultimately, the value of the resolved type is\n // the same (Response | void).\n return handler as (...args: ApiHandlerArgs) => Promise<Response> | Promise<void>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsB;AAEtB,oBAA6C;AAE7C,yBAA4D;AAE5D,gBAA2B;AAC3B,kBAA6B;AAStB,SAAS,oBACd,QACA,EAAE,WAAW,SAAS,GAAG,WAAW,GAC4B;AAChE,QAAM,SAAS,IAAI,cAAAA,UAAgB,QAAQ,EAAE,WAAW,QAAQ,CAAC;AAEjE,iBAAe,WAAW,MAAgD;AACxE,UAAM,EAAE,KAAK,OAAO,cAAc,cAAc,GAAG,cAAc,IAAI,UAAM,yBAAM,IAAI,EAClF,KAAK,UAAU,aAAa,CAAC,CAACC,MAAK,OAAO,MAAM,UAAU,OAAO,EAAE,KAAAA,MAAK,SAAS,OAAO,CAAC,CAAC,EAC1F,KAAK,YAAY,aAAa,CAAC,CAACA,MAAK,GAAG,MAAM,YAAY,OAAO,EAAE,KAAAA,MAAK,KAAK,OAAO,CAAC,CAAC,EACtF,WAAW;AAEd,UAAM,iBAAa,qCAAiB,QAAQ;AAAA,MAC1C,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,sBAAsB,MAAM,aAAa,KAAK;AACpD,QAAI,qBAAqB;AACvB,aAAO,oBAAoB;AAAA,IAC7B;AAEA,WAAO,aAAa,MAAM,WAAW,KAAK,KAAK,CAAC;AAAA,EAClD;AAcA,SAAO;AACT;","names":["MakeswiftClient","req"]}