@makeswift/runtime 0.0.22 → 0.1.1

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 (203) hide show
  1. package/dist/Box.cjs.js +502 -0
  2. package/dist/Box.cjs.js.map +1 -0
  3. package/dist/Box.es.js +496 -0
  4. package/dist/Box.es.js.map +1 -0
  5. package/dist/Button.cjs.js +308 -0
  6. package/dist/Button.cjs.js.map +1 -0
  7. package/dist/Button.es.js +301 -0
  8. package/dist/Button.es.js.map +1 -0
  9. package/dist/Carousel.cjs.js +487 -0
  10. package/dist/Carousel.cjs.js.map +1 -0
  11. package/dist/Carousel.es.js +481 -0
  12. package/dist/Carousel.es.js.map +1 -0
  13. package/dist/Countdown.cjs.js +340 -0
  14. package/dist/Countdown.cjs.js.map +1 -0
  15. package/dist/Countdown.es.js +334 -0
  16. package/dist/Countdown.es.js.map +1 -0
  17. package/dist/Divider.cjs.js +115 -0
  18. package/dist/Divider.cjs.js.map +1 -0
  19. package/dist/Divider.es.js +109 -0
  20. package/dist/Divider.es.js.map +1 -0
  21. package/dist/Embed.cjs.js +129 -0
  22. package/dist/Embed.cjs.js.map +1 -0
  23. package/dist/Embed.es.js +123 -0
  24. package/dist/Embed.es.js.map +1 -0
  25. package/dist/Form.cjs.js +1724 -0
  26. package/dist/Form.cjs.js.map +1 -0
  27. package/dist/Form.es.js +1697 -0
  28. package/dist/Form.es.js.map +1 -0
  29. package/dist/Image.cjs2.js +148 -0
  30. package/dist/Image.cjs2.js.map +1 -0
  31. package/dist/Image.es2.js +141 -0
  32. package/dist/Image.es2.js.map +1 -0
  33. package/dist/Navigation.cjs.js +736 -0
  34. package/dist/Navigation.cjs.js.map +1 -0
  35. package/dist/Navigation.es.js +710 -0
  36. package/dist/Navigation.es.js.map +1 -0
  37. package/dist/Root.cjs.js +143 -0
  38. package/dist/Root.cjs.js.map +1 -0
  39. package/dist/Root.es.js +137 -0
  40. package/dist/Root.es.js.map +1 -0
  41. package/dist/SocialLinks.cjs.js +900 -0
  42. package/dist/SocialLinks.cjs.js.map +1 -0
  43. package/dist/SocialLinks.es.js +874 -0
  44. package/dist/SocialLinks.es.js.map +1 -0
  45. package/dist/Text.cjs.js +475 -0
  46. package/dist/Text.cjs.js.map +1 -0
  47. package/dist/Text.es.js +467 -0
  48. package/dist/Text.es.js.map +1 -0
  49. package/dist/Video.cjs.js +121 -0
  50. package/dist/Video.cjs.js.map +1 -0
  51. package/dist/Video.es.js +114 -0
  52. package/dist/Video.es.js.map +1 -0
  53. package/dist/components.cjs.js +79 -58
  54. package/dist/components.cjs.js.map +1 -1
  55. package/dist/components.es.js +41 -18
  56. package/dist/components.es.js.map +1 -1
  57. package/dist/cssMediaRules.cjs.js +222 -0
  58. package/dist/cssMediaRules.cjs.js.map +1 -0
  59. package/dist/cssMediaRules.es.js +213 -0
  60. package/dist/cssMediaRules.es.js.map +1 -0
  61. package/dist/descriptors.es.js +1 -1
  62. package/dist/index.cjs.js +1408 -7741
  63. package/dist/index.cjs.js.map +1 -1
  64. package/dist/index.cjs2.js +522 -0
  65. package/dist/index.cjs2.js.map +1 -0
  66. package/dist/index.cjs3.js +141 -0
  67. package/dist/index.cjs3.js.map +1 -0
  68. package/dist/index.cjs4.js +18 -0
  69. package/dist/index.cjs4.js.map +1 -0
  70. package/dist/index.es.js +1339 -7697
  71. package/dist/index.es.js.map +1 -1
  72. package/dist/index.es2.js +514 -0
  73. package/dist/index.es2.js.map +1 -0
  74. package/dist/index.es3.js +134 -0
  75. package/dist/index.es3.js.map +1 -0
  76. package/dist/index.es4.js +13 -0
  77. package/dist/index.es4.js.map +1 -0
  78. package/dist/next.cjs.js +19 -201
  79. package/dist/next.cjs.js.map +1 -1
  80. package/dist/next.es.js +12 -192
  81. package/dist/next.es.js.map +1 -1
  82. package/dist/placeholders.cjs.js +13 -0
  83. package/dist/placeholders.cjs.js.map +1 -0
  84. package/dist/placeholders.es.js +12 -0
  85. package/dist/placeholders.es.js.map +1 -0
  86. package/dist/react-builder-preview.cjs.js +23 -33
  87. package/dist/react-builder-preview.cjs.js.map +1 -1
  88. package/dist/react-builder-preview.es.js +13 -23
  89. package/dist/react-builder-preview.es.js.map +1 -1
  90. package/dist/react-page.es.js +1 -1
  91. package/dist/react.cjs.js +16 -28
  92. package/dist/react.cjs.js.map +1 -1
  93. package/dist/react.es.js +8 -20
  94. package/dist/react.es.js.map +1 -1
  95. package/dist/types/components/builtin/Box/Box.d.ts +1 -4
  96. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  97. package/dist/types/components/builtin/Box/animations.d.ts +1 -8
  98. package/dist/types/components/builtin/Box/animations.d.ts.map +1 -1
  99. package/dist/types/components/builtin/Box/constants.d.ts +9 -0
  100. package/dist/types/components/builtin/Box/constants.d.ts.map +1 -0
  101. package/dist/types/components/builtin/Box/index.d.ts +2 -2
  102. package/dist/types/components/builtin/Box/index.d.ts.map +1 -1
  103. package/dist/types/components/builtin/Box/register.d.ts +3 -0
  104. package/dist/types/components/builtin/Box/register.d.ts.map +1 -0
  105. package/dist/types/components/builtin/Button/Button.d.ts +1 -4
  106. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  107. package/dist/types/components/builtin/Button/contants.d.ts +2 -0
  108. package/dist/types/components/builtin/Button/contants.d.ts.map +1 -0
  109. package/dist/types/components/builtin/Button/index.d.ts +1 -1
  110. package/dist/types/components/builtin/Button/index.d.ts.map +1 -1
  111. package/dist/types/components/builtin/Button/register.d.ts +3 -0
  112. package/dist/types/components/builtin/Button/register.d.ts.map +1 -0
  113. package/dist/types/components/builtin/Carousel/Carousel.d.ts +0 -3
  114. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  115. package/dist/types/components/builtin/Carousel/index.d.ts +1 -1
  116. package/dist/types/components/builtin/Carousel/index.d.ts.map +1 -1
  117. package/dist/types/components/builtin/Carousel/register.d.ts +3 -0
  118. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -0
  119. package/dist/types/components/builtin/Countdown/Countdown.d.ts +0 -3
  120. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  121. package/dist/types/components/builtin/Countdown/index.d.ts +1 -1
  122. package/dist/types/components/builtin/Countdown/index.d.ts.map +1 -1
  123. package/dist/types/components/builtin/Countdown/register.d.ts +3 -0
  124. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -0
  125. package/dist/types/components/builtin/Divider/Divider.d.ts +0 -3
  126. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  127. package/dist/types/components/builtin/Divider/index.d.ts +1 -1
  128. package/dist/types/components/builtin/Divider/index.d.ts.map +1 -1
  129. package/dist/types/components/builtin/Divider/register.d.ts +3 -0
  130. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -0
  131. package/dist/types/components/builtin/Embed/Embed.d.ts +0 -3
  132. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  133. package/dist/types/components/builtin/Embed/index.d.ts +1 -1
  134. package/dist/types/components/builtin/Embed/index.d.ts.map +1 -1
  135. package/dist/types/components/builtin/Embed/register.d.ts +3 -0
  136. package/dist/types/components/builtin/Embed/register.d.ts.map +1 -0
  137. package/dist/types/components/builtin/Form/Form.d.ts +1 -10
  138. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  139. package/dist/types/components/builtin/Form/components/Field/index.d.ts +1 -1
  140. package/dist/types/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  141. package/dist/types/components/builtin/Form/context/FormContext.d.ts +6 -0
  142. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  143. package/dist/types/components/builtin/Form/index.d.ts +1 -1
  144. package/dist/types/components/builtin/Form/index.d.ts.map +1 -1
  145. package/dist/types/components/builtin/Form/register.d.ts +3 -0
  146. package/dist/types/components/builtin/Form/register.d.ts.map +1 -0
  147. package/dist/types/components/{hooks/useTable.d.ts → builtin/Form/types.d.ts} +2 -6
  148. package/dist/types/components/builtin/Form/types.d.ts.map +1 -0
  149. package/dist/types/components/builtin/Image/Image.d.ts +0 -3
  150. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  151. package/dist/types/components/builtin/Image/index.d.ts +1 -1
  152. package/dist/types/components/builtin/Image/index.d.ts.map +1 -1
  153. package/dist/types/components/builtin/Image/register.d.ts +3 -0
  154. package/dist/types/components/builtin/Image/register.d.ts.map +1 -0
  155. package/dist/types/components/builtin/Navigation/Navigation.d.ts +0 -3
  156. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  157. package/dist/types/components/builtin/Navigation/index.d.ts +1 -1
  158. package/dist/types/components/builtin/Navigation/index.d.ts.map +1 -1
  159. package/dist/types/components/builtin/Navigation/register.d.ts +3 -0
  160. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -0
  161. package/dist/types/components/builtin/Root/Root.d.ts +0 -2
  162. package/dist/types/components/builtin/Root/Root.d.ts.map +1 -1
  163. package/dist/types/components/builtin/Root/index.d.ts +1 -1
  164. package/dist/types/components/builtin/Root/index.d.ts.map +1 -1
  165. package/dist/types/components/builtin/Root/register.d.ts +3 -0
  166. package/dist/types/components/builtin/Root/register.d.ts.map +1 -0
  167. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +0 -3
  168. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  169. package/dist/types/components/builtin/SocialLinks/index.d.ts +1 -1
  170. package/dist/types/components/builtin/SocialLinks/index.d.ts.map +1 -1
  171. package/dist/types/components/builtin/SocialLinks/register.d.ts +3 -0
  172. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -0
  173. package/dist/types/components/builtin/Text/Text.d.ts +0 -3
  174. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
  175. package/dist/types/components/builtin/Text/index.d.ts +1 -1
  176. package/dist/types/components/builtin/Text/index.d.ts.map +1 -1
  177. package/dist/types/components/builtin/Text/register.d.ts +3 -0
  178. package/dist/types/components/builtin/Text/register.d.ts.map +1 -0
  179. package/dist/types/components/builtin/Video/Video.d.ts +0 -3
  180. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  181. package/dist/types/components/builtin/Video/index.d.ts +1 -1
  182. package/dist/types/components/builtin/Video/index.d.ts.map +1 -1
  183. package/dist/types/components/builtin/Video/register.d.ts +3 -0
  184. package/dist/types/components/builtin/Video/register.d.ts.map +1 -0
  185. package/dist/types/components/builtin/index.d.ts +1 -2
  186. package/dist/types/components/builtin/index.d.ts.map +1 -1
  187. package/dist/types/components/builtin/register.d.ts +3 -0
  188. package/dist/types/components/builtin/register.d.ts.map +1 -0
  189. package/dist/types/components/hooks/index.d.ts +0 -1
  190. package/dist/types/components/hooks/index.d.ts.map +1 -1
  191. package/dist/types/next.d.ts +12 -2
  192. package/dist/types/next.d.ts.map +1 -1
  193. package/dist/useBoxShadow.cjs.js +78 -0
  194. package/dist/useBoxShadow.cjs.js.map +1 -0
  195. package/dist/useBoxShadow.es.js +77 -0
  196. package/dist/useBoxShadow.es.js.map +1 -0
  197. package/dist/useMediaQuery.cjs.js +26 -0
  198. package/dist/useMediaQuery.cjs.js.map +1 -0
  199. package/dist/useMediaQuery.es.js +25 -0
  200. package/dist/useMediaQuery.es.js.map +1 -0
  201. package/next/plugin.js +1 -0
  202. package/package.json +4 -1
  203. package/dist/types/components/hooks/useTable.d.ts.map +0 -1
@@ -0,0 +1,487 @@
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
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
22
+ var React = require("react");
23
+ var styled = require("styled-components");
24
+ var framerMotion = require("framer-motion");
25
+ var reactUseGesture = require("react-use-gesture");
26
+ var popcorn = require("@popmotion/popcorn");
27
+ var css = require("@emotion/css");
28
+ var cssMediaRules = require("./cssMediaRules.cjs.js");
29
+ var next = require("./index.cjs.js");
30
+ var useMediaQuery = require("./useMediaQuery.cjs.js");
31
+ var Image = require("./Image.cjs2.js");
32
+ var jsxRuntime = require("react/jsx-runtime");
33
+ require("use-sync-external-store/shim/with-selector");
34
+ require("./react-page.cjs.js");
35
+ require("redux");
36
+ require("redux-thunk");
37
+ require("./actions.cjs.js");
38
+ require("./descriptors.cjs.js");
39
+ require("./style.cjs.js");
40
+ require("./color.cjs.js");
41
+ require("./image.cjs.js");
42
+ require("next/dynamic");
43
+ require("next/document");
44
+ require("slate");
45
+ require("@emotion/server/create-instance");
46
+ require("@apollo/client");
47
+ require("@apollo/client/link/batch-http");
48
+ require("./graphql.cjs.js");
49
+ require("./text-input.cjs.js");
50
+ require("./shape.cjs.js");
51
+ require("color");
52
+ require("react-dom");
53
+ require("html-react-parser");
54
+ require("next/head");
55
+ require("uuid/v4");
56
+ require("corporate-ipsum");
57
+ require("next/image");
58
+ require("./useBoxShadow.cjs.js");
59
+ require("./placeholders.cjs.js");
60
+ require("./index.cjs3.js");
61
+ require("scroll-into-view-if-needed");
62
+ require("next/link");
63
+ function _interopDefaultLegacy(e) {
64
+ return e && typeof e === "object" && "default" in e ? e : { "default": e };
65
+ }
66
+ var styled__default = /* @__PURE__ */ _interopDefaultLegacy(styled);
67
+ const LeftChevron = () => /* @__PURE__ */ jsxRuntime.jsx("svg", {
68
+ xmlns: "http://www.w3.org/2000/svg",
69
+ width: "10",
70
+ height: "14",
71
+ viewBox: "0 0 10 14",
72
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", {
73
+ d: "M7,13,1,7,7,1",
74
+ fill: "none",
75
+ strokeLinecap: "round",
76
+ strokeLinejoin: "round",
77
+ strokeWidth: "2"
78
+ })
79
+ });
80
+ const RightChevron = () => /* @__PURE__ */ jsxRuntime.jsx("svg", {
81
+ xmlns: "http://www.w3.org/2000/svg",
82
+ width: "10",
83
+ height: "14",
84
+ viewBox: "0 0 10 14",
85
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", {
86
+ d: "M3,1,9,7,3,13",
87
+ fill: "none",
88
+ strokeLinecap: "round",
89
+ strokeLinejoin: "round",
90
+ strokeWidth: "2"
91
+ })
92
+ });
93
+ const Container = styled__default["default"].div`
94
+ position: relative;
95
+ height: 100%;
96
+ `;
97
+ const Wrapper = styled__default["default"].div.withConfig({
98
+ shouldForwardProp: (prop) => !["margin"].includes(prop)
99
+ })`
100
+ position: relative;
101
+ display: flex;
102
+ flex-direction: column;
103
+ ${cssMediaRules.cssMargin()}
104
+
105
+ &:focus {
106
+ outline: 0;
107
+ }
108
+ `;
109
+ const Arrow = styled__default["default"].div.withConfig({
110
+ shouldForwardProp: (prop) => !["background"].includes(prop)
111
+ })`
112
+ padding: 10px;
113
+ border-radius: 50%;
114
+ outline: 0;
115
+ border: 0;
116
+ width: 40px;
117
+ height: 40px;
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ cursor: pointer;
122
+ user-select: none;
123
+ ${(p) => cssMediaRules.cssMediaRules([p.background], ([background = {
124
+ swatch: {
125
+ hue: 0,
126
+ saturation: 0,
127
+ lightness: 100
128
+ },
129
+ alpha: 1
130
+ }]) => styled.css`
131
+ background: ${next.colorToString(background)};
132
+ `)}
133
+
134
+ svg {
135
+ transition: transform 0.15s;
136
+ stroke: currentColor;
137
+ }
138
+ `;
139
+ const Slop = styled__default["default"].div.withConfig({
140
+ shouldForwardProp: (prop) => !["color"].includes(prop)
141
+ })`
142
+ position: absolute;
143
+ top: 0;
144
+ bottom: 0;
145
+ display: ${(props) => props.hidden ? "none" : "flex"};
146
+ align-items: center;
147
+ cursor: pointer;
148
+ z-index: 2;
149
+ ${(p) => cssMediaRules.cssMediaRules([p.color], ([color = {
150
+ swatch: {
151
+ hue: 0,
152
+ saturation: 0,
153
+ lightness: 0
154
+ },
155
+ alpha: 1
156
+ }]) => styled.css`
157
+ color: ${next.colorToString(color)};
158
+ `)}
159
+ `;
160
+ const Slide = styled__default["default"](framerMotion.motion.div).withConfig({
161
+ shouldForwardProp: (prop) => !["pageSize", "alignItems"].includes(prop)
162
+ })`
163
+ display: flex;
164
+ ${(p) => cssMediaRules.cssMediaRules([p.pageSize], ([pageSize = 1]) => styled.css`
165
+ flex-basis: ${100 / pageSize}%;
166
+ max-width: ${100 / pageSize}%;
167
+ min-width: ${100 / pageSize}%;
168
+ `)}
169
+
170
+ ${(p) => cssMediaRules.cssMediaRules([p.alignItems], ([alignItems = "center"]) => ({
171
+ alignItems
172
+ }))}
173
+ `;
174
+ const Reel = styled__default["default"](framerMotion.motion.div).withConfig({
175
+ shouldForwardProp: (prop) => !["gap"].includes(prop)
176
+ })`
177
+ display: flex;
178
+ position: relative;
179
+ flex-wrap: nowrap;
180
+ ${(p) => cssMediaRules.cssMediaRules([p.gap], ([gap = {
181
+ value: 0,
182
+ unit: "px"
183
+ }]) => styled.css`
184
+ margin: 0 ${`${-gap.value / 2}${gap.unit}`};
185
+
186
+ & > ${Slide} {
187
+ padding: 0 ${`${gap.value / 2}${gap.unit}`};
188
+ }
189
+ `)}
190
+ `;
191
+ const Page = styled__default["default"](framerMotion.motion.div)`
192
+ position: relative;
193
+ width: 100%;
194
+ `;
195
+ const LeftSlop = styled__default["default"](Slop).withConfig({
196
+ shouldForwardProp: (prop) => !["position"].includes(prop)
197
+ })`
198
+ ${(p) => cssMediaRules.cssMediaRules([p.position], ([position = "inside"]) => {
199
+ switch (position) {
200
+ case "inside":
201
+ return styled.css`
202
+ transform: translateX(8px);
203
+ `;
204
+ case "outside":
205
+ return styled.css`
206
+ transform: translateX(calc(-100% - 8px));
207
+ `;
208
+ default:
209
+ return styled.css`
210
+ transform: translateX(calc(-50%));
211
+ `;
212
+ }
213
+ })}
214
+ left: 0;
215
+
216
+ &:hover > ${Arrow} {
217
+ & > svg {
218
+ transform: translateX(-2px);
219
+ }
220
+ }
221
+ `;
222
+ const RightSlop = styled__default["default"](Slop).withConfig({
223
+ shouldForwardProp: (prop) => !["position"].includes(prop)
224
+ })`
225
+ ${(p) => cssMediaRules.cssMediaRules([p.position], ([position = "inside"]) => {
226
+ switch (position) {
227
+ case "inside":
228
+ return styled.css`
229
+ transform: translateX(-8px);
230
+ `;
231
+ case "outside":
232
+ return styled.css`
233
+ transform: translateX(calc(100% + 8px));
234
+ `;
235
+ default:
236
+ return styled.css`
237
+ transform: translateX(calc(50%));
238
+ `;
239
+ }
240
+ })}
241
+ right: 0;
242
+
243
+ &:hover > ${Arrow} {
244
+ & > svg {
245
+ transform: translateX(2px);
246
+ }
247
+ }
248
+ `;
249
+ const ClipMask = styled__default["default"].div`
250
+ overflow: hidden;
251
+ `;
252
+ const Dots = styled__default["default"].div.withConfig({
253
+ shouldForwardProp: (prop) => !["color"].includes(prop)
254
+ })`
255
+ display: ${(props) => props.hidden ? "none" : "flex"};
256
+ justify-content: center;
257
+ margin-top: 20px;
258
+ ${(p) => cssMediaRules.cssMediaRules([p.color], ([color = {
259
+ swatch: {
260
+ hue: 0,
261
+ saturation: 0,
262
+ lightness: 0
263
+ },
264
+ alpha: 1
265
+ }]) => styled.css`
266
+ color: ${next.colorToString(color)};
267
+ `)}
268
+ `;
269
+ const Dot = styled__default["default"].div.withConfig({
270
+ shouldForwardProp: (prop) => !["active"].includes(prop)
271
+ })`
272
+ position: relative;
273
+ margin: 0 6px;
274
+ border-radius: 50%;
275
+ cursor: pointer;
276
+ width: 16px;
277
+ height: 16px;
278
+
279
+ &::before,
280
+ &::after {
281
+ content: '';
282
+ position: absolute;
283
+ top: 50%;
284
+ left: 50%;
285
+ display: block;
286
+ border-radius: 50%;
287
+ transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275);
288
+ }
289
+
290
+ &::before {
291
+ box-shadow: 0 0 0 2px currentColor;
292
+ transform: translate3d(-50%, -50%, 0);
293
+ width: ${(props) => props.active ? 16 : 10}px;
294
+ height: ${(props) => props.active ? 16 : 10}px;
295
+ }
296
+
297
+ &::after {
298
+ background: currentColor;
299
+ transform: translate3d(-50%, -50%, 0) scale(${(props) => props.active ? 1 : 0});
300
+ width: 10px;
301
+ height: 10px;
302
+ }
303
+
304
+ &:hover::after {
305
+ transform: translate3d(-50%, -50%, 0) scale(${(props) => props.active ? 1 : 0.5});
306
+ }
307
+ `;
308
+ const SWIPE_THRESHOLD = 20;
309
+ const swipePower = (dx, velocity) => dx * (1 + velocity);
310
+ const Carousel = React.forwardRef(function Carousel2({
311
+ images = [],
312
+ width,
313
+ margin,
314
+ pageSize: responsivePageSize,
315
+ step: responsiveStep,
316
+ gap,
317
+ slideAlignment,
318
+ showDots,
319
+ showArrows,
320
+ arrowPosition,
321
+ arrowColor,
322
+ arrowBackground,
323
+ dotColor,
324
+ autoplay = false,
325
+ delay = 5,
326
+ slideBorder,
327
+ slideBorderRadius
328
+ }, ref) {
329
+ const [index, setIndex] = React.useState(0);
330
+ const swipe = React.useRef(0);
331
+ const startIndex = popcorn.wrap(0, images.length, index);
332
+ const pageSize = useMediaQuery.useMediaQuery(responsivePageSize) || 1;
333
+ const step = useMediaQuery.useMediaQuery(responsiveStep) || 1;
334
+ const endIndex = startIndex + pageSize;
335
+ const pageCount = Math.ceil((images.length - pageSize) / step + 1);
336
+ const pageIndex = Math.ceil(startIndex / step);
337
+ const isFirstPage = pageIndex === 0;
338
+ const isLastPage = pageIndex === pageCount - 1;
339
+ const paginate = React.useCallback((pageDistance) => {
340
+ if (pageDistance === 0)
341
+ return;
342
+ const direction = pageDistance / Math.abs(pageDistance);
343
+ const remaining = direction > 0 ? images.slice(endIndex) : images.slice(0, startIndex);
344
+ const distance = direction * Math.min(remaining.length, step * Math.abs(pageDistance));
345
+ setIndex(index + distance);
346
+ }, [images, index, startIndex, endIndex, step]);
347
+ const animation = framerMotion.useAnimation({
348
+ x: 0,
349
+ transition: {
350
+ type: "spring",
351
+ stiffness: 100
352
+ }
353
+ });
354
+ const bindPage = reactUseGesture.useGesture({
355
+ onDrag: ({
356
+ movement: [mx],
357
+ delta: [dx],
358
+ velocity
359
+ }) => {
360
+ animation.start({
361
+ x: mx
362
+ });
363
+ swipe.current = swipePower(dx, velocity);
364
+ },
365
+ onDragEnd: () => {
366
+ animation.start({
367
+ x: 0
368
+ });
369
+ if (swipe.current > SWIPE_THRESHOLD)
370
+ paginate(1);
371
+ else if (swipe.current < -SWIPE_THRESHOLD)
372
+ paginate(-1);
373
+ }
374
+ }, {
375
+ drag: {
376
+ axis: "x",
377
+ bounds: {
378
+ left: 0,
379
+ right: 0
380
+ },
381
+ rubberband: true
382
+ }
383
+ });
384
+ React.useEffect(() => {
385
+ if (!autoplay || pageSize !== 0)
386
+ setIndex(0);
387
+ }, [autoplay, pageSize]);
388
+ React.useEffect(() => {
389
+ if (!autoplay)
390
+ return () => {
391
+ };
392
+ const intervalId = setInterval(() => isLastPage ? setIndex(0) : paginate(1), delay * 1e3);
393
+ return () => clearInterval(intervalId);
394
+ }, [autoplay, delay, paginate, isLastPage]);
395
+ return /* @__PURE__ */ jsxRuntime.jsxs(Wrapper, {
396
+ ref,
397
+ className: css.cx(width),
398
+ margin,
399
+ tabIndex: -1,
400
+ onKeyDown: (e) => {
401
+ switch (e.key) {
402
+ case "ArrowRight":
403
+ paginate(1);
404
+ break;
405
+ case "ArrowLeft":
406
+ paginate(-1);
407
+ break;
408
+ }
409
+ },
410
+ children: [/* @__PURE__ */ jsxRuntime.jsxs(Container, {
411
+ children: [/* @__PURE__ */ jsxRuntime.jsx(ClipMask, {
412
+ children: /* @__PURE__ */ jsxRuntime.jsx(Page, __spreadProps(__spreadValues({}, bindPage()), {
413
+ animate: animation,
414
+ children: /* @__PURE__ */ jsxRuntime.jsx(Reel, {
415
+ gap,
416
+ animate: {
417
+ x: `${-(100 / pageSize) * startIndex}%`
418
+ },
419
+ transition: {
420
+ x: {
421
+ type: "tween",
422
+ ease: [0.165, 0.84, 0.44, 1],
423
+ duration: 0.5
424
+ }
425
+ },
426
+ children: images.map(({
427
+ props: imageProps,
428
+ key
429
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Slide, {
430
+ id: key,
431
+ pageSize: responsivePageSize,
432
+ alignItems: slideAlignment,
433
+ onMouseDown: (e) => e.preventDefault(),
434
+ onClick: (e) => {
435
+ if (swipe.current !== 0)
436
+ e.preventDefault();
437
+ },
438
+ children: /* @__PURE__ */ jsxRuntime.jsx(Image["default"], {
439
+ width: [{
440
+ deviceId: "desktop",
441
+ value: {
442
+ value: 100,
443
+ unit: "%"
444
+ }
445
+ }],
446
+ file: imageProps.file,
447
+ altText: imageProps.altText,
448
+ link: imageProps.link,
449
+ border: slideBorder,
450
+ borderRadius: slideBorderRadius
451
+ })
452
+ }, key))
453
+ })
454
+ }))
455
+ }), /* @__PURE__ */ jsxRuntime.jsx(LeftSlop, {
456
+ onClick: () => paginate(-1),
457
+ position: arrowPosition,
458
+ color: arrowColor,
459
+ hidden: !showArrows || isFirstPage,
460
+ children: /* @__PURE__ */ jsxRuntime.jsx(Arrow, {
461
+ background: arrowBackground,
462
+ children: /* @__PURE__ */ jsxRuntime.jsx(LeftChevron, {})
463
+ })
464
+ }), /* @__PURE__ */ jsxRuntime.jsx(RightSlop, {
465
+ onClick: () => paginate(1),
466
+ position: arrowPosition,
467
+ color: arrowColor,
468
+ hidden: !showArrows || isLastPage,
469
+ children: /* @__PURE__ */ jsxRuntime.jsx(Arrow, {
470
+ background: arrowBackground,
471
+ children: /* @__PURE__ */ jsxRuntime.jsx(RightChevron, {})
472
+ })
473
+ })]
474
+ }), /* @__PURE__ */ jsxRuntime.jsx(Dots, {
475
+ color: dotColor,
476
+ hidden: !showDots,
477
+ children: Array.from({
478
+ length: pageCount
479
+ }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(Dot, {
480
+ active: i === pageIndex,
481
+ onClick: () => paginate(i - pageIndex)
482
+ }, i))
483
+ })]
484
+ });
485
+ });
486
+ exports["default"] = Carousel;
487
+ //# sourceMappingURL=Carousel.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.cjs.js","sources":["../src/components/builtin/Carousel/Carousel.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, forwardRef, Ref } from 'react'\nimport styled, { css } from 'styled-components'\nimport { motion, useAnimation } from 'framer-motion'\nimport { useGesture } from 'react-use-gesture'\nimport { wrap } from '@popmotion/popcorn'\nimport { cx } from '@emotion/css'\n\nimport { cssMediaRules, cssMargin } from '../../utils/cssMediaRules'\nimport { colorToString } from '../../utils/colorToString'\nimport { ColorValue as Color } from '../../utils/types'\nimport { useMediaQuery } from '../../hooks'\n\nimport Image from '../Image'\nimport {\n ResponsiveValue,\n ElementIDValue,\n ImagesValue,\n MarginValue,\n ResponsiveNumberValue,\n ResponsiveIconRadioGroupValue,\n GapXValue,\n CheckboxValue,\n NumberValue,\n BorderValue,\n BorderRadiusValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\n\nconst LeftChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M7,13,1,7,7,1\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\nconst RightChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M3,1,9,7,3,13\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\n// NOTE: We set height to 100% here to fix an issue on IE11 where the child height of a flex column extends too far\nconst Container = styled.div`\n position: relative;\n height: 100%;\n`\n\ntype Props = {\n id?: ElementIDValue\n images?: ImagesValue\n width?: string\n margin?: MarginValue\n pageSize?: ResponsiveNumberValue\n step?: ResponsiveNumberValue\n slideAlignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gap?: GapXValue\n autoplay?: CheckboxValue\n delay?: NumberValue\n showArrows?: CheckboxValue\n arrowPosition?: ResponsiveIconRadioGroupValue<'inside' | 'center' | 'outside'>\n arrowColor?: ResponsiveColor | null\n arrowBackground?: ResponsiveColor | null\n showDots?: CheckboxValue\n dotColor?: ResponsiveColor | null\n slideBorder?: BorderValue\n slideBorderRadius?: BorderRadiusValue\n}\n\nconst Wrapper = styled.div.withConfig({\n shouldForwardProp: prop => !['margin'].includes(prop),\n})<{ margin: Props['margin'] }>`\n position: relative;\n display: flex;\n flex-direction: column;\n ${cssMargin()}\n\n &:focus {\n outline: 0;\n }\n`\n\nconst Arrow = styled.div.withConfig({\n shouldForwardProp: prop => !['background'].includes(prop),\n})<{ background?: ResponsiveValue<Color> | null }>`\n padding: 10px;\n border-radius: 50%;\n outline: 0;\n border: 0;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n user-select: none;\n ${p =>\n cssMediaRules(\n [p.background] as const,\n ([background = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 }]) => css`\n background: ${colorToString(background)};\n `,\n )}\n\n svg {\n transition: transform 0.15s;\n stroke: currentColor;\n }\n`\n\nconst Slop = styled.div.withConfig({\n shouldForwardProp: prop => !['color'].includes(prop),\n})<{\n color?: ResponsiveValue<Color> | null\n}>`\n position: absolute;\n top: 0;\n bottom: 0;\n display: ${props => (props.hidden ? 'none' : 'flex')};\n align-items: center;\n cursor: pointer;\n z-index: 2;\n ${p =>\n cssMediaRules(\n [p.color] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n color: ${colorToString(color)};\n `,\n )}\n`\n\nconst Slide = styled(motion.div).withConfig({\n shouldForwardProp: prop => !['pageSize', 'alignItems'].includes(prop),\n})<{\n pageSize: Props['pageSize']\n alignItems: Props['slideAlignment']\n}>`\n display: flex;\n ${p =>\n cssMediaRules(\n [p.pageSize],\n ([pageSize = 1]) => css`\n flex-basis: ${100 / pageSize}%;\n max-width: ${100 / pageSize}%;\n min-width: ${100 / pageSize}%;\n `,\n )}\n\n ${p => cssMediaRules([p.alignItems], ([alignItems = 'center']) => ({ alignItems }))}\n`\n\nconst Reel = styled(motion.div).withConfig({\n shouldForwardProp: prop => !['gap'].includes(prop),\n})<{ gap: Props['gap'] }>`\n display: flex;\n position: relative;\n flex-wrap: nowrap;\n ${p =>\n cssMediaRules(\n [p.gap] as const,\n ([gap = { value: 0, unit: 'px' }]) => css`\n margin: 0 ${`${-gap.value / 2}${gap.unit}`};\n\n & > ${Slide} {\n padding: 0 ${`${gap.value / 2}${gap.unit}`};\n }\n `,\n )}\n`\n\nconst Page = styled(motion.div)`\n position: relative;\n width: 100%;\n`\n\nconst LeftSlop = styled(Slop).withConfig({\n shouldForwardProp: prop => !['position'].includes(prop),\n})<{ position: Props['arrowPosition'] }>`\n ${p =>\n cssMediaRules([p.position] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return css`\n transform: translateX(8px);\n `\n case 'outside':\n return css`\n transform: translateX(calc(-100% - 8px));\n `\n default:\n return css`\n transform: translateX(calc(-50%));\n `\n }\n })}\n left: 0;\n\n &:hover > ${Arrow} {\n & > svg {\n transform: translateX(-2px);\n }\n }\n`\n\nconst RightSlop = styled(Slop).withConfig({\n shouldForwardProp: prop => !['position'].includes(prop),\n})<{ position: Props['arrowPosition'] }>`\n ${p =>\n cssMediaRules([p.position] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return css`\n transform: translateX(-8px);\n `\n case 'outside':\n return css`\n transform: translateX(calc(100% + 8px));\n `\n default:\n return css`\n transform: translateX(calc(50%));\n `\n }\n })}\n right: 0;\n\n &:hover > ${Arrow} {\n & > svg {\n transform: translateX(2px);\n }\n }\n`\n\nconst ClipMask = styled.div`\n overflow: hidden;\n`\n\nconst Dots = styled.div.withConfig({\n shouldForwardProp: prop => !['color'].includes(prop),\n})<{ color?: ResponsiveValue<Color> | null }>`\n display: ${props => (props.hidden ? 'none' : 'flex')};\n justify-content: center;\n margin-top: 20px;\n ${p =>\n cssMediaRules(\n [p.color] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n color: ${colorToString(color)};\n `,\n )}\n`\n\nconst Dot = styled.div.withConfig({\n shouldForwardProp: prop => !['active'].includes(prop),\n})<{ active: boolean }>`\n position: relative;\n margin: 0 6px;\n border-radius: 50%;\n cursor: pointer;\n width: 16px;\n height: 16px;\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n display: block;\n border-radius: 50%;\n transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n }\n\n &::before {\n box-shadow: 0 0 0 2px currentColor;\n transform: translate3d(-50%, -50%, 0);\n width: ${props => (props.active ? 16 : 10)}px;\n height: ${props => (props.active ? 16 : 10)}px;\n }\n\n &::after {\n background: currentColor;\n transform: translate3d(-50%, -50%, 0) scale(${props => (props.active ? 1 : 0)});\n width: 10px;\n height: 10px;\n }\n\n &:hover::after {\n transform: translate3d(-50%, -50%, 0) scale(${props => (props.active ? 1 : 0.5)});\n }\n`\n\nconst SWIPE_THRESHOLD = 20\nconst swipePower = (dx: number, velocity: number) => dx * (1 + velocity)\n\nconst Carousel = forwardRef(function Carousel(\n {\n images = [],\n width,\n margin,\n pageSize: responsivePageSize,\n step: responsiveStep,\n gap,\n slideAlignment,\n showDots,\n showArrows,\n arrowPosition,\n arrowColor,\n arrowBackground,\n dotColor,\n autoplay = false,\n delay = 5,\n slideBorder,\n slideBorderRadius,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [index, setIndex] = useState(0)\n const swipe = useRef(0)\n const startIndex = wrap(0, images.length, index)\n const pageSize = useMediaQuery(responsivePageSize) || 1\n const step = useMediaQuery(responsiveStep) || 1\n const endIndex = startIndex + pageSize\n const pageCount = Math.ceil((images.length - pageSize) / step + 1)\n const pageIndex = Math.ceil(startIndex / step)\n const isFirstPage = pageIndex === 0\n const isLastPage = pageIndex === pageCount - 1\n const paginate = useCallback(\n pageDistance => {\n if (pageDistance === 0) return\n\n const direction = pageDistance / Math.abs(pageDistance)\n const remaining = direction > 0 ? images.slice(endIndex) : images.slice(0, startIndex)\n const distance = direction * Math.min(remaining.length, step * Math.abs(pageDistance))\n\n setIndex(index + distance)\n },\n [images, index, startIndex, endIndex, step],\n )\n // @ts-expect-error: `useAnimation` types expect no arguments.\n const animation = useAnimation({ x: 0, transition: { type: 'spring', stiffness: 100 } })\n const bindPage = useGesture(\n {\n onDrag: ({ movement: [mx], delta: [dx], velocity }) => {\n animation.start({ x: mx })\n swipe.current = swipePower(dx, velocity)\n },\n onDragEnd: () => {\n animation.start({ x: 0 })\n\n if (swipe.current > SWIPE_THRESHOLD) paginate(1)\n else if (swipe.current < -SWIPE_THRESHOLD) paginate(-1)\n },\n },\n {\n drag: {\n axis: 'x',\n bounds: { left: 0, right: 0 },\n rubberband: true,\n },\n },\n )\n\n useEffect(() => {\n if (!autoplay || pageSize !== 0) setIndex(0)\n }, [autoplay, pageSize])\n\n useEffect(() => {\n if (!autoplay) return () => {}\n\n const intervalId = setInterval(() => (isLastPage ? setIndex(0) : paginate(1)), delay * 1000)\n\n return () => clearInterval(intervalId)\n }, [autoplay, delay, paginate, isLastPage])\n\n return (\n <Wrapper\n ref={ref}\n className={cx(width)}\n margin={margin}\n tabIndex={-1}\n onKeyDown={e => {\n switch (e.key) {\n case 'ArrowRight':\n paginate(1)\n break\n case 'ArrowLeft':\n paginate(-1)\n break\n default:\n }\n }}\n >\n <Container>\n <ClipMask>\n <Page {...bindPage()} animate={animation}>\n <Reel\n gap={gap}\n animate={{ x: `${-(100 / pageSize) * startIndex}%` }}\n transition={{\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n duration: 0.5,\n },\n }}\n >\n {images.map(({ props: imageProps, key }) => (\n <Slide\n id={key}\n key={key}\n pageSize={responsivePageSize}\n alignItems={slideAlignment}\n onMouseDown={e => e.preventDefault()}\n onClick={e => {\n if (swipe.current !== 0) e.preventDefault()\n }}\n >\n <Image\n width={[{ deviceId: 'desktop', value: { value: 100, unit: '%' } }]}\n file={imageProps.file}\n altText={imageProps.altText}\n link={imageProps.link}\n border={slideBorder}\n borderRadius={slideBorderRadius}\n />\n </Slide>\n ))}\n </Reel>\n </Page>\n </ClipMask>\n <LeftSlop\n onClick={() => paginate(-1)}\n position={arrowPosition}\n // @ts-expect-error: HTMLDivElement `color` attribute conflicts with prop\n color={arrowColor}\n hidden={!showArrows || isFirstPage}\n >\n <Arrow background={arrowBackground}>\n <LeftChevron />\n </Arrow>\n </LeftSlop>\n <RightSlop\n onClick={() => paginate(1)}\n position={arrowPosition}\n // @ts-expect-error: HTMLDivElement `color` attribute conflicts with prop\n color={arrowColor}\n hidden={!showArrows || isLastPage}\n >\n <Arrow background={arrowBackground}>\n <RightChevron />\n </Arrow>\n </RightSlop>\n </Container>\n {/* @ts-expect-error: HTMLDivElement attributes conflicts with `color` prop */}\n <Dots color={dotColor} hidden={!showDots}>\n {Array.from({ length: pageCount }).map((_, i) => (\n <Dot key={i} active={i === pageIndex} onClick={() => paginate(i - pageIndex)} />\n ))}\n </Dots>\n </Wrapper>\n )\n})\n\nexport default Carousel\n"],"names":["LeftChevron","_jsx","RightChevron","Container","styled","div","Wrapper","withConfig","shouldForwardProp","prop","includes","cssMargin","Arrow","p","cssMediaRules","background","swatch","hue","saturation","lightness","alpha","css","colorToString","Slop","props","hidden","color","Slide","motion","pageSize","alignItems","Reel","gap","value","unit","Page","LeftSlop","position","RightSlop","ClipMask","Dots","Dot","active","SWIPE_THRESHOLD","swipePower","dx","velocity","Carousel","forwardRef","images","width","margin","responsivePageSize","step","responsiveStep","slideAlignment","showDots","showArrows","arrowPosition","arrowColor","arrowBackground","dotColor","autoplay","delay","slideBorder","slideBorderRadius","ref","index","setIndex","useState","swipe","useRef","startIndex","wrap","length","useMediaQuery","endIndex","pageCount","Math","ceil","pageIndex","isFirstPage","isLastPage","paginate","useCallback","pageDistance","direction","abs","remaining","slice","distance","min","animation","useAnimation","x","transition","type","stiffness","bindPage","useGesture","onDrag","movement","mx","delta","start","current","onDragEnd","drag","axis","bounds","left","right","rubberband","useEffect","intervalId","setInterval","clearInterval","cx","e","key","_jsxs","ease","duration","map","imageProps","preventDefault","Image","deviceId","file","altText","link","Array","from","_","i"],"mappings":"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"}