@makeswift/runtime 0.28.10-canary.0 → 0.28.10-canary.2

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 (220) hide show
  1. package/dist/cjs/api/graphql/documents/queries.js +0 -14
  2. package/dist/cjs/api/graphql/documents/queries.js.map +1 -1
  3. package/dist/cjs/api/graphql/generated/types.js.map +1 -1
  4. package/dist/cjs/api/graphql-api-client.js +1 -8
  5. package/dist/cjs/api/graphql-api-client.js.map +1 -1
  6. package/dist/cjs/api/makeswift-api-resources-client.js +1 -1
  7. package/dist/cjs/api/makeswift-api-resources-client.js.map +1 -1
  8. package/dist/cjs/api/rest-api-client.js +14 -1
  9. package/dist/cjs/api/rest-api-client.js.map +1 -1
  10. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  11. package/dist/cjs/client/index.js +0 -3
  12. package/dist/cjs/client/index.js.map +1 -1
  13. package/dist/cjs/react/server/index.js +45 -0
  14. package/dist/cjs/react/server/index.js.map +1 -0
  15. package/dist/cjs/runtimes/react/components/ElementData.js +41 -8
  16. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  17. package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
  18. package/dist/cjs/runtimes/react/hooks/use-editable-element-stylesheet-factory.js +58 -0
  19. package/dist/cjs/runtimes/react/hooks/use-editable-element-stylesheet-factory.js.map +1 -0
  20. package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  21. package/dist/cjs/runtimes/react/hooks/use-server-element-refresh.js +90 -0
  22. package/dist/cjs/runtimes/react/hooks/use-server-element-refresh.js.map +1 -0
  23. package/dist/cjs/runtimes/react/react-runtime-core.js +22 -4
  24. package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -1
  25. package/dist/cjs/runtimes/react/resource-resolver.js.map +1 -1
  26. package/dist/cjs/runtimes/react/server/collect-server-elements.js +74 -0
  27. package/dist/cjs/runtimes/react/server/collect-server-elements.js.map +1 -0
  28. package/dist/cjs/runtimes/react/server/components/editable-server-element.js +173 -0
  29. package/dist/cjs/runtimes/react/server/components/editable-server-element.js.map +1 -0
  30. package/dist/cjs/runtimes/react/server/components/element-data.js +76 -0
  31. package/dist/cjs/runtimes/react/server/components/element-data.js.map +1 -0
  32. package/dist/cjs/runtimes/react/server/components/element.js +59 -0
  33. package/dist/cjs/runtimes/react/server/components/element.js.map +1 -0
  34. package/dist/cjs/runtimes/react/server/components/makeswift-component.js +32 -0
  35. package/dist/cjs/runtimes/react/server/components/makeswift-component.js.map +1 -0
  36. package/dist/cjs/runtimes/react/server/components/renderer.js +54 -0
  37. package/dist/cjs/runtimes/react/server/components/renderer.js.map +1 -0
  38. package/dist/cjs/runtimes/react/server/components/server-elements-cache.js +70 -0
  39. package/dist/cjs/runtimes/react/server/components/server-elements-cache.js.map +1 -0
  40. package/dist/cjs/runtimes/react/server/components/slot.js +33 -0
  41. package/dist/cjs/runtimes/react/server/components/slot.js.map +1 -0
  42. package/dist/cjs/runtimes/react/server/components/snapshot-renderer.js +50 -0
  43. package/dist/cjs/runtimes/react/server/components/snapshot-renderer.js.map +1 -0
  44. package/dist/cjs/runtimes/react/server/css/client-css.js +112 -0
  45. package/dist/cjs/runtimes/react/server/css/client-css.js.map +1 -0
  46. package/dist/cjs/runtimes/react/server/css/css-runtime.js +102 -0
  47. package/dist/cjs/runtimes/react/server/css/css-runtime.js.map +1 -0
  48. package/dist/cjs/runtimes/react/server/css/server-css.js +71 -0
  49. package/dist/cjs/runtimes/react/server/css/server-css.js.map +1 -0
  50. package/dist/cjs/runtimes/react/server/index.js +51 -0
  51. package/dist/cjs/runtimes/react/server/index.js.map +1 -0
  52. package/dist/cjs/runtimes/react/server/render-context.js +58 -0
  53. package/dist/cjs/runtimes/react/server/render-context.js.map +1 -0
  54. package/dist/cjs/runtimes/react/server/render-element-payload.js +45 -0
  55. package/dist/cjs/runtimes/react/server/render-element-payload.js.map +1 -0
  56. package/dist/cjs/runtimes/react/server/resolve-props.js +58 -0
  57. package/dist/cjs/runtimes/react/server/resolve-props.js.map +1 -0
  58. package/dist/cjs/runtimes/react/server/resource-resolver.js +40 -0
  59. package/dist/cjs/runtimes/react/server/resource-resolver.js.map +1 -0
  60. package/dist/cjs/runtimes/react/server/update-api-resource-cache.js +32 -0
  61. package/dist/cjs/runtimes/react/server/update-api-resource-cache.js.map +1 -0
  62. package/dist/cjs/runtimes/react/testing/react-runtime.js +19 -2
  63. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +1 -1
  64. package/dist/cjs/state/modules/components-meta.js.map +1 -1
  65. package/dist/cjs/unstable-framework-support/index.js +3 -0
  66. package/dist/cjs/unstable-framework-support/index.js.map +1 -1
  67. package/dist/cjs/utils/prop-by-path.js +35 -0
  68. package/dist/cjs/utils/prop-by-path.js.map +1 -0
  69. package/dist/cjs/utils/set.js +32 -0
  70. package/dist/cjs/utils/set.js.map +1 -0
  71. package/dist/esm/api/graphql/documents/queries.js +0 -13
  72. package/dist/esm/api/graphql/documents/queries.js.map +1 -1
  73. package/dist/esm/api/graphql/generated/types.js.map +1 -1
  74. package/dist/esm/api/graphql-api-client.js +1 -9
  75. package/dist/esm/api/graphql-api-client.js.map +1 -1
  76. package/dist/esm/api/makeswift-api-resources-client.js +1 -1
  77. package/dist/esm/api/makeswift-api-resources-client.js.map +1 -1
  78. package/dist/esm/api/rest-api-client.js +14 -1
  79. package/dist/esm/api/rest-api-client.js.map +1 -1
  80. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  81. package/dist/esm/client/index.js +0 -3
  82. package/dist/esm/client/index.js.map +1 -1
  83. package/dist/esm/react/server/index.js +23 -0
  84. package/dist/esm/react/server/index.js.map +1 -0
  85. package/dist/esm/runtimes/react/components/ElementData.js +42 -9
  86. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  87. package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
  88. package/dist/esm/runtimes/react/hooks/use-editable-element-stylesheet-factory.js +34 -0
  89. package/dist/esm/runtimes/react/hooks/use-editable-element-stylesheet-factory.js.map +1 -0
  90. package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
  91. package/dist/esm/runtimes/react/hooks/use-server-element-refresh.js +66 -0
  92. package/dist/esm/runtimes/react/hooks/use-server-element-refresh.js.map +1 -0
  93. package/dist/esm/runtimes/react/react-runtime-core.js +22 -4
  94. package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
  95. package/dist/esm/runtimes/react/resource-resolver.js.map +1 -1
  96. package/dist/esm/runtimes/react/server/collect-server-elements.js +50 -0
  97. package/dist/esm/runtimes/react/server/collect-server-elements.js.map +1 -0
  98. package/dist/esm/runtimes/react/server/components/editable-server-element.js +152 -0
  99. package/dist/esm/runtimes/react/server/components/editable-server-element.js.map +1 -0
  100. package/dist/esm/runtimes/react/server/components/element-data.js +60 -0
  101. package/dist/esm/runtimes/react/server/components/element-data.js.map +1 -0
  102. package/dist/esm/runtimes/react/server/components/element.js +38 -0
  103. package/dist/esm/runtimes/react/server/components/element.js.map +1 -0
  104. package/dist/esm/runtimes/react/server/components/makeswift-component.js +8 -0
  105. package/dist/esm/runtimes/react/server/components/makeswift-component.js.map +1 -0
  106. package/dist/esm/runtimes/react/server/components/renderer.js +29 -0
  107. package/dist/esm/runtimes/react/server/components/renderer.js.map +1 -0
  108. package/dist/esm/runtimes/react/server/components/server-elements-cache.js +45 -0
  109. package/dist/esm/runtimes/react/server/components/server-elements-cache.js.map +1 -0
  110. package/dist/esm/runtimes/react/server/components/slot.js +9 -0
  111. package/dist/esm/runtimes/react/server/components/slot.js.map +1 -0
  112. package/dist/esm/runtimes/react/server/components/snapshot-renderer.js +26 -0
  113. package/dist/esm/runtimes/react/server/components/snapshot-renderer.js.map +1 -0
  114. package/dist/esm/runtimes/react/server/css/client-css.js +87 -0
  115. package/dist/esm/runtimes/react/server/css/client-css.js.map +1 -0
  116. package/dist/esm/runtimes/react/server/css/css-runtime.js +77 -0
  117. package/dist/esm/runtimes/react/server/css/css-runtime.js.map +1 -0
  118. package/dist/esm/runtimes/react/server/css/server-css.js +45 -0
  119. package/dist/esm/runtimes/react/server/css/server-css.js.map +1 -0
  120. package/dist/esm/runtimes/react/server/index.js +23 -0
  121. package/dist/esm/runtimes/react/server/index.js.map +1 -0
  122. package/dist/esm/runtimes/react/server/render-context.js +31 -0
  123. package/dist/esm/runtimes/react/server/render-context.js.map +1 -0
  124. package/dist/esm/runtimes/react/server/render-element-payload.js +21 -0
  125. package/dist/esm/runtimes/react/server/render-element-payload.js.map +1 -0
  126. package/dist/esm/runtimes/react/server/resolve-props.js +34 -0
  127. package/dist/esm/runtimes/react/server/resolve-props.js.map +1 -0
  128. package/dist/esm/runtimes/react/server/resource-resolver.js +16 -0
  129. package/dist/esm/runtimes/react/server/resource-resolver.js.map +1 -0
  130. package/dist/esm/runtimes/react/server/update-api-resource-cache.js +8 -0
  131. package/dist/esm/runtimes/react/server/update-api-resource-cache.js.map +1 -0
  132. package/dist/esm/runtimes/react/testing/react-runtime.js +19 -2
  133. package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -1
  134. package/dist/esm/state/modules/components-meta.js.map +1 -1
  135. package/dist/esm/unstable-framework-support/index.js +2 -0
  136. package/dist/esm/unstable-framework-support/index.js.map +1 -1
  137. package/dist/esm/utils/prop-by-path.js +10 -0
  138. package/dist/esm/utils/prop-by-path.js.map +1 -0
  139. package/dist/esm/utils/set.js +7 -0
  140. package/dist/esm/utils/set.js.map +1 -0
  141. package/dist/types/api/graphql/documents/queries.d.ts +0 -1
  142. package/dist/types/api/graphql/documents/queries.d.ts.map +1 -1
  143. package/dist/types/api/graphql/generated/types.d.ts +0 -16
  144. package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
  145. package/dist/types/api/graphql-api-client.d.ts +1 -2
  146. package/dist/types/api/graphql-api-client.d.ts.map +1 -1
  147. package/dist/types/api/rest-api-client.d.ts +2 -1
  148. package/dist/types/api/rest-api-client.d.ts.map +1 -1
  149. package/dist/types/client/index.d.ts +1 -2
  150. package/dist/types/client/index.d.ts.map +1 -1
  151. package/dist/types/react/server/index.d.ts +2 -0
  152. package/dist/types/react/server/index.d.ts.map +1 -0
  153. package/dist/types/runtimes/react/components/ElementData.d.ts +2 -2
  154. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  155. package/dist/types/runtimes/react/components/framework-context.d.ts +6 -1
  156. package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
  157. package/dist/types/runtimes/react/hooks/__tests__/use-server-element-refresh.test.d.ts +3 -0
  158. package/dist/types/runtimes/react/hooks/__tests__/use-server-element-refresh.test.d.ts.map +1 -0
  159. package/dist/types/runtimes/react/hooks/use-editable-element-stylesheet-factory.d.ts +5 -0
  160. package/dist/types/runtimes/react/hooks/use-editable-element-stylesheet-factory.d.ts.map +1 -0
  161. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts +3 -0
  162. package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts.map +1 -1
  163. package/dist/types/runtimes/react/hooks/use-server-element-refresh.d.ts +14 -0
  164. package/dist/types/runtimes/react/hooks/use-server-element-refresh.d.ts.map +1 -0
  165. package/dist/types/runtimes/react/react-runtime-core.d.ts +3 -1
  166. package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
  167. package/dist/types/runtimes/react/resource-resolver.d.ts +1 -0
  168. package/dist/types/runtimes/react/resource-resolver.d.ts.map +1 -1
  169. package/dist/types/runtimes/react/server/collect-server-elements.d.ts +19 -0
  170. package/dist/types/runtimes/react/server/collect-server-elements.d.ts.map +1 -0
  171. package/dist/types/runtimes/react/server/components/__tests__/editable-server-element.test.d.ts +3 -0
  172. package/dist/types/runtimes/react/server/components/__tests__/editable-server-element.test.d.ts.map +1 -0
  173. package/dist/types/runtimes/react/server/components/editable-server-element.d.ts +6 -0
  174. package/dist/types/runtimes/react/server/components/editable-server-element.d.ts.map +1 -0
  175. package/dist/types/runtimes/react/server/components/element-data.d.ts +9 -0
  176. package/dist/types/runtimes/react/server/components/element-data.d.ts.map +1 -0
  177. package/dist/types/runtimes/react/server/components/element.d.ts +9 -0
  178. package/dist/types/runtimes/react/server/components/element.d.ts.map +1 -0
  179. package/dist/types/runtimes/react/server/components/makeswift-component.d.ts +8 -0
  180. package/dist/types/runtimes/react/server/components/makeswift-component.d.ts.map +1 -0
  181. package/dist/types/runtimes/react/server/components/renderer.d.ts +23 -0
  182. package/dist/types/runtimes/react/server/components/renderer.d.ts.map +1 -0
  183. package/dist/types/runtimes/react/server/components/server-elements-cache.d.ts +22 -0
  184. package/dist/types/runtimes/react/server/components/server-elements-cache.d.ts.map +1 -0
  185. package/dist/types/runtimes/react/server/components/slot.d.ts +8 -0
  186. package/dist/types/runtimes/react/server/components/slot.d.ts.map +1 -0
  187. package/dist/types/runtimes/react/server/components/snapshot-renderer.d.ts +10 -0
  188. package/dist/types/runtimes/react/server/components/snapshot-renderer.d.ts.map +1 -0
  189. package/dist/types/runtimes/react/server/css/client-css.d.ts +10 -0
  190. package/dist/types/runtimes/react/server/css/client-css.d.ts.map +1 -0
  191. package/dist/types/runtimes/react/server/css/css-runtime.d.ts +16 -0
  192. package/dist/types/runtimes/react/server/css/css-runtime.d.ts.map +1 -0
  193. package/dist/types/runtimes/react/server/css/server-css.d.ts +14 -0
  194. package/dist/types/runtimes/react/server/css/server-css.d.ts.map +1 -0
  195. package/dist/types/runtimes/react/server/index.d.ts +8 -0
  196. package/dist/types/runtimes/react/server/index.d.ts.map +1 -0
  197. package/dist/types/runtimes/react/server/render-context.d.ts +28 -0
  198. package/dist/types/runtimes/react/server/render-context.d.ts.map +1 -0
  199. package/dist/types/runtimes/react/server/render-element-payload.d.ts +215 -0
  200. package/dist/types/runtimes/react/server/render-element-payload.d.ts.map +1 -0
  201. package/dist/types/runtimes/react/server/resolve-props.d.ts +7 -0
  202. package/dist/types/runtimes/react/server/resolve-props.d.ts.map +1 -0
  203. package/dist/types/runtimes/react/server/resource-resolver.d.ts +6 -0
  204. package/dist/types/runtimes/react/server/resource-resolver.d.ts.map +1 -0
  205. package/dist/types/runtimes/react/server/update-api-resource-cache.d.ts +4 -0
  206. package/dist/types/runtimes/react/server/update-api-resource-cache.d.ts.map +1 -0
  207. package/dist/types/runtimes/react/testing/react-runtime.d.ts +12 -2
  208. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +1 -1
  209. package/dist/types/state/modules/components-meta.d.ts +1 -0
  210. package/dist/types/state/modules/components-meta.d.ts.map +1 -1
  211. package/dist/types/unstable-framework-support/index.d.ts +1 -0
  212. package/dist/types/unstable-framework-support/index.d.ts.map +1 -1
  213. package/dist/types/utils/__tests__/prop-by-path.test.d.ts +2 -0
  214. package/dist/types/utils/__tests__/prop-by-path.test.d.ts.map +1 -0
  215. package/dist/types/utils/prop-by-path.d.ts +3 -0
  216. package/dist/types/utils/prop-by-path.d.ts.map +1 -0
  217. package/dist/types/utils/set.d.ts +3 -0
  218. package/dist/types/utils/set.d.ts.map +1 -0
  219. package/package.json +6 -1
  220. package/react/server/package.json +5 -0
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var client_css_exports = {};
21
+ __export(client_css_exports, {
22
+ ClientCSSProvider: () => ClientCSSProvider,
23
+ useClientCSS: () => useClientCSS
24
+ });
25
+ module.exports = __toCommonJS(client_css_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_react = require("react");
28
+ var import_css_runtime = require("./css-runtime");
29
+ const ClientCSSContext = (0, import_react.createContext)({
30
+ updateStyle(elementKey, propName, cssString) {
31
+ console.error(
32
+ `Attempt to update client style for server component ${elementKey}'s '${propName}' prop outside of 'ClientCSSProvider'`,
33
+ cssString
34
+ );
35
+ }
36
+ });
37
+ function ClientCSSProvider({ children }) {
38
+ const styleElementsRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
39
+ const serverStylesRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
40
+ const dynamicStylesRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
41
+ const updateStyleElement = (0, import_react.useCallback)(
42
+ (elementKey, elementStyles) => {
43
+ const styleElement = styleElementsRef.current.get(elementKey);
44
+ if (styleElement == null)
45
+ return;
46
+ const serverCss = serverStylesRef.current.get(elementKey) ?? "";
47
+ const dynamicCss = Array.from(elementStyles.values()).join("\n");
48
+ const combinedStyles = dynamicCss === serverCss ? serverCss : [serverCss, dynamicCss].filter(Boolean).join("\n");
49
+ if (styleElement.textContent !== combinedStyles) {
50
+ styleElement.textContent = combinedStyles;
51
+ }
52
+ },
53
+ []
54
+ );
55
+ const registerStyleElement = (0, import_react.useCallback)(
56
+ (styleElement) => {
57
+ const href = styleElement.dataset["href"];
58
+ if (href == null || !href.startsWith(import_css_runtime.MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX))
59
+ return;
60
+ const elementKey = href.substring(import_css_runtime.MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX.length);
61
+ if (elementKey == "") {
62
+ console.error("Ignoring style element with a missing element key", styleElement);
63
+ return;
64
+ }
65
+ if (styleElement === styleElementsRef.current.get(elementKey))
66
+ return;
67
+ styleElementsRef.current.set(elementKey, styleElement);
68
+ serverStylesRef.current.set(elementKey, styleElement.textContent);
69
+ const elementStyles = dynamicStylesRef.current.get(elementKey);
70
+ if (elementStyles != null) {
71
+ updateStyleElement(elementKey, elementStyles);
72
+ }
73
+ },
74
+ [updateStyleElement]
75
+ );
76
+ (0, import_react.useEffect)(() => {
77
+ document.head.querySelectorAll(
78
+ `style[data-href^="${import_css_runtime.MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX}"]`
79
+ ).forEach(registerStyleElement);
80
+ const observer = new MutationObserver((mutationList) => {
81
+ for (const mutation of mutationList) {
82
+ for (const node of mutation.addedNodes) {
83
+ if (node instanceof HTMLStyleElement)
84
+ registerStyleElement(node);
85
+ }
86
+ }
87
+ });
88
+ observer.observe(document.head, { childList: true });
89
+ return () => {
90
+ observer.disconnect();
91
+ };
92
+ }, [registerStyleElement]);
93
+ const updateStyle = (0, import_react.useCallback)(
94
+ (elementKey, propName, cssString) => {
95
+ const elementStyles = dynamicStylesRef.current.get(elementKey) ?? /* @__PURE__ */ new Map();
96
+ elementStyles.set(propName, cssString);
97
+ dynamicStylesRef.current.set(elementKey, elementStyles);
98
+ updateStyleElement(elementKey, elementStyles);
99
+ },
100
+ [updateStyleElement]
101
+ );
102
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ClientCSSContext.Provider, { value: { updateStyle }, children });
103
+ }
104
+ function useClientCSS() {
105
+ return (0, import_react.useContext)(ClientCSSContext);
106
+ }
107
+ // Annotate the CommonJS export names for ESM import in node:
108
+ 0 && (module.exports = {
109
+ ClientCSSProvider,
110
+ useClientCSS
111
+ });
112
+ //# sourceMappingURL=client-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/server/css/client-css.tsx"],"sourcesContent":["'use client'\n\nimport { createContext, ReactNode, useContext, useEffect, useRef, useCallback } from 'react'\n\nimport { MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX } from './css-runtime'\n\ntype ClientCSSContextValue = {\n updateStyle: (elementKey: string, propName: string, cssString: string) => void\n}\n\nconst ClientCSSContext = createContext<ClientCSSContextValue>({\n updateStyle(elementKey: string, propName: string, cssString: string) {\n console.error(\n `Attempt to update client style for server component ${elementKey}'s '${propName}' prop outside of 'ClientCSSProvider'`,\n cssString,\n )\n },\n})\n\nexport function ClientCSSProvider({ children }: { children: ReactNode }) {\n const styleElementsRef = useRef<Map<string, HTMLStyleElement>>(new Map())\n const serverStylesRef = useRef<Map<string, string>>(new Map())\n const dynamicStylesRef = useRef<Map<string, Map<string, string>>>(new Map())\n\n const updateStyleElement = useCallback(\n (elementKey: string, elementStyles: Map<string, string>) => {\n const styleElement = styleElementsRef.current.get(elementKey)\n if (styleElement == null) return\n\n const serverCss = serverStylesRef.current.get(elementKey) ?? ''\n const dynamicCss = Array.from(elementStyles.values()).join('\\n')\n const combinedStyles =\n dynamicCss === serverCss ? serverCss : [serverCss, dynamicCss].filter(Boolean).join('\\n')\n\n if (styleElement.textContent !== combinedStyles) {\n styleElement.textContent = combinedStyles\n }\n },\n [],\n )\n\n const registerStyleElement = useCallback(\n (styleElement: HTMLStyleElement) => {\n const href = styleElement.dataset['href']\n if (href == null || !href.startsWith(MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX)) return\n\n const elementKey = href.substring(MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX.length)\n if (elementKey == '') {\n console.error('Ignoring style element with a missing element key', styleElement)\n return\n }\n\n // don't recapture elements that we're already tracking\n if (styleElement === styleElementsRef.current.get(elementKey)) return\n\n styleElementsRef.current.set(elementKey, styleElement)\n serverStylesRef.current.set(elementKey, styleElement.textContent)\n\n const elementStyles = dynamicStylesRef.current.get(elementKey)\n if (elementStyles != null) {\n updateStyleElement(elementKey, elementStyles)\n }\n },\n [updateStyleElement],\n )\n\n useEffect(() => {\n // initialize style elements map and capture server styles for existing\n // RSC-rendered elements, if any\n document.head\n .querySelectorAll<HTMLStyleElement>(\n `style[data-href^=\"${MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX}\"]`,\n )\n .forEach(registerStyleElement)\n\n // set up a `document.head` observer to capture dynamically added RSC `<style>` nodes\n const observer = new MutationObserver(mutationList => {\n for (const mutation of mutationList) {\n for (const node of mutation.addedNodes) {\n if (node instanceof HTMLStyleElement) registerStyleElement(node)\n }\n }\n })\n\n observer.observe(document.head, { childList: true })\n\n return () => {\n observer.disconnect()\n }\n }, [registerStyleElement])\n\n const updateStyle = useCallback(\n (elementKey: string, propName: string, cssString: string) => {\n const elementStyles = dynamicStylesRef.current.get(elementKey) ?? new Map()\n elementStyles.set(propName, cssString)\n dynamicStylesRef.current.set(elementKey, elementStyles)\n\n updateStyleElement(elementKey, elementStyles)\n },\n [updateStyleElement],\n )\n\n return <ClientCSSContext.Provider value={{ updateStyle }}>{children}</ClientCSSContext.Provider>\n}\n\nexport function useClientCSS(): ClientCSSContextValue {\n return useContext(ClientCSSContext)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsGS;AApGT,mBAAqF;AAErF,yBAAkD;AAMlD,MAAM,uBAAmB,4BAAqC;AAAA,EAC5D,YAAY,YAAoB,UAAkB,WAAmB;AACnE,YAAQ;AAAA,MACN,uDAAuD,UAAU,OAAO,QAAQ;AAAA,MAChF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,SAAS,kBAAkB,EAAE,SAAS,GAA4B;AACvE,QAAM,uBAAmB,qBAAsC,oBAAI,IAAI,CAAC;AACxE,QAAM,sBAAkB,qBAA4B,oBAAI,IAAI,CAAC;AAC7D,QAAM,uBAAmB,qBAAyC,oBAAI,IAAI,CAAC;AAE3E,QAAM,yBAAqB;AAAA,IACzB,CAAC,YAAoB,kBAAuC;AAC1D,YAAM,eAAe,iBAAiB,QAAQ,IAAI,UAAU;AAC5D,UAAI,gBAAgB;AAAM;AAE1B,YAAM,YAAY,gBAAgB,QAAQ,IAAI,UAAU,KAAK;AAC7D,YAAM,aAAa,MAAM,KAAK,cAAc,OAAO,CAAC,EAAE,KAAK,IAAI;AAC/D,YAAM,iBACJ,eAAe,YAAY,YAAY,CAAC,WAAW,UAAU,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAE1F,UAAI,aAAa,gBAAgB,gBAAgB;AAC/C,qBAAa,cAAc;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,2BAAuB;AAAA,IAC3B,CAAC,iBAAmC;AAClC,YAAM,OAAO,aAAa,QAAQ,MAAM;AACxC,UAAI,QAAQ,QAAQ,CAAC,KAAK,WAAW,oDAAiC;AAAG;AAEzE,YAAM,aAAa,KAAK,UAAU,qDAAkC,MAAM;AAC1E,UAAI,cAAc,IAAI;AACpB,gBAAQ,MAAM,qDAAqD,YAAY;AAC/E;AAAA,MACF;AAGA,UAAI,iBAAiB,iBAAiB,QAAQ,IAAI,UAAU;AAAG;AAE/D,uBAAiB,QAAQ,IAAI,YAAY,YAAY;AACrD,sBAAgB,QAAQ,IAAI,YAAY,aAAa,WAAW;AAEhE,YAAM,gBAAgB,iBAAiB,QAAQ,IAAI,UAAU;AAC7D,UAAI,iBAAiB,MAAM;AACzB,2BAAmB,YAAY,aAAa;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEA,8BAAU,MAAM;AAGd,aAAS,KACN;AAAA,MACC,qBAAqB,oDAAiC;AAAA,IACxD,EACC,QAAQ,oBAAoB;AAG/B,UAAM,WAAW,IAAI,iBAAiB,kBAAgB;AACpD,iBAAW,YAAY,cAAc;AACnC,mBAAW,QAAQ,SAAS,YAAY;AACtC,cAAI,gBAAgB;AAAkB,iCAAqB,IAAI;AAAA,QACjE;AAAA,MACF;AAAA,IACF,CAAC;AAED,aAAS,QAAQ,SAAS,MAAM,EAAE,WAAW,KAAK,CAAC;AAEnD,WAAO,MAAM;AACX,eAAS,WAAW;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,oBAAoB,CAAC;AAEzB,QAAM,kBAAc;AAAA,IAClB,CAAC,YAAoB,UAAkB,cAAsB;AAC3D,YAAM,gBAAgB,iBAAiB,QAAQ,IAAI,UAAU,KAAK,oBAAI,IAAI;AAC1E,oBAAc,IAAI,UAAU,SAAS;AACrC,uBAAiB,QAAQ,IAAI,YAAY,aAAa;AAEtD,yBAAmB,YAAY,aAAa;AAAA,IAC9C;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEA,SAAO,4CAAC,iBAAiB,UAAjB,EAA0B,OAAO,EAAE,YAAY,GAAI,UAAS;AACtE;AAEO,SAAS,eAAsC;AACpD,aAAO,yBAAW,gBAAgB;AACpC;","names":[]}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var css_runtime_exports = {};
20
+ __export(css_runtime_exports, {
21
+ MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX: () => MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX,
22
+ StylesheetEngine: () => StylesheetEngine
23
+ });
24
+ module.exports = __toCommonJS(css_runtime_exports);
25
+ var import_resolved_style_to_css = require("../../lib/resolved-style-to-css");
26
+ const MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX = "makeswift-rsc-";
27
+ function cssObjectToString(cssObject, className) {
28
+ const cssRules = [];
29
+ const mediaRules = [];
30
+ const baseStyles = {};
31
+ Object.entries(cssObject).forEach(([property, value]) => {
32
+ if (property.startsWith("@media")) {
33
+ const mediaQueryStyles = value;
34
+ const mediaCSS = Object.entries(mediaQueryStyles).map(([prop, val]) => formatCSSProperty(prop, val)).filter(Boolean).join(" ");
35
+ if (mediaCSS) {
36
+ mediaRules.push(`${property} { .${className} { ${mediaCSS} } }`);
37
+ }
38
+ } else {
39
+ baseStyles[property] = value;
40
+ }
41
+ });
42
+ const baseCSS = Object.entries(baseStyles).map(([prop, val]) => formatCSSProperty(prop, val)).filter(Boolean).join(" ");
43
+ if (baseCSS) {
44
+ cssRules.push(`.${className} { ${baseCSS} }`);
45
+ }
46
+ cssRules.push(...mediaRules);
47
+ return cssRules.join("\n");
48
+ }
49
+ function formatCSSProperty(property, value) {
50
+ if (value == null || value === "")
51
+ return "";
52
+ if (Array.isArray(value)) {
53
+ return value.length > 0 ? `${kebabCase(property)}: ${value.join(" ")};` : "";
54
+ }
55
+ return `${kebabCase(property)}: ${value};`;
56
+ }
57
+ function kebabCase(str) {
58
+ return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
59
+ }
60
+ function generateClassName(elementKey, propName, counter) {
61
+ const parts = ["makeswift-rsc"];
62
+ if (elementKey)
63
+ parts.push(elementKey);
64
+ if (propName)
65
+ parts.push(propName);
66
+ if (counter !== void 0)
67
+ parts.push(counter.toString());
68
+ return parts.join("-");
69
+ }
70
+ class StylesheetEngine {
71
+ constructor(breakpointsData, elementKey, basePropName, onStyleGenerated) {
72
+ this.breakpointsData = breakpointsData;
73
+ this.elementKey = elementKey;
74
+ this.basePropName = basePropName;
75
+ this.onStyleGenerated = onStyleGenerated;
76
+ }
77
+ styleCounter = 0;
78
+ breakpoints() {
79
+ return this.breakpointsData;
80
+ }
81
+ defineStyle(style) {
82
+ const className = generateClassName(this.elementKey, this.basePropName, ++this.styleCounter);
83
+ const cssObject = (0, import_resolved_style_to_css.resolvedStyleToCss)(this.breakpointsData, style);
84
+ const cssString = cssObjectToString(cssObject, className);
85
+ this.onStyleGenerated?.(className, cssString, this.elementKey, this.basePropName);
86
+ return className;
87
+ }
88
+ child(propName) {
89
+ return new StylesheetEngine(
90
+ this.breakpointsData,
91
+ this.elementKey,
92
+ [this.basePropName, propName].filter(Boolean).join("-"),
93
+ this.onStyleGenerated
94
+ );
95
+ }
96
+ }
97
+ // Annotate the CommonJS export names for ESM import in node:
98
+ 0 && (module.exports = {
99
+ MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX,
100
+ StylesheetEngine
101
+ });
102
+ //# sourceMappingURL=css-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/server/css/css-runtime.ts"],"sourcesContent":["import type { CSSInterpolation, CSSObject } from '@emotion/serialize'\nimport { type Breakpoints, type Stylesheet, type ResolvedStyle } from '@makeswift/controls'\nimport { resolvedStyleToCss } from '../../lib/resolved-style-to-css'\n\nexport const MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX = 'makeswift-rsc-'\n\nfunction cssObjectToString(cssObject: CSSObject, className: string): string {\n const cssRules: string[] = []\n const mediaRules: string[] = []\n const baseStyles: Record<string, CSSInterpolation> = {}\n\n Object.entries(cssObject).forEach(([property, value]) => {\n if (property.startsWith('@media')) {\n const mediaQueryStyles = value as CSSObject\n const mediaCSS = Object.entries(mediaQueryStyles)\n .map(([prop, val]) => formatCSSProperty(prop, val))\n .filter(Boolean)\n .join(' ')\n\n if (mediaCSS) {\n mediaRules.push(`${property} { .${className} { ${mediaCSS} } }`)\n }\n } else {\n baseStyles[property] = value\n }\n })\n\n const baseCSS = Object.entries(baseStyles)\n .map(([prop, val]) => formatCSSProperty(prop, val))\n .filter(Boolean)\n .join(' ')\n\n if (baseCSS) {\n cssRules.push(`.${className} { ${baseCSS} }`)\n }\n\n cssRules.push(...mediaRules)\n return cssRules.join('\\n')\n}\n\nfunction formatCSSProperty(property: string, value: any): string {\n if (value == null || value === '') return ''\n\n if (Array.isArray(value)) {\n return value.length > 0 ? `${kebabCase(property)}: ${value.join(' ')};` : ''\n }\n\n return `${kebabCase(property)}: ${value};`\n}\n\nfunction kebabCase(str: string): string {\n return str.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`)\n}\n\nfunction generateClassName(elementKey?: string, propName?: string, counter?: number): string {\n const parts = ['makeswift-rsc']\n if (elementKey) parts.push(elementKey)\n if (propName) parts.push(propName)\n if (counter !== undefined) parts.push(counter.toString())\n return parts.join('-')\n}\n\ntype OnStyleGenerated = (\n className: string,\n css: string,\n elementKey?: string,\n propName?: string,\n) => void\n\n// Unified stylesheet engine that handles both server and client modes\nexport class StylesheetEngine implements Stylesheet {\n private styleCounter = 0\n\n constructor(\n private breakpointsData: Breakpoints,\n private elementKey?: string,\n private basePropName?: string,\n private onStyleGenerated?: OnStyleGenerated,\n ) {}\n\n breakpoints(): Breakpoints {\n return this.breakpointsData\n }\n\n defineStyle(style: ResolvedStyle): string {\n const className = generateClassName(this.elementKey, this.basePropName, ++this.styleCounter)\n\n const cssObject = resolvedStyleToCss(this.breakpointsData, style)\n const cssString = cssObjectToString(cssObject, className)\n\n this.onStyleGenerated?.(className, cssString, this.elementKey, this.basePropName)\n\n return className\n }\n\n child(propName: string): Stylesheet {\n return new StylesheetEngine(\n this.breakpointsData,\n this.elementKey,\n [this.basePropName, propName].filter(Boolean).join('-'),\n this.onStyleGenerated,\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mCAAmC;AAE5B,MAAM,oCAAoC;AAEjD,SAAS,kBAAkB,WAAsB,WAA2B;AAC1E,QAAM,WAAqB,CAAC;AAC5B,QAAM,aAAuB,CAAC;AAC9B,QAAM,aAA+C,CAAC;AAEtD,SAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,UAAU,KAAK,MAAM;AACvD,QAAI,SAAS,WAAW,QAAQ,GAAG;AACjC,YAAM,mBAAmB;AACzB,YAAM,WAAW,OAAO,QAAQ,gBAAgB,EAC7C,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,kBAAkB,MAAM,GAAG,CAAC,EACjD,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,UAAI,UAAU;AACZ,mBAAW,KAAK,GAAG,QAAQ,OAAO,SAAS,MAAM,QAAQ,MAAM;AAAA,MACjE;AAAA,IACF,OAAO;AACL,iBAAW,QAAQ,IAAI;AAAA,IACzB;AAAA,EACF,CAAC;AAED,QAAM,UAAU,OAAO,QAAQ,UAAU,EACtC,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,kBAAkB,MAAM,GAAG,CAAC,EACjD,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,MAAI,SAAS;AACX,aAAS,KAAK,IAAI,SAAS,MAAM,OAAO,IAAI;AAAA,EAC9C;AAEA,WAAS,KAAK,GAAG,UAAU;AAC3B,SAAO,SAAS,KAAK,IAAI;AAC3B;AAEA,SAAS,kBAAkB,UAAkB,OAAoB;AAC/D,MAAI,SAAS,QAAQ,UAAU;AAAI,WAAO;AAE1C,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,SAAS,IAAI,GAAG,UAAU,QAAQ,CAAC,KAAK,MAAM,KAAK,GAAG,CAAC,MAAM;AAAA,EAC5E;AAEA,SAAO,GAAG,UAAU,QAAQ,CAAC,KAAK,KAAK;AACzC;AAEA,SAAS,UAAU,KAAqB;AACtC,SAAO,IAAI,QAAQ,UAAU,YAAU,IAAI,OAAO,YAAY,CAAC,EAAE;AACnE;AAEA,SAAS,kBAAkB,YAAqB,UAAmB,SAA0B;AAC3F,QAAM,QAAQ,CAAC,eAAe;AAC9B,MAAI;AAAY,UAAM,KAAK,UAAU;AACrC,MAAI;AAAU,UAAM,KAAK,QAAQ;AACjC,MAAI,YAAY;AAAW,UAAM,KAAK,QAAQ,SAAS,CAAC;AACxD,SAAO,MAAM,KAAK,GAAG;AACvB;AAUO,MAAM,iBAAuC;AAAA,EAGlD,YACU,iBACA,YACA,cACA,kBACR;AAJQ;AACA;AACA;AACA;AAAA,EACP;AAAA,EAPK,eAAe;AAAA,EASvB,cAA2B;AACzB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,YAAY,OAA8B;AACxC,UAAM,YAAY,kBAAkB,KAAK,YAAY,KAAK,cAAc,EAAE,KAAK,YAAY;AAE3F,UAAM,gBAAY,iDAAmB,KAAK,iBAAiB,KAAK;AAChE,UAAM,YAAY,kBAAkB,WAAW,SAAS;AAExD,SAAK,mBAAmB,WAAW,WAAW,KAAK,YAAY,KAAK,YAAY;AAEhF,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,UAA8B;AAClC,WAAO,IAAI;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,CAAC,KAAK,cAAc,QAAQ,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MACtD,KAAK;AAAA,IACP;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var server_css_exports = {};
20
+ __export(server_css_exports, {
21
+ InjectServerCSS: () => InjectServerCSS,
22
+ ServerCSSCollector: () => ServerCSSCollector,
23
+ createCollectingServerStylesheet: () => createCollectingServerStylesheet
24
+ });
25
+ module.exports = __toCommonJS(server_css_exports);
26
+ var import_jsx_runtime = (
27
+ // `precedence` and `href` props are required to opt the `<style>` element into React 19's stylesheet
28
+ // hoisting; `href` here serves as a unique identifier, and doesn't have to be a valid URL; React
29
+ // converts it to a `data-href` attribute in the actual HTML output
30
+ require("react/jsx-runtime")
31
+ );
32
+ var import_css_runtime = require("./css-runtime");
33
+ class ServerCSSCollector {
34
+ styles = /* @__PURE__ */ new Map();
35
+ collect(className, css) {
36
+ if (this.styles.has(className))
37
+ return;
38
+ this.styles.set(className, css);
39
+ }
40
+ hasStyles() {
41
+ return this.styles.size > 0;
42
+ }
43
+ getAllStyles() {
44
+ return Array.from(this.styles.values()).join("\n");
45
+ }
46
+ clear() {
47
+ this.styles.clear();
48
+ }
49
+ }
50
+ function createCollectingServerStylesheet(collector, breakpoints, elementKey) {
51
+ return new import_css_runtime.StylesheetEngine(breakpoints, elementKey, void 0, (className, css) => {
52
+ collector.collect(className, css);
53
+ });
54
+ }
55
+ function InjectServerCSS({
56
+ collector,
57
+ elementKey
58
+ }) {
59
+ if (!collector.hasStyles())
60
+ return null;
61
+ const css = collector.getAllStyles();
62
+ const styleTagId = `${import_css_runtime.MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX}${elementKey}`;
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { href: styleTagId, precedence: styleTagId, children: css });
64
+ }
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ InjectServerCSS,
68
+ ServerCSSCollector,
69
+ createCollectingServerStylesheet
70
+ });
71
+ //# sourceMappingURL=server-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/runtimes/react/server/css/server-css.tsx"],"sourcesContent":["import { type Breakpoints, type Stylesheet } from '@makeswift/controls'\n\nimport { StylesheetEngine, MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX } from './css-runtime'\n\nexport class ServerCSSCollector {\n private styles = new Map<string, string>()\n\n collect(className: string, css: string) {\n if (this.styles.has(className)) return\n this.styles.set(className, css)\n }\n\n hasStyles(): boolean {\n return this.styles.size > 0\n }\n\n getAllStyles(): string {\n return Array.from(this.styles.values()).join('\\n')\n }\n\n clear() {\n this.styles.clear()\n }\n}\n\nexport function createCollectingServerStylesheet(\n collector: ServerCSSCollector,\n breakpoints: Breakpoints,\n elementKey?: string,\n): Stylesheet {\n return new StylesheetEngine(breakpoints, elementKey, undefined, (className, css) => {\n collector.collect(className, css)\n })\n}\n\nexport function InjectServerCSS({\n collector,\n elementKey,\n}: {\n collector: ServerCSSCollector\n elementKey: string\n}) {\n if (!collector.hasStyles()) return null\n\n const css = collector.getAllStyles()\n const styleTagId = `${MAKESWIFT_RSC_STYLE_TAG_ID_PREFIX}${elementKey}`\n\n return (\n // `precedence` and `href` props are required to opt the `<style>` element into React 19's stylesheet\n // hoisting; `href` here serves as a unique identifier, and doesn't have to be a valid URL; React\n // converts it to a `data-href` attribute in the actual HTML output\n <style href={styleTagId} precedence={styleTagId}>\n {css}\n </style>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmDI;AAAA;AAAA;AAAA;AAAA;AAAA;AAjDJ,yBAAoE;AAE7D,MAAM,mBAAmB;AAAA,EACtB,SAAS,oBAAI,IAAoB;AAAA,EAEzC,QAAQ,WAAmB,KAAa;AACtC,QAAI,KAAK,OAAO,IAAI,SAAS;AAAG;AAChC,SAAK,OAAO,IAAI,WAAW,GAAG;AAAA,EAChC;AAAA,EAEA,YAAqB;AACnB,WAAO,KAAK,OAAO,OAAO;AAAA,EAC5B;AAAA,EAEA,eAAuB;AACrB,WAAO,MAAM,KAAK,KAAK,OAAO,OAAO,CAAC,EAAE,KAAK,IAAI;AAAA,EACnD;AAAA,EAEA,QAAQ;AACN,SAAK,OAAO,MAAM;AAAA,EACpB;AACF;AAEO,SAAS,iCACd,WACA,aACA,YACY;AACZ,SAAO,IAAI,oCAAiB,aAAa,YAAY,QAAW,CAAC,WAAW,QAAQ;AAClF,cAAU,QAAQ,WAAW,GAAG;AAAA,EAClC,CAAC;AACH;AAEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAGG;AACD,MAAI,CAAC,UAAU,UAAU;AAAG,WAAO;AAEnC,QAAM,MAAM,UAAU,aAAa;AACnC,QAAM,aAAa,GAAG,oDAAiC,GAAG,UAAU;AAEpE,SAIE,4CAAC,WAAM,MAAM,YAAY,YAAY,YAClC,eACH;AAEJ;","names":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var server_exports = {};
20
+ __export(server_exports, {
21
+ MakeswiftComponent: () => import_makeswift_component.MakeswiftComponent,
22
+ RSCElementRenderer: () => import_renderer.RSCElementRenderer,
23
+ RenderContext: () => import_render_context.RenderContext,
24
+ RenderElementPayload: () => import_render_element_payload.RenderElementPayload,
25
+ ServerCSSCollector: () => import_server_css.ServerCSSCollector,
26
+ ServerElement: () => import_element.ServerElement,
27
+ Slot: () => import_slot.Slot,
28
+ getRenderContext: () => import_render_context.getRenderContext,
29
+ setRenderContext: () => import_render_context.setRenderContext
30
+ });
31
+ module.exports = __toCommonJS(server_exports);
32
+ var import_element = require("./components/element");
33
+ var import_makeswift_component = require("./components/makeswift-component");
34
+ var import_slot = require("./components/slot");
35
+ var import_renderer = require("./components/renderer");
36
+ var import_server_css = require("./css/server-css");
37
+ var import_render_context = require("./render-context");
38
+ var import_render_element_payload = require("./render-element-payload");
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ MakeswiftComponent,
42
+ RSCElementRenderer,
43
+ RenderContext,
44
+ RenderElementPayload,
45
+ ServerCSSCollector,
46
+ ServerElement,
47
+ Slot,
48
+ getRenderContext,
49
+ setRenderContext
50
+ });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/server/index.ts"],"sourcesContent":["export { ServerElement } from './components/element'\nexport { MakeswiftComponent } from './components/makeswift-component'\nexport { Slot } from './components/slot'\nexport { RSCElementRenderer } from './components/renderer'\nexport { ServerCSSCollector } from './css/server-css'\nexport {\n type ServerRenderContext,\n RenderContext,\n setRenderContext,\n getRenderContext,\n} from './render-context'\nexport { RenderElementPayload } from './render-element-payload'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA8B;AAC9B,iCAAmC;AACnC,kBAAqB;AACrB,sBAAmC;AACnC,wBAAmC;AACnC,4BAKO;AACP,oCAAqC;","names":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var render_context_exports = {};
20
+ __export(render_context_exports, {
21
+ RenderContext: () => RenderContext,
22
+ getRenderContext: () => getRenderContext,
23
+ getStore: () => getStore,
24
+ setRenderContext: () => setRenderContext
25
+ });
26
+ module.exports = __toCommonJS(render_context_exports);
27
+ var import_react = require("react");
28
+ const requestContext = (0, import_react.cache)(() => ({}));
29
+ const setRenderContext = (context) => {
30
+ requestContext().current = context;
31
+ };
32
+ const getRenderContext = () => {
33
+ const context = requestContext().current;
34
+ if (!context)
35
+ throw Error("Makeswift render context was not set.");
36
+ return context;
37
+ };
38
+ const getStore = ({ runtime, siteVersion, locale }) => {
39
+ if (runtime.requestKey == null) {
40
+ throw Error("Expected a runtime instance that is bound to a specific request key");
41
+ }
42
+ return runtime.getOrCreateStore({ siteVersion, locale });
43
+ };
44
+ const RenderContext = ({
45
+ context,
46
+ children
47
+ }) => {
48
+ setRenderContext(context);
49
+ return children;
50
+ };
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ RenderContext,
54
+ getRenderContext,
55
+ getStore,
56
+ setRenderContext
57
+ });
58
+ //# sourceMappingURL=render-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/server/render-context.tsx"],"sourcesContent":["import { cache, type PropsWithChildren } from 'react'\n\nimport { ReactRuntime } from '../../react/react-runtime'\nimport { type Store } from '../../../state/store'\n\nimport { type SiteVersion } from '../../../api/site-version'\nimport { MakeswiftClient } from '../../../client'\n\n/**\n * Request-scoped dependencies used to render Makeswift server elements.\n *\n * Framework integrations create a context for each request and install it with\n * `RenderContext` or `setRenderContext` so nested renderers can access it without\n * threading it through every component. The runtime must be request-bound;\n * together with `siteVersion` and `locale`, it selects the store and API resource\n * cache used during rendering.\n */\nexport type ServerRenderContext = {\n request: Request\n runtime: ReactRuntime\n client: MakeswiftClient\n siteVersion: SiteVersion | null\n locale: string | undefined\n}\n\nconst requestContext = cache((): { current?: ServerRenderContext } => ({}))\n\nexport const setRenderContext = (context: ServerRenderContext) => {\n requestContext().current = context\n}\n\nexport const getRenderContext = (): ServerRenderContext => {\n const context = requestContext().current\n if (!context) throw Error('Makeswift render context was not set.')\n return context\n}\n\nexport const getStore = ({ runtime, siteVersion, locale }: ServerRenderContext): Store => {\n if (runtime.requestKey == null) {\n throw Error('Expected a runtime instance that is bound to a specific request key')\n }\n\n return runtime.getOrCreateStore({ siteVersion, locale })\n}\n\nexport const RenderContext = ({\n context,\n children,\n}: PropsWithChildren<{ context: ServerRenderContext }>) => {\n setRenderContext(context)\n return children\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8C;AAyB9C,MAAM,qBAAiB,oBAAM,OAA0C,CAAC,EAAE;AAEnE,MAAM,mBAAmB,CAAC,YAAiC;AAChE,iBAAe,EAAE,UAAU;AAC7B;AAEO,MAAM,mBAAmB,MAA2B;AACzD,QAAM,UAAU,eAAe,EAAE;AACjC,MAAI,CAAC;AAAS,UAAM,MAAM,uCAAuC;AACjE,SAAO;AACT;AAEO,MAAM,WAAW,CAAC,EAAE,SAAS,aAAa,OAAO,MAAkC;AACxF,MAAI,QAAQ,cAAc,MAAM;AAC9B,UAAM,MAAM,qEAAqE;AAAA,EACnF;AAEA,SAAO,QAAQ,iBAAiB,EAAE,aAAa,OAAO,CAAC;AACzD;AAEO,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AACF,MAA2D;AACzD,mBAAiB,OAAO;AACxB,SAAO;AACT;","names":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var render_element_payload_exports = {};
20
+ __export(render_element_payload_exports, {
21
+ RenderElementPayload: () => RenderElementPayload
22
+ });
23
+ module.exports = __toCommonJS(render_element_payload_exports);
24
+ var import_zod = require("zod");
25
+ var import_controls = require("@makeswift/controls");
26
+ const documentContext = import_zod.z.object({
27
+ key: import_zod.z.string(),
28
+ locale: import_zod.z.string().optional()
29
+ });
30
+ const cacheData = import_zod.z.object({
31
+ apiResources: import_zod.z.custom(),
32
+ localizedResourcesMap: import_zod.z.custom()
33
+ });
34
+ const RenderElementPayload = {
35
+ schema: import_zod.z.object({
36
+ elementData: import_controls.Schema.elementData,
37
+ cacheData,
38
+ documentContext
39
+ })
40
+ };
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ RenderElementPayload
44
+ });
45
+ //# sourceMappingURL=render-element-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/server/render-element-payload.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { Schema } from '@makeswift/controls'\n\nimport { type CacheData } from '../../../api/api-resources-client'\n\nconst documentContext = z.object({\n key: z.string(),\n locale: z.string().optional(),\n})\n\nconst cacheData = z.object({\n apiResources: z.custom<CacheData['apiResources']>(),\n localizedResourcesMap: z.custom<CacheData['localizedResourcesMap']>(),\n})\n\n/**\n * Client-to-server payload for rendering a single server element\n */\nexport const RenderElementPayload = {\n schema: z.object({\n elementData: Schema.elementData,\n cacheData,\n documentContext,\n }),\n}\n\nexport type RenderElementPayload = z.infer<typeof RenderElementPayload.schema>\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAElB,sBAAuB;AAIvB,MAAM,kBAAkB,aAAE,OAAO;AAAA,EAC/B,KAAK,aAAE,OAAO;AAAA,EACd,QAAQ,aAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAED,MAAM,YAAY,aAAE,OAAO;AAAA,EACzB,cAAc,aAAE,OAAkC;AAAA,EAClD,uBAAuB,aAAE,OAA2C;AACtE,CAAC;AAKM,MAAM,uBAAuB;AAAA,EAClC,QAAQ,aAAE,OAAO;AAAA,IACf,aAAa,uBAAO;AAAA,IACpB;AAAA,IACA;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var resolve_props_exports = {};
20
+ __export(resolve_props_exports, {
21
+ resolveProps: () => resolveProps
22
+ });
23
+ module.exports = __toCommonJS(resolve_props_exports);
24
+ var import_controls = require("@makeswift/controls");
25
+ var import_resource_resolver = require("./resource-resolver");
26
+ var import_prop_error_handling_proxy = require("../utils/prop-error-handling-proxy");
27
+ async function resolveProps(context, element, documentKey, propDefs, stylesheet) {
28
+ const resourceResolver = (0, import_resource_resolver.serverResourceResolver)({ ...context, documentKey });
29
+ const resolveProp = (def, propName) => {
30
+ const data = element.props[propName];
31
+ const control = def.createInstance({
32
+ // these are top-level controls, so passing `propName` for `propPath` is appropriate
33
+ instanceKey: { elementKey: element.key, propPath: propName },
34
+ sendMessage: () => {
35
+ }
36
+ });
37
+ return def.resolveValue(data, resourceResolver, stylesheet.child(propName), control);
38
+ };
39
+ const resolvables = (0, import_controls.mapValues)(propDefs, (def, propName) => {
40
+ const defaultValue = def.config?.defaultValue;
41
+ return (0, import_prop_error_handling_proxy.propErrorHandlingProxy)(resolveProp(def, propName), defaultValue, (error) => {
42
+ console.warn(
43
+ `Error reading value for prop "${propName}", falling back to \`${defaultValue}\`.`,
44
+ { control: def, error }
45
+ );
46
+ });
47
+ });
48
+ await Promise.all(Object.entries(resolvables).map(([_, sub]) => sub.triggerResolve()));
49
+ return Object.entries(resolvables).reduce(
50
+ (result, [propName, subscription]) => ({ ...result, [propName]: subscription.readStable() }),
51
+ {}
52
+ );
53
+ }
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ resolveProps
57
+ });
58
+ //# sourceMappingURL=resolve-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/server/resolve-props.ts"],"sourcesContent":["import { type ElementData, ControlDefinition, mapValues, Stylesheet } from '@makeswift/controls'\n\nimport { type ServerRenderContext } from './render-context'\nimport { serverResourceResolver } from './resource-resolver'\n\nimport { propErrorHandlingProxy } from '../utils/prop-error-handling-proxy'\n\n/**\n * Server-side counterpart of the `useResolvedProps` hook.\n */\nexport async function resolveProps(\n context: ServerRenderContext,\n element: ElementData,\n documentKey: string,\n propDefs: Record<string, ControlDefinition>,\n stylesheet: Stylesheet,\n): Promise<Record<string, unknown>> {\n const resourceResolver = serverResourceResolver({ ...context, documentKey })\n\n const resolveProp = (def: ControlDefinition, propName: string) => {\n const data = element.props[propName]\n\n // Create a \"placeholder\" control instance so that controls that resolve to\n // React nodes can use `instanceKey` to reconstruct themselves on the client\n // (see `react/controls/slot/render-slot.tsx`).\n const control = def.createInstance({\n // these are top-level controls, so passing `propName` for `propPath` is appropriate\n instanceKey: { elementKey: element.key, propPath: propName },\n sendMessage: () => {},\n })\n\n return def.resolveValue(data, resourceResolver, stylesheet.child(propName), control)\n }\n\n const resolvables = mapValues(propDefs, (def, propName) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const defaultValue = (def.config as any)?.defaultValue\n return propErrorHandlingProxy(resolveProp(def, propName), defaultValue, error => {\n console.warn(\n `Error reading value for prop \"${propName}\", falling back to \\`${defaultValue}\\`.`,\n { control: def, error },\n )\n })\n })\n\n // wait for side-effects (resource fetching, updating list child controls)\n await Promise.all(Object.entries(resolvables).map(([_, sub]) => sub.triggerResolve()))\n\n return Object.entries(resolvables).reduce<Record<string, unknown>>(\n (result, [propName, subscription]) => ({ ...result, [propName]: subscription.readStable() }),\n {},\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2E;AAG3E,+BAAuC;AAEvC,uCAAuC;AAKvC,eAAsB,aACpB,SACA,SACA,aACA,UACA,YACkC;AAClC,QAAM,uBAAmB,iDAAuB,EAAE,GAAG,SAAS,YAAY,CAAC;AAE3E,QAAM,cAAc,CAAC,KAAwB,aAAqB;AAChE,UAAM,OAAO,QAAQ,MAAM,QAAQ;AAKnC,UAAM,UAAU,IAAI,eAAe;AAAA;AAAA,MAEjC,aAAa,EAAE,YAAY,QAAQ,KAAK,UAAU,SAAS;AAAA,MAC3D,aAAa,MAAM;AAAA,MAAC;AAAA,IACtB,CAAC;AAED,WAAO,IAAI,aAAa,MAAM,kBAAkB,WAAW,MAAM,QAAQ,GAAG,OAAO;AAAA,EACrF;AAEA,QAAM,kBAAc,2BAAU,UAAU,CAAC,KAAK,aAAa;AAEzD,UAAM,eAAgB,IAAI,QAAgB;AAC1C,eAAO,yDAAuB,YAAY,KAAK,QAAQ,GAAG,cAAc,WAAS;AAC/E,cAAQ;AAAA,QACN,iCAAiC,QAAQ,wBAAwB,YAAY;AAAA,QAC7E,EAAE,SAAS,KAAK,MAAM;AAAA,MACxB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,QAAM,QAAQ,IAAI,OAAO,QAAQ,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC;AAErF,SAAO,OAAO,QAAQ,WAAW,EAAE;AAAA,IACjC,CAAC,QAAQ,CAAC,UAAU,YAAY,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,GAAG,aAAa,WAAW,EAAE;AAAA,IAC1F,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var resource_resolver_exports = {};
20
+ __export(resource_resolver_exports, {
21
+ serverResourceResolver: () => serverResourceResolver
22
+ });
23
+ module.exports = __toCommonJS(resource_resolver_exports);
24
+ var import_resource_resolver = require("../resource-resolver");
25
+ var import_render_context = require("./render-context");
26
+ function serverResourceResolver(context) {
27
+ const store = (0, import_render_context.getStore)(context);
28
+ const apiClient = store.apiResourcesClient;
29
+ return (0, import_resource_resolver.createResourceResolver)({
30
+ store,
31
+ apiClient,
32
+ documentKey: context.documentKey,
33
+ locale: context.locale ?? null
34
+ });
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ serverResourceResolver
39
+ });
40
+ //# sourceMappingURL=resource-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/server/resource-resolver.ts"],"sourcesContent":["import { type ResourceResolver, createResourceResolver } from '../resource-resolver'\n\nimport { type ServerRenderContext, getStore } from './render-context'\n\nexport function serverResourceResolver(\n context: ServerRenderContext & { documentKey: string },\n): ResourceResolver {\n const store = getStore(context)\n const apiClient = store.apiResourcesClient\n\n return createResourceResolver({\n store,\n apiClient,\n documentKey: context.documentKey,\n locale: context.locale ?? null,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAA8D;AAE9D,4BAAmD;AAE5C,SAAS,uBACd,SACkB;AAClB,QAAM,YAAQ,gCAAS,OAAO;AAC9B,QAAM,YAAY,MAAM;AAExB,aAAO,iDAAuB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ,UAAU;AAAA,EAC5B,CAAC;AACH;","names":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var update_api_resource_cache_exports = {};
20
+ __export(update_api_resource_cache_exports, {
21
+ updateApiResourceCache: () => updateApiResourceCache
22
+ });
23
+ module.exports = __toCommonJS(update_api_resource_cache_exports);
24
+ var import_read_write_actions = require("../../../state/actions/internal/read-write-actions");
25
+ function updateApiResourceCache(store, cacheData) {
26
+ store.apiResourcesClient.store.dispatch((0, import_read_write_actions.updateAPIClientCache)(cacheData));
27
+ }
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ updateApiResourceCache
31
+ });
32
+ //# sourceMappingURL=update-api-resource-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/server/update-api-resource-cache.ts"],"sourcesContent":["import { type CacheData } from '../../../api/api-resources-client'\n\nimport { updateAPIClientCache } from '../../../state/actions/internal/read-write-actions'\n\nimport { type Store } from '../../../state/store'\n\nexport function updateApiResourceCache(store: Store, cacheData: CacheData) {\n store.apiResourcesClient.store.dispatch(updateAPIClientCache(cacheData))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,gCAAqC;AAI9B,SAAS,uBAAuB,OAAc,WAAsB;AACzE,QAAM,mBAAmB,MAAM,aAAS,gDAAqB,SAAS,CAAC;AACzE;","names":[]}