@makeswift/runtime 0.5.0 → 0.5.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 (88) hide show
  1. package/dist/Box.cjs.js +30 -270
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +29 -269
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +1 -1
  6. package/dist/Button.es.js +2 -2
  7. package/dist/Carousel.cjs.js +3 -4
  8. package/dist/Carousel.cjs.js.map +1 -1
  9. package/dist/Carousel.es.js +2 -3
  10. package/dist/Carousel.es.js.map +1 -1
  11. package/dist/Countdown.es.js +1 -1
  12. package/dist/Divider.es.js +1 -1
  13. package/dist/Embed.cjs.js +2 -1
  14. package/dist/Embed.cjs.js.map +1 -1
  15. package/dist/Embed.es.js +2 -1
  16. package/dist/Embed.es.js.map +1 -1
  17. package/dist/Form.cjs.js +1 -1
  18. package/dist/Form.es.js +2 -2
  19. package/dist/Image.cjs.js +1 -1
  20. package/dist/Image.es.js +2 -2
  21. package/dist/LiveProvider.es.js +1 -1
  22. package/dist/Navigation.cjs.js +4 -3
  23. package/dist/Navigation.cjs.js.map +1 -1
  24. package/dist/Navigation.es.js +4 -3
  25. package/dist/Navigation.es.js.map +1 -1
  26. package/dist/PreviewProvider.es.js +1 -1
  27. package/dist/Root.cjs.js +5 -5
  28. package/dist/Root.cjs.js.map +1 -1
  29. package/dist/Root.es.js +3 -3
  30. package/dist/SocialLinks.cjs.js +2 -2
  31. package/dist/SocialLinks.es.js +3 -3
  32. package/dist/Text.cjs.js +1 -1
  33. package/dist/Text.es.js +2 -2
  34. package/dist/Video.es.js +1 -1
  35. package/dist/api.cjs.js +11 -20
  36. package/dist/api.cjs.js.map +1 -1
  37. package/dist/api.es.js +11 -20
  38. package/dist/api.es.js.map +1 -1
  39. package/dist/components.cjs.js +10 -9
  40. package/dist/components.cjs.js.map +1 -1
  41. package/dist/components.es.js +9 -8
  42. package/dist/components.es.js.map +1 -1
  43. package/dist/index.cjs.js +73 -43
  44. package/dist/index.cjs.js.map +1 -1
  45. package/dist/index.cjs2.js +711 -92
  46. package/dist/index.cjs2.js.map +1 -1
  47. package/dist/index.cjs3.js +107 -20
  48. package/dist/index.cjs3.js.map +1 -1
  49. package/dist/index.cjs4.js +59 -0
  50. package/dist/index.cjs4.js.map +1 -0
  51. package/dist/index.es.js +74 -43
  52. package/dist/index.es.js.map +1 -1
  53. package/dist/index.es2.js +708 -93
  54. package/dist/index.es2.js.map +1 -1
  55. package/dist/index.es3.js +103 -21
  56. package/dist/index.es3.js.map +1 -1
  57. package/dist/index.es4.js +58 -0
  58. package/dist/index.es4.js.map +1 -0
  59. package/dist/next.es.js +1 -1
  60. package/dist/types/src/api/graphql/documents/fragments.d.ts +7 -1
  61. package/dist/types/src/api/graphql/documents/fragments.d.ts.map +1 -1
  62. package/dist/types/src/api/graphql/generated/fragment-document-nodes.d.ts.map +1 -1
  63. package/dist/types/src/components/builtin/Box/Box.d.ts +18 -26
  64. package/dist/types/src/components/builtin/Box/Box.d.ts.map +1 -1
  65. package/dist/types/src/components/builtin/Box/animations.d.ts +13 -60
  66. package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -1
  67. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  68. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  69. package/dist/types/src/components/hooks/useMediaQuery.d.ts +1 -1
  70. package/dist/types/src/components/hooks/useMediaQuery.d.ts.map +1 -1
  71. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +1 -254
  72. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  73. package/dist/types/src/components/shared/grid-item.d.ts +9 -6
  74. package/dist/types/src/components/shared/grid-item.d.ts.map +1 -1
  75. package/dist/types/src/state/modules/api-resources.d.ts.map +1 -1
  76. package/dist/useIsomorphicLayoutEffect.cjs.js +6 -0
  77. package/dist/useIsomorphicLayoutEffect.cjs.js.map +1 -0
  78. package/dist/useIsomorphicLayoutEffect.es.js +5 -0
  79. package/dist/useIsomorphicLayoutEffect.es.js.map +1 -0
  80. package/package.json +1 -1
  81. package/dist/grid-item.cjs.js +0 -603
  82. package/dist/grid-item.cjs.js.map +0 -1
  83. package/dist/grid-item.es.js +0 -595
  84. package/dist/grid-item.es.js.map +0 -1
  85. package/dist/useMediaQuery.cjs.js +0 -26
  86. package/dist/useMediaQuery.cjs.js.map +0 -1
  87. package/dist/useMediaQuery.es.js +0 -25
  88. package/dist/useMediaQuery.es.js.map +0 -1
package/dist/index.cjs.js CHANGED
@@ -227,6 +227,43 @@ async function introspect(element, client, store) {
227
227
  pageIds: [...pageIds]
228
228
  };
229
229
  }
230
+ function is(x, y) {
231
+ if (x === y)
232
+ return x !== 0 || y !== 0 || 1 / x === 1 / y;
233
+ return x !== x && y !== y;
234
+ }
235
+ const { hasOwnProperty: hasOwnProperty$1 } = Object.prototype;
236
+ const shallowEqual = (a, b) => {
237
+ if (is(a, b))
238
+ return true;
239
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null)
240
+ return false;
241
+ const keysA = Object.keys(a);
242
+ const keysB = Object.keys(b);
243
+ if (keysA.length !== keysB.length)
244
+ return false;
245
+ for (let i = 0; i < keysA.length; i += 1) {
246
+ if (!hasOwnProperty$1.call(b, keysA[i]) || !is(a[keysA[i]], b[keysA[i]]))
247
+ return false;
248
+ }
249
+ return true;
250
+ };
251
+ const { hasOwnProperty } = Object.prototype;
252
+ const deepEqual = (a, b) => {
253
+ if (shallowEqual(a, b))
254
+ return true;
255
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null)
256
+ return false;
257
+ const keysA = Object.keys(a);
258
+ const keysB = Object.keys(b);
259
+ if (keysA.length !== keysB.length)
260
+ return false;
261
+ for (let i = 0; i < keysA.length; i += 1) {
262
+ if (!hasOwnProperty.call(b, keysA[i]) || !deepEqual(a[keysA[i]], b[keysA[i]]))
263
+ return false;
264
+ }
265
+ return true;
266
+ };
230
267
  function getInitialState(serializedState = []) {
231
268
  return new Map(serializedState.map(([resourceType, resources]) => [resourceType, new Map(resources)]));
232
269
  }
@@ -290,8 +327,12 @@ function reducer$1(state = getInitialState(), action) {
290
327
  });
291
328
  return new Map(state).set(types.APIResourceType.Typography, typographies);
292
329
  }
293
- case actions.ActionTypes.CHANGE_API_RESOURCE:
330
+ case actions.ActionTypes.CHANGE_API_RESOURCE: {
331
+ const existingApiResource = getAPIResource$1(state, action.payload.resource.__typename, action.payload.resource.id);
332
+ if (deepEqual(existingApiResource, action.payload.resource))
333
+ return state;
294
334
  return new Map(state).set(action.payload.resource.__typename, new Map(state.get(action.payload.resource.__typename)).set(action.payload.resource.id, action.payload.resource));
335
+ }
295
336
  case actions.ActionTypes.EVICT_API_RESOURCE: {
296
337
  const [resourceType, resourceId] = action.payload.id.split(":");
297
338
  if (!(resourceType in types.APIResourceType))
@@ -697,43 +738,6 @@ function MakeswiftProvider({
697
738
  children
698
739
  });
699
740
  }
700
- function is(x, y) {
701
- if (x === y)
702
- return x !== 0 || y !== 0 || 1 / x === 1 / y;
703
- return x !== x && y !== y;
704
- }
705
- const { hasOwnProperty: hasOwnProperty$1 } = Object.prototype;
706
- const shallowEqual = (a, b) => {
707
- if (is(a, b))
708
- return true;
709
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null)
710
- return false;
711
- const keysA = Object.keys(a);
712
- const keysB = Object.keys(b);
713
- if (keysA.length !== keysB.length)
714
- return false;
715
- for (let i = 0; i < keysA.length; i += 1) {
716
- if (!hasOwnProperty$1.call(b, keysA[i]) || !is(a[keysA[i]], b[keysA[i]]))
717
- return false;
718
- }
719
- return true;
720
- };
721
- const { hasOwnProperty } = Object.prototype;
722
- const deepEqual = (a, b) => {
723
- if (shallowEqual(a, b))
724
- return true;
725
- if (typeof a !== "object" || a === null || typeof b !== "object" || b === null)
726
- return false;
727
- const keysA = Object.keys(a);
728
- const keysB = Object.keys(b);
729
- if (keysA.length !== keysB.length)
730
- return false;
731
- for (let i = 0; i < keysA.length; i += 1) {
732
- if (!hasOwnProperty.call(b, keysA[i]) || !deepEqual(a[keysA[i]], b[keysA[i]]))
733
- return false;
734
- }
735
- return true;
736
- };
737
741
  const SnippetLocation = {
738
742
  Body: "BODY",
739
743
  Head: "HEAD"
@@ -1085,7 +1089,7 @@ class Document$1 extends NextDocument__default["default"] {
1085
1089
  });
1086
1090
  }
1087
1091
  }
1088
- const version = "0.5.0";
1092
+ const version = "0.5.2";
1089
1093
  function isErrorWithMessage(error) {
1090
1094
  return typeof error === "object" && error !== null && "message" in error && typeof error.message === "string";
1091
1095
  }
@@ -2881,8 +2885,35 @@ function useResponsiveColor(color) {
2881
2885
  return swatch == null ? null : __spreadProps(__spreadValues({}, rest), { value: { swatch, alpha } });
2882
2886
  }).filter(reactPage.isNonNullable);
2883
2887
  }
2884
- const isSSR = typeof window === "undefined" || /ServerSideRendering/.test(window.navigator && window.navigator.userAgent);
2885
- const useIsomorphicLayoutEffect = isSSR ? React.useEffect : React.useLayoutEffect;
2888
+ const DEVICE_QUERIES = DEVICES.map((device) => ({
2889
+ id: device.id,
2890
+ query: getDeviceMediaQuery(device).replace("@media", "")
2891
+ }));
2892
+ function subscribe(notify) {
2893
+ const cleanUpFns = DEVICE_QUERIES.map((q) => {
2894
+ const mediaQueryList = window.matchMedia(q.query);
2895
+ mediaQueryList.addEventListener("change", notify);
2896
+ return () => mediaQueryList.removeEventListener("change", notify);
2897
+ });
2898
+ return () => cleanUpFns.forEach((fn) => fn());
2899
+ }
2900
+ function useMediaQuery(responsiveValue) {
2901
+ const getServerSnapshot = () => {
2902
+ var _a;
2903
+ return (_a = findDeviceOverride(responsiveValue, DEVICES[0].id)) == null ? void 0 : _a.value;
2904
+ };
2905
+ function getSnapshot() {
2906
+ var _a;
2907
+ const deviceId = DEVICE_QUERIES.reduce((matchedDevice, deviceQueries) => {
2908
+ if (window.matchMedia(deviceQueries.query).matches) {
2909
+ return deviceQueries.id;
2910
+ }
2911
+ return matchedDevice;
2912
+ }, DEVICE_QUERIES[0].id);
2913
+ return (_a = findDeviceOverride(responsiveValue, deviceId)) == null ? void 0 : _a.value;
2914
+ }
2915
+ return shim.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
2916
+ }
2886
2917
  const getIndexes = (spans, index) => {
2887
2918
  const flattened = spans.reduce((a, s) => a.concat(s), []);
2888
2919
  if (index < 0 || index > flattened.length)
@@ -3999,7 +4030,6 @@ exports.colorToString = colorToString;
3999
4030
  exports.deepEqual = deepEqual;
4000
4031
  exports.findDeviceOverride = findDeviceOverride;
4001
4032
  exports.forwardNextDynamicRef = forwardNextDynamicRef;
4002
- exports.getDeviceMediaQuery = getDeviceMediaQuery;
4003
4033
  exports.getServerSideProps = getServerSideProps;
4004
4034
  exports.getStaticPaths = getStaticPaths;
4005
4035
  exports.getStaticProps = getStaticProps;
@@ -4018,8 +4048,8 @@ exports.useFile = useFile;
4018
4048
  exports.useFiles = useFiles;
4019
4049
  exports.useFormContext = useFormContext;
4020
4050
  exports.useIsInBuilder = useIsInBuilder;
4021
- exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
4022
4051
  exports.useMakeswiftClient = useMakeswiftClient;
4052
+ exports.useMediaQuery = useMediaQuery;
4023
4053
  exports.usePageId = usePageId;
4024
4054
  exports.usePagePathnameSlice = usePagePathnameSlice;
4025
4055
  exports.useResponsiveColor = useResponsiveColor;