@makeswift/runtime 0.7.19 → 0.8.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 (222) hide show
  1. package/dist/Box.cjs.js +13 -10
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +8 -5
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +39 -36
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +14 -11
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +36 -33
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +11 -8
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +29 -53
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +4 -28
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +10 -34
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +4 -28
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +5 -29
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +4 -28
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +75 -72
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +13 -10
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +21 -18
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +14 -11
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +11 -8
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +11 -8
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +39 -36
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +13 -10
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +11 -8
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +11 -8
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +18 -15
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +14 -11
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/Root.cjs.js +12 -9
  50. package/dist/Root.cjs.js.map +1 -1
  51. package/dist/Root.es.js +10 -7
  52. package/dist/Root.es.js.map +1 -1
  53. package/dist/SocialLinks.cjs.js +15 -12
  54. package/dist/SocialLinks.cjs.js.map +1 -1
  55. package/dist/SocialLinks.es.js +8 -5
  56. package/dist/SocialLinks.es.js.map +1 -1
  57. package/dist/Text.cjs.js +6 -3
  58. package/dist/Text.cjs.js.map +1 -1
  59. package/dist/Text.es.js +7 -4
  60. package/dist/Text.es.js.map +1 -1
  61. package/dist/Video.cjs.js +5 -29
  62. package/dist/Video.cjs.js.map +1 -1
  63. package/dist/Video.es.js +4 -28
  64. package/dist/Video.es.js.map +1 -1
  65. package/dist/actions.cjs.js +0 -13
  66. package/dist/actions.cjs.js.map +1 -1
  67. package/dist/actions.es.js +1 -12
  68. package/dist/actions.es.js.map +1 -1
  69. package/dist/components.cjs.js +11 -8
  70. package/dist/components.cjs.js.map +1 -1
  71. package/dist/components.es.js +11 -8
  72. package/dist/components.es.js.map +1 -1
  73. package/dist/controls.cjs.js +1 -0
  74. package/dist/controls.cjs.js.map +1 -1
  75. package/dist/controls.es.js +1 -1
  76. package/dist/descriptors.cjs.js +13 -0
  77. package/dist/descriptors.cjs.js.map +1 -1
  78. package/dist/descriptors.es.js +13 -1
  79. package/dist/descriptors.es.js.map +1 -1
  80. package/dist/index.cjs.js +368 -1508
  81. package/dist/index.cjs.js.map +1 -1
  82. package/dist/index.cjs2.js +22 -20
  83. package/dist/index.cjs2.js.map +1 -1
  84. package/dist/index.cjs3.js +2 -1
  85. package/dist/index.cjs3.js.map +1 -1
  86. package/dist/index.cjs4.js +2 -2
  87. package/dist/index.cjs4.js.map +1 -1
  88. package/dist/index.cjs5.js +4 -4
  89. package/dist/index.cjs5.js.map +1 -1
  90. package/dist/index.cjs6.js +6 -3
  91. package/dist/index.cjs6.js.map +1 -1
  92. package/dist/index.cjs7.js +19 -16
  93. package/dist/index.cjs7.js.map +1 -1
  94. package/dist/index.es.js +334 -1454
  95. package/dist/index.es.js.map +1 -1
  96. package/dist/index.es2.js +4 -2
  97. package/dist/index.es2.js.map +1 -1
  98. package/dist/index.es3.js +2 -1
  99. package/dist/index.es3.js.map +1 -1
  100. package/dist/index.es4.js +1 -1
  101. package/dist/index.es5.js +3 -3
  102. package/dist/index.es5.js.map +1 -1
  103. package/dist/index.es6.js +6 -3
  104. package/dist/index.es6.js.map +1 -1
  105. package/dist/index.es7.js +15 -12
  106. package/dist/index.es7.js.map +1 -1
  107. package/dist/introspection.cjs.js +2 -5
  108. package/dist/introspection.cjs.js.map +1 -1
  109. package/dist/introspection.es.js +2 -4
  110. package/dist/introspection.es.js.map +1 -1
  111. package/dist/isNonNullable.cjs.js +6 -0
  112. package/dist/isNonNullable.cjs.js.map +1 -0
  113. package/dist/isNonNullable.es.js +5 -0
  114. package/dist/isNonNullable.es.js.map +1 -0
  115. package/dist/leaf.cjs.js +11 -11
  116. package/dist/leaf.cjs.js.map +1 -1
  117. package/dist/leaf.es.js +2 -2
  118. package/dist/main.cjs.js +1 -0
  119. package/dist/main.cjs.js.map +1 -1
  120. package/dist/main.es.js +1 -0
  121. package/dist/main.es.js.map +1 -1
  122. package/dist/next.cjs.js +8 -6
  123. package/dist/next.cjs.js.map +1 -1
  124. package/dist/next.es.js +9 -6
  125. package/dist/next.es.js.map +1 -1
  126. package/dist/prop-controllers.cjs.js +1 -0
  127. package/dist/prop-controllers.cjs.js.map +1 -1
  128. package/dist/prop-controllers.es.js +1 -0
  129. package/dist/prop-controllers.es.js.map +1 -1
  130. package/dist/react.cjs.js +6 -3
  131. package/dist/react.cjs.js.map +1 -1
  132. package/dist/react.es.js +6 -3
  133. package/dist/react.es.js.map +1 -1
  134. package/dist/responsive-style.cjs.js +917 -0
  135. package/dist/responsive-style.cjs.js.map +1 -0
  136. package/dist/responsive-style.es.js +853 -0
  137. package/dist/responsive-style.es.js.map +1 -0
  138. package/dist/slate.cjs.js +5 -25
  139. package/dist/slate.cjs.js.map +1 -1
  140. package/dist/slate.es.js +5 -25
  141. package/dist/slate.es.js.map +1 -1
  142. package/dist/types/src/api/graphql/documents/queries.d.ts +0 -2
  143. package/dist/types/src/api/graphql/documents/queries.d.ts.map +1 -1
  144. package/dist/types/src/api/graphql/generated/types.d.ts +0 -70
  145. package/dist/types/src/api/graphql/generated/types.d.ts.map +1 -1
  146. package/dist/types/src/api/react.d.ts +0 -3
  147. package/dist/types/src/api/react.d.ts.map +1 -1
  148. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  149. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  150. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +1 -0
  151. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
  152. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +1 -0
  153. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  154. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts +1 -0
  155. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
  156. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +1 -0
  157. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  158. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +1 -0
  159. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  160. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +1 -0
  161. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  162. package/dist/types/src/components/builtin/SocialLinks/options.d.ts +1 -0
  163. package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -1
  164. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +1 -0
  165. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -1
  166. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts +1 -0
  167. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +1 -1
  168. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +1 -0
  169. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -1
  170. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +1 -0
  171. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
  172. package/dist/types/src/components/page/Page.d.ts +1 -0
  173. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  174. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +1 -0
  175. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  176. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +1 -0
  177. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  178. package/dist/types/src/controls/rich-text/types.d.ts +20 -6
  179. package/dist/types/src/controls/rich-text/types.d.ts.map +1 -1
  180. package/dist/types/src/next/api-handler/handlers/element-tree.d.ts +12 -0
  181. package/dist/types/src/next/api-handler/handlers/element-tree.d.ts.map +1 -0
  182. package/dist/types/src/next/api-handler/handlers/fonts.d.ts +18 -0
  183. package/dist/types/src/next/api-handler/handlers/fonts.d.ts.map +1 -0
  184. package/dist/types/src/next/api-handler/handlers/manifest.d.ts +17 -0
  185. package/dist/types/src/next/api-handler/handlers/manifest.d.ts.map +1 -0
  186. package/dist/types/src/next/api-handler/handlers/proxy-preview-mode.d.ts +8 -0
  187. package/dist/types/src/next/api-handler/handlers/proxy-preview-mode.d.ts.map +1 -0
  188. package/dist/types/src/next/api-handler/handlers/revalidate.d.ts +13 -0
  189. package/dist/types/src/next/api-handler/handlers/revalidate.d.ts.map +1 -0
  190. package/dist/types/src/next/api-handler/index.d.ts +19 -0
  191. package/dist/types/src/next/api-handler/index.d.ts.map +1 -0
  192. package/dist/types/src/next/client.d.ts +11 -35
  193. package/dist/types/src/next/client.d.ts.map +1 -1
  194. package/dist/types/src/next/document.d.ts +1 -0
  195. package/dist/types/src/next/document.d.ts.map +1 -1
  196. package/dist/types/src/next/index.d.ts +1 -6
  197. package/dist/types/src/next/index.d.ts.map +1 -1
  198. package/dist/types/src/next/preview-mode.d.ts +1 -0
  199. package/dist/types/src/next/preview-mode.d.ts.map +1 -1
  200. package/dist/types/src/runtimes/react/components/render-hook.d.ts +1 -0
  201. package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -1
  202. package/dist/types/src/runtimes/react/controls/control.d.ts +1 -0
  203. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  204. package/dist/types/src/runtimes/react/controls/list.d.ts +1 -0
  205. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
  206. package/dist/types/src/runtimes/react/controls/shape.d.ts +1 -0
  207. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
  208. package/dist/types/src/runtimes/react/controls.d.ts +1 -0
  209. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  210. package/dist/types/src/state/actions.d.ts +2 -22
  211. package/dist/types/src/state/actions.d.ts.map +1 -1
  212. package/dist/types/src/state/makeswift-api-client.d.ts +4 -9
  213. package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -1
  214. package/dist/types/src/state/modules/api-resources.d.ts +4 -4
  215. package/dist/types/src/state/modules/api-resources.d.ts.map +1 -1
  216. package/package.json +3 -2
  217. package/dist/types/src/api/introspection.d.ts +0 -11
  218. package/dist/types/src/api/introspection.d.ts.map +0 -1
  219. package/dist/types/src/next/api-handler.d.ts +0 -48
  220. package/dist/types/src/next/api-handler.d.ts.map +0 -1
  221. package/dist/types/src/next/snapshots.d.ts +0 -152
  222. package/dist/types/src/next/snapshots.d.ts.map +0 -1
@@ -33,39 +33,15 @@ var __objRest = (source, exclude) => {
33
33
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
34
34
  var css = require("@emotion/css");
35
35
  var React = require("react");
36
- var next = require("./index.cjs.js");
36
+ var responsiveStyle = require("./responsive-style.cjs.js");
37
37
  var jsxRuntime = require("react/jsx-runtime");
38
- require("use-sync-external-store/shim/with-selector");
39
- require("next/dynamic");
40
- require("./constants.cjs.js");
41
- require("redux");
42
- require("redux-thunk");
43
- require("./actions.cjs.js");
44
- require("./descriptors.cjs.js");
45
- require("slate");
46
- require("slate-react");
47
- require("./introspection.cjs.js");
48
38
  require("@emotion/serialize");
49
39
  require("@emotion/utils");
50
- require("./text-input.cjs.js");
51
- require("./combobox.cjs.js");
52
40
  require("use-sync-external-store/shim");
41
+ require("redux");
42
+ require("redux-thunk");
53
43
  require("./types.cjs.js");
54
- require("./box-models.cjs.js");
55
- require("css-box-model");
56
- require("color");
57
- require("scroll-into-view-if-needed");
58
- require("react-dom");
59
- require("html-react-parser");
60
- require("next/head");
61
- require("@emotion/server/create-instance");
62
- require("next/document");
63
- require("cookie");
64
- require("cors");
65
- require("http-proxy");
66
- require("set-cookie-parser");
67
- require("uuid");
68
- require("corporate-ipsum");
44
+ require("./actions.cjs.js");
69
45
  const BLOCK_CLASS_NAME = "block";
70
46
  function Block(_a) {
71
47
  var _b = _a, {
@@ -74,7 +50,7 @@ function Block(_a) {
74
50
  "className"
75
51
  ]);
76
52
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, restOfProps), {
77
- className: css.cx(BLOCK_CLASS_NAME, next.useStyle({
53
+ className: css.cx(BLOCK_CLASS_NAME, responsiveStyle.useStyle({
78
54
  display: "block",
79
55
  padding: "0.5em",
80
56
  fontSize: "1em"
@@ -89,7 +65,7 @@ function Label(_c) {
89
65
  "className"
90
66
  ]);
91
67
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, restOfProps), {
92
- className: css.cx(LABEL_CLASS_NAME, next.useStyle({
68
+ className: css.cx(LABEL_CLASS_NAME, responsiveStyle.useStyle({
93
69
  marginTop: "0.25em"
94
70
  }), className)
95
71
  }));
@@ -102,7 +78,7 @@ function Segment(_e) {
102
78
  "className"
103
79
  ]);
104
80
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, restOfProps), {
105
- className: css.cx(SEGMENT_CLASS_NAME, next.useStyle({
81
+ className: css.cx(SEGMENT_CLASS_NAME, responsiveStyle.useStyle({
106
82
  flex: 1,
107
83
  textAlign: "center"
108
84
  }), className)
@@ -138,9 +114,9 @@ const Container = React.forwardRef(function Container2(_g, ref) {
138
114
  ]);
139
115
  return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadProps(__spreadValues({}, restOfProps), {
140
116
  ref,
141
- className: css.cx(next.useStyle({
117
+ className: css.cx(responsiveStyle.useStyle({
142
118
  display: "flex"
143
- }), width, margin, next.useStyle(next.responsiveStyle([size], ([size2 = "medium"]) => {
119
+ }), width, margin, responsiveStyle.useStyle(responsiveStyle.responsiveStyle([size], ([size2 = "medium"]) => {
144
120
  switch (size2) {
145
121
  case "small":
146
122
  return {
@@ -164,8 +140,8 @@ const Container = React.forwardRef(function Container2(_g, ref) {
164
140
  }
165
141
  };
166
142
  }
167
- })), next.useStyle({
168
- [`.${SEGMENT_CLASS_NAME}`]: next.responsiveStyle([gap], ([gap2]) => ({
143
+ })), responsiveStyle.useStyle({
144
+ [`.${SEGMENT_CLASS_NAME}`]: responsiveStyle.responsiveStyle([gap], ([gap2]) => ({
169
145
  margin: `0 ${gap2 == null ? 0 : `${gap2.value / 2}${gap2.unit}`}`,
170
146
  "&:first-child": {
171
147
  marginLeft: 0
@@ -174,8 +150,8 @@ const Container = React.forwardRef(function Container2(_g, ref) {
174
150
  marginRight: 0
175
151
  }
176
152
  }))
177
- }), next.useStyle({
178
- [`.${BLOCK_CLASS_NAME}`]: next.responsiveStyle([shape], ([shape2 = "rounded"]) => {
153
+ }), responsiveStyle.useStyle({
154
+ [`.${BLOCK_CLASS_NAME}`]: responsiveStyle.responsiveStyle([shape], ([shape2 = "rounded"]) => {
179
155
  switch (shape2) {
180
156
  case "pill":
181
157
  return {
@@ -191,8 +167,8 @@ const Container = React.forwardRef(function Container2(_g, ref) {
191
167
  };
192
168
  }
193
169
  })
194
- }), next.useStyle({
195
- [`.${BLOCK_CLASS_NAME}`]: next.responsiveStyle([variant, blockColor, numberColor, numberFont], ([variant2 = "filled", blockColor2 = {
170
+ }), responsiveStyle.useStyle({
171
+ [`.${BLOCK_CLASS_NAME}`]: responsiveStyle.responsiveStyle([variant, blockColor, numberColor, numberFont], ([variant2 = "filled", blockColor2 = {
196
172
  swatch: {
197
173
  hue: 0,
198
174
  saturation: 0,
@@ -211,13 +187,13 @@ const Container = React.forwardRef(function Container2(_g, ref) {
211
187
  case "filled":
212
188
  return {
213
189
  fontFamily: `"${numberFont2}"`,
214
- color: next.colorToString(numberColor2),
215
- background: next.colorToString(blockColor2)
190
+ color: responsiveStyle.colorToString(numberColor2),
191
+ background: responsiveStyle.colorToString(blockColor2)
216
192
  };
217
193
  case "filled-split":
218
194
  return {
219
195
  position: "relative",
220
- color: next.colorToString(numberColor2),
196
+ color: responsiveStyle.colorToString(numberColor2),
221
197
  fontFamily: `"${numberFont2}"`,
222
198
  "> span": {
223
199
  position: "relative",
@@ -232,7 +208,7 @@ const Container = React.forwardRef(function Container2(_g, ref) {
232
208
  bottom: "calc(50% + 1px)",
233
209
  borderTopLeftRadius: "inherit",
234
210
  borderTopRightRadius: "inherit",
235
- background: next.colorToString(blockColor2)
211
+ background: responsiveStyle.colorToString(blockColor2)
236
212
  },
237
213
  "::after": {
238
214
  content: '""',
@@ -243,22 +219,22 @@ const Container = React.forwardRef(function Container2(_g, ref) {
243
219
  bottom: 0,
244
220
  borderBottomLeftRadius: "inherit",
245
221
  borderBottomRightRadius: "inherit",
246
- background: next.colorToString(blockColor2)
222
+ background: responsiveStyle.colorToString(blockColor2)
247
223
  }
248
224
  };
249
225
  case "outline":
250
226
  return {
251
227
  fontFamily: `"${numberFont2}"`,
252
- color: next.colorToString(numberColor2),
228
+ color: responsiveStyle.colorToString(numberColor2),
253
229
  background: "transparent",
254
- border: `2px solid ${next.colorToString(blockColor2)}`
230
+ border: `2px solid ${responsiveStyle.colorToString(blockColor2)}`
255
231
  };
256
232
  case "outline-split":
257
233
  return {
258
234
  position: "relative",
259
235
  fontFamily: `"${numberFont2}"`,
260
- color: next.colorToString(numberColor2),
261
- border: `2px solid ${next.colorToString(blockColor2)}`,
236
+ color: responsiveStyle.colorToString(numberColor2),
237
+ border: `2px solid ${responsiveStyle.colorToString(blockColor2)}`,
262
238
  "> span": {
263
239
  position: "relative",
264
240
  zIndex: 1
@@ -271,21 +247,21 @@ const Container = React.forwardRef(function Container2(_g, ref) {
271
247
  right: 0,
272
248
  height: 2,
273
249
  marginTop: -1,
274
- background: next.colorToString(blockColor2)
250
+ background: responsiveStyle.colorToString(blockColor2)
275
251
  }
276
252
  };
277
253
  default:
278
254
  return {
279
255
  fontFamily: `"${numberFont2}"`,
280
256
  background: "transparent",
281
- color: next.colorToString(numberColor2),
257
+ color: responsiveStyle.colorToString(numberColor2),
282
258
  paddingTop: 0,
283
259
  paddingBottom: 0
284
260
  };
285
261
  }
286
262
  })
287
- }), next.useStyle({
288
- [`.${LABEL_CLASS_NAME}`]: next.responsiveStyle([labelColor, labelFont], ([labelColor2 = {
263
+ }), responsiveStyle.useStyle({
264
+ [`.${LABEL_CLASS_NAME}`]: responsiveStyle.responsiveStyle([labelColor, labelFont], ([labelColor2 = {
289
265
  swatch: {
290
266
  hue: 0,
291
267
  saturation: 0,
@@ -294,7 +270,7 @@ const Container = React.forwardRef(function Container2(_g, ref) {
294
270
  alpha: 1
295
271
  }, labelFont2 = "sans-serif"]) => ({
296
272
  fontFamily: `"${labelFont2}"`,
297
- color: next.colorToString(labelColor2)
273
+ color: responsiveStyle.colorToString(labelColor2)
298
274
  }))
299
275
  }), className)
300
276
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Countdown.cjs.js","sources":["../src/components/builtin/Countdown/Countdown.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef, Ref, useEffect, useState } from 'react'\nimport {\n DateValue,\n ElementIDValue,\n FontValue,\n GapXValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveValue,\n TextInputValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { colorToString } from '../../utils/colorToString'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { ColorValue as Color } from '../../utils/types'\n\ntype Props = {\n id?: ElementIDValue\n date?: DateValue\n variant?: ResponsiveIconRadioGroupValue<\n 'filled' | 'filled-split' | 'outline' | 'outline-split' | 'clear'\n >\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n gap?: GapXValue\n numberFont?: FontValue\n numberColor?: ResponsiveColor | null\n blockColor?: ResponsiveColor | null\n labelFont?: FontValue\n labelColor?: ResponsiveColor | null\n width?: string\n margin?: string\n daysLabel?: TextInputValue\n hoursLabel?: TextInputValue\n minutesLabel?: TextInputValue\n secondsLabel?: TextInputValue\n}\n\nconst BLOCK_CLASS_NAME = 'block'\n\ntype BlockProps = ComponentPropsWithoutRef<'div'>\n\nfunction Block({ className, ...restOfProps }: BlockProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n BLOCK_CLASS_NAME,\n useStyle({ display: 'block', padding: '0.5em', fontSize: '1em' }),\n className,\n )}\n />\n )\n}\n\nconst LABEL_CLASS_NAME = 'label'\n\ntype LabelProps = ComponentPropsWithoutRef<'div'>\n\nfunction Label({ className, ...restOfProps }: LabelProps) {\n return (\n <div\n {...restOfProps}\n className={cx(LABEL_CLASS_NAME, useStyle({ marginTop: '0.25em' }), className)}\n />\n )\n}\n\nconst SEGMENT_CLASS_NAME = 'segment'\n\ntype SegmentProps = ComponentPropsWithoutRef<'div'>\n\nfunction Segment({ className, ...restOfProps }: SegmentProps) {\n return (\n <div\n {...restOfProps}\n className={cx(SEGMENT_CLASS_NAME, useStyle({ flex: 1, textAlign: 'center' }), className)}\n />\n )\n}\n\ntype ContainerBaseProps = {\n width?: string\n margin?: string\n variant: Props['variant']\n size: Props['size']\n shape: Props['shape']\n gap: Props['gap']\n labelColor?: ResponsiveValue<Color> | null\n numberFont?: ResponsiveValue<string>\n numberColor?: ResponsiveValue<Color> | null\n blockColor?: ResponsiveValue<Color> | null\n labelFont?: ResponsiveValue<string>\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nconst Container = forwardRef(function Container(\n {\n className,\n width,\n margin,\n variant,\n size,\n shape,\n gap,\n labelColor,\n numberFont,\n numberColor,\n blockColor,\n labelFont,\n ...restOfProps\n }: ContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex' }),\n width,\n margin,\n useStyle(\n responsiveStyle([size] as const, ([size = 'medium']) => {\n switch (size) {\n case 'small':\n return { fontSize: 18, [`.${LABEL_CLASS_NAME}`]: { fontSize: 14 } }\n\n case 'large':\n return { fontSize: 32, [`.${LABEL_CLASS_NAME}`]: { fontSize: 18 } }\n\n default:\n return { fontSize: 24, [`.${LABEL_CLASS_NAME}`]: { fontSize: 16 } }\n }\n }),\n ),\n useStyle({\n [`.${SEGMENT_CLASS_NAME}`]: responsiveStyle([gap] as const, ([gap]) => ({\n margin: `0 ${gap == null ? 0 : `${gap.value / 2}${gap.unit}`}`,\n\n '&:first-child': {\n marginLeft: 0,\n },\n\n '&:last-child': {\n marginRight: 0,\n },\n })),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle([shape] as const, ([shape = 'rounded']) => {\n switch (shape) {\n case 'pill':\n return { borderRadius: 500 }\n\n case 'rounded':\n return { borderRadius: 6 }\n\n default:\n return { borderRadius: 0 }\n }\n }),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle(\n [variant, blockColor, numberColor, numberFont] as const,\n ([\n variant = 'filled',\n blockColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n numberColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n numberFont = 'sans-serif',\n ]) => {\n switch (variant) {\n case 'filled':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: colorToString(blockColor),\n }\n\n case 'filled-split':\n return {\n position: 'relative',\n color: colorToString(numberColor),\n fontFamily: `\"${numberFont}\"`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 'calc(50% + 1px)',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n\n '::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 'calc(50% + 1px)',\n bottom: 0,\n borderBottomLeftRadius: 'inherit',\n borderBottomRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n }\n\n case 'outline':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: 'transparent',\n border: `2px solid ${colorToString(blockColor)}`,\n }\n\n case 'outline-split':\n return {\n position: 'relative',\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n border: `2px solid ${colorToString(blockColor)}`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: 0,\n right: 0,\n height: 2,\n marginTop: -1,\n background: colorToString(blockColor),\n },\n }\n\n default:\n return {\n fontFamily: `\"${numberFont}\"`,\n background: 'transparent',\n color: colorToString(numberColor),\n paddingTop: 0,\n paddingBottom: 0,\n }\n }\n },\n ),\n }),\n useStyle({\n [`.${LABEL_CLASS_NAME}`]: responsiveStyle(\n [labelColor, labelFont] as const,\n ([\n labelColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n labelFont = 'sans-serif',\n ]) => ({\n fontFamily: `\"${labelFont}\"`,\n color: colorToString(labelColor),\n }),\n ),\n }),\n className,\n )}\n />\n )\n})\n\nconst getRemaining = (date: Props['date'] | null | undefined) => {\n if (date == null) return { days: '0', hours: '0', minutes: '0', seconds: '0' }\n\n const timeDiff = new Date(date).getTime() - Date.now()\n\n if (timeDiff <= 0) return { days: 0, hours: 0, minutes: 0, seconds: 0 }\n\n let delta = Math.abs(timeDiff) / 1000\n\n const days = Math.floor(delta / 86400)\n delta -= days * 86400\n\n const hours = Math.floor(delta / 3600) % 24\n delta -= hours * 3600\n\n const minutes = Math.floor(delta / 60) % 60\n delta -= minutes * 60\n\n const seconds = parseInt(String(delta % 60), 10)\n\n return {\n days: days.toString(),\n hours: hours.toString(),\n minutes: minutes.toString(),\n seconds: seconds.toString(),\n }\n}\n\nconst Countdown = forwardRef(function Countdown(\n {\n id,\n margin,\n width,\n date,\n variant,\n size,\n shape,\n gap,\n labelColor,\n labelFont,\n numberColor,\n numberFont,\n blockColor,\n daysLabel,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [{ days, hours, minutes, seconds }, setRemaining] = useState(getRemaining(null))\n\n useEffect(() => {\n setRemaining(getRemaining(date))\n\n const intervalId = setInterval(() => {\n setRemaining(getRemaining(date))\n }, 1000)\n\n return () => clearInterval(intervalId)\n }, [date])\n\n return (\n <Container\n ref={ref}\n id={id}\n width={width}\n margin={margin}\n variant={variant}\n size={size}\n shape={shape}\n labelColor={labelColor}\n labelFont={labelFont}\n numberColor={numberColor}\n numberFont={numberFont}\n blockColor={blockColor}\n gap={gap}\n >\n <Segment>\n <Block>\n <span>{days}</span>\n </Block>\n <Label>{daysLabel == null ? 'Days' : daysLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{hours}</span>\n </Block>\n <Label>{hoursLabel == null ? 'Hours' : hoursLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{minutes}</span>\n </Block>\n <Label>{minutesLabel == null ? 'Minutes' : minutesLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{seconds}</span>\n </Block>\n <Label>{secondsLabel == null ? 'Seconds' : secondsLabel}</Label>\n </Segment>\n </Container>\n )\n})\n\nexport default Countdown\n"],"names":["BLOCK_CLASS_NAME","className","restOfProps","cx","useStyle","display","padding","fontSize","LABEL_CLASS_NAME","marginTop","SEGMENT_CLASS_NAME","flex","textAlign","Container","forwardRef","ref","width","margin","variant","size","shape","gap","labelColor","numberFont","numberColor","blockColor","labelFont","responsiveStyle","value","unit","marginLeft","marginRight","borderRadius","swatch","hue","saturation","lightness","alpha","fontFamily","color","colorToString","background","position","zIndex","content","top","left","right","bottom","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","border","height","paddingTop","paddingBottom","getRemaining","date","days","hours","minutes","seconds","timeDiff","Date","getTime","now","delta","Math","abs","floor","parseInt","String","toString","Countdown","id","daysLabel","hoursLabel","minutesLabel","secondsLabel","setRemaining","useState","useEffect","intervalId","setInterval","clearInterval","_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Countdown.cjs.js","sources":["../src/components/builtin/Countdown/Countdown.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef, Ref, useEffect, useState } from 'react'\nimport {\n DateValue,\n ElementIDValue,\n FontValue,\n GapXValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveValue,\n TextInputValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { colorToString } from '../../utils/colorToString'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { ColorValue as Color } from '../../utils/types'\n\ntype Props = {\n id?: ElementIDValue\n date?: DateValue\n variant?: ResponsiveIconRadioGroupValue<\n 'filled' | 'filled-split' | 'outline' | 'outline-split' | 'clear'\n >\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n gap?: GapXValue\n numberFont?: FontValue\n numberColor?: ResponsiveColor | null\n blockColor?: ResponsiveColor | null\n labelFont?: FontValue\n labelColor?: ResponsiveColor | null\n width?: string\n margin?: string\n daysLabel?: TextInputValue\n hoursLabel?: TextInputValue\n minutesLabel?: TextInputValue\n secondsLabel?: TextInputValue\n}\n\nconst BLOCK_CLASS_NAME = 'block'\n\ntype BlockProps = ComponentPropsWithoutRef<'div'>\n\nfunction Block({ className, ...restOfProps }: BlockProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n BLOCK_CLASS_NAME,\n useStyle({ display: 'block', padding: '0.5em', fontSize: '1em' }),\n className,\n )}\n />\n )\n}\n\nconst LABEL_CLASS_NAME = 'label'\n\ntype LabelProps = ComponentPropsWithoutRef<'div'>\n\nfunction Label({ className, ...restOfProps }: LabelProps) {\n return (\n <div\n {...restOfProps}\n className={cx(LABEL_CLASS_NAME, useStyle({ marginTop: '0.25em' }), className)}\n />\n )\n}\n\nconst SEGMENT_CLASS_NAME = 'segment'\n\ntype SegmentProps = ComponentPropsWithoutRef<'div'>\n\nfunction Segment({ className, ...restOfProps }: SegmentProps) {\n return (\n <div\n {...restOfProps}\n className={cx(SEGMENT_CLASS_NAME, useStyle({ flex: 1, textAlign: 'center' }), className)}\n />\n )\n}\n\ntype ContainerBaseProps = {\n width?: string\n margin?: string\n variant: Props['variant']\n size: Props['size']\n shape: Props['shape']\n gap: Props['gap']\n labelColor?: ResponsiveValue<Color> | null\n numberFont?: ResponsiveValue<string>\n numberColor?: ResponsiveValue<Color> | null\n blockColor?: ResponsiveValue<Color> | null\n labelFont?: ResponsiveValue<string>\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nconst Container = forwardRef(function Container(\n {\n className,\n width,\n margin,\n variant,\n size,\n shape,\n gap,\n labelColor,\n numberFont,\n numberColor,\n blockColor,\n labelFont,\n ...restOfProps\n }: ContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex' }),\n width,\n margin,\n useStyle(\n responsiveStyle([size] as const, ([size = 'medium']) => {\n switch (size) {\n case 'small':\n return { fontSize: 18, [`.${LABEL_CLASS_NAME}`]: { fontSize: 14 } }\n\n case 'large':\n return { fontSize: 32, [`.${LABEL_CLASS_NAME}`]: { fontSize: 18 } }\n\n default:\n return { fontSize: 24, [`.${LABEL_CLASS_NAME}`]: { fontSize: 16 } }\n }\n }),\n ),\n useStyle({\n [`.${SEGMENT_CLASS_NAME}`]: responsiveStyle([gap] as const, ([gap]) => ({\n margin: `0 ${gap == null ? 0 : `${gap.value / 2}${gap.unit}`}`,\n\n '&:first-child': {\n marginLeft: 0,\n },\n\n '&:last-child': {\n marginRight: 0,\n },\n })),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle([shape] as const, ([shape = 'rounded']) => {\n switch (shape) {\n case 'pill':\n return { borderRadius: 500 }\n\n case 'rounded':\n return { borderRadius: 6 }\n\n default:\n return { borderRadius: 0 }\n }\n }),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle(\n [variant, blockColor, numberColor, numberFont] as const,\n ([\n variant = 'filled',\n blockColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n numberColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n numberFont = 'sans-serif',\n ]) => {\n switch (variant) {\n case 'filled':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: colorToString(blockColor),\n }\n\n case 'filled-split':\n return {\n position: 'relative',\n color: colorToString(numberColor),\n fontFamily: `\"${numberFont}\"`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 'calc(50% + 1px)',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n\n '::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 'calc(50% + 1px)',\n bottom: 0,\n borderBottomLeftRadius: 'inherit',\n borderBottomRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n }\n\n case 'outline':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: 'transparent',\n border: `2px solid ${colorToString(blockColor)}`,\n }\n\n case 'outline-split':\n return {\n position: 'relative',\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n border: `2px solid ${colorToString(blockColor)}`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: 0,\n right: 0,\n height: 2,\n marginTop: -1,\n background: colorToString(blockColor),\n },\n }\n\n default:\n return {\n fontFamily: `\"${numberFont}\"`,\n background: 'transparent',\n color: colorToString(numberColor),\n paddingTop: 0,\n paddingBottom: 0,\n }\n }\n },\n ),\n }),\n useStyle({\n [`.${LABEL_CLASS_NAME}`]: responsiveStyle(\n [labelColor, labelFont] as const,\n ([\n labelColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n labelFont = 'sans-serif',\n ]) => ({\n fontFamily: `\"${labelFont}\"`,\n color: colorToString(labelColor),\n }),\n ),\n }),\n className,\n )}\n />\n )\n})\n\nconst getRemaining = (date: Props['date'] | null | undefined) => {\n if (date == null) return { days: '0', hours: '0', minutes: '0', seconds: '0' }\n\n const timeDiff = new Date(date).getTime() - Date.now()\n\n if (timeDiff <= 0) return { days: 0, hours: 0, minutes: 0, seconds: 0 }\n\n let delta = Math.abs(timeDiff) / 1000\n\n const days = Math.floor(delta / 86400)\n delta -= days * 86400\n\n const hours = Math.floor(delta / 3600) % 24\n delta -= hours * 3600\n\n const minutes = Math.floor(delta / 60) % 60\n delta -= minutes * 60\n\n const seconds = parseInt(String(delta % 60), 10)\n\n return {\n days: days.toString(),\n hours: hours.toString(),\n minutes: minutes.toString(),\n seconds: seconds.toString(),\n }\n}\n\nconst Countdown = forwardRef(function Countdown(\n {\n id,\n margin,\n width,\n date,\n variant,\n size,\n shape,\n gap,\n labelColor,\n labelFont,\n numberColor,\n numberFont,\n blockColor,\n daysLabel,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [{ days, hours, minutes, seconds }, setRemaining] = useState(getRemaining(null))\n\n useEffect(() => {\n setRemaining(getRemaining(date))\n\n const intervalId = setInterval(() => {\n setRemaining(getRemaining(date))\n }, 1000)\n\n return () => clearInterval(intervalId)\n }, [date])\n\n return (\n <Container\n ref={ref}\n id={id}\n width={width}\n margin={margin}\n variant={variant}\n size={size}\n shape={shape}\n labelColor={labelColor}\n labelFont={labelFont}\n numberColor={numberColor}\n numberFont={numberFont}\n blockColor={blockColor}\n gap={gap}\n >\n <Segment>\n <Block>\n <span>{days}</span>\n </Block>\n <Label>{daysLabel == null ? 'Days' : daysLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{hours}</span>\n </Block>\n <Label>{hoursLabel == null ? 'Hours' : hoursLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{minutes}</span>\n </Block>\n <Label>{minutesLabel == null ? 'Minutes' : minutesLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{seconds}</span>\n </Block>\n <Label>{secondsLabel == null ? 'Seconds' : secondsLabel}</Label>\n </Segment>\n </Container>\n )\n})\n\nexport default Countdown\n"],"names":["BLOCK_CLASS_NAME","className","restOfProps","cx","useStyle","display","padding","fontSize","LABEL_CLASS_NAME","marginTop","SEGMENT_CLASS_NAME","flex","textAlign","Container","forwardRef","ref","width","margin","variant","size","shape","gap","labelColor","numberFont","numberColor","blockColor","labelFont","responsiveStyle","value","unit","marginLeft","marginRight","borderRadius","swatch","hue","saturation","lightness","alpha","fontFamily","color","colorToString","background","position","zIndex","content","top","left","right","bottom","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","border","height","paddingTop","paddingBottom","getRemaining","date","days","hours","minutes","seconds","timeDiff","Date","getTime","now","delta","Math","abs","floor","parseInt","String","toString","Countdown","id","daysLabel","hoursLabel","minutesLabel","secondsLabel","setRemaining","useState","useEffect","intervalId","setInterval","clearInterval","_jsxs","_jsx"],"mappings":"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"}
@@ -31,39 +31,15 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
  import { cx } from "@emotion/css";
33
33
  import { forwardRef, useState, useEffect } from "react";
34
- import { o as useStyle, r as responsiveStyle, s as colorToString } from "./index.es.js";
34
+ import { e as useStyle, r as responsiveStyle, i as colorToString } from "./responsive-style.es.js";
35
35
  import { jsx, jsxs } from "react/jsx-runtime";
36
- import "use-sync-external-store/shim/with-selector";
37
- import "next/dynamic";
38
- import "./constants.es.js";
39
- import "redux";
40
- import "redux-thunk";
41
- import "./actions.es.js";
42
- import "./descriptors.es.js";
43
- import "slate";
44
- import "slate-react";
45
- import "./introspection.es.js";
46
36
  import "@emotion/serialize";
47
37
  import "@emotion/utils";
48
- import "./text-input.es.js";
49
- import "./combobox.es.js";
50
38
  import "use-sync-external-store/shim";
39
+ import "redux";
40
+ import "redux-thunk";
51
41
  import "./types.es.js";
52
- import "./box-models.es.js";
53
- import "css-box-model";
54
- import "color";
55
- import "scroll-into-view-if-needed";
56
- import "react-dom";
57
- import "html-react-parser";
58
- import "next/head";
59
- import "@emotion/server/create-instance";
60
- import "next/document";
61
- import "cookie";
62
- import "cors";
63
- import "http-proxy";
64
- import "set-cookie-parser";
65
- import "uuid";
66
- import "corporate-ipsum";
42
+ import "./actions.es.js";
67
43
  const BLOCK_CLASS_NAME = "block";
68
44
  function Block(_a) {
69
45
  var _b = _a, {
@@ -1 +1 @@
1
- {"version":3,"file":"Countdown.es.js","sources":["../src/components/builtin/Countdown/Countdown.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef, Ref, useEffect, useState } from 'react'\nimport {\n DateValue,\n ElementIDValue,\n FontValue,\n GapXValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveValue,\n TextInputValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { colorToString } from '../../utils/colorToString'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { ColorValue as Color } from '../../utils/types'\n\ntype Props = {\n id?: ElementIDValue\n date?: DateValue\n variant?: ResponsiveIconRadioGroupValue<\n 'filled' | 'filled-split' | 'outline' | 'outline-split' | 'clear'\n >\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n gap?: GapXValue\n numberFont?: FontValue\n numberColor?: ResponsiveColor | null\n blockColor?: ResponsiveColor | null\n labelFont?: FontValue\n labelColor?: ResponsiveColor | null\n width?: string\n margin?: string\n daysLabel?: TextInputValue\n hoursLabel?: TextInputValue\n minutesLabel?: TextInputValue\n secondsLabel?: TextInputValue\n}\n\nconst BLOCK_CLASS_NAME = 'block'\n\ntype BlockProps = ComponentPropsWithoutRef<'div'>\n\nfunction Block({ className, ...restOfProps }: BlockProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n BLOCK_CLASS_NAME,\n useStyle({ display: 'block', padding: '0.5em', fontSize: '1em' }),\n className,\n )}\n />\n )\n}\n\nconst LABEL_CLASS_NAME = 'label'\n\ntype LabelProps = ComponentPropsWithoutRef<'div'>\n\nfunction Label({ className, ...restOfProps }: LabelProps) {\n return (\n <div\n {...restOfProps}\n className={cx(LABEL_CLASS_NAME, useStyle({ marginTop: '0.25em' }), className)}\n />\n )\n}\n\nconst SEGMENT_CLASS_NAME = 'segment'\n\ntype SegmentProps = ComponentPropsWithoutRef<'div'>\n\nfunction Segment({ className, ...restOfProps }: SegmentProps) {\n return (\n <div\n {...restOfProps}\n className={cx(SEGMENT_CLASS_NAME, useStyle({ flex: 1, textAlign: 'center' }), className)}\n />\n )\n}\n\ntype ContainerBaseProps = {\n width?: string\n margin?: string\n variant: Props['variant']\n size: Props['size']\n shape: Props['shape']\n gap: Props['gap']\n labelColor?: ResponsiveValue<Color> | null\n numberFont?: ResponsiveValue<string>\n numberColor?: ResponsiveValue<Color> | null\n blockColor?: ResponsiveValue<Color> | null\n labelFont?: ResponsiveValue<string>\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nconst Container = forwardRef(function Container(\n {\n className,\n width,\n margin,\n variant,\n size,\n shape,\n gap,\n labelColor,\n numberFont,\n numberColor,\n blockColor,\n labelFont,\n ...restOfProps\n }: ContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex' }),\n width,\n margin,\n useStyle(\n responsiveStyle([size] as const, ([size = 'medium']) => {\n switch (size) {\n case 'small':\n return { fontSize: 18, [`.${LABEL_CLASS_NAME}`]: { fontSize: 14 } }\n\n case 'large':\n return { fontSize: 32, [`.${LABEL_CLASS_NAME}`]: { fontSize: 18 } }\n\n default:\n return { fontSize: 24, [`.${LABEL_CLASS_NAME}`]: { fontSize: 16 } }\n }\n }),\n ),\n useStyle({\n [`.${SEGMENT_CLASS_NAME}`]: responsiveStyle([gap] as const, ([gap]) => ({\n margin: `0 ${gap == null ? 0 : `${gap.value / 2}${gap.unit}`}`,\n\n '&:first-child': {\n marginLeft: 0,\n },\n\n '&:last-child': {\n marginRight: 0,\n },\n })),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle([shape] as const, ([shape = 'rounded']) => {\n switch (shape) {\n case 'pill':\n return { borderRadius: 500 }\n\n case 'rounded':\n return { borderRadius: 6 }\n\n default:\n return { borderRadius: 0 }\n }\n }),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle(\n [variant, blockColor, numberColor, numberFont] as const,\n ([\n variant = 'filled',\n blockColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n numberColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n numberFont = 'sans-serif',\n ]) => {\n switch (variant) {\n case 'filled':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: colorToString(blockColor),\n }\n\n case 'filled-split':\n return {\n position: 'relative',\n color: colorToString(numberColor),\n fontFamily: `\"${numberFont}\"`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 'calc(50% + 1px)',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n\n '::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 'calc(50% + 1px)',\n bottom: 0,\n borderBottomLeftRadius: 'inherit',\n borderBottomRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n }\n\n case 'outline':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: 'transparent',\n border: `2px solid ${colorToString(blockColor)}`,\n }\n\n case 'outline-split':\n return {\n position: 'relative',\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n border: `2px solid ${colorToString(blockColor)}`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: 0,\n right: 0,\n height: 2,\n marginTop: -1,\n background: colorToString(blockColor),\n },\n }\n\n default:\n return {\n fontFamily: `\"${numberFont}\"`,\n background: 'transparent',\n color: colorToString(numberColor),\n paddingTop: 0,\n paddingBottom: 0,\n }\n }\n },\n ),\n }),\n useStyle({\n [`.${LABEL_CLASS_NAME}`]: responsiveStyle(\n [labelColor, labelFont] as const,\n ([\n labelColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n labelFont = 'sans-serif',\n ]) => ({\n fontFamily: `\"${labelFont}\"`,\n color: colorToString(labelColor),\n }),\n ),\n }),\n className,\n )}\n />\n )\n})\n\nconst getRemaining = (date: Props['date'] | null | undefined) => {\n if (date == null) return { days: '0', hours: '0', minutes: '0', seconds: '0' }\n\n const timeDiff = new Date(date).getTime() - Date.now()\n\n if (timeDiff <= 0) return { days: 0, hours: 0, minutes: 0, seconds: 0 }\n\n let delta = Math.abs(timeDiff) / 1000\n\n const days = Math.floor(delta / 86400)\n delta -= days * 86400\n\n const hours = Math.floor(delta / 3600) % 24\n delta -= hours * 3600\n\n const minutes = Math.floor(delta / 60) % 60\n delta -= minutes * 60\n\n const seconds = parseInt(String(delta % 60), 10)\n\n return {\n days: days.toString(),\n hours: hours.toString(),\n minutes: minutes.toString(),\n seconds: seconds.toString(),\n }\n}\n\nconst Countdown = forwardRef(function Countdown(\n {\n id,\n margin,\n width,\n date,\n variant,\n size,\n shape,\n gap,\n labelColor,\n labelFont,\n numberColor,\n numberFont,\n blockColor,\n daysLabel,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [{ days, hours, minutes, seconds }, setRemaining] = useState(getRemaining(null))\n\n useEffect(() => {\n setRemaining(getRemaining(date))\n\n const intervalId = setInterval(() => {\n setRemaining(getRemaining(date))\n }, 1000)\n\n return () => clearInterval(intervalId)\n }, [date])\n\n return (\n <Container\n ref={ref}\n id={id}\n width={width}\n margin={margin}\n variant={variant}\n size={size}\n shape={shape}\n labelColor={labelColor}\n labelFont={labelFont}\n numberColor={numberColor}\n numberFont={numberFont}\n blockColor={blockColor}\n gap={gap}\n >\n <Segment>\n <Block>\n <span>{days}</span>\n </Block>\n <Label>{daysLabel == null ? 'Days' : daysLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{hours}</span>\n </Block>\n <Label>{hoursLabel == null ? 'Hours' : hoursLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{minutes}</span>\n </Block>\n <Label>{minutesLabel == null ? 'Minutes' : minutesLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{seconds}</span>\n </Block>\n <Label>{secondsLabel == null ? 'Seconds' : secondsLabel}</Label>\n </Segment>\n </Container>\n )\n})\n\nexport default Countdown\n"],"names":["BLOCK_CLASS_NAME","className","restOfProps","cx","useStyle","display","padding","fontSize","LABEL_CLASS_NAME","marginTop","SEGMENT_CLASS_NAME","flex","textAlign","Container","forwardRef","ref","width","margin","variant","size","shape","gap","labelColor","numberFont","numberColor","blockColor","labelFont","responsiveStyle","value","unit","marginLeft","marginRight","borderRadius","swatch","hue","saturation","lightness","alpha","fontFamily","color","colorToString","background","position","zIndex","content","top","left","right","bottom","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","border","height","paddingTop","paddingBottom","getRemaining","date","days","hours","minutes","seconds","timeDiff","Date","getTime","now","delta","Math","abs","floor","parseInt","String","toString","Countdown","id","daysLabel","hoursLabel","minutesLabel","secondsLabel","setRemaining","useState","useEffect","intervalId","setInterval","clearInterval","_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAMA,mBAAmB;AAIzB,eAAe,IAA2C;AAA3C,eAAEC;AAAAA;AAAAA,MAAF,IAAgBC,wBAAhB,IAAgBA;AAAAA,IAAdD;AAAAA;AACf,qEAEQC;IACJ,WAAWC,GACTH,kBACAI,SAAS;AAAA,MAAEC,SAAS;AAAA,MAASC,SAAS;AAAA,MAASC,UAAU;AAAA,IAAjD,CAAA,GACRN,SAHW;AAAA,EAAA,EAHjB;AAUD;AAED,MAAMO,mBAAmB;AAIzB,eAAe,IAA2C;AAA3C,eAAEP;AAAAA;AAAAA,MAAF,IAAgBC,wBAAhB,IAAgBA;AAAAA,IAAdD;AAAAA;AACf,qEAEQC;IACJ,WAAWC,GAAGK,kBAAkBJ,SAAS;AAAA,MAAEK,WAAW;AAAA,IAAd,CAAA,GAA2BR,SAAtD;AAAA,EAAA,EAHjB;AAMD;AAED,MAAMS,qBAAqB;AAI3B,iBAAiB,IAA6C;AAA7C,eAAET;AAAAA;AAAAA,MAAF,IAAgBC,wBAAhB,IAAgBA;AAAAA,IAAdD;AAAAA;AACjB,qEAEQC;IACJ,WAAWC,GAAGO,oBAAoBN,SAAS;AAAA,MAAEO,MAAM;AAAA,MAAGC,WAAW;AAAA,IAAvB,CAAA,GAAoCX,SAAjE;AAAA,EAAA,EAHjB;AAMD;AAmBD,MAAMY,YAAYC,WAAW,oBAC3B,IAeAC,KACA;AAhBA,eACEd;AAAAA;AAAAA,IACAe;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,MAZF,IAaKxB,wBAbL,IAaKA;AAAAA,IAZHD;AAAAA,IACAe;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA;AAKF,qEAEQxB;IACJ;AAAA,IACA,WAAWC,GACTC,SAAS;AAAA,MAAEC,SAAS;AAAA,IAAZ,CAAA,GACRW,OACAC,QACAb,SACEuB,gBAAgB,CAACR,IAAD,GAAiB,CAAC,CAACA,QAAO,cAAc;AAC9CA,cAAAA;AAAAA,aACD;AACI,iBAAA;AAAA,YAAEZ,UAAU;AAAA,aAAM,IAAGC,qBAAqB;AAAA,cAAED,UAAU;AAAA,YAAZ;AAAA,UAAA;AAAA,aAE9C;AACI,iBAAA;AAAA,YAAEA,UAAU;AAAA,aAAM,IAAGC,qBAAqB;AAAA,cAAED,UAAU;AAAA,YAAZ;AAAA,UAAA;AAAA;AAG1C,iBAAA;AAAA,YAAEA,UAAU;AAAA,aAAM,IAAGC,qBAAqB;AAAA,cAAED,UAAU;AAAA,YAAZ;AAAA,UAAA;AAAA;AAAA,IAAjD,CATS,CADT,GAcRH,SAAS;AAAA,OACL,IAAGM,uBAAuBiB,gBAAgB,CAACN,GAAD,GAAgB,CAAC,CAACA,UAAU;AAAA,QACtEJ,QAAS,KAAII,QAAO,OAAO,IAAK,GAAEA,KAAIO,QAAQ,IAAIP,KAAIQ;AAAAA,QAErC,iBAAA;AAAA,UACfC,YAAY;AAAA,QAJwD;AAAA,QAOtD,gBAAA;AAAA,UACdC,aAAa;AAAA,QADC;AAAA,MAAA,EAPyB;AAAA,IADrC,CAAA,GAaR3B,SAAS;AAAA,OACL,IAAGJ,qBAAqB2B,gBAAgB,CAACP,KAAD,GAAkB,CAAC,CAACA,SAAQ,eAAe;AAC3EA,gBAAAA;AAAAA,eACD;AACI,mBAAA;AAAA,cAAEY,cAAc;AAAA,YAAA;AAAA,eAEpB;AACI,mBAAA;AAAA,cAAEA,cAAc;AAAA,YAAA;AAAA;AAGhB,mBAAA;AAAA,cAAEA,cAAc;AAAA,YAAA;AAAA;AAAA,MAAvB,CATmC;AAAA,IADnC,CAAA,GAcR5B,SAAS;AAAA,OACL,IAAGJ,qBAAqB2B,gBACxB,CAACT,SAASO,YAAYD,aAAaD,UAAnC,GACA,CAAC,CACCL,WAAU,UACVO,cAAa;AAAA,QAAEQ,QAAQ;AAAA,UAAEC,KAAK;AAAA,UAAGC,YAAY;AAAA,UAAGC,WAAW;AAAA,QAA9C;AAAA,QAAmDC,OAAO;AAAA,SACvEb,eAAc;AAAA,QAAES,QAAQ;AAAA,UAAEC,KAAK;AAAA,UAAGC,YAAY;AAAA,UAAGC,WAAW;AAAA,QAA9C;AAAA,QAAqDC,OAAO;AAAA,MAAA,GAC1Ed,cAAa,kBACT;AACIL,gBAAAA;AAAAA,eACD;AACI,mBAAA;AAAA,cACLoB,YAAa,IAAGf;AAAAA,cAChBgB,OAAOC,cAAchB,YAAD;AAAA,cACpBiB,YAAYD,cAAcf,WAAD;AAAA,YAAA;AAAA,eAGxB;AACI,mBAAA;AAAA,cACLiB,UAAU;AAAA,cACVH,OAAOC,cAAchB,YAAD;AAAA,cACpBc,YAAa,IAAGf;AAAAA,cAEN,UAAA;AAAA,gBACRmB,UAAU;AAAA,gBACVC,QAAQ;AAAA,cAPL;AAAA,cAUO,YAAA;AAAA,gBACVC,SAAS;AAAA,gBACTF,UAAU;AAAA,gBACVG,KAAK;AAAA,gBACLC,MAAM;AAAA,gBACNC,OAAO;AAAA,gBACPC,QAAQ;AAAA,gBACRC,qBAAqB;AAAA,gBACrBC,sBAAsB;AAAA,gBACtBT,YAAYD,cAAcf,WAAD;AAAA,cAnBtB;AAAA,cAsBM,WAAA;AAAA,gBACTmB,SAAS;AAAA,gBACTF,UAAU;AAAA,gBACVI,MAAM;AAAA,gBACNC,OAAO;AAAA,gBACPF,KAAK;AAAA,gBACLG,QAAQ;AAAA,gBACRG,wBAAwB;AAAA,gBACxBC,yBAAyB;AAAA,gBACzBX,YAAYD,cAAcf,WAAD;AAAA,cAThB;AAAA,YAAA;AAAA,eAaV;AACI,mBAAA;AAAA,cACLa,YAAa,IAAGf;AAAAA,cAChBgB,OAAOC,cAAchB,YAAD;AAAA,cACpBiB,YAAY;AAAA,cACZY,QAAS,aAAYb,cAAcf,WAAD;AAAA,YAAA;AAAA,eAGjC;AACI,mBAAA;AAAA,cACLiB,UAAU;AAAA,cACVJ,YAAa,IAAGf;AAAAA,cAChBgB,OAAOC,cAAchB,YAAD;AAAA,cACpB6B,QAAS,aAAYb,cAAcf,WAAD;AAAA,cAExB,UAAA;AAAA,gBACRiB,UAAU;AAAA,gBACVC,QAAQ;AAAA,cARL;AAAA,cAWO,YAAA;AAAA,gBACVC,SAAS;AAAA,gBACTF,UAAU;AAAA,gBACVG,KAAK;AAAA,gBACLC,MAAM;AAAA,gBACNC,OAAO;AAAA,gBACPO,QAAQ;AAAA,gBACR7C,WAAW;AAAA,gBACXgC,YAAYD,cAAcf,WAAD;AAAA,cARf;AAAA,YAAA;AAAA;AAaP,mBAAA;AAAA,cACLa,YAAa,IAAGf;AAAAA,cAChBkB,YAAY;AAAA,cACZF,OAAOC,cAAchB,YAAD;AAAA,cACpB+B,YAAY;AAAA,cACZC,eAAe;AAAA,YAAA;AAAA;AAAA,MALjB,CArFiC;AAAA,IADnC,CAAA,GAiGRpD,SAAS;AAAA,OACL,IAAGI,qBAAqBmB,gBACxB,CAACL,YAAYI,SAAb,GACA,CAAC,CACCJ,cAAa;AAAA,QAAEW,QAAQ;AAAA,UAAEC,KAAK;AAAA,UAAGC,YAAY;AAAA,UAAGC,WAAW;AAAA,QAA9C;AAAA,QAAmDC,OAAO;AAAA,MAAA,GACvEX,aAAY,kBACP;AAAA,QACLY,YAAa,IAAGZ;AAAAA,QAChBa,OAAOC,cAAclB,WAAD;AAAA,MAAA,EAPiB;AAAA,IADnC,CAAA,GAYRrB,SA1JW;AAAA,EAAA,EAJjB;AAkKD,CApL2B;AAsL5B,MAAMwD,eAAe,CAACC,SAA2C;AAC/D,MAAIA,QAAQ;AAAa,WAAA;AAAA,MAAEC,MAAM;AAAA,MAAKC,OAAO;AAAA,MAAKC,SAAS;AAAA,MAAKC,SAAS;AAAA,IAAA;AAEnEC,QAAAA,WAAW,IAAIC,KAAKN,IAAT,EAAeO,YAAYD,KAAKE;AAEjD,MAAIH,YAAY;AAAU,WAAA;AAAA,MAAEJ,MAAM;AAAA,MAAGC,OAAO;AAAA,MAAGC,SAAS;AAAA,MAAGC,SAAS;AAAA,IAAA;AAEhEK,MAAAA,QAAQC,KAAKC,IAAIN,QAAT,IAAqB;AAE3BJ,QAAAA,OAAOS,KAAKE,MAAMH,QAAQ,KAAnB;AACbA,WAASR,OAAO;AAEVC,QAAAA,QAAQQ,KAAKE,MAAMH,QAAQ,IAAnB,IAA2B;AACzCA,WAASP,QAAQ;AAEXC,QAAAA,UAAUO,KAAKE,MAAMH,QAAQ,EAAnB,IAAyB;AACzCA,WAASN,UAAU;AAEnB,QAAMC,UAAUS,SAASC,OAAOL,QAAQ,EAAT,GAAc,EAArB;AAEjB,SAAA;AAAA,IACLR,MAAMA,KAAKc,SADN;AAAA,IAELb,OAAOA,MAAMa,SAFR;AAAA,IAGLZ,SAASA,QAAQY,SAHZ;AAAA,IAILX,SAASA,QAAQW,SAAR;AAAA,EAAA;AAEZ;AAEKC,MAAAA,YAAY5D,WAAW,oBAC3B;AAAA,EACE6D;AAAAA,EACA1D;AAAAA,EACAD;AAAAA,EACA0C;AAAAA,EACAxC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAI;AAAAA,EACAF;AAAAA,EACAD;AAAAA,EACAE;AAAAA,EACAmD;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GAEFhE,KACA;AACA,QAAM,CAAC;AAAA,IAAE4C;AAAAA,IAAMC;AAAAA,IAAOC;AAAAA,IAASC;AAAAA,KAAWkB,gBAAgBC,SAASxB,aAAa,IAAD,CAAb;AAElEyB,YAAU,MAAM;AACDzB,iBAAAA,aAAaC,IAAD,CAAb;AAENyB,UAAAA,aAAaC,YAAY,MAAM;AACtB3B,mBAAAA,aAAaC,IAAD,CAAb;AAAA,OACX,GAF2B;AAIvB,WAAA,MAAM2B,cAAcF,UAAD;AAAA,EAAA,GACzB,CAACzB,IAAD,CARM;AAUT,8BACG,WAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAbF,UAAA,CAeE4B,qBAAC,SAAD;AAAA,MAAA,UAAA,CACEC,oBAAC,OAAD;AAAA,QACE,8BAAA,QAAA;AAAA,UAAO5B,UAAAA;AAAAA,QAAAA,CAAP;AAAA,MAAA,CAFJ,GAIE4B,oBAAC,OAAD;AAAA,QAAA,UAAQX,aAAa,OAAO,SAASA;AAAAA,MAAAA,CAJvC,CAAA;AAAA,IAAA,CAfF,GAqBEU,qBAAC,SAAD;AAAA,MAAA,UAAA,CACEC,oBAAC,OAAD;AAAA,QACE,8BAAA,QAAA;AAAA,UAAO3B,UAAAA;AAAAA,QAAAA,CAAP;AAAA,MAAA,CAFJ,GAIE2B,oBAAC,OAAD;AAAA,QAAA,UAAQV,cAAc,OAAO,UAAUA;AAAAA,MAAAA,CAJzC,CAAA;AAAA,IAAA,CArBF,GA2BES,qBAAC,SAAD;AAAA,MAAA,UAAA,CACEC,oBAAC,OAAD;AAAA,QACE,8BAAA,QAAA;AAAA,UAAO1B,UAAAA;AAAAA,QAAAA,CAAP;AAAA,MAAA,CAFJ,GAIE0B,oBAAC,OAAD;AAAA,QAAA,UAAQT,gBAAgB,OAAO,YAAYA;AAAAA,MAAAA,CAJ7C,CAAA;AAAA,IAAA,CA3BF,GAiCEQ,qBAAC,SAAD;AAAA,MAAA,UAAA,CACEC,oBAAC,OAAD;AAAA,QACE,8BAAA,QAAA;AAAA,UAAOzB,UAAAA;AAAAA,QAAAA,CAAP;AAAA,MAAA,CAFJ,GAIEyB,oBAAC,OAAD;AAAA,QAAA,UAAQR,gBAAgB,OAAO,YAAYA;AAAAA,MAAAA,CAJ7C,CAAA;AAAA,IAAA,CAjCF,CAAA;AAAA,EAAA,CADF;AA0CD,CA5E2B;;"}
1
+ {"version":3,"file":"Countdown.es.js","sources":["../src/components/builtin/Countdown/Countdown.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef, Ref, useEffect, useState } from 'react'\nimport {\n DateValue,\n ElementIDValue,\n FontValue,\n GapXValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveValue,\n TextInputValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { colorToString } from '../../utils/colorToString'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { ColorValue as Color } from '../../utils/types'\n\ntype Props = {\n id?: ElementIDValue\n date?: DateValue\n variant?: ResponsiveIconRadioGroupValue<\n 'filled' | 'filled-split' | 'outline' | 'outline-split' | 'clear'\n >\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n gap?: GapXValue\n numberFont?: FontValue\n numberColor?: ResponsiveColor | null\n blockColor?: ResponsiveColor | null\n labelFont?: FontValue\n labelColor?: ResponsiveColor | null\n width?: string\n margin?: string\n daysLabel?: TextInputValue\n hoursLabel?: TextInputValue\n minutesLabel?: TextInputValue\n secondsLabel?: TextInputValue\n}\n\nconst BLOCK_CLASS_NAME = 'block'\n\ntype BlockProps = ComponentPropsWithoutRef<'div'>\n\nfunction Block({ className, ...restOfProps }: BlockProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n BLOCK_CLASS_NAME,\n useStyle({ display: 'block', padding: '0.5em', fontSize: '1em' }),\n className,\n )}\n />\n )\n}\n\nconst LABEL_CLASS_NAME = 'label'\n\ntype LabelProps = ComponentPropsWithoutRef<'div'>\n\nfunction Label({ className, ...restOfProps }: LabelProps) {\n return (\n <div\n {...restOfProps}\n className={cx(LABEL_CLASS_NAME, useStyle({ marginTop: '0.25em' }), className)}\n />\n )\n}\n\nconst SEGMENT_CLASS_NAME = 'segment'\n\ntype SegmentProps = ComponentPropsWithoutRef<'div'>\n\nfunction Segment({ className, ...restOfProps }: SegmentProps) {\n return (\n <div\n {...restOfProps}\n className={cx(SEGMENT_CLASS_NAME, useStyle({ flex: 1, textAlign: 'center' }), className)}\n />\n )\n}\n\ntype ContainerBaseProps = {\n width?: string\n margin?: string\n variant: Props['variant']\n size: Props['size']\n shape: Props['shape']\n gap: Props['gap']\n labelColor?: ResponsiveValue<Color> | null\n numberFont?: ResponsiveValue<string>\n numberColor?: ResponsiveValue<Color> | null\n blockColor?: ResponsiveValue<Color> | null\n labelFont?: ResponsiveValue<string>\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nconst Container = forwardRef(function Container(\n {\n className,\n width,\n margin,\n variant,\n size,\n shape,\n gap,\n labelColor,\n numberFont,\n numberColor,\n blockColor,\n labelFont,\n ...restOfProps\n }: ContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex' }),\n width,\n margin,\n useStyle(\n responsiveStyle([size] as const, ([size = 'medium']) => {\n switch (size) {\n case 'small':\n return { fontSize: 18, [`.${LABEL_CLASS_NAME}`]: { fontSize: 14 } }\n\n case 'large':\n return { fontSize: 32, [`.${LABEL_CLASS_NAME}`]: { fontSize: 18 } }\n\n default:\n return { fontSize: 24, [`.${LABEL_CLASS_NAME}`]: { fontSize: 16 } }\n }\n }),\n ),\n useStyle({\n [`.${SEGMENT_CLASS_NAME}`]: responsiveStyle([gap] as const, ([gap]) => ({\n margin: `0 ${gap == null ? 0 : `${gap.value / 2}${gap.unit}`}`,\n\n '&:first-child': {\n marginLeft: 0,\n },\n\n '&:last-child': {\n marginRight: 0,\n },\n })),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle([shape] as const, ([shape = 'rounded']) => {\n switch (shape) {\n case 'pill':\n return { borderRadius: 500 }\n\n case 'rounded':\n return { borderRadius: 6 }\n\n default:\n return { borderRadius: 0 }\n }\n }),\n }),\n useStyle({\n [`.${BLOCK_CLASS_NAME}`]: responsiveStyle(\n [variant, blockColor, numberColor, numberFont] as const,\n ([\n variant = 'filled',\n blockColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n numberColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n numberFont = 'sans-serif',\n ]) => {\n switch (variant) {\n case 'filled':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: colorToString(blockColor),\n }\n\n case 'filled-split':\n return {\n position: 'relative',\n color: colorToString(numberColor),\n fontFamily: `\"${numberFont}\"`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 'calc(50% + 1px)',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n\n '::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 'calc(50% + 1px)',\n bottom: 0,\n borderBottomLeftRadius: 'inherit',\n borderBottomRightRadius: 'inherit',\n background: colorToString(blockColor),\n },\n }\n\n case 'outline':\n return {\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n background: 'transparent',\n border: `2px solid ${colorToString(blockColor)}`,\n }\n\n case 'outline-split':\n return {\n position: 'relative',\n fontFamily: `\"${numberFont}\"`,\n color: colorToString(numberColor),\n border: `2px solid ${colorToString(blockColor)}`,\n\n '> span': {\n position: 'relative',\n zIndex: 1,\n },\n\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: 0,\n right: 0,\n height: 2,\n marginTop: -1,\n background: colorToString(blockColor),\n },\n }\n\n default:\n return {\n fontFamily: `\"${numberFont}\"`,\n background: 'transparent',\n color: colorToString(numberColor),\n paddingTop: 0,\n paddingBottom: 0,\n }\n }\n },\n ),\n }),\n useStyle({\n [`.${LABEL_CLASS_NAME}`]: responsiveStyle(\n [labelColor, labelFont] as const,\n ([\n labelColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n labelFont = 'sans-serif',\n ]) => ({\n fontFamily: `\"${labelFont}\"`,\n color: colorToString(labelColor),\n }),\n ),\n }),\n className,\n )}\n />\n )\n})\n\nconst getRemaining = (date: Props['date'] | null | undefined) => {\n if (date == null) return { days: '0', hours: '0', minutes: '0', seconds: '0' }\n\n const timeDiff = new Date(date).getTime() - Date.now()\n\n if (timeDiff <= 0) return { days: 0, hours: 0, minutes: 0, seconds: 0 }\n\n let delta = Math.abs(timeDiff) / 1000\n\n const days = Math.floor(delta / 86400)\n delta -= days * 86400\n\n const hours = Math.floor(delta / 3600) % 24\n delta -= hours * 3600\n\n const minutes = Math.floor(delta / 60) % 60\n delta -= minutes * 60\n\n const seconds = parseInt(String(delta % 60), 10)\n\n return {\n days: days.toString(),\n hours: hours.toString(),\n minutes: minutes.toString(),\n seconds: seconds.toString(),\n }\n}\n\nconst Countdown = forwardRef(function Countdown(\n {\n id,\n margin,\n width,\n date,\n variant,\n size,\n shape,\n gap,\n labelColor,\n labelFont,\n numberColor,\n numberFont,\n blockColor,\n daysLabel,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [{ days, hours, minutes, seconds }, setRemaining] = useState(getRemaining(null))\n\n useEffect(() => {\n setRemaining(getRemaining(date))\n\n const intervalId = setInterval(() => {\n setRemaining(getRemaining(date))\n }, 1000)\n\n return () => clearInterval(intervalId)\n }, [date])\n\n return (\n <Container\n ref={ref}\n id={id}\n width={width}\n margin={margin}\n variant={variant}\n size={size}\n shape={shape}\n labelColor={labelColor}\n labelFont={labelFont}\n numberColor={numberColor}\n numberFont={numberFont}\n blockColor={blockColor}\n gap={gap}\n >\n <Segment>\n <Block>\n <span>{days}</span>\n </Block>\n <Label>{daysLabel == null ? 'Days' : daysLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{hours}</span>\n </Block>\n <Label>{hoursLabel == null ? 'Hours' : hoursLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{minutes}</span>\n </Block>\n <Label>{minutesLabel == null ? 'Minutes' : minutesLabel}</Label>\n </Segment>\n <Segment>\n <Block>\n <span>{seconds}</span>\n </Block>\n <Label>{secondsLabel == null ? 'Seconds' : secondsLabel}</Label>\n </Segment>\n </Container>\n )\n})\n\nexport default Countdown\n"],"names":["BLOCK_CLASS_NAME","className","restOfProps","cx","useStyle","display","padding","fontSize","LABEL_CLASS_NAME","marginTop","SEGMENT_CLASS_NAME","flex","textAlign","Container","forwardRef","ref","width","margin","variant","size","shape","gap","labelColor","numberFont","numberColor","blockColor","labelFont","responsiveStyle","value","unit","marginLeft","marginRight","borderRadius","swatch","hue","saturation","lightness","alpha","fontFamily","color","colorToString","background","position","zIndex","content","top","left","right","bottom","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","border","height","paddingTop","paddingBottom","getRemaining","date","days","hours","minutes","seconds","timeDiff","Date","getTime","now","delta","Math","abs","floor","parseInt","String","toString","Countdown","id","daysLabel","hoursLabel","minutesLabel","secondsLabel","setRemaining","useState","useEffect","intervalId","setInterval","clearInterval","_jsxs","_jsx"],"mappings":"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"}
@@ -1,40 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  var React = require("react");
4
- var next = require("./index.cjs.js");
4
+ var responsiveStyle = require("./responsive-style.cjs.js");
5
5
  var css = require("@emotion/css");
6
6
  var jsxRuntime = require("react/jsx-runtime");
7
- require("use-sync-external-store/shim/with-selector");
8
- require("next/dynamic");
9
- require("./constants.cjs.js");
10
- require("redux");
11
- require("redux-thunk");
12
- require("./actions.cjs.js");
13
- require("./descriptors.cjs.js");
14
- require("slate");
15
- require("slate-react");
16
- require("./introspection.cjs.js");
17
7
  require("@emotion/serialize");
18
8
  require("@emotion/utils");
19
- require("./text-input.cjs.js");
20
- require("./combobox.cjs.js");
21
9
  require("use-sync-external-store/shim");
10
+ require("redux");
11
+ require("redux-thunk");
22
12
  require("./types.cjs.js");
23
- require("./box-models.cjs.js");
24
- require("css-box-model");
25
- require("color");
26
- require("scroll-into-view-if-needed");
27
- require("react-dom");
28
- require("html-react-parser");
29
- require("next/head");
30
- require("@emotion/server/create-instance");
31
- require("next/document");
32
- require("cookie");
33
- require("cors");
34
- require("http-proxy");
35
- require("set-cookie-parser");
36
- require("uuid");
37
- require("corporate-ipsum");
13
+ require("./actions.cjs.js");
38
14
  const Divider = React.forwardRef(function Divider2({
39
15
  id,
40
16
  variant,
@@ -46,12 +22,12 @@ const Divider = React.forwardRef(function Divider2({
46
22
  return /* @__PURE__ */ jsxRuntime.jsx("div", {
47
23
  ref,
48
24
  id,
49
- className: css.cx(next.useStyle({
25
+ className: css.cx(responsiveStyle.useStyle({
50
26
  display: "flex",
51
27
  width: "100%"
52
28
  }), width, margin),
53
29
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
54
- className: next.useStyle({
30
+ className: responsiveStyle.useStyle({
55
31
  display: "flex",
56
32
  flexDirection: "column",
57
33
  justifyContent: "center",
@@ -59,7 +35,7 @@ const Divider = React.forwardRef(function Divider2({
59
35
  width: "100%"
60
36
  }),
61
37
  children: /* @__PURE__ */ jsxRuntime.jsx("div", {
62
- className: next.useStyle(next.responsiveStyle([variant, thickness, color], ([variant2 = "solid", thickness2 = {
38
+ className: responsiveStyle.useStyle(responsiveStyle.responsiveStyle([variant, thickness, color], ([variant2 = "solid", thickness2 = {
63
39
  value: 1,
64
40
  unit: "px"
65
41
  }, color2 = {
@@ -77,15 +53,15 @@ const Divider = React.forwardRef(function Divider2({
77
53
  return {
78
54
  borderBottomWidth: thickness2 == null ? 1 : `${thickness2.value}${thickness2.unit}`,
79
55
  borderBottomStyle: variant2,
80
- borderBottomColor: next.colorToString(color2)
56
+ borderBottomColor: responsiveStyle.colorToString(color2)
81
57
  };
82
58
  case "blended":
83
59
  return {
84
60
  height: `${thickness2.value}${thickness2.unit}`,
85
- background: `linear-gradient(${["90deg", next.colorToString({
61
+ background: `linear-gradient(${["90deg", responsiveStyle.colorToString({
86
62
  swatch: color2.swatch,
87
63
  alpha: 0
88
- }), next.colorToString(color2), next.colorToString({
64
+ }), responsiveStyle.colorToString(color2), responsiveStyle.colorToString({
89
65
  swatch: color2.swatch,
90
66
  alpha: 0
91
67
  })].join(", ")})`
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.cjs.js","sources":["../src/components/builtin/Divider/Divider.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\n\nimport {\n ElementIDValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { responsiveStyle } from '../../utils/responsive-style'\n\ntype DividerVariant = 'solid' | 'dashed' | 'dotted' | 'blended'\n\ntype Props = {\n id?: ElementIDValue\n variant?: ResponsiveSelectValue<DividerVariant>\n thickness?: ResponsiveLengthValue\n color?: ResponsiveColor | null\n width?: string\n margin?: string\n}\n\nconst Divider = forwardRef(function Divider(\n { id, variant, thickness, color, width, margin }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n // IE11 has a bug with Flexbox vertical centering with min height if height is not set.\n // Wrapping it in another flex container fixes it for some reason, read more here:\n // https://stackoverflow.com/questions/19371626/flexbox-not-centering-vertically-in-ie\n <div\n ref={ref}\n id={id}\n className={cx(useStyle({ display: 'flex', width: '100%' }), width, margin)}\n >\n <div\n className={useStyle({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n minHeight: 40,\n width: '100%',\n })}\n >\n <div\n className={useStyle(\n responsiveStyle(\n [variant, thickness, color] as const,\n ([\n variant = 'solid',\n thickness = { value: 1, unit: 'px' },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n switch (variant) {\n case 'solid':\n case 'dashed':\n case 'dotted':\n return {\n borderBottomWidth:\n thickness == null ? 1 : `${thickness.value}${thickness.unit}`,\n borderBottomStyle: variant,\n borderBottomColor: colorToString(color),\n }\n\n case 'blended':\n return {\n height: `${thickness.value}${thickness.unit}`,\n background: `linear-gradient(${[\n '90deg',\n colorToString({ swatch: color.swatch, alpha: 0 }),\n colorToString(color),\n colorToString({ swatch: color.swatch, alpha: 0 }),\n ].join(', ')})`,\n }\n\n default:\n variant as never\n throw new Error(`Invalid variant ${variant}.`)\n }\n },\n ),\n )}\n />\n </div>\n </div>\n )\n})\n\nexport default Divider\n"],"names":["Divider","forwardRef","id","variant","thickness","color","width","margin","ref","cx","useStyle","display","flexDirection","justifyContent","minHeight","responsiveStyle","value","unit","swatch","hue","saturation","lightness","alpha","borderBottomWidth","borderBottomStyle","borderBottomColor","colorToString","height","background","join","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBMA,MAAAA,UAAUC,MAAAA,WAAW,kBACzB;AAAA,EAAEC;AAAAA,EAAIC;AAAAA,EAASC;AAAAA,EAAWC;AAAAA,EAAOC;AAAAA,EAAOC;AAAAA,GACxCC,KACA;AACA,wCAIE,OAAA;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAWC,OAAGC,cAAS;AAAA,MAAEC,SAAS;AAAA,MAAQL,OAAO;AAAA,IAAA,CAA3B,GAAsCA,OAAOC,MAAtD;AAAA,IAEb,yCAAA,OAAA;AAAA,MACE,WAAWG,KAAAA,SAAS;AAAA,QAClBC,SAAS;AAAA,QACTC,eAAe;AAAA,QACfC,gBAAgB;AAAA,QAChBC,WAAW;AAAA,QACXR,OAAO;AAAA,MAAA,CALU;AAAA,MAQnB,yCAAA,OAAA;AAAA,QACE,WAAWI,KAAAA,SACTK,qBACE,CAACZ,SAASC,WAAWC,KAArB,GACA,CAAC,CACCF,WAAU,SACVC,aAAY;AAAA,UAAEY,OAAO;AAAA,UAAGC,MAAM;AAAA,WAC9BZ,SAAQ;AAAA,UAAEa,QAAQ;AAAA,YAAEC,KAAK;AAAA,YAAGC,YAAY;AAAA,YAAGC,WAAW;AAAA,UAA9C;AAAA,UAAmDC,OAAO;AAAA,QAAA,OAC9D;AACInB,kBAAAA;AAAAA,iBACD;AAAA,iBACA;AAAA,iBACA;AACI,qBAAA;AAAA,gBACLoB,mBACEnB,cAAa,OAAO,IAAK,GAAEA,WAAUY,QAAQZ,WAAUa;AAAAA,gBACzDO,mBAAmBrB;AAAAA,gBACnBsB,mBAAmBC,mBAAcrB,MAAD;AAAA,cAAA;AAAA,iBAG/B;AACI,qBAAA;AAAA,gBACLsB,QAAS,GAAEvB,WAAUY,QAAQZ,WAAUa;AAAAA,gBACvCW,YAAa,mBAAkB,CAC7B,SACAF,KAAAA,cAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,GACbI,KAAcrB,cAAAA,MAAD,GACbqB,mBAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,CAJgB,EAK7BO,KAAK,IALwB;AAAA,cAAA;AAAA;AAU3B,oBAAA,IAAIC,MAAO,mBAAkB3B,WAA7B;AAAA;AAAA,QAAA,CA/BC,CADE;AAAA,MAAA,CADrB;AAAA,IAAA,CATF;AAAA,EAAA,CALF;AAwDH,CAhEyB;;"}
1
+ {"version":3,"file":"Divider.cjs.js","sources":["../src/components/builtin/Divider/Divider.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\n\nimport {\n ElementIDValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { responsiveStyle } from '../../utils/responsive-style'\n\ntype DividerVariant = 'solid' | 'dashed' | 'dotted' | 'blended'\n\ntype Props = {\n id?: ElementIDValue\n variant?: ResponsiveSelectValue<DividerVariant>\n thickness?: ResponsiveLengthValue\n color?: ResponsiveColor | null\n width?: string\n margin?: string\n}\n\nconst Divider = forwardRef(function Divider(\n { id, variant, thickness, color, width, margin }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n // IE11 has a bug with Flexbox vertical centering with min height if height is not set.\n // Wrapping it in another flex container fixes it for some reason, read more here:\n // https://stackoverflow.com/questions/19371626/flexbox-not-centering-vertically-in-ie\n <div\n ref={ref}\n id={id}\n className={cx(useStyle({ display: 'flex', width: '100%' }), width, margin)}\n >\n <div\n className={useStyle({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n minHeight: 40,\n width: '100%',\n })}\n >\n <div\n className={useStyle(\n responsiveStyle(\n [variant, thickness, color] as const,\n ([\n variant = 'solid',\n thickness = { value: 1, unit: 'px' },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n switch (variant) {\n case 'solid':\n case 'dashed':\n case 'dotted':\n return {\n borderBottomWidth:\n thickness == null ? 1 : `${thickness.value}${thickness.unit}`,\n borderBottomStyle: variant,\n borderBottomColor: colorToString(color),\n }\n\n case 'blended':\n return {\n height: `${thickness.value}${thickness.unit}`,\n background: `linear-gradient(${[\n '90deg',\n colorToString({ swatch: color.swatch, alpha: 0 }),\n colorToString(color),\n colorToString({ swatch: color.swatch, alpha: 0 }),\n ].join(', ')})`,\n }\n\n default:\n variant as never\n throw new Error(`Invalid variant ${variant}.`)\n }\n },\n ),\n )}\n />\n </div>\n </div>\n )\n})\n\nexport default Divider\n"],"names":["Divider","forwardRef","id","variant","thickness","color","width","margin","ref","cx","useStyle","display","flexDirection","justifyContent","minHeight","responsiveStyle","value","unit","swatch","hue","saturation","lightness","alpha","borderBottomWidth","borderBottomStyle","borderBottomColor","colorToString","height","background","join","Error"],"mappings":";;;;;;;;;;;;;AAwBMA,MAAAA,UAAUC,MAAAA,WAAW,kBACzB;AAAA,EAAEC;AAAAA,EAAIC;AAAAA,EAASC;AAAAA,EAAWC;AAAAA,EAAOC;AAAAA,EAAOC;AAAAA,GACxCC,KACA;AACA,wCAIE,OAAA;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAWC,OAAGC,yBAAS;AAAA,MAAEC,SAAS;AAAA,MAAQL,OAAO;AAAA,IAAA,CAA3B,GAAsCA,OAAOC,MAAtD;AAAA,IAEb,yCAAA,OAAA;AAAA,MACE,WAAWG,gBAAAA,SAAS;AAAA,QAClBC,SAAS;AAAA,QACTC,eAAe;AAAA,QACfC,gBAAgB;AAAA,QAChBC,WAAW;AAAA,QACXR,OAAO;AAAA,MAAA,CALU;AAAA,MAQnB,yCAAA,OAAA;AAAA,QACE,WAAWI,gBAAAA,SACTK,gCACE,CAACZ,SAASC,WAAWC,KAArB,GACA,CAAC,CACCF,WAAU,SACVC,aAAY;AAAA,UAAEY,OAAO;AAAA,UAAGC,MAAM;AAAA,WAC9BZ,SAAQ;AAAA,UAAEa,QAAQ;AAAA,YAAEC,KAAK;AAAA,YAAGC,YAAY;AAAA,YAAGC,WAAW;AAAA,UAA9C;AAAA,UAAmDC,OAAO;AAAA,QAAA,OAC9D;AACInB,kBAAAA;AAAAA,iBACD;AAAA,iBACA;AAAA,iBACA;AACI,qBAAA;AAAA,gBACLoB,mBACEnB,cAAa,OAAO,IAAK,GAAEA,WAAUY,QAAQZ,WAAUa;AAAAA,gBACzDO,mBAAmBrB;AAAAA,gBACnBsB,mBAAmBC,8BAAcrB,MAAD;AAAA,cAAA;AAAA,iBAG/B;AACI,qBAAA;AAAA,gBACLsB,QAAS,GAAEvB,WAAUY,QAAQZ,WAAUa;AAAAA,gBACvCW,YAAa,mBAAkB,CAC7B,SACAF,gBAAAA,cAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,GACbI,gBAAcrB,cAAAA,MAAD,GACbqB,8BAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,CAJgB,EAK7BO,KAAK,IALwB;AAAA,cAAA;AAAA;AAU3B,oBAAA,IAAIC,MAAO,mBAAkB3B,WAA7B;AAAA;AAAA,QAAA,CA/BC,CADE;AAAA,MAAA,CADrB;AAAA,IAAA,CATF;AAAA,EAAA,CALF;AAwDH,CAhEyB;;"}
@@ -1,38 +1,14 @@
1
1
  import { forwardRef } from "react";
2
- import { o as useStyle, r as responsiveStyle, s as colorToString } from "./index.es.js";
2
+ import { e as useStyle, r as responsiveStyle, i as colorToString } from "./responsive-style.es.js";
3
3
  import { cx } from "@emotion/css";
4
4
  import { jsx } from "react/jsx-runtime";
5
- import "use-sync-external-store/shim/with-selector";
6
- import "next/dynamic";
7
- import "./constants.es.js";
8
- import "redux";
9
- import "redux-thunk";
10
- import "./actions.es.js";
11
- import "./descriptors.es.js";
12
- import "slate";
13
- import "slate-react";
14
- import "./introspection.es.js";
15
5
  import "@emotion/serialize";
16
6
  import "@emotion/utils";
17
- import "./text-input.es.js";
18
- import "./combobox.es.js";
19
7
  import "use-sync-external-store/shim";
8
+ import "redux";
9
+ import "redux-thunk";
20
10
  import "./types.es.js";
21
- import "./box-models.es.js";
22
- import "css-box-model";
23
- import "color";
24
- import "scroll-into-view-if-needed";
25
- import "react-dom";
26
- import "html-react-parser";
27
- import "next/head";
28
- import "@emotion/server/create-instance";
29
- import "next/document";
30
- import "cookie";
31
- import "cors";
32
- import "http-proxy";
33
- import "set-cookie-parser";
34
- import "uuid";
35
- import "corporate-ipsum";
11
+ import "./actions.es.js";
36
12
  const Divider = forwardRef(function Divider2({
37
13
  id,
38
14
  variant,
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.es.js","sources":["../src/components/builtin/Divider/Divider.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\n\nimport {\n ElementIDValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { responsiveStyle } from '../../utils/responsive-style'\n\ntype DividerVariant = 'solid' | 'dashed' | 'dotted' | 'blended'\n\ntype Props = {\n id?: ElementIDValue\n variant?: ResponsiveSelectValue<DividerVariant>\n thickness?: ResponsiveLengthValue\n color?: ResponsiveColor | null\n width?: string\n margin?: string\n}\n\nconst Divider = forwardRef(function Divider(\n { id, variant, thickness, color, width, margin }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n // IE11 has a bug with Flexbox vertical centering with min height if height is not set.\n // Wrapping it in another flex container fixes it for some reason, read more here:\n // https://stackoverflow.com/questions/19371626/flexbox-not-centering-vertically-in-ie\n <div\n ref={ref}\n id={id}\n className={cx(useStyle({ display: 'flex', width: '100%' }), width, margin)}\n >\n <div\n className={useStyle({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n minHeight: 40,\n width: '100%',\n })}\n >\n <div\n className={useStyle(\n responsiveStyle(\n [variant, thickness, color] as const,\n ([\n variant = 'solid',\n thickness = { value: 1, unit: 'px' },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n switch (variant) {\n case 'solid':\n case 'dashed':\n case 'dotted':\n return {\n borderBottomWidth:\n thickness == null ? 1 : `${thickness.value}${thickness.unit}`,\n borderBottomStyle: variant,\n borderBottomColor: colorToString(color),\n }\n\n case 'blended':\n return {\n height: `${thickness.value}${thickness.unit}`,\n background: `linear-gradient(${[\n '90deg',\n colorToString({ swatch: color.swatch, alpha: 0 }),\n colorToString(color),\n colorToString({ swatch: color.swatch, alpha: 0 }),\n ].join(', ')})`,\n }\n\n default:\n variant as never\n throw new Error(`Invalid variant ${variant}.`)\n }\n },\n ),\n )}\n />\n </div>\n </div>\n )\n})\n\nexport default Divider\n"],"names":["Divider","forwardRef","id","variant","thickness","color","width","margin","ref","cx","useStyle","display","flexDirection","justifyContent","minHeight","responsiveStyle","value","unit","swatch","hue","saturation","lightness","alpha","borderBottomWidth","borderBottomStyle","borderBottomColor","colorToString","height","background","join","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBMA,MAAAA,UAAUC,WAAW,kBACzB;AAAA,EAAEC;AAAAA,EAAIC;AAAAA,EAASC;AAAAA,EAAWC;AAAAA,EAAOC;AAAAA,EAAOC;AAAAA,GACxCC,KACA;AACA,6BAIE,OAAA;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAWC,GAAGC,SAAS;AAAA,MAAEC,SAAS;AAAA,MAAQL,OAAO;AAAA,IAAA,CAA3B,GAAsCA,OAAOC,MAAtD;AAAA,IAEb,8BAAA,OAAA;AAAA,MACE,WAAWG,SAAS;AAAA,QAClBC,SAAS;AAAA,QACTC,eAAe;AAAA,QACfC,gBAAgB;AAAA,QAChBC,WAAW;AAAA,QACXR,OAAO;AAAA,MAAA,CALU;AAAA,MAQnB,8BAAA,OAAA;AAAA,QACE,WAAWI,SACTK,gBACE,CAACZ,SAASC,WAAWC,KAArB,GACA,CAAC,CACCF,WAAU,SACVC,aAAY;AAAA,UAAEY,OAAO;AAAA,UAAGC,MAAM;AAAA,WAC9BZ,SAAQ;AAAA,UAAEa,QAAQ;AAAA,YAAEC,KAAK;AAAA,YAAGC,YAAY;AAAA,YAAGC,WAAW;AAAA,UAA9C;AAAA,UAAmDC,OAAO;AAAA,QAAA,OAC9D;AACInB,kBAAAA;AAAAA,iBACD;AAAA,iBACA;AAAA,iBACA;AACI,qBAAA;AAAA,gBACLoB,mBACEnB,cAAa,OAAO,IAAK,GAAEA,WAAUY,QAAQZ,WAAUa;AAAAA,gBACzDO,mBAAmBrB;AAAAA,gBACnBsB,mBAAmBC,cAAcrB,MAAD;AAAA,cAAA;AAAA,iBAG/B;AACI,qBAAA;AAAA,gBACLsB,QAAS,GAAEvB,WAAUY,QAAQZ,WAAUa;AAAAA,gBACvCW,YAAa,mBAAkB,CAC7B,SACAF,cAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,GACbI,cAAcrB,MAAD,GACbqB,cAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,CAJgB,EAK7BO,KAAK,IALwB;AAAA,cAAA;AAAA;AAU3B,oBAAA,IAAIC,MAAO,mBAAkB3B,WAA7B;AAAA;AAAA,QAAA,CA/BC,CADE;AAAA,MAAA,CADrB;AAAA,IAAA,CATF;AAAA,EAAA,CALF;AAwDH,CAhEyB;;"}
1
+ {"version":3,"file":"Divider.es.js","sources":["../src/components/builtin/Divider/Divider.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\n\nimport {\n ElementIDValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { responsiveStyle } from '../../utils/responsive-style'\n\ntype DividerVariant = 'solid' | 'dashed' | 'dotted' | 'blended'\n\ntype Props = {\n id?: ElementIDValue\n variant?: ResponsiveSelectValue<DividerVariant>\n thickness?: ResponsiveLengthValue\n color?: ResponsiveColor | null\n width?: string\n margin?: string\n}\n\nconst Divider = forwardRef(function Divider(\n { id, variant, thickness, color, width, margin }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n // IE11 has a bug with Flexbox vertical centering with min height if height is not set.\n // Wrapping it in another flex container fixes it for some reason, read more here:\n // https://stackoverflow.com/questions/19371626/flexbox-not-centering-vertically-in-ie\n <div\n ref={ref}\n id={id}\n className={cx(useStyle({ display: 'flex', width: '100%' }), width, margin)}\n >\n <div\n className={useStyle({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n minHeight: 40,\n width: '100%',\n })}\n >\n <div\n className={useStyle(\n responsiveStyle(\n [variant, thickness, color] as const,\n ([\n variant = 'solid',\n thickness = { value: 1, unit: 'px' },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n switch (variant) {\n case 'solid':\n case 'dashed':\n case 'dotted':\n return {\n borderBottomWidth:\n thickness == null ? 1 : `${thickness.value}${thickness.unit}`,\n borderBottomStyle: variant,\n borderBottomColor: colorToString(color),\n }\n\n case 'blended':\n return {\n height: `${thickness.value}${thickness.unit}`,\n background: `linear-gradient(${[\n '90deg',\n colorToString({ swatch: color.swatch, alpha: 0 }),\n colorToString(color),\n colorToString({ swatch: color.swatch, alpha: 0 }),\n ].join(', ')})`,\n }\n\n default:\n variant as never\n throw new Error(`Invalid variant ${variant}.`)\n }\n },\n ),\n )}\n />\n </div>\n </div>\n )\n})\n\nexport default Divider\n"],"names":["Divider","forwardRef","id","variant","thickness","color","width","margin","ref","cx","useStyle","display","flexDirection","justifyContent","minHeight","responsiveStyle","value","unit","swatch","hue","saturation","lightness","alpha","borderBottomWidth","borderBottomStyle","borderBottomColor","colorToString","height","background","join","Error"],"mappings":";;;;;;;;;;;AAwBMA,MAAAA,UAAUC,WAAW,kBACzB;AAAA,EAAEC;AAAAA,EAAIC;AAAAA,EAASC;AAAAA,EAAWC;AAAAA,EAAOC;AAAAA,EAAOC;AAAAA,GACxCC,KACA;AACA,6BAIE,OAAA;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAWC,GAAGC,SAAS;AAAA,MAAEC,SAAS;AAAA,MAAQL,OAAO;AAAA,IAAA,CAA3B,GAAsCA,OAAOC,MAAtD;AAAA,IAEb,8BAAA,OAAA;AAAA,MACE,WAAWG,SAAS;AAAA,QAClBC,SAAS;AAAA,QACTC,eAAe;AAAA,QACfC,gBAAgB;AAAA,QAChBC,WAAW;AAAA,QACXR,OAAO;AAAA,MAAA,CALU;AAAA,MAQnB,8BAAA,OAAA;AAAA,QACE,WAAWI,SACTK,gBACE,CAACZ,SAASC,WAAWC,KAArB,GACA,CAAC,CACCF,WAAU,SACVC,aAAY;AAAA,UAAEY,OAAO;AAAA,UAAGC,MAAM;AAAA,WAC9BZ,SAAQ;AAAA,UAAEa,QAAQ;AAAA,YAAEC,KAAK;AAAA,YAAGC,YAAY;AAAA,YAAGC,WAAW;AAAA,UAA9C;AAAA,UAAmDC,OAAO;AAAA,QAAA,OAC9D;AACInB,kBAAAA;AAAAA,iBACD;AAAA,iBACA;AAAA,iBACA;AACI,qBAAA;AAAA,gBACLoB,mBACEnB,cAAa,OAAO,IAAK,GAAEA,WAAUY,QAAQZ,WAAUa;AAAAA,gBACzDO,mBAAmBrB;AAAAA,gBACnBsB,mBAAmBC,cAAcrB,MAAD;AAAA,cAAA;AAAA,iBAG/B;AACI,qBAAA;AAAA,gBACLsB,QAAS,GAAEvB,WAAUY,QAAQZ,WAAUa;AAAAA,gBACvCW,YAAa,mBAAkB,CAC7B,SACAF,cAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,GACbI,cAAcrB,MAAD,GACbqB,cAAc;AAAA,kBAAER,QAAQb,OAAMa;AAAAA,kBAAQI,OAAO;AAAA,gBAAhC,CAAA,CAJgB,EAK7BO,KAAK,IALwB;AAAA,cAAA;AAAA;AAU3B,oBAAA,IAAIC,MAAO,mBAAkB3B,WAA7B;AAAA;AAAA,QAAA,CA/BC,CADE;AAAA,MAAA,CADrB;AAAA,IAAA,CATF;AAAA,EAAA,CALF;AAwDH,CAhEyB;;"}