@makeswift/runtime 0.2.18 → 0.3.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 (235) hide show
  1. package/dist/Box.cjs.js +35 -70
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +34 -65
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +176 -208
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +177 -208
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +227 -249
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +229 -247
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +270 -203
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +273 -202
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +50 -71
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +51 -68
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +6 -17
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +7 -14
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +723 -553
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +723 -552
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +16 -38
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +17 -38
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/Navigation.cjs.js +318 -224
  34. package/dist/Navigation.cjs.js.map +1 -1
  35. package/dist/Navigation.es.js +318 -220
  36. package/dist/Navigation.es.js.map +1 -1
  37. package/dist/Root.cjs.js +116 -78
  38. package/dist/Root.cjs.js.map +1 -1
  39. package/dist/Root.es.js +99 -77
  40. package/dist/Root.es.js.map +1 -1
  41. package/dist/SocialLinks.cjs.js +119 -86
  42. package/dist/SocialLinks.cjs.js.map +1 -1
  43. package/dist/SocialLinks.es.js +120 -83
  44. package/dist/SocialLinks.es.js.map +1 -1
  45. package/dist/Text.cjs.js +83 -99
  46. package/dist/Text.cjs.js.map +1 -1
  47. package/dist/Text.es.js +84 -99
  48. package/dist/Text.es.js.map +1 -1
  49. package/dist/Video.cjs.js +8 -19
  50. package/dist/Video.cjs.js.map +1 -1
  51. package/dist/Video.es.js +8 -18
  52. package/dist/Video.es.js.map +1 -1
  53. package/dist/actions.cjs.js +6 -1
  54. package/dist/actions.cjs.js.map +1 -1
  55. package/dist/actions.es.js +6 -2
  56. package/dist/actions.es.js.map +1 -1
  57. package/dist/components.cjs.js +6 -18
  58. package/dist/components.cjs.js.map +1 -1
  59. package/dist/components.es.js +5 -8
  60. package/dist/components.es.js.map +1 -1
  61. package/dist/controls.es.js +1 -1
  62. package/dist/grid-item.cjs.js +612 -0
  63. package/dist/grid-item.cjs.js.map +1 -0
  64. package/dist/grid-item.es.js +604 -0
  65. package/dist/grid-item.es.js.map +1 -0
  66. package/dist/index.cjs.js +592 -275
  67. package/dist/index.cjs.js.map +1 -1
  68. package/dist/index.cjs2.js +98 -474
  69. package/dist/index.cjs2.js.map +1 -1
  70. package/dist/index.cjs3.js +20 -107
  71. package/dist/index.cjs3.js.map +1 -1
  72. package/dist/index.es.js +587 -274
  73. package/dist/index.es.js.map +1 -1
  74. package/dist/index.es2.js +99 -473
  75. package/dist/index.es2.js.map +1 -1
  76. package/dist/index.es3.js +21 -103
  77. package/dist/index.es3.js.map +1 -1
  78. package/dist/next.cjs.js +1 -2
  79. package/dist/next.cjs.js.map +1 -1
  80. package/dist/next.es.js +2 -3
  81. package/dist/next.es.js.map +1 -1
  82. package/dist/react-builder-preview.cjs.js +16 -3
  83. package/dist/react-builder-preview.cjs.js.map +1 -1
  84. package/dist/react-builder-preview.es.js +19 -6
  85. package/dist/react-builder-preview.es.js.map +1 -1
  86. package/dist/react.cjs.js +1 -2
  87. package/dist/react.cjs.js.map +1 -1
  88. package/dist/react.es.js +1 -2
  89. package/dist/react.es.js.map +1 -1
  90. package/dist/slot.cjs.js +41 -6
  91. package/dist/slot.cjs.js.map +1 -1
  92. package/dist/slot.es.js +36 -6
  93. package/dist/slot.es.js.map +1 -1
  94. package/dist/types/src/components/builtin/Box/Box.d.ts +7 -7
  95. package/dist/types/src/components/builtin/Box/Box.d.ts.map +1 -1
  96. package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -1
  97. package/dist/types/src/components/builtin/Box/register.d.ts.map +1 -1
  98. package/dist/types/src/components/builtin/Button/Button.d.ts +46 -34
  99. package/dist/types/src/components/builtin/Button/Button.d.ts.map +1 -1
  100. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts +5 -5
  101. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  102. package/dist/types/src/components/builtin/Carousel/register.d.ts.map +1 -1
  103. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts +3 -3
  104. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  105. package/dist/types/src/components/builtin/Countdown/register.d.ts.map +1 -1
  106. package/dist/types/src/components/builtin/Divider/Divider.d.ts +3 -3
  107. package/dist/types/src/components/builtin/Divider/Divider.d.ts.map +1 -1
  108. package/dist/types/src/components/builtin/Divider/register.d.ts.map +1 -1
  109. package/dist/types/src/components/builtin/Embed/Embed.d.ts +3 -3
  110. package/dist/types/src/components/builtin/Embed/Embed.d.ts.map +1 -1
  111. package/dist/types/src/components/builtin/Form/Form.d.ts +3 -3
  112. package/dist/types/src/components/builtin/Form/Form.d.ts.map +1 -1
  113. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +4 -6
  114. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
  115. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +3 -0
  116. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -1
  117. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +2 -0
  118. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -1
  119. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts +3 -7
  120. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
  121. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts +7 -13
  122. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -1
  123. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +2 -0
  124. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -1
  125. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -1
  126. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +2 -0
  127. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -1
  128. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +2 -0
  129. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -1
  130. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
  131. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +4 -8
  132. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
  133. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +2 -0
  134. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -1
  135. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -1
  136. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
  137. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts +2 -7
  138. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
  139. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +2 -0
  140. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -1
  141. package/dist/types/src/components/builtin/Form/components/Field/services/{cssField.d.ts → responsiveField.d.ts} +5 -4
  142. package/dist/types/src/components/builtin/Form/components/Field/services/responsiveField.d.ts.map +1 -0
  143. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts +2 -3
  144. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
  145. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
  146. package/dist/types/src/components/builtin/Form/register.d.ts.map +1 -1
  147. package/dist/types/src/components/builtin/Image/Image.d.ts +7 -7
  148. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
  149. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts +3 -3
  150. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  151. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts +8 -81
  152. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  153. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  154. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +8 -81
  155. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  156. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  157. package/dist/types/src/components/builtin/Navigation/register.d.ts.map +1 -1
  158. package/dist/types/src/components/builtin/Root/Root.d.ts +1 -2
  159. package/dist/types/src/components/builtin/Root/Root.d.ts.map +1 -1
  160. package/dist/types/src/components/builtin/Root/components/Placeholder/index.d.ts +1 -2
  161. package/dist/types/src/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -1
  162. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts +3 -3
  163. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  164. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  165. package/dist/types/src/components/builtin/SocialLinks/register.d.ts.map +1 -1
  166. package/dist/types/src/components/builtin/Text/Text.d.ts +3 -3
  167. package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
  168. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +8 -11
  169. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -1
  170. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +3 -6
  171. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +1 -1
  172. package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts +1 -1
  173. package/dist/types/src/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -1
  174. package/dist/types/src/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +1 -1
  175. package/dist/types/src/components/builtin/Text/register.d.ts.map +1 -1
  176. package/dist/types/src/components/builtin/Video/Video.d.ts +4 -4
  177. package/dist/types/src/components/builtin/Video/Video.d.ts.map +1 -1
  178. package/dist/types/src/components/builtin/Video/register.d.ts.map +1 -1
  179. package/dist/types/src/components/hooks/useBackgrounds.d.ts +1 -1
  180. package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -1
  181. package/dist/types/src/components/index.d.ts +0 -1
  182. package/dist/types/src/components/index.d.ts.map +1 -1
  183. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  184. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  185. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +255 -4
  186. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  187. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
  188. package/dist/types/src/components/shared/GutterContainer/index.d.ts +8 -4
  189. package/dist/types/src/components/shared/GutterContainer/index.d.ts.map +1 -1
  190. package/dist/types/src/components/shared/grid-item.d.ts +17 -0
  191. package/dist/types/src/components/shared/grid-item.d.ts.map +1 -0
  192. package/dist/types/src/components/utils/responsive-style.d.ts +22 -1
  193. package/dist/types/src/components/utils/responsive-style.d.ts.map +1 -1
  194. package/dist/types/src/controls/style.d.ts +5 -65
  195. package/dist/types/src/controls/style.d.ts.map +1 -1
  196. package/dist/types/src/css/border-radius.d.ts +20 -0
  197. package/dist/types/src/css/border-radius.d.ts.map +1 -0
  198. package/dist/types/src/css/border.d.ts +31 -0
  199. package/dist/types/src/css/border.d.ts.map +1 -0
  200. package/dist/types/src/css/length-percentage.d.ts +10 -0
  201. package/dist/types/src/css/length-percentage.d.ts.map +1 -0
  202. package/dist/types/src/css/length.d.ts +14 -0
  203. package/dist/types/src/css/length.d.ts.map +1 -0
  204. package/dist/types/src/css/margin.d.ts +20 -0
  205. package/dist/types/src/css/margin.d.ts.map +1 -0
  206. package/dist/types/src/css/padding.d.ts +20 -0
  207. package/dist/types/src/css/padding.d.ts.map +1 -0
  208. package/dist/types/src/next/document.d.ts.map +1 -1
  209. package/dist/types/src/prop-controllers/descriptors.d.ts +96 -33
  210. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  211. package/dist/types/src/runtimes/react/controls/style.d.ts.map +1 -1
  212. package/dist/types/src/runtimes/react/controls.d.ts +10 -2
  213. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  214. package/dist/types/src/runtimes/react/use-global-style.d.ts +3 -0
  215. package/dist/types/src/runtimes/react/use-global-style.d.ts.map +1 -0
  216. package/dist/types/src/state/actions.d.ts +13 -1
  217. package/dist/types/src/state/actions.d.ts.map +1 -1
  218. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  219. package/dist/useMediaQuery.es.js +1 -1
  220. package/package.json +1 -3
  221. package/dist/cssMediaRules.cjs.js +0 -210
  222. package/dist/cssMediaRules.cjs.js.map +0 -1
  223. package/dist/cssMediaRules.es.js +0 -201
  224. package/dist/cssMediaRules.es.js.map +0 -1
  225. package/dist/index.cjs4.js +0 -18
  226. package/dist/index.cjs4.js.map +0 -1
  227. package/dist/index.es4.js +0 -13
  228. package/dist/index.es4.js.map +0 -1
  229. package/dist/types/src/components/builtin/Form/components/Field/services/cssField.d.ts.map +0 -1
  230. package/dist/types/src/components/utils/cssMediaRules.d.ts +0 -69
  231. package/dist/types/src/components/utils/cssMediaRules.d.ts.map +0 -1
  232. package/dist/useBoxShadow.cjs.js +0 -78
  233. package/dist/useBoxShadow.cjs.js.map +0 -1
  234. package/dist/useBoxShadow.es.js +0 -77
  235. package/dist/useBoxShadow.es.js.map +0 -1
@@ -0,0 +1,612 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ var css = require("@emotion/css");
34
+ var framerMotion = require("framer-motion");
35
+ var React = require("react");
36
+ var next = require("./index.cjs.js");
37
+ var NextImage = require("next/image");
38
+ var jsxRuntime = require("react/jsx-runtime");
39
+ var ReactPlayer = require("react-player");
40
+ function _interopDefaultLegacy(e) {
41
+ return e && typeof e === "object" && "default" in e ? e : { "default": e };
42
+ }
43
+ var NextImage__default = /* @__PURE__ */ _interopDefaultLegacy(NextImage);
44
+ var ReactPlayer__default = /* @__PURE__ */ _interopDefaultLegacy(ReactPlayer);
45
+ function useBackgrounds(value) {
46
+ const fileIds = value == null ? [] : value.map(({ value: backgrounds }) => backgrounds.map((background) => background.type === "image" && background.payload != null ? background.payload.imageId : null).filter(next.isNonNullable).reduce((a, b) => a.concat(b), [])).reduce((a, b) => a.concat(b), []);
47
+ const swatchIds = value == null ? [] : value.map(({ value: backgrounds }) => backgrounds.map((background) => {
48
+ if (background.type === "color" && background.payload != null) {
49
+ return [background.payload.swatchId];
50
+ }
51
+ if (background.type === "gradient" && background.payload != null) {
52
+ return background.payload.stops.map((stop) => stop.color && stop.color.swatchId).filter(next.isNonNullable);
53
+ }
54
+ if (background.type === "video" && background.payload != null) {
55
+ return [background.payload.maskColor && background.payload.maskColor.swatchId];
56
+ }
57
+ return null;
58
+ }).filter(next.isNonNullable).reduce((a, b) => a.concat(b), [])).reduce((a, b) => a.concat(b), []).filter(next.isNonNullable);
59
+ const skip = value == null;
60
+ const filesResult = next.useQuery(next.FILES_BY_ID, {
61
+ skip: skip || fileIds.length === 0,
62
+ variables: { ids: fileIds }
63
+ });
64
+ const swatchesResult = next.useQuery(next.SWATCHES_BY_ID, {
65
+ skip: skip || swatchIds.length === 0,
66
+ variables: { ids: swatchIds }
67
+ });
68
+ return React.useMemo(() => {
69
+ const { data: filesData = {} } = filesResult;
70
+ const { data: swatchesData = {} } = swatchesResult;
71
+ if (value == null || filesResult.error != null || swatchesResult.error != null) {
72
+ return null;
73
+ }
74
+ const { files = [] } = filesData;
75
+ const { swatches = [] } = swatchesData;
76
+ return value.map((_a) => {
77
+ var _b = _a, { value: backgrounds } = _b, restOfValue = __objRest(_b, ["value"]);
78
+ return __spreadProps(__spreadValues({}, restOfValue), {
79
+ value: backgrounds.map((bg) => {
80
+ if (bg.type === "image" && bg.payload != null && bg.payload.imageId != null) {
81
+ const _a2 = bg.payload, { imageId } = _a2, restOfPayload = __objRest(_a2, ["imageId"]);
82
+ const file = files.find((f) => f && f.id === imageId);
83
+ return file && {
84
+ id: bg.id,
85
+ type: "image",
86
+ payload: __spreadProps(__spreadValues({}, restOfPayload), {
87
+ publicUrl: file.publicUrl,
88
+ dimensions: file.dimensions
89
+ })
90
+ };
91
+ }
92
+ if (bg.type === "color" && bg.payload != null) {
93
+ const { swatchId, alpha } = bg.payload;
94
+ const swatch = swatches.find((s) => s && s.id === swatchId);
95
+ return { id: bg.id, type: "color", payload: { swatch, alpha } };
96
+ }
97
+ if (bg.type === "gradient" && bg.payload != null && bg.payload.stops.length > 0) {
98
+ return {
99
+ id: bg.id,
100
+ type: "gradient",
101
+ payload: {
102
+ angle: bg.payload.angle,
103
+ isRadial: bg.payload.isRadial,
104
+ stops: bg.payload.stops.map((_b2) => {
105
+ var _c = _b2, { color } = _c, restOfStop = __objRest(_c, ["color"]);
106
+ return __spreadProps(__spreadValues({}, restOfStop), {
107
+ color: color && {
108
+ swatch: swatches.find((s) => s && s.id === color.swatchId),
109
+ alpha: color.alpha
110
+ }
111
+ });
112
+ })
113
+ }
114
+ };
115
+ }
116
+ if (bg.type === "video" && bg.payload != null) {
117
+ const _d = bg.payload, { maskColor } = _d, restOfPayload = __objRest(_d, ["maskColor"]);
118
+ const swatch = maskColor && swatches.find((s) => s && s.id === maskColor.swatchId);
119
+ return {
120
+ id: bg.id,
121
+ type: "video",
122
+ payload: __spreadProps(__spreadValues({}, restOfPayload), {
123
+ maskColor: swatch && maskColor && { swatch, alpha: maskColor.alpha }
124
+ })
125
+ };
126
+ }
127
+ return null;
128
+ }).filter(Boolean)
129
+ });
130
+ });
131
+ }, [filesResult, swatchesResult, value]);
132
+ }
133
+ const clamp = (min, val, max) => Math.min(Math.max(min, val), max);
134
+ function isScrollable(element) {
135
+ const {
136
+ overflow,
137
+ overflowY,
138
+ overflowX
139
+ } = element.ownerDocument.defaultView.getComputedStyle(element);
140
+ return /(auto|scroll)/.test(overflow + overflowX + overflowY);
141
+ }
142
+ function getScrollParent(element) {
143
+ const {
144
+ parentElement
145
+ } = element;
146
+ if (!element || !parentElement)
147
+ return element;
148
+ if (isScrollable(element))
149
+ return element;
150
+ return getScrollParent(parentElement);
151
+ }
152
+ function Parallax(_a) {
153
+ var _b = _a, {
154
+ strength,
155
+ children
156
+ } = _b, rest = __objRest(_b, [
157
+ "strength",
158
+ "children"
159
+ ]);
160
+ const container = React.useRef(null);
161
+ const [containerScrollTop, setContainerScrollTop] = React.useState(strength == null ? 0 : strength);
162
+ const lastScrollParentScrollTop = React.useRef(0);
163
+ next.useIsomorphicLayoutEffect(() => {
164
+ if (!container.current || strength == null || strength === 0)
165
+ return void 0;
166
+ const containerDocument = container.current.ownerDocument;
167
+ const scrollParent = getScrollParent(container.current);
168
+ const eventTarget = containerDocument.documentElement === scrollParent ? containerDocument.defaultView : scrollParent;
169
+ lastScrollParentScrollTop.current = scrollParent.scrollTop;
170
+ setContainerScrollTop(strength);
171
+ function handleScroll() {
172
+ containerDocument.defaultView.requestAnimationFrame(() => {
173
+ if (!container.current)
174
+ return;
175
+ const {
176
+ top: containerTop,
177
+ bottom: containerBottom
178
+ } = container.current.getBoundingClientRect();
179
+ const {
180
+ top: scrollParentTop,
181
+ bottom: scrollParentBottom
182
+ } = scrollParent === containerDocument.documentElement ? {
183
+ top: 0,
184
+ bottom: containerDocument.defaultView.innerHeight
185
+ } : scrollParent.getBoundingClientRect();
186
+ const {
187
+ scrollTop: scrollParentScrollTop
188
+ } = scrollParent === containerDocument.documentElement ? {
189
+ scrollTop: containerDocument.defaultView.pageYOffset
190
+ } : scrollParent;
191
+ const scrollParentHeight = scrollParentBottom - scrollParentTop;
192
+ const scrollParentScrollDelta = scrollParentScrollTop - lastScrollParentScrollTop.current;
193
+ lastScrollParentScrollTop.current = scrollParentScrollTop;
194
+ setContainerScrollTop((scrollTop) => {
195
+ const isContainerVisible = containerTop < scrollParentTop + scrollParentHeight && containerBottom > scrollParentTop;
196
+ const containerScrollRemaining = scrollParentScrollDelta > 0 ? 2 * strength - scrollTop : scrollTop;
197
+ const scrollParentScrollRemaining = scrollParentScrollDelta > 0 ? scrollParentTop + containerBottom : scrollParentHeight - containerTop;
198
+ const parallaxRatio = containerScrollRemaining / scrollParentScrollRemaining;
199
+ const containerScrollDelta = isContainerVisible ? parallaxRatio * scrollParentScrollDelta : 0;
200
+ return clamp(0, scrollTop + containerScrollDelta, strength * 2);
201
+ });
202
+ });
203
+ }
204
+ eventTarget.addEventListener("scroll", handleScroll);
205
+ return () => eventTarget.removeEventListener("scroll", handleScroll);
206
+ }, [strength]);
207
+ const getProps = React.useCallback((_a2) => {
208
+ var _b2 = _a2, {
209
+ style
210
+ } = _b2, restOfChildrenProps = __objRest(_b2, [
211
+ "style"
212
+ ]);
213
+ return __spreadProps(__spreadValues({}, restOfChildrenProps), {
214
+ style: __spreadValues(__spreadProps(__spreadValues({}, style), {
215
+ position: "absolute",
216
+ left: 0,
217
+ right: 0,
218
+ top: 0,
219
+ bottom: 0
220
+ }), strength == null || strength === 0 ? {} : {
221
+ top: -strength,
222
+ bottom: -strength,
223
+ transform: `translate3d(0, ${containerScrollTop - strength}px, 0)`
224
+ })
225
+ });
226
+ }, [strength, containerScrollTop]);
227
+ return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, rest), {
228
+ ref: container,
229
+ style: {
230
+ position: "absolute",
231
+ top: 0,
232
+ left: 0,
233
+ right: 0,
234
+ bottom: 0
235
+ },
236
+ children: children(getProps)
237
+ }));
238
+ }
239
+ const Container = React.forwardRef(function Container2(_c, ref) {
240
+ var _d = _c, {
241
+ className
242
+ } = _d, restOfProps = __objRest(_d, [
243
+ "className"
244
+ ]);
245
+ return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, restOfProps), {
246
+ ref,
247
+ className: css.cx(next.useStyle({
248
+ position: "absolute",
249
+ top: 0,
250
+ left: 0,
251
+ right: 0,
252
+ bottom: 0,
253
+ pointerEvents: "none",
254
+ overflow: "hidden"
255
+ }), className)
256
+ }));
257
+ });
258
+ function Mask({
259
+ backgroundColor,
260
+ visible
261
+ }) {
262
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
263
+ className: next.useStyle({
264
+ position: "absolute",
265
+ top: 0,
266
+ left: 0,
267
+ right: 0,
268
+ bottom: 0,
269
+ background: backgroundColor,
270
+ opacity: visible ? 1 : 0,
271
+ transition: "opacity 1s"
272
+ })
273
+ });
274
+ }
275
+ const getScale = (element, aspectRatio, zoom) => {
276
+ const {
277
+ offsetWidth: width,
278
+ offsetHeight: height
279
+ } = element;
280
+ const computedAspectRatio = width / height;
281
+ return Math.max(aspectRatio / computedAspectRatio, computedAspectRatio / aspectRatio) * zoom;
282
+ };
283
+ function BackgroundVideo({
284
+ url = "",
285
+ aspectRatio = 16 / 9,
286
+ zoom = 1,
287
+ maskColor,
288
+ opacity
289
+ }) {
290
+ var _a;
291
+ const [ready, setReady] = React.useState(false);
292
+ const [scale, setScale] = React.useState(1);
293
+ const container = React.useRef(null);
294
+ next.useIsomorphicLayoutEffect(() => {
295
+ const {
296
+ current: containerEl
297
+ } = container;
298
+ if (!containerEl)
299
+ return void 0;
300
+ const {
301
+ defaultView
302
+ } = containerEl.ownerDocument;
303
+ const handleResize = () => setScale(getScale(containerEl, aspectRatio, zoom));
304
+ handleResize();
305
+ defaultView.addEventListener("resize", handleResize);
306
+ return () => defaultView.removeEventListener("resize", handleResize);
307
+ }, [aspectRatio, zoom]);
308
+ if (!ReactPlayer__default["default"].canPlay(url))
309
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
310
+ return /* @__PURE__ */ jsxRuntime.jsxs(Container, {
311
+ ref: container,
312
+ children: [container.current && /* @__PURE__ */ jsxRuntime.jsx(ReactPlayer__default["default"], {
313
+ url,
314
+ config: {
315
+ vimeo: {
316
+ playerOptions: {
317
+ background: true
318
+ }
319
+ },
320
+ youtube: {
321
+ playerVars: {
322
+ origin: (_a = container.current.ownerDocument.defaultView) == null ? void 0 : _a.location.origin
323
+ }
324
+ },
325
+ wistia: {
326
+ options: {
327
+ endVideoBehavior: "loop",
328
+ playbackRateControl: false,
329
+ playbar: false,
330
+ playButton: false,
331
+ volumeControl: false,
332
+ fullscreenButton: false,
333
+ muted: true
334
+ }
335
+ }
336
+ },
337
+ playing: true,
338
+ loop: true,
339
+ muted: true,
340
+ controls: false,
341
+ onReady: () => setReady(true),
342
+ style: {
343
+ transform: `scale3d(${scale}, ${scale}, 1)`,
344
+ opacity
345
+ },
346
+ width: "100%",
347
+ height: "100%"
348
+ }), /* @__PURE__ */ jsxRuntime.jsx(Mask, {
349
+ backgroundColor: maskColor,
350
+ visible: !ready
351
+ })]
352
+ });
353
+ }
354
+ function getColor(color) {
355
+ if (color == null)
356
+ return "black";
357
+ if (color.swatch == null) {
358
+ return next.colorToString(__spreadProps(__spreadValues({}, color), {
359
+ swatch: {
360
+ hue: 0,
361
+ saturation: 0,
362
+ lightness: 0
363
+ }
364
+ }));
365
+ }
366
+ return next.colorToString(color);
367
+ }
368
+ const getStopsStyle = (stops) => stops.map(({
369
+ color,
370
+ location
371
+ }) => `${getColor(color)} ${location}%`).join(",");
372
+ const absoluteFillStyle = {
373
+ position: "absolute",
374
+ top: 0,
375
+ right: 0,
376
+ bottom: 0,
377
+ left: 0
378
+ };
379
+ const containerStyle = __spreadProps(__spreadValues({}, absoluteFillStyle), {
380
+ borderRadius: "inherit"
381
+ });
382
+ function Backgrounds({
383
+ backgrounds
384
+ }) {
385
+ if (backgrounds == null)
386
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
387
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
388
+ children: backgrounds.map(({
389
+ value,
390
+ deviceId
391
+ }) => {
392
+ const visibility = backgrounds.map((v) => ({
393
+ deviceId: v.deviceId,
394
+ value: v.deviceId === deviceId
395
+ }));
396
+ return /* @__PURE__ */ jsxRuntime.jsx(BackgroundDeviceLayer, {
397
+ layer: value,
398
+ visibility
399
+ }, deviceId);
400
+ })
401
+ });
402
+ }
403
+ function BackgroundDeviceLayer({
404
+ layer,
405
+ visibility
406
+ }) {
407
+ const visibilityStyle = next.responsiveStyle([visibility], ([v]) => ({
408
+ display: v === true ? "block" : "none"
409
+ }));
410
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
411
+ className: next.useStyle(__spreadProps(__spreadValues(__spreadValues({}, containerStyle), visibilityStyle), {
412
+ overflow: "hidden"
413
+ })),
414
+ children: [...layer].reverse().map((bg) => {
415
+ if (bg.type === "color") {
416
+ return /* @__PURE__ */ jsxRuntime.jsx(ColorBackground, {
417
+ color: getColor(bg.payload)
418
+ }, bg.id);
419
+ }
420
+ if (bg.type === "image" && bg.payload) {
421
+ return /* @__PURE__ */ React.createElement(ImageBackground, __spreadProps(__spreadValues({}, bg.payload), {
422
+ key: bg.id
423
+ }));
424
+ }
425
+ if (bg.type === "gradient" && bg.payload) {
426
+ return /* @__PURE__ */ React.createElement(GradientBackground, __spreadProps(__spreadValues({}, bg.payload), {
427
+ key: bg.id,
428
+ gradient: getStopsStyle(bg.payload.stops)
429
+ }));
430
+ }
431
+ if (bg.type === "video" && bg.payload) {
432
+ return /* @__PURE__ */ React.createElement(VideoBackground, __spreadProps(__spreadValues({}, bg.payload), {
433
+ key: bg.id,
434
+ maskColor: getColor(bg.payload.maskColor)
435
+ }));
436
+ }
437
+ return null;
438
+ })
439
+ });
440
+ }
441
+ function ColorBackground({
442
+ color
443
+ }) {
444
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
445
+ className: next.useStyle(__spreadProps(__spreadValues({}, containerStyle), {
446
+ backgroundColor: color
447
+ }))
448
+ });
449
+ }
450
+ const ImageBackgroundRepeat = {
451
+ NoRepeat: "no-repeat",
452
+ RepeatX: "repeat-x",
453
+ RepeatY: "repeat-y",
454
+ Repeat: "repeat"
455
+ };
456
+ const ImageBackgroundSize = {
457
+ Cover: "cover",
458
+ Contain: "contain",
459
+ Auto: "auto"
460
+ };
461
+ function ImageBackground({
462
+ publicUrl,
463
+ position,
464
+ repeat = ImageBackgroundRepeat.NoRepeat,
465
+ size = ImageBackgroundSize.Cover,
466
+ opacity,
467
+ parallax
468
+ }) {
469
+ const backgroundPosition = `${position.x}% ${position.y}%`;
470
+ const containerClassName = next.useStyle(containerStyle);
471
+ if (repeat === "no-repeat" && size !== "auto" && publicUrl != null) {
472
+ return /* @__PURE__ */ jsxRuntime.jsx(Parallax, {
473
+ strength: parallax,
474
+ children: (getParallaxProps) => /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, getParallaxProps({
475
+ style: {
476
+ opacity,
477
+ overflow: "hidden"
478
+ }
479
+ })), {
480
+ children: /* @__PURE__ */ jsxRuntime.jsx(NextImage__default["default"], {
481
+ src: publicUrl,
482
+ layout: "fill",
483
+ objectPosition: backgroundPosition,
484
+ objectFit: size
485
+ })
486
+ }))
487
+ });
488
+ }
489
+ return /* @__PURE__ */ jsxRuntime.jsx(Parallax, {
490
+ strength: parallax,
491
+ children: (getParallaxProps) => /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({
492
+ className: containerClassName
493
+ }, getParallaxProps({
494
+ style: {
495
+ backgroundImage: publicUrl != null ? `url('${publicUrl}')` : void 0,
496
+ backgroundPosition,
497
+ backgroundRepeat: repeat,
498
+ backgroundSize: size,
499
+ opacity
500
+ }
501
+ })))
502
+ });
503
+ }
504
+ function GradientBackground({
505
+ gradient,
506
+ isRadial,
507
+ angle
508
+ }) {
509
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
510
+ className: next.useStyle(__spreadProps(__spreadValues({}, containerStyle), {
511
+ background: isRadial ? `radial-gradient(${gradient})` : `linear-gradient(${angle}rad, ${gradient})`
512
+ }))
513
+ });
514
+ }
515
+ function getAspectRatio(aspectRatio) {
516
+ switch (aspectRatio) {
517
+ case "wide":
518
+ return 16 / 9;
519
+ case "standard":
520
+ return 4 / 3;
521
+ default:
522
+ return 16 / 9;
523
+ }
524
+ }
525
+ function VideoBackground({
526
+ url,
527
+ aspectRatio,
528
+ maskColor,
529
+ zoom,
530
+ opacity,
531
+ parallax
532
+ }) {
533
+ return /* @__PURE__ */ jsxRuntime.jsx(Parallax, {
534
+ strength: parallax,
535
+ children: (getParallaxProps) => /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, getParallaxProps({
536
+ className: next.useStyle(containerStyle)
537
+ })), {
538
+ children: /* @__PURE__ */ jsxRuntime.jsx(BackgroundVideo, {
539
+ url,
540
+ zoom,
541
+ opacity,
542
+ aspectRatio: getAspectRatio(aspectRatio),
543
+ maskColor
544
+ })
545
+ }))
546
+ });
547
+ }
548
+ var BackgroundsContainer = React.forwardRef(function BackgroundsContainer2(_e, ref) {
549
+ var _f = _e, {
550
+ hasAnimations = false,
551
+ backgrounds,
552
+ children,
553
+ className
554
+ } = _f, restOfProps = __objRest(_f, [
555
+ "hasAnimations",
556
+ "backgrounds",
557
+ "children",
558
+ "className"
559
+ ]);
560
+ const [handle, setHandle] = React.useState(null);
561
+ const Component = hasAnimations ? framerMotion.motion.div : "div";
562
+ React.useImperativeHandle(ref, () => handle, [handle]);
563
+ return /* @__PURE__ */ jsxRuntime.jsxs(Component, __spreadProps(__spreadValues({}, restOfProps), {
564
+ ref: setHandle,
565
+ className: css.cx(next.useStyle({
566
+ position: "relative",
567
+ width: "100%",
568
+ margin: "0 auto",
569
+ "> *": {
570
+ borderRadius: "inherit",
571
+ height: "inherit"
572
+ },
573
+ "> :last-child": {
574
+ position: "relative"
575
+ }
576
+ }), className),
577
+ children: [/* @__PURE__ */ jsxRuntime.jsx(Backgrounds, {
578
+ backgrounds: useBackgrounds(backgrounds)
579
+ }), React.Children.only(children)]
580
+ }));
581
+ });
582
+ function GridItem(_g) {
583
+ var _h = _g, {
584
+ as,
585
+ grid,
586
+ index,
587
+ columnGap,
588
+ rowGap,
589
+ className
590
+ } = _h, restOfProps = __objRest(_h, [
591
+ "as",
592
+ "grid",
593
+ "index",
594
+ "columnGap",
595
+ "rowGap",
596
+ "className"
597
+ ]);
598
+ const gridItemClassName = next.useStyle(next.responsiveGridItem({
599
+ grid,
600
+ index,
601
+ columnGap,
602
+ rowGap
603
+ }));
604
+ const Component = as != null ? as : "div";
605
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, __spreadProps(__spreadValues({}, restOfProps), {
606
+ className: css.cx(gridItemClassName, className)
607
+ }));
608
+ }
609
+ exports.BackgroundsContainer = BackgroundsContainer;
610
+ exports.GridItem = GridItem;
611
+ exports.useBackgrounds = useBackgrounds;
612
+ //# sourceMappingURL=grid-item.cjs.js.map