@makeswift/runtime 0.0.0-f94dde1 → 0.0.3

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 (227) hide show
  1. package/controls.js +1 -0
  2. package/dist/Page.cjs.js +222 -0
  3. package/dist/Page.cjs.js.map +1 -0
  4. package/dist/Page.es.js +216 -0
  5. package/dist/Page.es.js.map +1 -0
  6. package/dist/actions.cjs.js +30 -1
  7. package/dist/actions.cjs.js.map +1 -1
  8. package/dist/actions.es.js +26 -2
  9. package/dist/actions.es.js.map +1 -1
  10. package/dist/box-models.cjs.js +2 -0
  11. package/dist/box-models.cjs.js.map +1 -1
  12. package/dist/box-models.es.js +2 -0
  13. package/dist/box-models.es.js.map +1 -1
  14. package/dist/builder.cjs.js +2 -0
  15. package/dist/builder.cjs.js.map +1 -1
  16. package/dist/builder.es.js +2 -1
  17. package/dist/builder.es.js.map +1 -1
  18. package/dist/components.cjs.js +54 -36
  19. package/dist/components.cjs.js.map +1 -1
  20. package/dist/components.es.js +15 -7
  21. package/dist/components.es.js.map +1 -1
  22. package/dist/constants.cjs.js +96 -1
  23. package/dist/constants.cjs.js.map +1 -1
  24. package/dist/constants.es.js +96 -1
  25. package/dist/constants.es.js.map +1 -1
  26. package/dist/control-serialization.cjs.js +335 -5
  27. package/dist/control-serialization.cjs.js.map +1 -1
  28. package/dist/control-serialization.es.js +335 -6
  29. package/dist/control-serialization.es.js.map +1 -1
  30. package/dist/controls.cjs.js +7 -0
  31. package/dist/controls.cjs.js.map +1 -0
  32. package/dist/controls.es.js +2 -0
  33. package/dist/controls.es.js.map +1 -0
  34. package/dist/descriptors.cjs.js +18 -1
  35. package/dist/descriptors.cjs.js.map +1 -1
  36. package/dist/descriptors.es.js +15 -2
  37. package/dist/descriptors.es.js.map +1 -1
  38. package/dist/{react.cjs2.js → index.cjs.js} +2893 -748
  39. package/dist/index.cjs.js.map +1 -0
  40. package/dist/{react.es2.js → index.es.js} +2836 -693
  41. package/dist/index.es.js.map +1 -0
  42. package/dist/instances.cjs.js +17 -0
  43. package/dist/instances.cjs.js.map +1 -1
  44. package/dist/instances.es.js +17 -1
  45. package/dist/instances.es.js.map +1 -1
  46. package/dist/main.cjs.js +10 -0
  47. package/dist/main.cjs.js.map +1 -1
  48. package/dist/main.es.js +6 -1
  49. package/dist/main.es.js.map +1 -1
  50. package/dist/next.cjs.js +63 -21
  51. package/dist/next.cjs.js.map +1 -1
  52. package/dist/next.es.js +61 -20
  53. package/dist/next.es.js.map +1 -1
  54. package/dist/prop-controllers.cjs.js +2 -0
  55. package/dist/prop-controllers.cjs.js.map +1 -1
  56. package/dist/prop-controllers.es.js +2 -1
  57. package/dist/prop-controllers.es.js.map +1 -1
  58. package/dist/react-builder-preview.cjs.js +24 -35
  59. package/dist/react-builder-preview.cjs.js.map +1 -1
  60. package/dist/react-builder-preview.es.js +23 -34
  61. package/dist/react-builder-preview.es.js.map +1 -1
  62. package/dist/react-page.cjs.js +263 -0
  63. package/dist/react-page.cjs.js.map +1 -0
  64. package/dist/react-page.es.js +241 -0
  65. package/dist/react-page.es.js.map +1 -0
  66. package/dist/react.cjs.js +21 -12
  67. package/dist/react.cjs.js.map +1 -1
  68. package/dist/react.es.js +14 -7
  69. package/dist/react.es.js.map +1 -1
  70. package/dist/style.cjs.js +38 -0
  71. package/dist/style.cjs.js.map +1 -0
  72. package/dist/style.es.js +35 -0
  73. package/dist/style.es.js.map +1 -0
  74. package/dist/types/api/constants.d.ts.map +1 -1
  75. package/dist/types/api/generated/graphql.d.ts +59 -0
  76. package/dist/types/api/generated/graphql.d.ts.map +1 -1
  77. package/dist/types/api/react.d.ts +26 -4
  78. package/dist/types/api/react.d.ts.map +1 -1
  79. package/dist/types/api/types.d.ts +2 -2
  80. package/dist/types/api/types.d.ts.map +1 -1
  81. package/dist/types/builder/serialization/control-serialization.d.ts +274 -7
  82. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  83. package/dist/types/builder/serialization/function-serialization.d.ts +1 -0
  84. package/dist/types/builder/serialization/function-serialization.d.ts.map +1 -1
  85. package/dist/types/components/builtin/Box/Box.d.ts +2 -2
  86. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  87. package/dist/types/components/builtin/Button/Button.d.ts +7 -6
  88. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  89. package/dist/types/components/builtin/Carousel/Carousel.d.ts +6 -5
  90. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  91. package/dist/types/components/builtin/Countdown/Countdown.d.ts +6 -5
  92. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  93. package/dist/types/components/builtin/Divider/Divider.d.ts +4 -3
  94. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  95. package/dist/types/components/builtin/Embed/Embed.d.ts +2 -2
  96. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  97. package/dist/types/components/builtin/Form/Form.d.ts +42 -0
  98. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -0
  99. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +15 -0
  100. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -0
  101. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +15 -0
  102. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -0
  103. package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +11 -0
  104. package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -0
  105. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts +14 -0
  106. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -0
  107. package/dist/types/components/builtin/Form/components/Field/components/Label/index.d.ts +16 -0
  108. package/dist/types/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -0
  109. package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +10 -0
  110. package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -0
  111. package/dist/types/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts +23 -0
  112. package/dist/types/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -0
  113. package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +11 -0
  114. package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -0
  115. package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +11 -0
  116. package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -0
  117. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +3 -0
  118. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -0
  119. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +17 -0
  120. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -0
  121. package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +11 -0
  122. package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -0
  123. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts +23 -0
  124. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -0
  125. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +19 -0
  126. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -0
  127. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts +24 -0
  128. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts.map +1 -0
  129. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts +13 -0
  130. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -0
  131. package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +11 -0
  132. package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -0
  133. package/dist/types/components/builtin/Form/components/Field/index.d.ts +19 -0
  134. package/dist/types/components/builtin/Form/components/Field/index.d.ts.map +1 -0
  135. package/dist/types/components/builtin/Form/components/Field/services/cssField.d.ts +11 -0
  136. package/dist/types/components/builtin/Form/components/Field/services/cssField.d.ts.map +1 -0
  137. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts +9 -0
  138. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -0
  139. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts +3 -0
  140. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts.map +1 -0
  141. package/dist/types/components/builtin/Form/context/FormContext.d.ts +33 -0
  142. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -0
  143. package/dist/types/components/builtin/Form/index.d.ts +2 -0
  144. package/dist/types/components/builtin/Form/index.d.ts.map +1 -0
  145. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  146. package/dist/types/components/builtin/Navigation/Navigation.d.ts +6 -5
  147. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  148. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +4 -3
  149. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  150. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +5 -4
  151. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  152. package/dist/types/components/builtin/Text/Text.d.ts +2 -2
  153. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
  154. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +2 -13
  155. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -1
  156. package/dist/types/components/builtin/Video/Video.d.ts +15 -0
  157. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -0
  158. package/dist/types/components/builtin/Video/index.d.ts +2 -0
  159. package/dist/types/components/builtin/Video/index.d.ts.map +1 -0
  160. package/dist/types/components/builtin/index.d.ts +1 -0
  161. package/dist/types/components/builtin/index.d.ts.map +1 -1
  162. package/dist/types/components/hooks/index.d.ts +1 -0
  163. package/dist/types/components/hooks/index.d.ts.map +1 -1
  164. package/dist/types/components/hooks/useTable.d.ts +66 -0
  165. package/dist/types/components/hooks/useTable.d.ts.map +1 -0
  166. package/dist/types/components/hooks/useTableFormFieldRefs.d.ts +8 -0
  167. package/dist/types/components/hooks/useTableFormFieldRefs.d.ts.map +1 -0
  168. package/dist/types/components/index.d.ts +2 -0
  169. package/dist/types/components/index.d.ts.map +1 -1
  170. package/dist/types/components/page/BodySnippet.d.ts +7 -0
  171. package/dist/types/components/page/BodySnippet.d.ts.map +1 -0
  172. package/dist/types/components/page/Page.d.ts +47 -0
  173. package/dist/types/components/page/Page.d.ts.map +1 -0
  174. package/dist/types/components/page/index.d.ts +2 -0
  175. package/dist/types/components/page/index.d.ts.map +1 -0
  176. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  177. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts +7 -0
  178. package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -0
  179. package/dist/types/components/shared/FallbackComponent/index.d.ts +2 -0
  180. package/dist/types/components/shared/FallbackComponent/index.d.ts.map +1 -0
  181. package/dist/types/components/utils/placeholders.d.ts +7 -0
  182. package/dist/types/components/utils/placeholders.d.ts.map +1 -1
  183. package/dist/types/components/utils/queries.d.ts +1 -0
  184. package/dist/types/components/utils/queries.d.ts.map +1 -1
  185. package/dist/types/components/utils/responsive-style.d.ts +9 -0
  186. package/dist/types/components/utils/responsive-style.d.ts.map +1 -0
  187. package/dist/types/components/utils/types.d.ts +1 -2
  188. package/dist/types/components/utils/types.d.ts.map +1 -1
  189. package/dist/types/controls/index.d.ts +2 -0
  190. package/dist/types/controls/index.d.ts.map +1 -0
  191. package/dist/types/controls/style.d.ts +141 -0
  192. package/dist/types/controls/style.d.ts.map +1 -0
  193. package/dist/types/controls/types.d.ts +11 -0
  194. package/dist/types/controls/types.d.ts.map +1 -0
  195. package/dist/types/index.d.ts +2 -1
  196. package/dist/types/index.d.ts.map +1 -1
  197. package/dist/types/next.d.ts +7 -4
  198. package/dist/types/next.d.ts.map +1 -1
  199. package/dist/types/prop-controllers/descriptors.d.ts +82 -46
  200. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  201. package/dist/types/prop-controllers/index.d.ts +3 -3
  202. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  203. package/dist/types/prop-controllers/instances.d.ts +36 -4
  204. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  205. package/dist/types/react.d.ts +1 -1
  206. package/dist/types/react.d.ts.map +1 -1
  207. package/dist/types/runtimes/react/controls/style.d.ts +4 -0
  208. package/dist/types/runtimes/react/controls/style.d.ts.map +1 -0
  209. package/dist/types/runtimes/react/controls.d.ts +7 -0
  210. package/dist/types/runtimes/react/controls.d.ts.map +1 -0
  211. package/dist/types/runtimes/react/index.d.ts +44 -0
  212. package/dist/types/runtimes/react/index.d.ts.map +1 -0
  213. package/dist/types/state/actions.d.ts +36 -1
  214. package/dist/types/state/actions.d.ts.map +1 -1
  215. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  216. package/dist/types/state/modules/read-only-documents.d.ts +8 -4
  217. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  218. package/dist/types/state/modules/read-write-documents.d.ts +1 -1
  219. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -1
  220. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  221. package/dist/types/state/react-page.d.ts +4 -3
  222. package/dist/types/state/react-page.d.ts.map +1 -1
  223. package/package.json +22 -12
  224. package/dist/react.cjs2.js.map +0 -1
  225. package/dist/react.es2.js.map +0 -1
  226. package/dist/types/runtimes/react.d.ts +0 -36
  227. package/dist/types/runtimes/react.d.ts.map +0 -1
@@ -29,239 +29,41 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
+ var __publicField = (obj, key, value) => {
33
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
34
+ return value;
35
+ };
32
36
  import * as React from "react";
33
37
  import { forwardRef, createContext, useContext, useMemo, useState, useLayoutEffect, useCallback, useEffect, useRef, useImperativeHandle, Children, createElement, Fragment as Fragment$1, memo } from "react";
34
38
  import { useSyncExternalStoreWithSelector } from "use-sync-external-store/shim/with-selector";
35
- import { gql, useQuery as useQuery$1, ApolloClient, InMemoryCache } from "@apollo/client";
36
- import { combineReducers, createStore, applyMiddleware } from "redux";
37
- import thunk from "redux-thunk";
38
- import { A as ActionTypes, r as registerComponentHandleEffect, e as mountComponentEffect, f as registerComponentEffect, g as registerReactComponentEffect } from "./actions.es.js";
39
- import { T as Types, E as ElementID, B as Backgrounds$1, W as Width, R as ResponsiveIconRadioGroup, M as Margin, P as Padding, a as Border, b as BorderRadius, S as Shadows, G as GapY, c as GapX, e as ResponsiveSelect, f as ResponsiveNumber, C as Checkbox, g as Grid$2, h as TextInput, L as Link$1, i as ResponsiveColor, j as TextStyle, I as Image$1, k as ResponsiveOpacity, l as Images, N as Number$1, D as Date$1, F as Font, m as ResponsiveLength, n as TextArea, o as NavigationLinks, p as SocialLinks$1, q as RichText } from "./descriptors.es.js";
39
+ import { gql, useQuery as useQuery$1, useMutation as useMutation$1, ApolloClient, InMemoryCache } from "@apollo/client";
40
+ import { a as createDocumentReference, g as getComponentPropControllerDescriptors, b as getIsInBuilder, d as configureStore, e as getElementId, f as getReactComponent, h as getDocument, i as isElementReference, c as createDocument } from "./react-page.es.js";
41
+ import { f as registerComponentHandleEffect, g as mountComponentEffect, h as registerComponentEffect, j as registerReactComponentEffect, k as registerDocumentEffect } from "./actions.es.js";
40
42
  import styled, { css, keyframes, createGlobalStyle } from "styled-components";
41
43
  import { useReducedMotion, useAnimation, motion } from "framer-motion";
44
+ import { cx, css as css$1 } from "@emotion/css";
45
+ import { getDataFromTree } from "@apollo/client/react/ssr";
46
+ import { KeyUtils, Value } from "slate";
47
+ import uuid from "uuid/v4";
42
48
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
43
- import { p as parse, c as createBox, g as getBox } from "./box-models.es.js";
44
- import NextImage from "next/image";
45
- import ReactPlayer from "react-player";
49
+ import "html-react-parser";
50
+ import "next/head";
51
+ import { E as ElementID, B as Backgrounds$1, W as Width, R as ResponsiveIconRadioGroup, M as Margin, P as Padding, a as Border, b as BorderRadius, S as Shadows, G as GapY, c as GapX, e as ResponsiveSelect, f as ResponsiveNumber, C as Checkbox$1, g as Grid$2, h as TextInput, L as Link$1, i as ResponsiveColor, j as TextStyle, I as Image$1, k as ResponsiveOpacity, l as Images, N as Number$1, D as Date$1, F as Font, m as ResponsiveLength, n as TextArea$1, o as Table, p as TableFormFields, q as NavigationLinks, r as SocialLinks$1, s as RichText, V as Video$1, T as Types, t as WidthControlValueFormats } from "./descriptors.es.js";
46
52
  import ColorHelper from "color";
47
53
  import scrollIntoView from "scroll-into-view-if-needed";
48
54
  import NextLink from "next/link";
49
55
  import { useGesture } from "react-use-gesture";
50
56
  import { wrap } from "@popmotion/popcorn";
51
- import uuid from "uuid/v4";
57
+ import NextImage from "next/image";
58
+ import { Field as Field$1, getIn, Formik } from "formik";
59
+ import { p as parse, c as createBox, g as getBox } from "./box-models.es.js";
52
60
  import { normalize } from "polished";
53
- import { Value } from "slate";
61
+ import ReactPlayer from "react-player";
54
62
  import Hotkeys from "slate-hotkeys";
55
63
  import ipsum from "corporate-ipsum";
56
64
  import { Editor } from "slate-react";
57
65
  import Lists from "@convertkit/slate-lists";
58
- function isElementReference(element) {
59
- return !("props" in element);
60
- }
61
- function createDocument(rootElement) {
62
- return { rootElement };
63
- }
64
- function getInitialState$3({
65
- rootElements = /* @__PURE__ */ new Map()
66
- } = {}) {
67
- const initialState = /* @__PURE__ */ new Map();
68
- rootElements.forEach((rootElement, elementKey) => {
69
- initialState.set(elementKey, createDocument(rootElement));
70
- });
71
- return initialState;
72
- }
73
- function getDocuments(state) {
74
- return state;
75
- }
76
- function getDocument(state, documentKey) {
77
- var _a;
78
- return (_a = getDocuments(state).get(documentKey)) != null ? _a : null;
79
- }
80
- function getDocumentRootElement$1(state, documentKey) {
81
- var _a, _b;
82
- return (_b = (_a = getDocument(state, documentKey)) == null ? void 0 : _a.rootElement) != null ? _b : null;
83
- }
84
- function reducer$4(state = getInitialState$3(), _action) {
85
- return state;
86
- }
87
- function getInitialState$2({
88
- reactComponents = /* @__PURE__ */ new Map()
89
- } = {}) {
90
- return reactComponents;
91
- }
92
- function getReactComponents(state) {
93
- return state;
94
- }
95
- function getReactComponent$1(state, type) {
96
- var _a;
97
- return (_a = getReactComponents(state).get(type)) != null ? _a : null;
98
- }
99
- function reducer$3(state = getInitialState$2(), action) {
100
- switch (action.type) {
101
- case ActionTypes.REGISTER_REACT_COMPONENT:
102
- return new Map(state).set(action.payload.type, action.payload.component);
103
- case ActionTypes.UNREGISTER_REACT_COMPONENT: {
104
- const nextState = new Map(state);
105
- const deleted = nextState.delete(action.payload.type);
106
- return deleted ? nextState : state;
107
- }
108
- default:
109
- return state;
110
- }
111
- }
112
- function getInitialState$1({
113
- componentsMeta = /* @__PURE__ */ new Map()
114
- } = {}) {
115
- return componentsMeta;
116
- }
117
- function getComponentsMeta(state) {
118
- return state;
119
- }
120
- function reducer$2(state = getInitialState$1(), action) {
121
- switch (action.type) {
122
- case ActionTypes.REGISTER_COMPONENT:
123
- return new Map(state).set(action.payload.type, action.payload.meta);
124
- case ActionTypes.UNREGISTER_COMPONENT: {
125
- const nextState = new Map(state);
126
- const deleted = nextState.delete(action.payload.type);
127
- return deleted ? nextState : state;
128
- }
129
- default:
130
- return state;
131
- }
132
- }
133
- function getInitialState({
134
- propControllerDescriptors = /* @__PURE__ */ new Map()
135
- } = {}) {
136
- return propControllerDescriptors;
137
- }
138
- function getPropControllerDescriptors$1(state) {
139
- return state;
140
- }
141
- function getComponentPropControllerDescriptors$1(state, componentType) {
142
- var _a;
143
- return (_a = getPropControllerDescriptors$1(state).get(componentType)) != null ? _a : null;
144
- }
145
- function reducer$1(state = getInitialState(), action) {
146
- switch (action.type) {
147
- case ActionTypes.REGISTER_COMPONENT:
148
- return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors);
149
- case ActionTypes.UNREGISTER_COMPONENT: {
150
- const nextState = new Map(state);
151
- const deleted = nextState.delete(action.payload.type);
152
- return deleted ? nextState : state;
153
- }
154
- default:
155
- return state;
156
- }
157
- }
158
- function getElementChildren(descriptor, prop) {
159
- if (prop == null)
160
- return [];
161
- switch (descriptor.type) {
162
- case Types.Grid:
163
- return prop.elements;
164
- default:
165
- return [];
166
- }
167
- }
168
- function getElementId$1(descriptor, prop) {
169
- if (prop == null)
170
- return null;
171
- switch (descriptor.type) {
172
- case Types.ElementID:
173
- return prop;
174
- default:
175
- return null;
176
- }
177
- }
178
- const reducer = combineReducers({
179
- documents: reducer$4,
180
- reactComponents: reducer$3,
181
- componentsMeta: reducer$2,
182
- propControllers: reducer$1,
183
- isInBuilder: (_state = false, _action) => false
184
- });
185
- function getDocumentsStateSlice(state) {
186
- return state.documents;
187
- }
188
- function getDocumentRootElement(state, documentKey) {
189
- return getDocumentRootElement$1(getDocumentsStateSlice(state), documentKey);
190
- }
191
- function getReactComponentsStateSlice(state) {
192
- return state.reactComponents;
193
- }
194
- function getReactComponent(state, type) {
195
- return getReactComponent$1(getReactComponentsStateSlice(state), type);
196
- }
197
- function getPropControllersStateSlice(state) {
198
- return state.propControllers;
199
- }
200
- function getPropControllerDescriptors(state) {
201
- return getPropControllerDescriptors$1(getPropControllersStateSlice(state));
202
- }
203
- function getComponentPropControllerDescriptors(state, componentType) {
204
- return getComponentPropControllerDescriptors$1(getPropControllersStateSlice(state), componentType);
205
- }
206
- function normalizeElement(element, descriptors) {
207
- const elements = /* @__PURE__ */ new Map();
208
- const remaining = [element];
209
- let current;
210
- while (current = remaining.pop()) {
211
- elements.set(current.key, current);
212
- if (isElementReference(current))
213
- continue;
214
- const elementDescriptors = descriptors.get(element.type);
215
- if (elementDescriptors == null)
216
- continue;
217
- const parent = current;
218
- const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {
219
- return [...acc, ...getElementChildren(descriptor, parent.props[propName])];
220
- }, []);
221
- remaining.push(...children);
222
- }
223
- return elements;
224
- }
225
- function getDocumentElements(state, documentKey) {
226
- const rootElement = getDocumentRootElement(state, documentKey);
227
- const descriptors = getPropControllerDescriptors(state);
228
- if (rootElement == null)
229
- return /* @__PURE__ */ new Map();
230
- return normalizeElement(rootElement, descriptors);
231
- }
232
- function getElement(state, documentKey, elementKey) {
233
- var _a;
234
- return (_a = getDocumentElements(state, documentKey).get(elementKey)) != null ? _a : null;
235
- }
236
- function getElementPropControllerDescriptors(state, documentKey, elementKey) {
237
- const element = getElement(state, documentKey, elementKey);
238
- if (element == null || isElementReference(element))
239
- return null;
240
- return getComponentPropControllerDescriptors(state, element.type);
241
- }
242
- function getElementId(state, documentKey, elementKey) {
243
- const element = getElement(state, documentKey, elementKey);
244
- if (element == null || isElementReference(element))
245
- return null;
246
- const descriptors = getComponentPropControllerDescriptors(state, element.type);
247
- if (descriptors == null)
248
- return null;
249
- const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {
250
- if (acc != null)
251
- return acc;
252
- return getElementId$1(descriptor, element.props[propName]);
253
- }, null);
254
- return elementId;
255
- }
256
- function getIsInBuilder(state) {
257
- return state.isInBuilder;
258
- }
259
- function configureStore({
260
- rootElements,
261
- preloadedState
262
- } = {}) {
263
- return createStore(reducer, __spreadProps(__spreadValues({}, preloadedState), { documents: getInitialState$3({ rootElements }) }), applyMiddleware(thunk));
264
- }
66
+ import { a as StyleControlProperty, S as StyleControlType } from "./style.es.js";
265
67
  const PlaceholderBase$1 = styled.div`
266
68
  width: 100%;
267
69
  background: rgba(161, 168, 194, 0.18);
@@ -271,7 +73,7 @@ const PlaceholderBase$1 = styled.div`
271
73
  hide
272
74
  }) => hide === true ? "hidden" : "initial"};
273
75
  `;
274
- var Placeholder$1 = forwardRef(function Placeholder(_a, ref) {
76
+ var Placeholder$2 = forwardRef(function Placeholder(_a, ref) {
275
77
  var _b = _a, {
276
78
  hide = false
277
79
  } = _b, restOfProps = __objRest(_b, [
@@ -385,21 +187,168 @@ const TYPOGRAPHIES_BY_ID = gql`
385
187
 
386
188
  ${TYPOGRAPHY_FRAGMENT}
387
189
  `;
190
+ const TABLE_BY_ID = gql`
191
+ query TableById($id: ID!) {
192
+ table(id: $id) {
193
+ id
194
+ name
195
+ columns {
196
+ id
197
+ name
198
+ ... on MultipleSelectTableColumn {
199
+ options {
200
+ id
201
+ name
202
+ }
203
+ }
204
+ ... on SingleSelectTableColumn {
205
+ options {
206
+ id
207
+ name
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+ `;
388
214
  function isNonNullable(value) {
389
215
  return value != null;
390
216
  }
391
- const Context$1 = createContext(void 0);
217
+ const typePolicies = {
218
+ Query: {
219
+ fields: {
220
+ swatches(existingData, {
221
+ args,
222
+ toReference
223
+ }) {
224
+ return existingData != null ? existingData : args == null ? void 0 : args.ids.map((id) => toReference({
225
+ __typename: "Swatch",
226
+ id
227
+ }, true));
228
+ },
229
+ file(existingData, {
230
+ args,
231
+ toReference
232
+ }) {
233
+ return existingData != null ? existingData : toReference({
234
+ __typename: "File",
235
+ id: args == null ? void 0 : args.id
236
+ }, true);
237
+ },
238
+ files(existingData, {
239
+ args,
240
+ toReference
241
+ }) {
242
+ return existingData != null ? existingData : args == null ? void 0 : args.ids.map((id) => toReference({
243
+ __typename: "File",
244
+ id
245
+ }, true));
246
+ },
247
+ typographies(existingData, {
248
+ args,
249
+ toReference
250
+ }) {
251
+ return existingData != null ? existingData : args == null ? void 0 : args.ids.map((id) => toReference({
252
+ __typename: "Typography",
253
+ id
254
+ }, true));
255
+ },
256
+ pagePathnamesById(existingData, {
257
+ args,
258
+ toReference
259
+ }) {
260
+ return existingData != null ? existingData : args == null ? void 0 : args.ids.map((id) => toReference({
261
+ __typename: "PagePathnameSlice",
262
+ id
263
+ }, true));
264
+ },
265
+ globalElement(existingData, {
266
+ args,
267
+ toReference
268
+ }) {
269
+ return existingData != null ? existingData : toReference({
270
+ __typename: "GlobalElement",
271
+ id: args == null ? void 0 : args.id
272
+ }, true);
273
+ },
274
+ table(existingData, {
275
+ args,
276
+ toReference
277
+ }) {
278
+ return existingData != null ? existingData : toReference({
279
+ __typename: "Table",
280
+ id: args == null ? void 0 : args.id
281
+ }, true);
282
+ }
283
+ }
284
+ }
285
+ };
286
+ const PrefetchContext = createContext(false);
287
+ function useIsPrefetching() {
288
+ return useContext(PrefetchContext);
289
+ }
290
+ function createApolloClient({
291
+ uri,
292
+ cacheData
293
+ }) {
294
+ const cache = new InMemoryCache({
295
+ typePolicies
296
+ });
297
+ if (cacheData)
298
+ cache.restore(cacheData);
299
+ return new ApolloClient({
300
+ uri,
301
+ cache
302
+ });
303
+ }
304
+ class MakeswiftClient {
305
+ constructor({
306
+ uri,
307
+ cacheData
308
+ }) {
309
+ __publicField(this, "apolloClient");
310
+ this.apolloClient = createApolloClient({
311
+ uri,
312
+ cacheData
313
+ });
314
+ }
315
+ async prefetch(element) {
316
+ const id = uuid();
317
+ await getDataFromTree(/* @__PURE__ */ jsx(PrefetchContext.Provider, {
318
+ value: true,
319
+ children: /* @__PURE__ */ jsx(RuntimeProvider, {
320
+ client: this,
321
+ rootElements: /* @__PURE__ */ new Map([[id, element]]),
322
+ children: /* @__PURE__ */ jsx(DocumentReference, {
323
+ documentReference: createDocumentReference(id)
324
+ })
325
+ })
326
+ }));
327
+ KeyUtils.resetGenerator();
328
+ return this.apolloClient.cache.extract();
329
+ }
330
+ updateCacheData(cacheData) {
331
+ this.apolloClient.cache.restore(cacheData);
332
+ }
333
+ }
334
+ const Context$2 = createContext(void 0);
392
335
  function useQuery(query, options) {
393
- const client = useContext(Context$1);
336
+ const client = useContext(Context$2);
394
337
  return useQuery$1(query, __spreadValues({
395
- client
338
+ client: client == null ? void 0 : client.apolloClient
339
+ }, options));
340
+ }
341
+ function useMutation(mutation, options) {
342
+ const client = useContext(Context$2);
343
+ return useMutation$1(mutation, __spreadValues({
344
+ client: client == null ? void 0 : client.apolloClient
396
345
  }, options));
397
346
  }
398
- function ApolloProvider({
347
+ function MakeswiftProvider({
399
348
  client,
400
349
  children
401
350
  }) {
402
- return /* @__PURE__ */ jsx(Context$1.Provider, {
351
+ return /* @__PURE__ */ jsx(Context$2.Provider, {
403
352
  value: client,
404
353
  children
405
354
  });
@@ -687,6 +636,12 @@ function usePage(pageId) {
687
636
  const { pagePathnamesById: [page] = [] } = data;
688
637
  return page;
689
638
  }
639
+ function useTable(tableId) {
640
+ return useQuery(TABLE_BY_ID, {
641
+ skip: tableId == null,
642
+ variables: { id: tableId }
643
+ });
644
+ }
690
645
  const defaultExitedProps = {
691
646
  opacity: 0,
692
647
  x: 0,
@@ -1157,8 +1112,8 @@ function getScrollParent(element) {
1157
1112
  return element;
1158
1113
  return getScrollParent(parentElement);
1159
1114
  }
1160
- function Parallax(_g) {
1161
- var _h = _g, {
1115
+ function Parallax(_g2) {
1116
+ var _h = _g2, {
1162
1117
  strength,
1163
1118
  children
1164
1119
  } = _h, rest = __objRest(_h, [
@@ -1244,7 +1199,7 @@ function Parallax(_g) {
1244
1199
  children: children(getProps)
1245
1200
  }));
1246
1201
  }
1247
- const Container$8 = styled.div`
1202
+ const Container$d = styled.div`
1248
1203
  position: absolute;
1249
1204
  top: 0;
1250
1205
  left: 0;
@@ -1298,7 +1253,7 @@ function BackgroundVideo({
1298
1253
  }, [aspectRatio, zoom]);
1299
1254
  if (!ReactPlayer.canPlay(url))
1300
1255
  return /* @__PURE__ */ jsx(Fragment, {});
1301
- return /* @__PURE__ */ jsxs(Container$8, {
1256
+ return /* @__PURE__ */ jsxs(Container$d, {
1302
1257
  ref: container,
1303
1258
  children: [container.current && /* @__PURE__ */ jsx(ReactPlayer, {
1304
1259
  url,
@@ -1377,10 +1332,10 @@ const AbsoluteFill = styled.div`
1377
1332
  right: 0;
1378
1333
  bottom: 0;
1379
1334
  `;
1380
- const Container$7 = styled(AbsoluteFill)`
1335
+ const Container$c = styled(AbsoluteFill)`
1381
1336
  border-radius: inherit;
1382
1337
  `;
1383
- const BackgroundsContainer$1 = styled(Container$7)`
1338
+ const BackgroundsContainer$1 = styled(Container$c)`
1384
1339
  overflow: hidden;
1385
1340
  ${(p) => cssMediaRules([p.visibility], ([visibility]) => css`
1386
1341
  display: ${visibility === true ? "block" : "none"};
@@ -1389,6 +1344,9 @@ const BackgroundsContainer$1 = styled(Container$7)`
1389
1344
  function Backgrounds({
1390
1345
  backgrounds
1391
1346
  }) {
1347
+ const isPrefetching = useIsPrefetching();
1348
+ if (isPrefetching)
1349
+ return /* @__PURE__ */ jsx(Fragment, {});
1392
1350
  if (backgrounds == null)
1393
1351
  return /* @__PURE__ */ jsx(Fragment, {});
1394
1352
  return /* @__PURE__ */ jsx(Fragment, {
@@ -1404,7 +1362,7 @@ function Backgrounds({
1404
1362
  visibility,
1405
1363
  children: [...value].reverse().map((bg) => {
1406
1364
  if (bg.type === "color") {
1407
- return /* @__PURE__ */ jsx(Container$7, {
1365
+ return /* @__PURE__ */ jsx(Container$c, {
1408
1366
  style: {
1409
1367
  backgroundColor: getColor(bg.payload)
1410
1368
  }
@@ -1440,7 +1398,7 @@ function Backgrounds({
1440
1398
  }
1441
1399
  return /* @__PURE__ */ jsx(Parallax, {
1442
1400
  strength: parallax,
1443
- children: (getParallaxProps) => /* @__PURE__ */ jsx(Container$7, __spreadValues({}, getParallaxProps({
1401
+ children: (getParallaxProps) => /* @__PURE__ */ jsx(Container$c, __spreadValues({}, getParallaxProps({
1444
1402
  style: {
1445
1403
  backgroundImage: publicUrl != null ? `url('${publicUrl}')` : void 0,
1446
1404
  backgroundPosition,
@@ -1458,7 +1416,7 @@ function Backgrounds({
1458
1416
  isRadial
1459
1417
  } = bg.payload;
1460
1418
  const gradient = `${getStopsStyle(stops)}`;
1461
- return /* @__PURE__ */ jsx(Container$7, {
1419
+ return /* @__PURE__ */ jsx(Container$c, {
1462
1420
  style: {
1463
1421
  background: isRadial ? `radial-gradient(${gradient})` : `linear-gradient(${angle}rad, ${gradient})`
1464
1422
  }
@@ -1475,7 +1433,7 @@ function Backgrounds({
1475
1433
  } = bg.payload;
1476
1434
  return /* @__PURE__ */ jsx(Parallax, {
1477
1435
  strength: parallax,
1478
- children: (getParallaxProps) => /* @__PURE__ */ jsx(Container$7, __spreadProps(__spreadValues({}, getParallaxProps({})), {
1436
+ children: (getParallaxProps) => /* @__PURE__ */ jsx(Container$c, __spreadProps(__spreadValues({}, getParallaxProps({})), {
1479
1437
  children: /* @__PURE__ */ jsx(BackgroundVideo, {
1480
1438
  url,
1481
1439
  zoom,
@@ -1525,7 +1483,6 @@ var BackgroundsContainer = forwardRef(function BackgroundsContainer2(_i, ref) {
1525
1483
  });
1526
1484
  const StyledBackgroundsContainer = styled(BackgroundsContainer)`
1527
1485
  display: flex;
1528
- ${cssWidth()}
1529
1486
  ${cssMargin()}
1530
1487
  ${cssBorderRadius()}
1531
1488
  ${(props) => cssMediaRules([props.alignSelf], ([alignSelf = "auto"]) => ({
@@ -1543,7 +1500,7 @@ const Grid$1 = styled(motion.div)`
1543
1500
  alignContent
1544
1501
  }))}
1545
1502
  `;
1546
- const GridItem$1 = styled(motion.div)`
1503
+ const GridItem$2 = styled(motion.div)`
1547
1504
  display: flex;
1548
1505
 
1549
1506
  /* IE11 doesn't recognize space-between and treats it as stretch, so we fall back to flex-start */
@@ -1636,8 +1593,8 @@ const Box = forwardRef(function Box2({
1636
1593
  return /* @__PURE__ */ jsx(StyledBackgroundsContainer, {
1637
1594
  ref: setBoxElement,
1638
1595
  id,
1596
+ className: cx(width),
1639
1597
  backgrounds,
1640
- width,
1641
1598
  margin,
1642
1599
  borderRadius,
1643
1600
  alignSelf: height,
@@ -1654,7 +1611,7 @@ const Box = forwardRef(function Box2({
1654
1611
  animate: animate == null ? void 0 : animate.parent,
1655
1612
  initial: initial == null ? void 0 : initial.parent,
1656
1613
  transition: transition == null ? void 0 : transition.parent,
1657
- children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsx(GridItem$1, {
1614
+ children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsx(GridItem$2, {
1658
1615
  grid: children.columns,
1659
1616
  index,
1660
1617
  columnGap,
@@ -1665,20 +1622,29 @@ const Box = forwardRef(function Box2({
1665
1622
  children: /* @__PURE__ */ jsx(Element$1, {
1666
1623
  element: child
1667
1624
  })
1668
- }, child.key)) : /* @__PURE__ */ jsx(Placeholder$1, {
1625
+ }, child.key)) : /* @__PURE__ */ jsx(Placeholder$2, {
1669
1626
  hide: hidePlaceholder
1670
1627
  })
1671
1628
  })
1672
1629
  }, key == null ? void 0 : key.container);
1673
1630
  });
1674
- function registerComponent$a(runtime) {
1631
+ function registerComponent$c(runtime) {
1632
+ function isHiddenBasedOnAnimationType(props, deviceId, property) {
1633
+ var _a, _b;
1634
+ const animateIn = props[property];
1635
+ return ((_b = (_a = findDeviceOverride(animateIn, deviceId)) == null ? void 0 : _a.value) != null ? _b : "none") === "none";
1636
+ }
1637
+ const isHiddenBasedOnBoxAnimation = (props, deviceId) => isHiddenBasedOnAnimationType(props, deviceId, "boxAnimateType");
1638
+ const isHiddenBasedOnItemAnimation = (props, deviceId) => isHiddenBasedOnAnimationType(props, deviceId, "itemAnimateType");
1675
1639
  return runtime.registerComponent(Box, {
1676
1640
  type: "./components/Box/index.js",
1677
1641
  label: "Box",
1678
1642
  props: {
1679
1643
  id: ElementID(),
1680
1644
  backgrounds: Backgrounds$1(),
1681
- width: Width(),
1645
+ width: Width({
1646
+ format: Width.Formats.ClassName
1647
+ }),
1682
1648
  height: ResponsiveIconRadioGroup({
1683
1649
  label: "Height",
1684
1650
  options: [{
@@ -1740,8 +1706,12 @@ function registerComponent$a(runtime) {
1740
1706
  border: Border(),
1741
1707
  borderRadius: BorderRadius(),
1742
1708
  boxShadow: Shadows(),
1743
- rowGap: GapY({}),
1744
- columnGap: GapX({}),
1709
+ rowGap: GapY((props) => ({
1710
+ hidden: props.children == null
1711
+ })),
1712
+ columnGap: GapX((props) => ({
1713
+ hidden: props.children == null
1714
+ })),
1745
1715
  boxAnimateType: ResponsiveSelect({
1746
1716
  label: "Animate box in",
1747
1717
  labelOrientation: "vertical",
@@ -1775,20 +1745,22 @@ function registerComponent$a(runtime) {
1775
1745
  }],
1776
1746
  defaultValue: "none"
1777
1747
  }),
1778
- boxAnimateDuration: ResponsiveNumber({
1748
+ boxAnimateDuration: ResponsiveNumber((props, device) => ({
1779
1749
  label: "Box duration",
1780
1750
  defaultValue: DEFAULT_BOX_ANIMATE_DURATION,
1781
1751
  min: 0.1,
1782
1752
  step: 0.05,
1783
- suffix: "s"
1784
- }),
1785
- boxAnimateDelay: ResponsiveNumber({
1753
+ suffix: "s",
1754
+ hidden: isHiddenBasedOnBoxAnimation(props, device)
1755
+ })),
1756
+ boxAnimateDelay: ResponsiveNumber((props, device) => ({
1786
1757
  label: "Box delay",
1787
1758
  defaultValue: DEFAULT_BOX_ANIMATE_DELAY,
1788
1759
  min: 0,
1789
1760
  step: 0.05,
1790
- suffix: "s"
1791
- }),
1761
+ suffix: "s",
1762
+ hidden: isHiddenBasedOnBoxAnimation(props, device)
1763
+ })),
1792
1764
  itemAnimateType: ResponsiveSelect({
1793
1765
  label: "Animate items in",
1794
1766
  labelOrientation: "vertical",
@@ -1822,30 +1794,34 @@ function registerComponent$a(runtime) {
1822
1794
  }],
1823
1795
  defaultValue: "none"
1824
1796
  }),
1825
- itemAnimateDuration: ResponsiveNumber({
1797
+ itemAnimateDuration: ResponsiveNumber((props, device) => ({
1826
1798
  label: "Items duration",
1827
1799
  defaultValue: DEFAULT_BOX_ANIMATE_DURATION,
1828
1800
  min: 0.1,
1829
1801
  step: 0.05,
1830
- suffix: "s"
1831
- }),
1832
- itemAnimateDelay: ResponsiveNumber({
1802
+ suffix: "s",
1803
+ hidden: isHiddenBasedOnItemAnimation(props, device)
1804
+ })),
1805
+ itemAnimateDelay: ResponsiveNumber((props, device) => ({
1833
1806
  label: "Items delay",
1834
1807
  defaultValue: DEFAULT_ITEM_ANIMATE_DELAY,
1835
1808
  min: 0,
1836
1809
  step: 0.05,
1837
- suffix: "s"
1838
- }),
1839
- itemStaggerDuration: ResponsiveNumber({
1810
+ suffix: "s",
1811
+ hidden: isHiddenBasedOnItemAnimation(props, device)
1812
+ })),
1813
+ itemStaggerDuration: ResponsiveNumber((props, device) => ({
1840
1814
  label: "Stagger",
1841
1815
  min: 0,
1842
1816
  step: 0.05,
1843
1817
  suffix: "s",
1844
- defaultValue: DEFAULT_ITEM_STAGGER_DURATION
1845
- }),
1846
- hidePlaceholder: Checkbox({
1847
- label: "Hide placeholder"
1848
- }),
1818
+ defaultValue: DEFAULT_ITEM_STAGGER_DURATION,
1819
+ hidden: isHiddenBasedOnItemAnimation(props, device)
1820
+ })),
1821
+ hidePlaceholder: Checkbox$1((props) => ({
1822
+ label: "Hide placeholder",
1823
+ hidden: props.children != null
1824
+ })),
1849
1825
  children: Grid$2()
1850
1826
  }
1851
1827
  });
@@ -1936,7 +1912,23 @@ const Link = forwardRef(function Link2(_k, ref) {
1936
1912
  }))
1937
1913
  });
1938
1914
  });
1939
- const StyledButton = styled(Link)`
1915
+ function responsiveStyle(responsiveValues, join$1, strategy) {
1916
+ return join(responsiveValues, join$1, strategy).reduce((acc, { deviceId, value }) => {
1917
+ const device = getDevice(deviceId);
1918
+ const mediaQuery = getDeviceMediaQuery(device);
1919
+ return __spreadProps(__spreadValues({}, acc), {
1920
+ [mediaQuery]: __spreadValues(__spreadValues({}, acc[mediaQuery]), value)
1921
+ });
1922
+ }, {});
1923
+ }
1924
+ function responsiveWidth(widthData, defaultValue = "100%") {
1925
+ return __spreadValues({
1926
+ width: "100%"
1927
+ }, responsiveStyle([widthData], ([width = defaultValue]) => ({
1928
+ width: typeof width === "object" ? `${width.value}${width.unit}` : width
1929
+ })));
1930
+ }
1931
+ const StyledButton$1 = styled(Link)`
1940
1932
  display: table;
1941
1933
  border: 0;
1942
1934
  outline: 0;
@@ -1945,7 +1937,6 @@ const StyledButton = styled(Link)`
1945
1937
  font-family: inherit;
1946
1938
  text-decoration: none;
1947
1939
  text-align: center;
1948
- ${cssWidth("auto")}
1949
1940
  ${cssMargin()}
1950
1941
  ${(p) => cssMediaRules([p.variant, p.shape, p.size, p.textColor, p.color], ([variant = "flat", shape = "rounded", size = "medium", textColor = {
1951
1942
  swatch: {
@@ -2128,7 +2119,7 @@ const StyledButton = styled(Link)`
2128
2119
  })}
2129
2120
  ${cssTextStyle()}
2130
2121
  `;
2131
- const Button = forwardRef(function Button2(_m, ref) {
2122
+ const Button$1 = forwardRef(function Button2(_m, ref) {
2132
2123
  var _n = _m, {
2133
2124
  id,
2134
2125
  children,
@@ -2154,23 +2145,23 @@ const Button = forwardRef(function Button2(_m, ref) {
2154
2145
  "width",
2155
2146
  "margin"
2156
2147
  ]);
2157
- return /* @__PURE__ */ jsx(StyledButton, __spreadProps(__spreadValues({}, restOfProps), {
2148
+ return /* @__PURE__ */ jsx(StyledButton$1, __spreadProps(__spreadValues({}, restOfProps), {
2158
2149
  ref,
2159
2150
  id,
2160
- color: useColor(color),
2151
+ className: cx(css$1(responsiveWidth(width, "auto"))),
2152
+ color,
2161
2153
  link,
2162
2154
  margin,
2163
2155
  shape,
2164
2156
  size,
2165
- textColor: useColor(textColor),
2157
+ textColor,
2166
2158
  textStyle,
2167
2159
  variant,
2168
- width,
2169
2160
  children: children == null ? "Button Text" : children
2170
2161
  }));
2171
2162
  });
2172
- function registerComponent$9(runtime) {
2173
- return runtime.registerComponent(Button, {
2163
+ function registerComponent$b(runtime) {
2164
+ return runtime.registerComponent(Button$1, {
2174
2165
  type: "./components/Button/index.js",
2175
2166
  label: "Button",
2176
2167
  props: {
@@ -2248,8 +2239,14 @@ function registerComponent$9(runtime) {
2248
2239
  }],
2249
2240
  defaultValue: "medium"
2250
2241
  }),
2251
- color: ResponsiveColor({
2252
- placeholder: "black"
2242
+ color: ResponsiveColor((props, device) => {
2243
+ var _a;
2244
+ const variant = props.variant;
2245
+ const hidden = ((_a = findDeviceOverride(variant, device)) == null ? void 0 : _a.value) === "clear";
2246
+ return {
2247
+ placeholder: "black",
2248
+ hidden
2249
+ };
2253
2250
  }),
2254
2251
  textColor: ResponsiveColor({
2255
2252
  label: "Text color",
@@ -2265,6 +2262,10 @@ const placeholders = {
2265
2262
  image: {
2266
2263
  src: "data:image/svg+xml,%3Csvg width='360' height='240' viewBox='0 0 360 240' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M0 0H360V240H0V0Z' fill='%23A1A8C2' fill-opacity='0.18'/%3E%3Cpath d='M260 59C260 78.33 244.33 94 225 94C205.67 94 190 78.33 190 59C190 39.67 205.67 24 225 24C244.33 24 260 39.67 260 59Z' fill='%23A1A8C2' fill-opacity='0.25'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M319 250H417L291.485 124.485C286.799 119.799 279.201 119.799 274.515 124.485L234 165L319 250Z' fill='%23A1A8C2' fill-opacity='0.25'/%3E%3Cpath d='M311 250L-89 250L102.515 58.4853C107.201 53.799 114.799 53.799 119.485 58.4853L311 250Z' fill='%23A1A8C2' fill-opacity='0.25'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Cpath d='M0 0H360V240H0V0Z' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A",
2267
2264
  dimensions: { width: 360, height: 240 }
2265
+ },
2266
+ video: {
2267
+ src: "data:image/svg+xml,%3Csvg width='712' height='400' viewBox='0 0 712 400' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M712 0H0V400H712V0ZM356 240C378.091 240 396 222.091 396 200C396 177.909 378.091 160 356 160C333.909 160 316 177.909 316 200C316 222.091 333.909 240 356 240Z' fill='%23A1A8C2' fill-opacity='0.18'/%3E%3Cpath d='M344 216.503V183.497C344 181.95 345.681 180.989 347.014 181.773L375.069 198.276C376.384 199.049 376.384 200.951 375.069 201.724L347.014 218.227C345.681 219.011 344 218.05 344 216.503Z' fill='%23A1A8C2' fill-opacity='0.4'/%3E%3C/svg%3E%0A",
2268
+ dimensions: { width: 712, height: 400 }
2268
2269
  }
2269
2270
  };
2270
2271
  function loadImage(src) {
@@ -2289,7 +2290,6 @@ function imageSizes(width) {
2289
2290
  const ImageContainer = styled.div`
2290
2291
  line-height: 0;
2291
2292
  overflow: hidden;
2292
- ${(props) => cssWidth(`${props.dimensions.width}px`)(props)}
2293
2293
  ${cssMargin()}
2294
2294
  ${cssPadding()}
2295
2295
  ${cssBorder()}
@@ -2324,6 +2324,7 @@ const ImageComponent = forwardRef(function Image2({
2324
2324
  const dataDimensions = (fileData == null ? void 0 : fileData.publicUrl) ? fileData == null ? void 0 : fileData.dimensions : placeholder2.dimensions;
2325
2325
  const [measuredDimensions, setMeasuredDimensions] = useState(null);
2326
2326
  const isInBuilder = useIsInBuilder();
2327
+ const isPrefetching = useIsPrefetching();
2327
2328
  useEffect(() => {
2328
2329
  if (dataDimensions)
2329
2330
  return;
@@ -2343,14 +2344,15 @@ const ImageComponent = forwardRef(function Image2({
2343
2344
  const dimensions = dataDimensions != null ? dataDimensions : measuredDimensions;
2344
2345
  if (!dimensions)
2345
2346
  return null;
2347
+ const widthClass = css$1(responsiveWidth(width, `${dimensions.width}px`));
2348
+ if (isPrefetching)
2349
+ return null;
2346
2350
  return /* @__PURE__ */ jsx(ImageContainer, {
2347
2351
  as: link ? Link : "div",
2348
2352
  link,
2349
- dimensions,
2350
2353
  ref,
2351
2354
  id,
2352
- className,
2353
- width,
2355
+ className: cx(className, widthClass),
2354
2356
  margin,
2355
2357
  opacity,
2356
2358
  padding,
@@ -2370,7 +2372,7 @@ const ImageComponent = forwardRef(function Image2({
2370
2372
  })
2371
2373
  });
2372
2374
  });
2373
- function registerComponent$8(runtime) {
2375
+ function registerComponent$a(runtime) {
2374
2376
  return runtime.registerComponent(ImageComponent, {
2375
2377
  type: "./components/Image/index.js",
2376
2378
  label: "Image",
@@ -2419,7 +2421,7 @@ const RightChevron = () => /* @__PURE__ */ jsx("svg", {
2419
2421
  strokeWidth: "2"
2420
2422
  })
2421
2423
  });
2422
- const Container$6 = styled.div`
2424
+ const Container$b = styled.div`
2423
2425
  position: relative;
2424
2426
  height: 100%;
2425
2427
  `;
@@ -2427,7 +2429,6 @@ const Wrapper = styled.div`
2427
2429
  position: relative;
2428
2430
  display: flex;
2429
2431
  flex-direction: column;
2430
- ${cssWidth("400px")}
2431
2432
  ${cssMargin()}
2432
2433
 
2433
2434
  &:focus {
@@ -2706,7 +2707,7 @@ const Carousel = forwardRef(function Carousel2({
2706
2707
  }, [autoplay, delay, paginate, isLastPage]);
2707
2708
  return /* @__PURE__ */ jsxs(Wrapper, {
2708
2709
  ref,
2709
- width,
2710
+ className: cx(width),
2710
2711
  margin,
2711
2712
  tabIndex: -1,
2712
2713
  onKeyDown: (e) => {
@@ -2719,7 +2720,7 @@ const Carousel = forwardRef(function Carousel2({
2719
2720
  break;
2720
2721
  }
2721
2722
  },
2722
- children: [/* @__PURE__ */ jsxs(Container$6, {
2723
+ children: [/* @__PURE__ */ jsxs(Container$b, {
2723
2724
  children: [/* @__PURE__ */ jsx(ClipMask, {
2724
2725
  children: /* @__PURE__ */ jsx(Page, __spreadProps(__spreadValues({}, bindPage()), {
2725
2726
  animate: animation,
@@ -2767,24 +2768,24 @@ const Carousel = forwardRef(function Carousel2({
2767
2768
  }), /* @__PURE__ */ jsx(LeftSlop, {
2768
2769
  onClick: () => paginate(-1),
2769
2770
  position: arrowPosition,
2770
- color: useColor(arrowColor),
2771
+ color: arrowColor,
2771
2772
  hidden: !showArrows || isFirstPage,
2772
2773
  children: /* @__PURE__ */ jsx(Arrow, {
2773
- background: useColor(arrowBackground),
2774
+ background: arrowBackground,
2774
2775
  children: /* @__PURE__ */ jsx(LeftChevron, {})
2775
2776
  })
2776
2777
  }), /* @__PURE__ */ jsx(RightSlop, {
2777
2778
  onClick: () => paginate(1),
2778
2779
  position: arrowPosition,
2779
- color: useColor(arrowColor),
2780
+ color: arrowColor,
2780
2781
  hidden: !showArrows || isLastPage,
2781
2782
  children: /* @__PURE__ */ jsx(Arrow, {
2782
- background: useColor(arrowBackground),
2783
+ background: arrowBackground,
2783
2784
  children: /* @__PURE__ */ jsx(RightChevron, {})
2784
2785
  })
2785
2786
  })]
2786
2787
  }), /* @__PURE__ */ jsx(Dots, {
2787
- color: useColor(dotColor),
2788
+ color: dotColor,
2788
2789
  hidden: !showDots,
2789
2790
  children: Array.from({
2790
2791
  length: pageCount
@@ -2795,7 +2796,7 @@ const Carousel = forwardRef(function Carousel2({
2795
2796
  })]
2796
2797
  });
2797
2798
  });
2798
- function registerComponent$7(runtime) {
2799
+ function registerComponent$9(runtime) {
2799
2800
  return runtime.registerComponent(Carousel, {
2800
2801
  type: "./components/Carousel/index.js",
2801
2802
  label: "Carousel",
@@ -2815,23 +2816,36 @@ function registerComponent$7(runtime) {
2815
2816
  }]
2816
2817
  }),
2817
2818
  width: Width({
2819
+ format: Width.Formats.ClassName,
2818
2820
  defaultValue: {
2819
2821
  value: 400,
2820
2822
  unit: "px"
2821
2823
  }
2822
2824
  }),
2823
2825
  margin: Margin(),
2824
- pageSize: ResponsiveNumber({
2825
- label: "Images shown",
2826
- defaultValue: 1,
2827
- min: 1,
2828
- step: 1
2826
+ pageSize: ResponsiveNumber((props) => {
2827
+ var _a;
2828
+ const images = props.images;
2829
+ const imagesLength = (_a = images == null ? void 0 : images.length) != null ? _a : 0;
2830
+ return {
2831
+ label: "Images shown",
2832
+ defaultValue: 1,
2833
+ min: 1,
2834
+ max: imagesLength,
2835
+ step: 1
2836
+ };
2829
2837
  }),
2830
- step: ResponsiveNumber({
2831
- label: "Step",
2832
- defaultValue: 1,
2833
- min: 1,
2834
- step: 1
2838
+ step: ResponsiveNumber((props, device) => {
2839
+ var _a, _b;
2840
+ const pageSize = props.pageSize;
2841
+ const pageSizeValue = (_b = (_a = findDeviceOverride(pageSize, device)) == null ? void 0 : _a.value) != null ? _b : 1;
2842
+ return {
2843
+ label: "Step",
2844
+ defaultValue: 1,
2845
+ min: 1,
2846
+ max: pageSizeValue,
2847
+ step: 1
2848
+ };
2835
2849
  }),
2836
2850
  slideAlignment: ResponsiveIconRadioGroup({
2837
2851
  label: "Alignment",
@@ -2858,21 +2872,22 @@ function registerComponent$7(runtime) {
2858
2872
  unit: "px"
2859
2873
  }
2860
2874
  }),
2861
- autoplay: Checkbox({
2875
+ autoplay: Checkbox$1({
2862
2876
  label: "Autoplay"
2863
2877
  }),
2864
- delay: Number$1({
2878
+ delay: Number$1((props) => ({
2865
2879
  label: "Delay",
2866
2880
  preset: 5,
2867
2881
  min: 1,
2868
2882
  step: 0.1,
2869
- suffix: "seconds"
2870
- }),
2871
- showArrows: Checkbox({
2883
+ suffix: "seconds",
2884
+ hidden: !props.autoplay
2885
+ })),
2886
+ showArrows: Checkbox$1({
2872
2887
  preset: true,
2873
2888
  label: "Show arrows"
2874
2889
  }),
2875
- arrowPosition: ResponsiveIconRadioGroup({
2890
+ arrowPosition: ResponsiveIconRadioGroup((props) => ({
2876
2891
  label: "Arrow position",
2877
2892
  options: [{
2878
2893
  label: "Inside",
@@ -2887,24 +2902,28 @@ function registerComponent$7(runtime) {
2887
2902
  value: "outside",
2888
2903
  icon: "ArrowOutside16"
2889
2904
  }],
2890
- defaultValue: "inside"
2891
- }),
2892
- arrowColor: ResponsiveColor({
2905
+ defaultValue: "inside",
2906
+ hidden: props.showArrows === false
2907
+ })),
2908
+ arrowColor: ResponsiveColor((props) => ({
2893
2909
  label: "Arrow color",
2894
- placeholder: "black"
2895
- }),
2896
- arrowBackground: ResponsiveColor({
2910
+ placeholder: "black",
2911
+ hidden: props.showArrows === false
2912
+ })),
2913
+ arrowBackground: ResponsiveColor((props) => ({
2897
2914
  label: "Arrow background",
2898
- placeholder: "white"
2899
- }),
2900
- showDots: Checkbox({
2915
+ placeholder: "white",
2916
+ hidden: props.showArrows === false
2917
+ })),
2918
+ showDots: Checkbox$1({
2901
2919
  preset: true,
2902
2920
  label: "Show dots"
2903
2921
  }),
2904
- dotColor: ResponsiveColor({
2922
+ dotColor: ResponsiveColor((props) => ({
2905
2923
  label: "Dot color",
2906
- placeholder: "black"
2907
- }),
2924
+ placeholder: "black",
2925
+ hidden: props.showDots === false
2926
+ })),
2908
2927
  slideBorder: Border(),
2909
2928
  slideBorderRadius: BorderRadius()
2910
2929
  }
@@ -2915,16 +2934,15 @@ const Block$1 = styled.div`
2915
2934
  padding: 0.5em;
2916
2935
  font-size: 1em;
2917
2936
  `;
2918
- const Label = styled.div`
2937
+ const Label$3 = styled.div`
2919
2938
  margin-top: 0.25em;
2920
2939
  `;
2921
2940
  const Segment = styled.div`
2922
2941
  flex: 1;
2923
2942
  text-align: center;
2924
2943
  `;
2925
- const Container$5 = styled.div`
2944
+ const Container$a = styled.div`
2926
2945
  display: flex;
2927
- ${cssWidth("560px")}
2928
2946
  ${cssMargin()}
2929
2947
  ${(p) => cssMediaRules([p.size], ([size = "medium"]) => {
2930
2948
  switch (size) {
@@ -2932,7 +2950,7 @@ const Container$5 = styled.div`
2932
2950
  return css`
2933
2951
  font-size: 18px;
2934
2952
 
2935
- ${Label} {
2953
+ ${Label$3} {
2936
2954
  font-size: 14px;
2937
2955
  }
2938
2956
  `;
@@ -2940,7 +2958,7 @@ const Container$5 = styled.div`
2940
2958
  return css`
2941
2959
  font-size: 32px;
2942
2960
 
2943
- ${Label} {
2961
+ ${Label$3} {
2944
2962
  font-size: 18px;
2945
2963
  }
2946
2964
  `;
@@ -2948,7 +2966,7 @@ const Container$5 = styled.div`
2948
2966
  return css`
2949
2967
  font-size: 24px;
2950
2968
 
2951
- ${Label} {
2969
+ ${Label$3} {
2952
2970
  font-size: 16px;
2953
2971
  }
2954
2972
  `;
@@ -3085,7 +3103,7 @@ const Container$5 = styled.div`
3085
3103
  })}
3086
3104
  }
3087
3105
 
3088
- ${Label} {
3106
+ ${Label$3} {
3089
3107
  ${(p) => cssMediaRules([p.labelColor, p.labelFont], ([labelColor = {
3090
3108
  swatch: {
3091
3109
  hue: 0,
@@ -3162,26 +3180,26 @@ const Countdown = forwardRef(function Countdown2({
3162
3180
  }, 1e3);
3163
3181
  return () => clearInterval(intervalId);
3164
3182
  }, [date]);
3165
- return /* @__PURE__ */ jsxs(Container$5, {
3183
+ return /* @__PURE__ */ jsxs(Container$a, {
3166
3184
  ref,
3167
3185
  id,
3168
- width,
3186
+ className: cx(width),
3169
3187
  margin,
3170
3188
  variant,
3171
3189
  size,
3172
3190
  shape,
3173
- labelColor: useColor(labelColor),
3191
+ labelColor,
3174
3192
  labelFont,
3175
- numberColor: useColor(numberColor),
3193
+ numberColor,
3176
3194
  numberFont,
3177
- blockColor: useColor(blockColor),
3195
+ blockColor,
3178
3196
  gap,
3179
3197
  children: [/* @__PURE__ */ jsxs(Segment, {
3180
3198
  children: [/* @__PURE__ */ jsx(Block$1, {
3181
3199
  children: /* @__PURE__ */ jsx("span", {
3182
3200
  children: days
3183
3201
  })
3184
- }), /* @__PURE__ */ jsx(Label, {
3202
+ }), /* @__PURE__ */ jsx(Label$3, {
3185
3203
  children: daysLabel == null ? "Days" : daysLabel
3186
3204
  })]
3187
3205
  }), /* @__PURE__ */ jsxs(Segment, {
@@ -3189,7 +3207,7 @@ const Countdown = forwardRef(function Countdown2({
3189
3207
  children: /* @__PURE__ */ jsx("span", {
3190
3208
  children: hours
3191
3209
  })
3192
- }), /* @__PURE__ */ jsx(Label, {
3210
+ }), /* @__PURE__ */ jsx(Label$3, {
3193
3211
  children: hoursLabel == null ? "Hours" : hoursLabel
3194
3212
  })]
3195
3213
  }), /* @__PURE__ */ jsxs(Segment, {
@@ -3197,7 +3215,7 @@ const Countdown = forwardRef(function Countdown2({
3197
3215
  children: /* @__PURE__ */ jsx("span", {
3198
3216
  children: minutes
3199
3217
  })
3200
- }), /* @__PURE__ */ jsx(Label, {
3218
+ }), /* @__PURE__ */ jsx(Label$3, {
3201
3219
  children: minutesLabel == null ? "Minutes" : minutesLabel
3202
3220
  })]
3203
3221
  }), /* @__PURE__ */ jsxs(Segment, {
@@ -3205,22 +3223,22 @@ const Countdown = forwardRef(function Countdown2({
3205
3223
  children: /* @__PURE__ */ jsx("span", {
3206
3224
  children: seconds
3207
3225
  })
3208
- }), /* @__PURE__ */ jsx(Label, {
3226
+ }), /* @__PURE__ */ jsx(Label$3, {
3209
3227
  children: secondsLabel == null ? "Seconds" : secondsLabel
3210
3228
  })]
3211
3229
  })]
3212
3230
  });
3213
3231
  });
3214
- function registerComponent$6(runtime) {
3232
+ function registerComponent$8(runtime) {
3215
3233
  return runtime.registerComponent(Countdown, {
3216
3234
  type: "./components/Countdown/index.js",
3217
3235
  label: "Countdown",
3218
3236
  icon: "Countdown40",
3219
3237
  props: {
3220
3238
  id: ElementID(),
3221
- date: Date$1({
3239
+ date: Date$1(() => ({
3222
3240
  preset: new Date(Date.now() + 1e3 * 60 * 60 * 24 * 2).toISOString()
3223
- }),
3241
+ })),
3224
3242
  variant: ResponsiveIconRadioGroup({
3225
3243
  label: "Style",
3226
3244
  options: [{
@@ -3316,6 +3334,7 @@ function registerComponent$6(runtime) {
3316
3334
  placeholder: "black"
3317
3335
  }),
3318
3336
  width: Width({
3337
+ format: Width.Formats.ClassName,
3319
3338
  defaultValue: {
3320
3339
  value: 560,
3321
3340
  unit: "px"
@@ -3344,10 +3363,9 @@ function registerComponent$6(runtime) {
3344
3363
  const IE11MinHeightContainer = styled.div`
3345
3364
  display: flex;
3346
3365
  width: 100%;
3347
- ${cssWidth()}
3348
3366
  ${cssMargin()}
3349
3367
  `;
3350
- const Container$4 = styled.div`
3368
+ const Container$9 = styled.div`
3351
3369
  display: flex;
3352
3370
  flex-direction: column;
3353
3371
  justify-content: center;
@@ -3404,18 +3422,18 @@ const Divider = forwardRef(function Divider2({
3404
3422
  return /* @__PURE__ */ jsx(IE11MinHeightContainer, {
3405
3423
  ref,
3406
3424
  id,
3407
- width,
3425
+ className: cx(width),
3408
3426
  margin,
3409
- children: /* @__PURE__ */ jsx(Container$4, {
3427
+ children: /* @__PURE__ */ jsx(Container$9, {
3410
3428
  children: /* @__PURE__ */ jsx(Line, {
3411
3429
  variant,
3412
3430
  thickness,
3413
- color: useColor(color)
3431
+ color
3414
3432
  })
3415
3433
  })
3416
3434
  });
3417
3435
  });
3418
- function registerComponent$5(runtime) {
3436
+ function registerComponent$7(runtime) {
3419
3437
  return runtime.registerComponent(Divider, {
3420
3438
  type: "./components/Divider/index.js",
3421
3439
  label: "Divider",
@@ -3456,6 +3474,7 @@ function registerComponent$5(runtime) {
3456
3474
  placeholder: "black"
3457
3475
  }),
3458
3476
  width: Width({
3477
+ format: Width.Formats.ClassName,
3459
3478
  defaultValue: {
3460
3479
  value: 100,
3461
3480
  unit: "%"
@@ -3465,9 +3484,8 @@ function registerComponent$5(runtime) {
3465
3484
  }
3466
3485
  });
3467
3486
  }
3468
- const Container$3 = styled.div`
3487
+ const Container$8 = styled.div`
3469
3488
  min-height: 15px;
3470
- ${cssWidth()}
3471
3489
  ${cssMargin()}
3472
3490
  `;
3473
3491
  const defaultHtml = `<div style="padding: 24px; background-color: rgba(161, 168, 194, 0.18); overflow: hidden;">
@@ -3545,35 +3563,37 @@ const Embed = forwardRef(function Embed2({
3545
3563
  }, [container, html]);
3546
3564
  if (shouldRender === false)
3547
3565
  return null;
3548
- return /* @__PURE__ */ jsx(Container$3, {
3566
+ return /* @__PURE__ */ jsx(Container$8, {
3549
3567
  ref: setContainer,
3550
3568
  id,
3569
+ className: cx(width),
3551
3570
  margin,
3552
- width,
3553
3571
  dangerouslySetInnerHTML: {
3554
3572
  __html: html
3555
3573
  }
3556
3574
  });
3557
3575
  });
3558
- function registerComponent$4(runtime) {
3576
+ function registerComponent$6(runtime) {
3559
3577
  return runtime.registerComponent(Embed, {
3560
3578
  type: "./components/Embed/index.js",
3561
3579
  label: "Embed",
3562
3580
  icon: "Code40",
3563
3581
  props: {
3564
3582
  id: ElementID(),
3565
- html: TextArea({
3583
+ html: TextArea$1({
3566
3584
  label: "Code",
3567
3585
  rows: 20
3568
3586
  }),
3569
- width: Width(),
3587
+ width: Width({
3588
+ format: Width.Formats.ClassName
3589
+ }),
3570
3590
  margin: Margin()
3571
3591
  }
3572
3592
  });
3573
3593
  }
3574
- var _path$r;
3575
- function _extends$r() {
3576
- _extends$r = Object.assign || function(target) {
3594
+ var _path$t;
3595
+ function _extends$u() {
3596
+ _extends$u = Object.assign || function(target) {
3577
3597
  for (var i = 1; i < arguments.length; i++) {
3578
3598
  var source = arguments[i];
3579
3599
  for (var key in source) {
@@ -3584,39 +3604,1833 @@ function _extends$r() {
3584
3604
  }
3585
3605
  return target;
3586
3606
  };
3587
- return _extends$r.apply(this, arguments);
3607
+ return _extends$u.apply(this, arguments);
3588
3608
  }
3589
- var SvgMobileMenu28 = function SvgMobileMenu282(props) {
3590
- return /* @__PURE__ */ React.createElement("svg", _extends$r({
3591
- xmlns: "http://www.w3.org/2000/svg",
3592
- width: 28,
3593
- height: 28
3594
- }, props), _path$r || (_path$r = /* @__PURE__ */ React.createElement("path", {
3595
- d: "M27 15H1a1 1 0 0 1-1-1 1 1 0 0 1 1-1h26a1 1 0 0 1 1 1 1 1 0 0 1-1 1zm0-10H1a1 1 0 0 0-1 1 1 1 0 0 0 1 1h26a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 16H1a1 1 0 0 0-1 1 1 1 0 0 0 1 1h26a1 1 0 0 0 1-1 1 1 0 0 0-1-1z"
3609
+ var SvgCheck12 = function SvgCheck122(props) {
3610
+ return /* @__PURE__ */ React.createElement("svg", _extends$u({
3611
+ width: 12,
3612
+ height: 12,
3613
+ xmlns: "http://www.w3.org/2000/svg"
3614
+ }, props), _path$t || (_path$t = /* @__PURE__ */ React.createElement("path", {
3615
+ fillRule: "evenodd",
3616
+ clipRule: "evenodd",
3617
+ d: "M11.707 1.793a1 1 0 0 1 0 1.414l-7 7a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 1.414-1.414L4 8.086l6.293-6.293a1 1 0 0 1 1.414 0Z"
3596
3618
  })));
3597
3619
  };
3598
- const GutterContainer = styled.div`
3599
- ${(p) => cssMediaRules([p.gutter], ([gutter = {
3600
- value: 0,
3601
- unit: "px"
3602
- }]) => css`
3603
- padding-left: ${p.first ? "0px" : `${gutter.value / 2}${gutter.unit}`};
3604
- padding-right: ${p.last ? "0px" : `${gutter.value / 2}${gutter.unit}`};
3620
+ const Shapes = Object.freeze({
3621
+ SQUARE: "square",
3622
+ ROUNDED: "rounded",
3623
+ PILL: "pill"
3624
+ });
3625
+ const Sizes = Object.freeze({
3626
+ SMALL: "small",
3627
+ MEDIUM: "medium",
3628
+ LARGE: "large"
3629
+ });
3630
+ const Contrasts = Object.freeze({
3631
+ LIGHT: "light",
3632
+ DARK: "dark"
3633
+ });
3634
+ const Context$1 = createContext({});
3635
+ function useFormContext() {
3636
+ return useContext(Context$1);
3637
+ }
3638
+ const { Provider } = Context$1;
3639
+ function getSizeHeight$2(size) {
3640
+ switch (size) {
3641
+ case Sizes.SMALL:
3642
+ return 30;
3643
+ case Sizes.MEDIUM:
3644
+ return 38;
3645
+ case Sizes.LARGE:
3646
+ return 48;
3647
+ default:
3648
+ throw new Error(`Invalid form size "${size}"`);
3649
+ }
3650
+ }
3651
+ function getSizeHorizontalPadding(size) {
3652
+ switch (size) {
3653
+ case Sizes.SMALL:
3654
+ return 8;
3655
+ case Sizes.MEDIUM:
3656
+ return 12;
3657
+ case Sizes.LARGE:
3658
+ return 16;
3659
+ default:
3660
+ throw new Error(`Invalid form size "${size}"`);
3661
+ }
3662
+ }
3663
+ function getSizeVerticalPadding(size) {
3664
+ switch (size) {
3665
+ case Sizes.SMALL:
3666
+ return 3;
3667
+ case Sizes.MEDIUM:
3668
+ return 7;
3669
+ case Sizes.LARGE:
3670
+ return 11;
3671
+ default:
3672
+ throw new Error(`Invalid form size "${size}"`);
3673
+ }
3674
+ }
3675
+ function getShapeBorderRadius(shape) {
3676
+ switch (shape) {
3677
+ case Shapes.SQUARE:
3678
+ return 0;
3679
+ case Shapes.ROUNDED:
3680
+ return 4;
3681
+ case Shapes.PILL:
3682
+ return 500;
3683
+ default:
3684
+ throw new Error(`Invalid form shape "${shape}"`);
3685
+ }
3686
+ }
3687
+ function getContrastBorderColor(contrast, error) {
3688
+ switch (contrast) {
3689
+ case Contrasts.LIGHT:
3690
+ return error ? "rgba(255, 0, 0, 0.7)" : "rgba(0, 0, 0, 0.25)";
3691
+ case Contrasts.DARK:
3692
+ return error ? "rgba(255, 0, 0, 0.7)" : "rgba(255, 255, 255, 0.6)";
3693
+ default:
3694
+ throw new Error(`Invalid form contrast "${contrast}"`);
3695
+ }
3696
+ }
3697
+ function getContrastBackgroundColor(contrast) {
3698
+ switch (contrast) {
3699
+ case Contrasts.LIGHT:
3700
+ return "white";
3701
+ case Contrasts.DARK:
3702
+ return "rgba(0, 0, 0, 0.7)";
3703
+ default:
3704
+ throw new Error(`Invalid form contrast "${contrast}"`);
3705
+ }
3706
+ }
3707
+ function getContrastColor$1(contrast) {
3708
+ switch (contrast) {
3709
+ case Contrasts.LIGHT:
3710
+ return "rgba(0, 0, 0, 0.95)";
3711
+ case Contrasts.DARK:
3712
+ return "white";
3713
+ default:
3714
+ throw new Error(`Invalid form contrast "${contrast}"`);
3715
+ }
3716
+ }
3717
+ function getContrastPlaceholderColor(contrast) {
3718
+ switch (contrast) {
3719
+ case Contrasts.LIGHT:
3720
+ return "rgba(0, 0, 0, 0.3)";
3721
+ case Contrasts.DARK:
3722
+ return "rgba(255,255,255,0.3)";
3723
+ default:
3724
+ throw new Error(`Invalid form contrast "${contrast}"`);
3725
+ }
3726
+ }
3727
+ function cssField() {
3728
+ return css`
3729
+ display: block;
3730
+ width: 100%;
3731
+ outline: none;
3732
+ border-width: 1px;
3733
+ border-style: solid;
3734
+ transition: border-color 200ms;
3735
+ ${(props) => cssMediaRules([props.shape, props.size, props.contrast, props.brandColor], ([
3736
+ shape = Shapes.ROUNDED,
3737
+ size = Sizes.MEDIUM,
3738
+ contrast = Contrasts.LIGHT,
3739
+ brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }
3740
+ ]) => css`
3741
+ padding: ${getSizeVerticalPadding(size)}px ${getSizeHorizontalPadding(size)}px;
3742
+ border-radius: ${getShapeBorderRadius(shape)}px;
3743
+ border-color: ${getContrastBorderColor(contrast, props.error)};
3744
+ color: ${getContrastColor$1(contrast)};
3745
+ background-color: ${getContrastBackgroundColor(contrast)};
3746
+
3747
+ :focus,
3748
+ :focus-within {
3749
+ border-color: ${colorToString(brandColor)};
3750
+ }
3751
+
3752
+ ::placeholder {
3753
+ color: ${getContrastPlaceholderColor(contrast)};
3754
+ }
3755
+ `)}
3756
+ `;
3757
+ }
3758
+ function getSizeHeight$1(size) {
3759
+ switch (size) {
3760
+ case Sizes.SMALL:
3761
+ return 36;
3762
+ case Sizes.MEDIUM:
3763
+ return 42;
3764
+ case Sizes.LARGE:
3765
+ return 48;
3766
+ default:
3767
+ throw new Error(`Invalid form size "${size}"`);
3768
+ }
3769
+ }
3770
+ const Base$2 = styled.input`
3771
+ ${cssField()}
3772
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
3773
+ min-height: ${getSizeHeight$1(size)}px;
3774
+ max-height: ${getSizeHeight$1(size)}px;
3605
3775
  `)}
3606
3776
  `;
3607
- const PlaceholderLink$1 = styled.div`
3608
- width: ${(props) => props.width}px;
3609
- height: ${(props) => props.button === true ? 32 : 8}px;
3777
+ var Input$2 = forwardRef(function Input(_o, ref) {
3778
+ var _p = _o, {
3779
+ error = false,
3780
+ form
3781
+ } = _p, restOfProps = __objRest(_p, [
3782
+ "error",
3783
+ "form"
3784
+ ]);
3785
+ const {
3786
+ shape,
3787
+ size,
3788
+ contrast,
3789
+ brandColor
3790
+ } = useFormContext();
3791
+ return /* @__PURE__ */ jsx(Base$2, __spreadProps(__spreadValues({}, restOfProps), {
3792
+ ref,
3793
+ error,
3794
+ shape,
3795
+ size,
3796
+ contrast,
3797
+ brandColor
3798
+ }));
3799
+ });
3800
+ const Container$7 = styled.div`
3801
+ display: flex;
3802
+ flex-direction: column;
3803
+ ${cssMargin()};
3804
+ `;
3805
+ const Label$2 = styled.div`
3806
+ max-width: 120px;
3807
+ min-width: 60px;
3808
+ height: 8px;
3809
+ border-radius: 2px;
3610
3810
  background-color: #a1a8c2;
3611
- border-radius: ${(props) => props.button === true ? 6 : 2}px;
3612
3811
  opacity: 0.4;
3812
+ margin-bottom: 8px;
3613
3813
  `;
3614
- const links$1 = [{
3615
- width: 50
3616
- }, {
3617
- width: 70
3618
- }, {
3619
- width: 60
3814
+ const Input$1 = styled.div`
3815
+ min-width: 80px;
3816
+ height: 32px;
3817
+ border-radius: 4px;
3818
+ border-width: 2px;
3819
+ border-style: solid;
3820
+ border-color: #a1a8c2;
3821
+ opacity: 0.4;
3822
+ `;
3823
+ const Button = styled.div`
3824
+ min-width: 140px;
3825
+ height: 32px;
3826
+ border-radius: 4px;
3827
+ background-color: #a1a8c2;
3828
+ opacity: 0.4;
3829
+ `;
3830
+ var Placeholder$1 = forwardRef(function Placeholder2({
3831
+ className,
3832
+ margin
3833
+ }, ref) {
3834
+ return /* @__PURE__ */ jsxs(Container$7, {
3835
+ ref,
3836
+ className,
3837
+ margin,
3838
+ children: [/* @__PURE__ */ jsxs("div", {
3839
+ style: {
3840
+ display: "flex",
3841
+ flexDirection: "column",
3842
+ marginBottom: 16
3843
+ },
3844
+ children: [/* @__PURE__ */ jsx(Label$2, {}), /* @__PURE__ */ jsx(Input$1, {})]
3845
+ }), /* @__PURE__ */ jsxs("div", {
3846
+ style: {
3847
+ display: "flex",
3848
+ flexDirection: "column",
3849
+ marginBottom: 16
3850
+ },
3851
+ children: [/* @__PURE__ */ jsx(Label$2, {}), /* @__PURE__ */ jsx(Input$1, {})]
3852
+ }), /* @__PURE__ */ jsx("div", {
3853
+ style: {
3854
+ display: "flex",
3855
+ flexDirection: "column",
3856
+ justifyContent: "flex-end"
3857
+ },
3858
+ children: /* @__PURE__ */ jsx(Button, {})
3859
+ })]
3860
+ });
3861
+ });
3862
+ function getSizeHeight(size) {
3863
+ switch (size) {
3864
+ case Sizes.SMALL:
3865
+ return 14;
3866
+ case Sizes.MEDIUM:
3867
+ return 18;
3868
+ case Sizes.LARGE:
3869
+ return 22;
3870
+ default:
3871
+ throw new Error(`Invalid form size "${size}"`);
3872
+ }
3873
+ }
3874
+ function getContrastColor(contrast) {
3875
+ switch (contrast) {
3876
+ case Contrasts.LIGHT:
3877
+ return "rgba(0, 0, 0, 0.8)";
3878
+ case Contrasts.DARK:
3879
+ return "rgba(255, 255, 255, 0.95)";
3880
+ default:
3881
+ throw new Error(`Invalid form contrast "${contrast}"`);
3882
+ }
3883
+ }
3884
+ const Base$1 = styled.label`
3885
+ display: block;
3886
+ margin: 0 0 0.25em 0;
3887
+ ${cssTextStyle()}
3888
+ ${(props) => cssMediaRules([props.size, props.contrast, props.textColor], ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT, textColor]) => css`
3889
+ min-height: ${getSizeHeight(size)}px;
3890
+ color: ${textColor == null ? getContrastColor(contrast) : colorToString(textColor)};
3891
+ `)}
3892
+ `;
3893
+ function Label$1(props) {
3894
+ const {
3895
+ contrast,
3896
+ size,
3897
+ labelTextStyle,
3898
+ labelTextColor
3899
+ } = useFormContext();
3900
+ return /* @__PURE__ */ jsx(Base$1, __spreadProps(__spreadValues({}, props), {
3901
+ contrast,
3902
+ size,
3903
+ textStyle: labelTextStyle,
3904
+ textColor: labelTextColor
3905
+ }));
3906
+ }
3907
+ var SingleLineTextTableField = forwardRef(function SingleLineTextTableField2(_q, ref) {
3908
+ var _r = _q, {
3909
+ id,
3910
+ label = "",
3911
+ name,
3912
+ error,
3913
+ hideLabel = false
3914
+ } = _r, restOfProps = __objRest(_r, [
3915
+ "id",
3916
+ "label",
3917
+ "name",
3918
+ "error",
3919
+ "hideLabel"
3920
+ ]);
3921
+ return /* @__PURE__ */ jsxs(Fragment, {
3922
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
3923
+ htmlFor: id,
3924
+ children: label
3925
+ }), /* @__PURE__ */ jsx(Input$2, __spreadProps(__spreadValues({}, restOfProps), {
3926
+ "aria-label": label,
3927
+ ref,
3928
+ id,
3929
+ name,
3930
+ type: "text",
3931
+ error: error != null
3932
+ }))]
3933
+ });
3934
+ });
3935
+ const Base = styled.textarea`
3936
+ resize: vertical;
3937
+ ${cssField()}
3938
+ `;
3939
+ var TextArea = forwardRef(function TextArea2(_s, ref) {
3940
+ var _t = _s, {
3941
+ error = false,
3942
+ form
3943
+ } = _t, restOfProps = __objRest(_t, [
3944
+ "error",
3945
+ "form"
3946
+ ]);
3947
+ const {
3948
+ shape,
3949
+ size,
3950
+ contrast,
3951
+ brandColor
3952
+ } = useFormContext();
3953
+ return /* @__PURE__ */ jsx(Base, __spreadProps(__spreadValues({}, restOfProps), {
3954
+ ref,
3955
+ rows: 4,
3956
+ error,
3957
+ shape,
3958
+ size,
3959
+ contrast,
3960
+ brandColor
3961
+ }));
3962
+ });
3963
+ var LongTextTableField = forwardRef(function LongTextTableField2(_u, ref) {
3964
+ var _v = _u, {
3965
+ id,
3966
+ label = "",
3967
+ error,
3968
+ hideLabel = false
3969
+ } = _v, restOfProps = __objRest(_v, [
3970
+ "id",
3971
+ "label",
3972
+ "error",
3973
+ "hideLabel"
3974
+ ]);
3975
+ return /* @__PURE__ */ jsxs(Fragment, {
3976
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
3977
+ htmlFor: id,
3978
+ children: label
3979
+ }), /* @__PURE__ */ jsx(TextArea, __spreadProps(__spreadValues({}, restOfProps), {
3980
+ "aria-label": label,
3981
+ ref,
3982
+ id,
3983
+ error: error != null
3984
+ }))]
3985
+ });
3986
+ });
3987
+ function getCheckmarkColor$1({
3988
+ swatch: {
3989
+ hue: h,
3990
+ saturation: s,
3991
+ lightness: l
3992
+ },
3993
+ alpha: a
3994
+ }) {
3995
+ return ColorHelper({
3996
+ h,
3997
+ s,
3998
+ l
3999
+ }).alpha(a).isLight() ? "rgba(0, 0, 0, 0.7)" : "rgba(255, 255, 255, 0.95)";
4000
+ }
4001
+ const Container$6 = styled.div`
4002
+ position: relative;
4003
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
4004
+ height: ${getSizeHeight(size)}px;
4005
+ width: ${getSizeHeight(size)}px;
4006
+ `)}
4007
+ `;
4008
+ const FakeCheckbox = styled.div`
4009
+ position: absolute;
4010
+ width: 100%;
4011
+ height: 100%;
4012
+ border-style: solid;
4013
+ border-radius: 4px;
4014
+ pointer-events: none;
4015
+ border-width: 1px;
4016
+ ${(props) => cssMediaRules([props.contrast], ([contrast = Contrasts.LIGHT]) => css`
4017
+ border-color: ${getContrastBorderColor(contrast, props.error)};
4018
+ background-color: ${getContrastBackgroundColor(contrast)};
4019
+ `)}
4020
+ `;
4021
+ const HiddenCheckbox = styled.input`
4022
+ position: absolute;
4023
+ opacity: 0;
4024
+ width: 100%;
4025
+ height: 100%;
4026
+ cursor: pointer;
4027
+
4028
+ &:disabled {
4029
+ cursor: no-drop;
4030
+
4031
+ & ~ ${FakeCheckbox} {
4032
+ opacity: 0.5;
4033
+ }
4034
+ }
4035
+
4036
+ &:checked ~ ${FakeCheckbox} {
4037
+ ${(props) => cssMediaRules([props.brandColor], ([{
4038
+ swatch = {
4039
+ hue: 0,
4040
+ saturation: 0,
4041
+ lightness: 0
4042
+ },
4043
+ alpha = 1
4044
+ } = {}]) => css`
4045
+ background-color: ${colorToString({
4046
+ swatch,
4047
+ alpha
4048
+ })};
4049
+ `)}
4050
+ border-color: transparent;
4051
+
4052
+ &::after {
4053
+ content: '';
4054
+ position: absolute;
4055
+ box-sizing: content-box;
4056
+ width: 25%;
4057
+ height: 50%;
4058
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
4059
+ border-width: ${getSizeHeight(size) * 0.1}px;
4060
+ border-left: 0;
4061
+ border-top: 0;
4062
+ `)}
4063
+ border-style: solid;
4064
+ ${(props) => cssMediaRules([props.brandColor], ([{
4065
+ swatch = {
4066
+ hue: 0,
4067
+ saturation: 0,
4068
+ lightness: 0
4069
+ },
4070
+ alpha = 1
4071
+ } = {}]) => css`
4072
+ border-color: ${getCheckmarkColor$1({
4073
+ swatch,
4074
+ alpha
4075
+ })};
4076
+ `)}
4077
+ transform: rotate(45deg) translate3d(91%, -23%, 0);
4078
+ }
4079
+ }
4080
+
4081
+ &:not(:disabled) {
4082
+ &:focus ~ ${FakeCheckbox} {
4083
+ ${(props) => cssMediaRules([props.brandColor], ([brandColor = {
4084
+ swatch: {
4085
+ hue: 0,
4086
+ saturation: 0,
4087
+ lightness: 0
4088
+ },
4089
+ alpha: 1
4090
+ }]) => css`
4091
+ border-color: ${colorToString(brandColor)};
4092
+ `)}
4093
+ }
4094
+ }
4095
+
4096
+ &:not(:disabled):checked {
4097
+ &:focus ~ ${FakeCheckbox} {
4098
+ ${(props) => cssMediaRules([props.contrast], ([contrast = Contrasts.LIGHT]) => css`
4099
+ border-color: ${getContrastBorderColor(contrast, props.error)};
4100
+ `)}
4101
+ }
4102
+ }
4103
+ `;
4104
+ var Checkbox = forwardRef(function Checkbox2(_w, ref) {
4105
+ var _x = _w, {
4106
+ error,
4107
+ className,
4108
+ style,
4109
+ form
4110
+ } = _x, restOfProps = __objRest(_x, [
4111
+ "error",
4112
+ "className",
4113
+ "style",
4114
+ "form"
4115
+ ]);
4116
+ const {
4117
+ size,
4118
+ contrast,
4119
+ brandColor
4120
+ } = useFormContext();
4121
+ return /* @__PURE__ */ jsxs(Container$6, {
4122
+ size,
4123
+ children: [/* @__PURE__ */ jsx(HiddenCheckbox, __spreadProps(__spreadValues({}, restOfProps), {
4124
+ type: "checkbox",
4125
+ ref,
4126
+ error,
4127
+ size,
4128
+ contrast,
4129
+ brandColor
4130
+ })), /* @__PURE__ */ jsx(FakeCheckbox, {
4131
+ className,
4132
+ error,
4133
+ contrast,
4134
+ style
4135
+ })]
4136
+ });
4137
+ });
4138
+ const StyledLabel$2 = styled(Label$1)`
4139
+ display: flex;
4140
+ align-items: center;
4141
+ margin: 0;
4142
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
4143
+ min-height: ${getSizeHeight$1(size)}px;
4144
+ max-height: ${getSizeHeight$1(size)}px;
4145
+ `)}
4146
+ `;
4147
+ const CheckboxContainer$1 = styled.span`
4148
+ margin-right: 8px;
4149
+ `;
4150
+ var CheckboxTableField = forwardRef(function CheckboxTableField2(_y, ref) {
4151
+ var _z = _y, {
4152
+ form,
4153
+ id,
4154
+ name,
4155
+ label = "",
4156
+ value = false,
4157
+ error
4158
+ } = _z, restOfProps = __objRest(_z, [
4159
+ "form",
4160
+ "id",
4161
+ "name",
4162
+ "label",
4163
+ "value",
4164
+ "error"
4165
+ ]);
4166
+ const {
4167
+ size
4168
+ } = useFormContext();
4169
+ function handleChange(event) {
4170
+ form.setFieldValue(name, event.currentTarget.checked);
4171
+ }
4172
+ return /* @__PURE__ */ jsxs(StyledLabel$2, {
4173
+ htmlFor: id,
4174
+ size,
4175
+ children: [/* @__PURE__ */ jsx(CheckboxContainer$1, {
4176
+ children: /* @__PURE__ */ jsx(Checkbox, __spreadProps(__spreadValues({}, restOfProps), {
4177
+ "aria-label": label,
4178
+ checked: value,
4179
+ onChange: handleChange,
4180
+ ref,
4181
+ id,
4182
+ error: error != null
4183
+ }))
4184
+ }), label]
4185
+ });
4186
+ });
4187
+ const MainLabel = styled(Label$1)`
4188
+ margin: 0 0 4px 0;
4189
+ `;
4190
+ const StyledLabel$1 = styled(Label$1)`
4191
+ display: flex;
4192
+ align-items: center;
4193
+ margin: 8px 0;
4194
+
4195
+ &:last-of-type {
4196
+ margin-bottom: 0;
4197
+ }
4198
+ `;
4199
+ const CheckboxContainer = styled.span`
4200
+ margin-right: 8px;
4201
+ `;
4202
+ var MultipleSelectTableField = forwardRef(function MultipleSelectTableField2(_A, ref) {
4203
+ var _B = _A, {
4204
+ tableColumn,
4205
+ label = "",
4206
+ required,
4207
+ value = [],
4208
+ onChange,
4209
+ hideLabel = false
4210
+ } = _B, restOfProps = __objRest(_B, [
4211
+ "tableColumn",
4212
+ "label",
4213
+ "required",
4214
+ "value",
4215
+ "onChange",
4216
+ "hideLabel"
4217
+ ]);
4218
+ const handle = useRef({
4219
+ validity: {
4220
+ valueMissing: required === true && value.length === 0,
4221
+ typeMismatch: false
4222
+ }
4223
+ });
4224
+ useImperativeHandle(ref, () => handle.current, []);
4225
+ function handleChange(event) {
4226
+ handle.current.validity.valueMissing = required === true && !event.currentTarget.checked && value.filter((v) => v !== event.currentTarget.value).length === 0;
4227
+ onChange(event);
4228
+ }
4229
+ return /* @__PURE__ */ jsxs("div", {
4230
+ children: [!hideLabel && /* @__PURE__ */ jsx(MainLabel, {
4231
+ children: label
4232
+ }), tableColumn.options.map((option) => /* @__PURE__ */ jsxs(StyledLabel$1, {
4233
+ htmlFor: option.id,
4234
+ children: [/* @__PURE__ */ jsx(CheckboxContainer, {
4235
+ children: /* @__PURE__ */ jsx(Checkbox, __spreadProps(__spreadValues({}, restOfProps), {
4236
+ "aria-label": label,
4237
+ onChange: handleChange,
4238
+ checked: value.includes(option.name),
4239
+ id: option.id,
4240
+ value: option.name
4241
+ }))
4242
+ }), option.name]
4243
+ }, option.id))]
4244
+ });
4245
+ });
4246
+ function getCheckmarkColor({
4247
+ swatch: {
4248
+ hue: h,
4249
+ saturation: s,
4250
+ lightness: l
4251
+ } = {
4252
+ hue: 0,
4253
+ saturation: 0,
4254
+ lightness: 0
4255
+ },
4256
+ alpha: a
4257
+ }) {
4258
+ return ColorHelper({
4259
+ h,
4260
+ s,
4261
+ l
4262
+ }).alpha(a).isLight() ? "rgba(0, 0, 0, 0.7)" : "rgba(255, 255, 255, 0.95)";
4263
+ }
4264
+ const Container$5 = styled.div`
4265
+ position: relative;
4266
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
4267
+ height: ${getSizeHeight(size)}px;
4268
+ width: ${getSizeHeight(size)}px;
4269
+ `)}
4270
+ `;
4271
+ const FakeRadioButton = styled.div`
4272
+ position: absolute;
4273
+ width: 100%;
4274
+ height: 100%;
4275
+ border-style: solid;
4276
+ border-radius: 50%;
4277
+ pointer-events: none;
4278
+ border-width: 1px;
4279
+ ${(props) => cssMediaRules([props.contrast], ([contrast = Contrasts.LIGHT]) => css`
4280
+ border-color: ${getContrastBorderColor(contrast, props.error)};
4281
+ background-color: ${getContrastBackgroundColor(contrast)};
4282
+ `)}
4283
+ `;
4284
+ const HiddenRadioButton = styled.input.attrs({
4285
+ type: "radio"
4286
+ })`
4287
+ position: absolute;
4288
+ opacity: 0;
4289
+ width: 100%;
4290
+ height: 100%;
4291
+ cursor: pointer;
4292
+
4293
+ &:disabled {
4294
+ cursor: no-drop;
4295
+
4296
+ & ~ ${FakeRadioButton} {
4297
+ opacity: 0.5;
4298
+ }
4299
+ }
4300
+
4301
+ &:checked ~ ${FakeRadioButton} {
4302
+ ${(props) => cssMediaRules([props.brandColor], ([brandColor = {
4303
+ swatch: {
4304
+ hue: 0,
4305
+ saturation: 0,
4306
+ lightness: 0
4307
+ },
4308
+ alpha: 1
4309
+ }]) => css`
4310
+ background-color: ${colorToString(brandColor)};
4311
+ `)}
4312
+ border-color: transparent;
4313
+
4314
+ &::after {
4315
+ content: '';
4316
+ position: absolute;
4317
+ box-sizing: content-box;
4318
+ top: 50%;
4319
+ left: 50%;
4320
+ width: 50%;
4321
+ height: 50%;
4322
+ border-radius: 50%;
4323
+ transform: translate(-50%, -50%);
4324
+ ${(props) => cssMediaRules([props.brandColor], ([brandColor = {
4325
+ swatch: {
4326
+ hue: 0,
4327
+ saturation: 0,
4328
+ lightness: 0
4329
+ },
4330
+ alpha: 1
4331
+ }]) => css`
4332
+ background-color: ${getCheckmarkColor(brandColor)};
4333
+ `)}
4334
+ }
4335
+ }
4336
+
4337
+ &:not(:disabled) {
4338
+ &:focus ~ ${FakeRadioButton} {
4339
+ ${(props) => cssMediaRules([props.brandColor], ([brandColor = {
4340
+ swatch: {
4341
+ hue: 0,
4342
+ saturation: 0,
4343
+ lightness: 0
4344
+ },
4345
+ alpha: 1
4346
+ }]) => css`
4347
+ border-color: ${colorToString(brandColor)};
4348
+ `)}
4349
+ }
4350
+ }
4351
+
4352
+ &:not(:disabled):checked {
4353
+ &:focus ~ ${FakeRadioButton} {
4354
+ ${(props) => cssMediaRules([props.contrast], ([contrast = Contrasts.LIGHT]) => css`
4355
+ border-color: ${getContrastBorderColor(contrast, props.error)};
4356
+ `)}
4357
+ }
4358
+ }
4359
+ `;
4360
+ var RadioButton = forwardRef(function RadioButton2(_C, ref) {
4361
+ var _D = _C, {
4362
+ error,
4363
+ className,
4364
+ style,
4365
+ form
4366
+ } = _D, restOfProps = __objRest(_D, [
4367
+ "error",
4368
+ "className",
4369
+ "style",
4370
+ "form"
4371
+ ]);
4372
+ const {
4373
+ size,
4374
+ contrast,
4375
+ brandColor
4376
+ } = useFormContext();
4377
+ return /* @__PURE__ */ jsxs(Container$5, {
4378
+ size,
4379
+ children: [/* @__PURE__ */ jsx(HiddenRadioButton, __spreadProps(__spreadValues({}, restOfProps), {
4380
+ ref,
4381
+ error,
4382
+ contrast,
4383
+ brandColor
4384
+ })), /* @__PURE__ */ jsx(FakeRadioButton, {
4385
+ className,
4386
+ error,
4387
+ contrast,
4388
+ style
4389
+ })]
4390
+ });
4391
+ });
4392
+ const StyledLabel = styled(Label$1)`
4393
+ display: flex;
4394
+ align-items: center;
4395
+ margin: 8px 0;
4396
+
4397
+ &:last-of-type {
4398
+ margin-bottom: 0;
4399
+ }
4400
+ `;
4401
+ const RadioButtonContainer = styled.span`
4402
+ margin-right: 8px;
4403
+ `;
4404
+ var TableColumnRadioButtonGroup = forwardRef(function TableColumnRadioButtonGroup2(_E, ref) {
4405
+ var _F = _E, {
4406
+ tableColumn,
4407
+ label = "",
4408
+ value = "",
4409
+ required = false,
4410
+ hideLabel = false,
4411
+ onChange
4412
+ } = _F, restOfProps = __objRest(_F, [
4413
+ "tableColumn",
4414
+ "label",
4415
+ "value",
4416
+ "required",
4417
+ "hideLabel",
4418
+ "onChange"
4419
+ ]);
4420
+ const handle = useRef({
4421
+ validity: {
4422
+ valueMissing: required === true && value === "",
4423
+ typeMismatch: false
4424
+ }
4425
+ });
4426
+ useImperativeHandle(ref, () => handle.current, []);
4427
+ function handleChange(event) {
4428
+ handle.current.validity.valueMissing = required === true && !event.currentTarget.checked;
4429
+ onChange(event);
4430
+ }
4431
+ return /* @__PURE__ */ jsxs("div", {
4432
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
4433
+ as: "p",
4434
+ children: label
4435
+ }), tableColumn.options.map((option) => /* @__PURE__ */ jsxs(StyledLabel, {
4436
+ htmlFor: option.id,
4437
+ "aria-label": label,
4438
+ children: [/* @__PURE__ */ jsx(RadioButtonContainer, {
4439
+ children: /* @__PURE__ */ jsx(RadioButton, __spreadProps(__spreadValues({}, restOfProps), {
4440
+ onChange: handleChange,
4441
+ checked: value === option.name,
4442
+ id: option.id,
4443
+ value: option.name
4444
+ }))
4445
+ }), option.name]
4446
+ }, option.id))]
4447
+ });
4448
+ });
4449
+ const Container$4 = styled.div`
4450
+ ${cssField()}
4451
+ display: flex;
4452
+ align-items: center;
4453
+ position: relative;
4454
+ user-select: none;
4455
+ border-color: #f19eb9;
4456
+
4457
+ &:focus,
4458
+ &:focus-within {
4459
+ border-color: #e54e7f;
4460
+ }
4461
+
4462
+ ${(props) => cssMediaRules([props.size, props.contrast], ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT]) => css`
4463
+ min-height: ${getSizeHeight$2(size)}px;
4464
+ max-height: ${getSizeHeight$2(size)}px;
4465
+
4466
+ &::after {
4467
+ content: '';
4468
+ position: absolute;
4469
+ right: ${getSizeHorizontalPadding(size)}px;
4470
+ top: 50%;
4471
+ transform: translate3d(0, -25%, 0);
4472
+ border: solid 0.35em transparent;
4473
+ border-top-color: ${getContrastColor$1(contrast)};
4474
+ }
4475
+ `)}
4476
+ `;
4477
+ const Select = styled.select`
4478
+ appearance: none;
4479
+ position: absolute;
4480
+ top: 0;
4481
+ left: 0;
4482
+ opacity: 0;
4483
+ width: 100%;
4484
+ height: 100%;
4485
+ `;
4486
+ var TableColumnSingleSelect = forwardRef(function TableColumnSingleSelect2(_G, ref) {
4487
+ var _H = _G, {
4488
+ id,
4489
+ tableColumn,
4490
+ value = "",
4491
+ label = "",
4492
+ error = false,
4493
+ hideLabel = false,
4494
+ form
4495
+ } = _H, restOfProps = __objRest(_H, [
4496
+ "id",
4497
+ "tableColumn",
4498
+ "value",
4499
+ "label",
4500
+ "error",
4501
+ "hideLabel",
4502
+ "form"
4503
+ ]);
4504
+ const {
4505
+ shape,
4506
+ size,
4507
+ contrast,
4508
+ brandColor
4509
+ } = useFormContext();
4510
+ return /* @__PURE__ */ jsxs(Fragment, {
4511
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
4512
+ htmlFor: id,
4513
+ children: label
4514
+ }), /* @__PURE__ */ jsxs(Container$4, {
4515
+ error,
4516
+ shape,
4517
+ size,
4518
+ contrast,
4519
+ brandColor,
4520
+ children: [/* @__PURE__ */ jsx("span", {
4521
+ children: value === "" ? "-" : value
4522
+ }), /* @__PURE__ */ jsxs(Select, __spreadProps(__spreadValues({}, restOfProps), {
4523
+ "aria-label": label,
4524
+ ref,
4525
+ id,
4526
+ value,
4527
+ children: [/* @__PURE__ */ jsx("option", {
4528
+ value: "",
4529
+ children: "-"
4530
+ }), tableColumn.options.map((option) => /* @__PURE__ */ jsx("option", {
4531
+ value: option.name,
4532
+ children: option.name
4533
+ }, option.id))]
4534
+ }))]
4535
+ })]
4536
+ });
4537
+ });
4538
+ var SingleSelectTableField = forwardRef(function SingleSelectTableField2(_I, ref) {
4539
+ var _J = _I, {
4540
+ type
4541
+ } = _J, restOfProps = __objRest(_J, [
4542
+ "type"
4543
+ ]);
4544
+ return type === "select" ? /* @__PURE__ */ jsx(TableColumnSingleSelect, __spreadProps(__spreadValues({}, restOfProps), {
4545
+ ref
4546
+ })) : /* @__PURE__ */ jsx(TableColumnRadioButtonGroup, __spreadProps(__spreadValues({}, restOfProps), {
4547
+ ref
4548
+ }));
4549
+ });
4550
+ var PhoneNumberTableField = forwardRef(function PhoneNumberTableField2(_K, ref) {
4551
+ var _L = _K, {
4552
+ id,
4553
+ label = "",
4554
+ name,
4555
+ error,
4556
+ hideLabel = false
4557
+ } = _L, restOfProps = __objRest(_L, [
4558
+ "id",
4559
+ "label",
4560
+ "name",
4561
+ "error",
4562
+ "hideLabel"
4563
+ ]);
4564
+ return /* @__PURE__ */ jsxs(Fragment, {
4565
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
4566
+ htmlFor: id,
4567
+ children: label
4568
+ }), /* @__PURE__ */ jsx(Input$2, __spreadProps(__spreadValues({}, restOfProps), {
4569
+ "aria-label": label,
4570
+ ref,
4571
+ id,
4572
+ name,
4573
+ type: "tel",
4574
+ error: error != null
4575
+ }))]
4576
+ });
4577
+ });
4578
+ var EmailTableField = forwardRef(function EmailTableField2(_M, ref) {
4579
+ var _N = _M, {
4580
+ id,
4581
+ label = "",
4582
+ name,
4583
+ error,
4584
+ hideLabel = false
4585
+ } = _N, restOfProps = __objRest(_N, [
4586
+ "id",
4587
+ "label",
4588
+ "name",
4589
+ "error",
4590
+ "hideLabel"
4591
+ ]);
4592
+ return /* @__PURE__ */ jsxs(Fragment, {
4593
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
4594
+ htmlFor: id,
4595
+ children: label
4596
+ }), /* @__PURE__ */ jsx(Input$2, __spreadProps(__spreadValues({}, restOfProps), {
4597
+ "aria-label": label,
4598
+ ref,
4599
+ id,
4600
+ name,
4601
+ type: "email",
4602
+ error: error != null
4603
+ }))]
4604
+ });
4605
+ });
4606
+ var URLTableField = forwardRef(function URLTableField2(_O, ref) {
4607
+ var _P = _O, {
4608
+ id,
4609
+ label = "",
4610
+ name,
4611
+ error,
4612
+ hideLabel = false
4613
+ } = _P, restOfProps = __objRest(_P, [
4614
+ "id",
4615
+ "label",
4616
+ "name",
4617
+ "error",
4618
+ "hideLabel"
4619
+ ]);
4620
+ return /* @__PURE__ */ jsxs(Fragment, {
4621
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
4622
+ htmlFor: id,
4623
+ children: label
4624
+ }), /* @__PURE__ */ jsx(Input$2, __spreadProps(__spreadValues({}, restOfProps), {
4625
+ "aria-label": label,
4626
+ ref,
4627
+ id,
4628
+ name,
4629
+ type: "url",
4630
+ error: error != null
4631
+ }))]
4632
+ });
4633
+ });
4634
+ var NumberTableField = forwardRef(function NumberTableField2(_Q, ref) {
4635
+ var _R = _Q, {
4636
+ id,
4637
+ label = "",
4638
+ name,
4639
+ error,
4640
+ hideLabel = false
4641
+ } = _R, restOfProps = __objRest(_R, [
4642
+ "id",
4643
+ "label",
4644
+ "name",
4645
+ "error",
4646
+ "hideLabel"
4647
+ ]);
4648
+ return /* @__PURE__ */ jsxs(Fragment, {
4649
+ children: [!hideLabel && /* @__PURE__ */ jsx(Label$1, {
4650
+ htmlFor: id,
4651
+ children: label
4652
+ }), /* @__PURE__ */ jsx(Input$2, __spreadProps(__spreadValues({}, restOfProps), {
4653
+ "aria-label": label,
4654
+ ref,
4655
+ id,
4656
+ name,
4657
+ type: "number",
4658
+ error: error != null
4659
+ }))]
4660
+ });
4661
+ });
4662
+ const Label = styled.div`
4663
+ display: block;
4664
+ max-width: 120px;
4665
+ min-width: 60px;
4666
+ border-radius: 2px;
4667
+ background-color: #5f49f4;
4668
+ opacity: 0.4;
4669
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
4670
+ margin: calc(0.25 * ${getSizeHeight(size)}px + 2px) 0;
4671
+ min-height: ${0.5 * getSizeHeight(size)}px;
4672
+ max-height: ${0.5 * getSizeHeight(size)}px;
4673
+ `)}
4674
+ `;
4675
+ const Input2 = styled.div`
4676
+ display: block;
4677
+ width: 100%;
4678
+ border-width: 2px;
4679
+ border-style: solid;
4680
+ border-color: #5f49f4;
4681
+ opacity: 0.4;
4682
+ ${(props) => cssMediaRules([props.shape, props.size], ([shape = Shapes.ROUNDED, size = Sizes.MEDIUM]) => css`
4683
+ min-height: ${getSizeHeight$1(size)}px;
4684
+ max-height: ${getSizeHeight$1(size)}px;
4685
+ border-radius: ${getShapeBorderRadius(shape)}px;
4686
+ `)}
4687
+ `;
4688
+ function PlaceholderTableField() {
4689
+ const {
4690
+ size,
4691
+ shape
4692
+ } = useFormContext();
4693
+ return /* @__PURE__ */ jsxs(Fragment, {
4694
+ children: [/* @__PURE__ */ jsx(Label, {
4695
+ size
4696
+ }), /* @__PURE__ */ jsx(Input2, {
4697
+ shape,
4698
+ size
4699
+ })]
4700
+ });
4701
+ }
4702
+ function getTypeMismatchErrorMessage(tableColumn, label) {
4703
+ switch ((tableColumn || {}).__typename) {
4704
+ case "PhoneNumberTableColumn":
4705
+ return `${label} field must be a valid phone number.`;
4706
+ case "EmailTableColumn":
4707
+ return `${label} field must be a valid email.`;
4708
+ case "URLTableColumn":
4709
+ return `${label} field must be a valid URL.`;
4710
+ case "NumberTableColumn":
4711
+ return `${label} field must be a valid number.`;
4712
+ case "SingleLineTextTableColumn":
4713
+ case "LongTextTableColumn":
4714
+ case "CheckboxTableColumn":
4715
+ default:
4716
+ return `${label} field is invalid.`;
4717
+ }
4718
+ }
4719
+ function getTableColumnField(tableColumn) {
4720
+ switch ((tableColumn || {}).__typename) {
4721
+ case "SingleLineTextTableColumn":
4722
+ return SingleLineTextTableField;
4723
+ case "LongTextTableColumn":
4724
+ return LongTextTableField;
4725
+ case "CheckboxTableColumn":
4726
+ return CheckboxTableField;
4727
+ case "MultipleSelectTableColumn":
4728
+ return MultipleSelectTableField;
4729
+ case "SingleSelectTableColumn":
4730
+ return SingleSelectTableField;
4731
+ case "PhoneNumberTableColumn":
4732
+ return PhoneNumberTableField;
4733
+ case "EmailTableColumn":
4734
+ return EmailTableField;
4735
+ case "URLTableColumn":
4736
+ return URLTableField;
4737
+ case "NumberTableColumn":
4738
+ return NumberTableField;
4739
+ default:
4740
+ return SingleLineTextTableField;
4741
+ }
4742
+ }
4743
+ function Field({
4744
+ tableColumn,
4745
+ tableFormField: {
4746
+ id,
4747
+ label = "",
4748
+ placeholder: placeholder2,
4749
+ required = false,
4750
+ hidden = false,
4751
+ type = "radio",
4752
+ hideLabel = false
4753
+ }
4754
+ }) {
4755
+ const TableColumnField = getTableColumnField(tableColumn);
4756
+ const input = useRef(null);
4757
+ if (!tableColumn)
4758
+ return /* @__PURE__ */ jsx(PlaceholderTableField, {});
4759
+ function validate() {
4760
+ let errorMessage;
4761
+ if (input.current) {
4762
+ const {
4763
+ validity = {}
4764
+ } = input.current;
4765
+ if (validity.valueMissing)
4766
+ errorMessage = `${label} is required.`;
4767
+ if (validity.typeMismatch)
4768
+ errorMessage = getTypeMismatchErrorMessage(tableColumn, label);
4769
+ }
4770
+ return errorMessage;
4771
+ }
4772
+ return /* @__PURE__ */ jsx(Field$1, {
4773
+ name: tableColumn.name,
4774
+ validate,
4775
+ children: ({
4776
+ field,
4777
+ form
4778
+ }) => hidden ? /* @__PURE__ */ jsx("input", __spreadProps(__spreadValues({}, field), {
4779
+ ref: input,
4780
+ type: "hidden"
4781
+ })) : /* @__PURE__ */ jsx(TableColumnField, __spreadProps(__spreadValues({}, field), {
4782
+ type,
4783
+ form,
4784
+ tableColumn,
4785
+ ref: input,
4786
+ id,
4787
+ error: getIn(form.touched, field.name) && getIn(form.errors, field.name),
4788
+ label,
4789
+ placeholder: placeholder2,
4790
+ required,
4791
+ hideLabel
4792
+ }))
4793
+ });
4794
+ }
4795
+ var _g;
4796
+ function _extends$t() {
4797
+ _extends$t = Object.assign || function(target) {
4798
+ for (var i = 1; i < arguments.length; i++) {
4799
+ var source = arguments[i];
4800
+ for (var key in source) {
4801
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
4802
+ target[key] = source[key];
4803
+ }
4804
+ }
4805
+ }
4806
+ return target;
4807
+ };
4808
+ return _extends$t.apply(this, arguments);
4809
+ }
4810
+ var SvgSpinner20 = function SvgSpinner202(props) {
4811
+ return /* @__PURE__ */ React.createElement("svg", _extends$t({
4812
+ xmlns: "http://www.w3.org/2000/svg",
4813
+ width: 20,
4814
+ height: 20
4815
+ }, props), _g || (_g = /* @__PURE__ */ React.createElement("g", {
4816
+ fill: "none",
4817
+ strokeWidth: 2,
4818
+ transform: "translate(1 1)"
4819
+ }, /* @__PURE__ */ React.createElement("circle", {
4820
+ stroke: "currentColor",
4821
+ cx: 9,
4822
+ cy: 9,
4823
+ r: 9,
4824
+ strokeOpacity: 0.4
4825
+ }), /* @__PURE__ */ React.createElement("path", {
4826
+ d: "M9 18A9 9 0 0 0 9 0"
4827
+ }))));
4828
+ };
4829
+ const spin = keyframes`
4830
+ from {
4831
+ transform: rotate(0deg);
4832
+ }
4833
+ to {
4834
+ transform: rotate(360deg);
4835
+ }
4836
+ `;
4837
+ const Icon = styled(SvgSpinner20)`
4838
+ display: inline-flex;
4839
+ animation: ${spin} 1s linear infinite;
4840
+ stroke: currentColor;
4841
+ `;
4842
+ function Spinner() {
4843
+ return /* @__PURE__ */ jsx(Icon, {});
4844
+ }
4845
+ function useTableFormFieldRefs(propController, { fieldsCount }) {
4846
+ const [container, setContainer] = useState(null);
4847
+ const [items, setItems] = useState(Array(fieldsCount + 1).fill(null));
4848
+ const isInBuilder = useIsInBuilder();
4849
+ useEffect(() => {
4850
+ if (!isInBuilder)
4851
+ return;
4852
+ let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
4853
+ return () => {
4854
+ cancelAnimationFrame(animationFrameHandle);
4855
+ };
4856
+ function handleAnimationFrameRequest() {
4857
+ if (propController == null)
4858
+ return;
4859
+ if (container != null)
4860
+ propController.tableFormLayoutChange({ layout: getBox(container) });
4861
+ items.map((item, index) => {
4862
+ if (item == null)
4863
+ return;
4864
+ propController.tableFormFieldLayoutChange({ index, layout: getBox(item) });
4865
+ });
4866
+ animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
4867
+ }
4868
+ }, [propController, container, items, isInBuilder]);
4869
+ const itemRefs = useMemo(() => Array.from({ length: fieldsCount + 1 }).map((_, index) => (item) => {
4870
+ setItems((is) => [...is.slice(0, index), item, ...is.slice(index + 1)]);
4871
+ }), [fieldsCount, setItems]);
4872
+ return { container: setContainer, items: itemRefs };
4873
+ }
4874
+ const LOCAL_STORAGE_NAMESPACE = "@@makeswift/components/form";
4875
+ function getSizeFontSize(size) {
4876
+ switch (size) {
4877
+ case Sizes.SMALL:
4878
+ return 12;
4879
+ case Sizes.MEDIUM:
4880
+ return 14;
4881
+ case Sizes.LARGE:
4882
+ return 18;
4883
+ default:
4884
+ throw new Error(`Invalid form size "${size}"`);
4885
+ }
4886
+ }
4887
+ const Alignments = {
4888
+ LEFT: "left",
4889
+ CENTER: "center",
4890
+ RIGHT: "right"
4891
+ };
4892
+ const GridForm = styled.form`
4893
+ display: flex;
4894
+ flex-wrap: wrap;
4895
+ width: 100%;
4896
+ ${(props) => cssMediaRules([props.size], ([size = Sizes.MEDIUM]) => css`
4897
+ font-size: ${getSizeFontSize(size)}px;
4898
+ `)}
4899
+ ${cssMargin()}
4900
+ `;
4901
+ const GridItem$1 = styled.div`
4902
+ align-self: flex-end;
4903
+ flex-direction: column;
4904
+ ${cssGridItem()}
4905
+ `;
4906
+ function getAlignmentMargin(alignment) {
4907
+ switch (alignment) {
4908
+ case Alignments.LEFT:
4909
+ return "0 auto 0 0";
4910
+ case Alignments.RIGHT:
4911
+ return "0 0 0 auto";
4912
+ default:
4913
+ return "0 auto";
4914
+ }
4915
+ }
4916
+ const StyledButton = styled((props) => /* @__PURE__ */ jsx(Button$1, __spreadProps(__spreadValues({}, props), {
4917
+ as: "button"
4918
+ })))`
4919
+ display: flex;
4920
+ align-items: center;
4921
+ justify-content: center;
4922
+ ${(props) => cssMediaRules([props.size, props.alignment], ([size = Sizes.MEDIUM, alignment = Alignments.CENTER]) => css`
4923
+ min-height: ${getSizeHeight$1(size)}px;
4924
+ max-height: ${getSizeHeight$1(size)}px;
4925
+ margin: ${getAlignmentMargin(alignment)};
4926
+ padding-top: 0;
4927
+ padding-bottom: 0;
4928
+ `)}
4929
+ `;
4930
+ const ErrorContainer = styled.div`
4931
+ padding: 8px 16px;
4932
+ background-color: #f19eb9;
4933
+ border-radius: 4px;
4934
+ margin-top: 16px;
4935
+ `;
4936
+ const IconContainer = styled.div`
4937
+ fill: currentColor;
4938
+ `;
4939
+ const ErrorMessage = styled.p`
4940
+ font-size: 12px;
4941
+ margin: 8px 0;
4942
+ color: rgba(127, 0, 0, 0.95);
4943
+ `;
4944
+ function getTableColumnDefaultValue(tableColumn) {
4945
+ switch (tableColumn.__typename) {
4946
+ case "CheckboxTableColumn":
4947
+ return false;
4948
+ case "MultipleSelectTableColumn":
4949
+ return [];
4950
+ case "SingleLineTextTableColumn":
4951
+ case "LongTextTableColumn":
4952
+ case "SingleSelectTableColumn":
4953
+ case "PhoneNumberTableColumn":
4954
+ case "EmailTableColumn":
4955
+ case "URLTableColumn":
4956
+ case "NumberTableColumn":
4957
+ default:
4958
+ return "";
4959
+ }
4960
+ }
4961
+ const CREATE_TABLE_RECORD = gql`
4962
+ mutation CreateTableRecord($input: CreateTableRecordInput!) {
4963
+ createTableRecord(input: $input) {
4964
+ tableRecord {
4965
+ id
4966
+ }
4967
+ }
4968
+ }
4969
+ `;
4970
+ const Form = forwardRef(function Form2({
4971
+ id,
4972
+ tableId,
4973
+ fields: fieldsProp,
4974
+ submitLabel = "Submit",
4975
+ submitLink,
4976
+ shape,
4977
+ size,
4978
+ contrast,
4979
+ brandColor,
4980
+ gap,
4981
+ width,
4982
+ margin,
4983
+ submitTextStyle,
4984
+ submitVariant,
4985
+ submitTextColor,
4986
+ submitWidth,
4987
+ submitAlignment,
4988
+ labelTextStyle,
4989
+ labelTextColor
4990
+ }, ref) {
4991
+ const fields = useMemo(() => {
4992
+ var _a;
4993
+ return (_a = fieldsProp == null ? void 0 : fieldsProp.fields) != null ? _a : [];
4994
+ }, [fieldsProp]);
4995
+ const grid = useMemo(() => {
4996
+ var _a;
4997
+ return (_a = fieldsProp == null ? void 0 : fieldsProp.grid) != null ? _a : [];
4998
+ }, [fieldsProp]);
4999
+ const {
5000
+ data: {
5001
+ table
5002
+ } = {}
5003
+ } = useTable(tableId);
5004
+ const [createTableRecord] = useMutation(CREATE_TABLE_RECORD);
5005
+ const [refEl, setRefEl] = useState(null);
5006
+ const [propControllers, setPropControllers] = useState(null);
5007
+ const [initialValues, setInitialValues] = useState(() => fields.reduce((acc, formField) => {
5008
+ const tableColumn = table && table.columns.find((field) => field.id === formField.tableColumnId);
5009
+ const defaultValue = formField ? formField.defaultValue : null;
5010
+ if (tableColumn) {
5011
+ acc[tableColumn.name] = defaultValue == null ? getTableColumnDefaultValue(tableColumn) : defaultValue;
5012
+ }
5013
+ return acc;
5014
+ }, {}));
5015
+ const controller = propControllers == null ? void 0 : propControllers.fields;
5016
+ const {
5017
+ container,
5018
+ items
5019
+ } = useTableFormFieldRefs(controller, {
5020
+ fieldsCount: fields.length
5021
+ });
5022
+ const [isDone, setIsDone] = useState(false);
5023
+ const linkRef = useRef(null);
5024
+ useImperativeHandle(ref, () => ({
5025
+ getBoxModel() {
5026
+ return refEl instanceof Element ? getBox(refEl) : null;
5027
+ },
5028
+ setPropControllers
5029
+ }), [refEl, setPropControllers]);
5030
+ useEffect(() => {
5031
+ container(refEl);
5032
+ }, [container, refEl]);
5033
+ useEffect(() => {
5034
+ if (!isDone)
5035
+ return;
5036
+ let timeoutId = setTimeout(() => setIsDone(false), 2500);
5037
+ return () => clearTimeout(timeoutId);
5038
+ }, [isDone]);
5039
+ function getTableColumn({
5040
+ tableColumnId
5041
+ }) {
5042
+ return table && table.columns.find((field) => tableColumnId === field.id);
5043
+ }
5044
+ async function handleSubmit(values, {
5045
+ setSubmitting,
5046
+ resetForm,
5047
+ setStatus
5048
+ }) {
5049
+ if (table) {
5050
+ const columns = [];
5051
+ fields.forEach((field) => {
5052
+ const tableColumn = getTableColumn(field);
5053
+ if (tableColumn) {
5054
+ const data = values[tableColumn.name];
5055
+ if (data) {
5056
+ columns.push({
5057
+ columnId: field.tableColumnId,
5058
+ data
5059
+ });
5060
+ if (field.autofill) {
5061
+ localStorage.setItem(`${LOCAL_STORAGE_NAMESPACE}/${tableColumn.name}`, JSON.stringify(data));
5062
+ }
5063
+ }
5064
+ }
5065
+ });
5066
+ try {
5067
+ await createTableRecord({
5068
+ variables: {
5069
+ input: {
5070
+ data: {
5071
+ tableId: table.id,
5072
+ columns
5073
+ }
5074
+ }
5075
+ }
5076
+ });
5077
+ setIsDone(true);
5078
+ setInitialValues((prev) => fields.reduce((acc, field) => {
5079
+ const tableColumn = getTableColumn(field);
5080
+ if (tableColumn) {
5081
+ const data = values[tableColumn.name];
5082
+ if (data && field.autofill)
5083
+ return __spreadProps(__spreadValues({}, acc), {
5084
+ [tableColumn.name]: data
5085
+ });
5086
+ }
5087
+ return acc;
5088
+ }, __spreadValues({}, prev)));
5089
+ resetForm();
5090
+ if (linkRef.current != null)
5091
+ linkRef.current.click();
5092
+ } catch (error) {
5093
+ setStatus({
5094
+ error: "An unexpected error has occurred, please try again later"
5095
+ });
5096
+ } finally {
5097
+ setSubmitting(false);
5098
+ }
5099
+ }
5100
+ }
5101
+ useEffect(() => {
5102
+ setInitialValues((prev) => fields.reduce((acc, formField) => {
5103
+ const tableColumn = table && table.columns.find((field) => field.id === formField.tableColumnId);
5104
+ if (tableColumn && formField.autofill) {
5105
+ const storedValue = localStorage.getItem(`${LOCAL_STORAGE_NAMESPACE}/${tableColumn.name}`);
5106
+ if (storedValue) {
5107
+ try {
5108
+ acc[tableColumn.name] = JSON.parse(storedValue);
5109
+ } catch (e) {
5110
+ }
5111
+ }
5112
+ }
5113
+ return acc;
5114
+ }, __spreadValues({}, prev)));
5115
+ }, [fields, table]);
5116
+ return /* @__PURE__ */ jsx(Provider, {
5117
+ value: {
5118
+ shape,
5119
+ size,
5120
+ contrast,
5121
+ brandColor,
5122
+ labelTextStyle,
5123
+ labelTextColor
5124
+ },
5125
+ children: tableId == null ? /* @__PURE__ */ jsx(Placeholder$1, {
5126
+ ref: setRefEl,
5127
+ className: cx(width),
5128
+ margin
5129
+ }) : /* @__PURE__ */ jsx(Fragment, {
5130
+ children: /* @__PURE__ */ jsx(Formik, {
5131
+ onSubmit: handleSubmit,
5132
+ initialValues,
5133
+ initialStatus: {
5134
+ error: null
5135
+ },
5136
+ enableReinitialize: true,
5137
+ children: (formik) => {
5138
+ const error = formik.status && formik.status.error;
5139
+ const errors = fields.map((field) => {
5140
+ const tableColumn = getTableColumn(field);
5141
+ return tableColumn && getIn(formik.touched, tableColumn.name) && getIn(formik.errors, tableColumn.name);
5142
+ }).filter((message) => typeof message === "string");
5143
+ return /* @__PURE__ */ jsxs(Fragment, {
5144
+ children: [/* @__PURE__ */ jsxs(GridForm, {
5145
+ ref: setRefEl,
5146
+ id,
5147
+ className: cx(width),
5148
+ margin,
5149
+ size,
5150
+ onSubmit: formik.handleSubmit,
5151
+ onReset: formik.handleReset,
5152
+ noValidate: true,
5153
+ children: [fields.map((field, index) => {
5154
+ const tableColumn = getTableColumn(field);
5155
+ return /* @__PURE__ */ jsx(GridItem$1, {
5156
+ ref: items[index],
5157
+ grid,
5158
+ index,
5159
+ rowGap: gap,
5160
+ columnGap: gap,
5161
+ children: /* @__PURE__ */ jsx(Field, {
5162
+ tableColumn,
5163
+ tableFormField: field
5164
+ })
5165
+ }, field.id);
5166
+ }), /* @__PURE__ */ jsxs(GridItem$1, {
5167
+ ref: items[fields.length],
5168
+ grid,
5169
+ index: fields.length,
5170
+ rowGap: gap,
5171
+ columnGap: gap,
5172
+ children: [/* @__PURE__ */ jsx(StyledButton, {
5173
+ type: "submit",
5174
+ disabled: formik.isSubmitting || isDone,
5175
+ shape,
5176
+ size,
5177
+ color: brandColor,
5178
+ variant: submitVariant,
5179
+ textColor: submitTextColor,
5180
+ width: submitWidth,
5181
+ alignment: submitAlignment,
5182
+ textStyle: submitTextStyle,
5183
+ children: formik.isSubmitting ? /* @__PURE__ */ jsx(Spinner, {}) : isDone ? /* @__PURE__ */ jsx(IconContainer, {
5184
+ children: /* @__PURE__ */ jsx(SvgCheck12, {})
5185
+ }) : submitLabel
5186
+ }), (errors.length > 0 || error) && /* @__PURE__ */ jsxs(ErrorContainer, {
5187
+ children: [errors.map((message) => /* @__PURE__ */ jsx(ErrorMessage, {
5188
+ children: message
5189
+ }, message)), error != null && /* @__PURE__ */ jsx(ErrorMessage, {
5190
+ children: error
5191
+ })]
5192
+ })]
5193
+ })]
5194
+ }), submitLink != null && /* @__PURE__ */ jsx(Link, {
5195
+ ref: linkRef,
5196
+ hidden: true,
5197
+ link: submitLink
5198
+ })]
5199
+ });
5200
+ }
5201
+ })
5202
+ })
5203
+ });
5204
+ });
5205
+ function registerComponent$5(runtime) {
5206
+ return runtime.registerComponent(Form, {
5207
+ type: "./components/Form/index.js",
5208
+ label: "Form",
5209
+ icon: "Form40",
5210
+ props: {
5211
+ id: ElementID(),
5212
+ tableId: Table(),
5213
+ fields: TableFormFields(),
5214
+ submitLink: Link$1((props) => ({
5215
+ label: "Redirect to",
5216
+ options: [{
5217
+ value: "OPEN_PAGE",
5218
+ label: "Open page"
5219
+ }, {
5220
+ value: "OPEN_URL",
5221
+ label: "Open URL"
5222
+ }],
5223
+ hidden: props.tableId == null
5224
+ })),
5225
+ gap: GapY((props) => ({
5226
+ preset: [{
5227
+ deviceId: "desktop",
5228
+ value: {
5229
+ value: 10,
5230
+ unit: "px"
5231
+ }
5232
+ }],
5233
+ label: "Gap",
5234
+ defaultValue: {
5235
+ value: 0,
5236
+ unit: "px"
5237
+ },
5238
+ hidden: props.tableId == null
5239
+ })),
5240
+ shape: ResponsiveIconRadioGroup((props) => ({
5241
+ label: "Shape",
5242
+ options: [{
5243
+ label: "Pill",
5244
+ value: Shapes.PILL,
5245
+ icon: "ButtonPill16"
5246
+ }, {
5247
+ label: "Rounded",
5248
+ value: Shapes.ROUNDED,
5249
+ icon: "ButtonRounded16"
5250
+ }, {
5251
+ label: "Square",
5252
+ value: Shapes.SQUARE,
5253
+ icon: "ButtonSquare16"
5254
+ }],
5255
+ defaultValue: Shapes.ROUNDED,
5256
+ hidden: props.tableId == null
5257
+ })),
5258
+ size: ResponsiveIconRadioGroup((props) => ({
5259
+ label: "Size",
5260
+ options: [{
5261
+ label: "Small",
5262
+ value: Sizes.SMALL,
5263
+ icon: "SizeSmall16"
5264
+ }, {
5265
+ label: "Medium",
5266
+ value: Sizes.MEDIUM,
5267
+ icon: "SizeMedium16"
5268
+ }, {
5269
+ label: "Large",
5270
+ value: Sizes.LARGE,
5271
+ icon: "SizeLarge16"
5272
+ }],
5273
+ defaultValue: Sizes.MEDIUM,
5274
+ hidden: (props == null ? void 0 : props.tableId) == null
5275
+ })),
5276
+ contrast: ResponsiveIconRadioGroup((props) => ({
5277
+ label: "Color",
5278
+ options: [{
5279
+ label: "Light mode",
5280
+ value: Contrasts.LIGHT,
5281
+ icon: "Sun16"
5282
+ }, {
5283
+ label: "Dark mode",
5284
+ value: Contrasts.DARK,
5285
+ icon: "Moon16"
5286
+ }],
5287
+ defaultValue: Contrasts.LIGHT,
5288
+ hidden: props.tableId == null
5289
+ })),
5290
+ labelTextStyle: TextStyle({
5291
+ label: "Label text style"
5292
+ }),
5293
+ labelTextColor: ResponsiveColor((props, device) => {
5294
+ const hidden = props.tableId == null;
5295
+ const responsiveContrast = props.contrast;
5296
+ const contrast = findDeviceOverride(responsiveContrast, device);
5297
+ return {
5298
+ hidden,
5299
+ label: "Label text color",
5300
+ placeholder: (contrast == null ? void 0 : contrast.value) === Contrasts.DARK ? "rgba(255,255,255,0.95)" : "rgba(0,0,0,0.8)"
5301
+ };
5302
+ }),
5303
+ submitTextStyle: TextStyle({
5304
+ label: "Button text style"
5305
+ }),
5306
+ brandColor: ResponsiveColor((props) => ({
5307
+ label: "Button color",
5308
+ placeholder: "black",
5309
+ hidden: props.tableId == null
5310
+ })),
5311
+ submitTextColor: ResponsiveColor((props) => ({
5312
+ label: "Button text color",
5313
+ placeholder: "white",
5314
+ hidden: props.tableId == null
5315
+ })),
5316
+ submitLabel: TextInput((props) => ({
5317
+ label: "Button label",
5318
+ placeholder: "Submit",
5319
+ hidden: props.tableId == null
5320
+ })),
5321
+ submitVariant: ResponsiveSelect((props) => ({
5322
+ label: "Button style",
5323
+ options: [{
5324
+ value: "flat",
5325
+ label: "Flat"
5326
+ }, {
5327
+ value: "outline",
5328
+ label: "Outline"
5329
+ }, {
5330
+ value: "shadow",
5331
+ label: "Floating"
5332
+ }, {
5333
+ value: "clear",
5334
+ label: "Clear"
5335
+ }, {
5336
+ value: "blocky",
5337
+ label: "Blocky"
5338
+ }, {
5339
+ value: "bubbly",
5340
+ label: "Bubbly"
5341
+ }, {
5342
+ value: "skewed",
5343
+ label: "Skewed"
5344
+ }],
5345
+ defaultValue: "flat",
5346
+ hidden: props.tableId == null
5347
+ })),
5348
+ submitWidth: ResponsiveLength((props) => ({
5349
+ label: "Button width",
5350
+ hidden: props.tableId == null
5351
+ })),
5352
+ submitAlignment: ResponsiveIconRadioGroup((props) => ({
5353
+ label: "Button alignment",
5354
+ options: [{
5355
+ label: "Left",
5356
+ value: Alignments.LEFT,
5357
+ icon: "AlignLeft16"
5358
+ }, {
5359
+ label: "Center",
5360
+ value: Alignments.CENTER,
5361
+ icon: "AlignCenter16"
5362
+ }, {
5363
+ label: "Right",
5364
+ value: Alignments.RIGHT,
5365
+ icon: "AlignRight16"
5366
+ }],
5367
+ defaultValue: Alignments.CENTER,
5368
+ hidden: props.tableId == null
5369
+ })),
5370
+ width: Width({
5371
+ format: Width.Formats.ClassName,
5372
+ preset: [{
5373
+ deviceId: "desktop",
5374
+ value: {
5375
+ value: 550,
5376
+ unit: "px"
5377
+ }
5378
+ }],
5379
+ defaultValue: {
5380
+ value: 100,
5381
+ unit: "%"
5382
+ }
5383
+ }),
5384
+ margin: Margin()
5385
+ }
5386
+ });
5387
+ }
5388
+ var _path$s;
5389
+ function _extends$s() {
5390
+ _extends$s = Object.assign || function(target) {
5391
+ for (var i = 1; i < arguments.length; i++) {
5392
+ var source = arguments[i];
5393
+ for (var key in source) {
5394
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
5395
+ target[key] = source[key];
5396
+ }
5397
+ }
5398
+ }
5399
+ return target;
5400
+ };
5401
+ return _extends$s.apply(this, arguments);
5402
+ }
5403
+ var SvgMobileMenu28 = function SvgMobileMenu282(props) {
5404
+ return /* @__PURE__ */ React.createElement("svg", _extends$s({
5405
+ xmlns: "http://www.w3.org/2000/svg",
5406
+ width: 28,
5407
+ height: 28
5408
+ }, props), _path$s || (_path$s = /* @__PURE__ */ React.createElement("path", {
5409
+ d: "M27 15H1a1 1 0 0 1-1-1 1 1 0 0 1 1-1h26a1 1 0 0 1 1 1 1 1 0 0 1-1 1zm0-10H1a1 1 0 0 0-1 1 1 1 0 0 0 1 1h26a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 16H1a1 1 0 0 0-1 1 1 1 0 0 0 1 1h26a1 1 0 0 0 1-1 1 1 0 0 0-1-1z"
5410
+ })));
5411
+ };
5412
+ const GutterContainer = styled.div`
5413
+ ${(p) => cssMediaRules([p.gutter], ([gutter = {
5414
+ value: 0,
5415
+ unit: "px"
5416
+ }]) => css`
5417
+ padding-left: ${p.first ? "0px" : `${gutter.value / 2}${gutter.unit}`};
5418
+ padding-right: ${p.last ? "0px" : `${gutter.value / 2}${gutter.unit}`};
5419
+ `)}
5420
+ `;
5421
+ const PlaceholderLink$1 = styled.div`
5422
+ width: ${(props) => props.width}px;
5423
+ height: ${(props) => props.button === true ? 32 : 8}px;
5424
+ background-color: #a1a8c2;
5425
+ border-radius: ${(props) => props.button === true ? 6 : 2}px;
5426
+ opacity: 0.4;
5427
+ `;
5428
+ const links$1 = [{
5429
+ width: 50
5430
+ }, {
5431
+ width: 70
5432
+ }, {
5433
+ width: 60
3620
5434
  }, {
3621
5435
  width: 80,
3622
5436
  button: true
@@ -3633,9 +5447,9 @@ function LinksPlaceholder({
3633
5447
  }, i))
3634
5448
  });
3635
5449
  }
3636
- var _path$q;
3637
- function _extends$q() {
3638
- _extends$q = Object.assign || function(target) {
5450
+ var _path$r;
5451
+ function _extends$r() {
5452
+ _extends$r = Object.assign || function(target) {
3639
5453
  for (var i = 1; i < arguments.length; i++) {
3640
5454
  var source = arguments[i];
3641
5455
  for (var key in source) {
@@ -3646,20 +5460,20 @@ function _extends$q() {
3646
5460
  }
3647
5461
  return target;
3648
5462
  };
3649
- return _extends$q.apply(this, arguments);
5463
+ return _extends$r.apply(this, arguments);
3650
5464
  }
3651
5465
  var SvgCaretDown8 = function SvgCaretDown82(props) {
3652
- return /* @__PURE__ */ React.createElement("svg", _extends$q({
5466
+ return /* @__PURE__ */ React.createElement("svg", _extends$r({
3653
5467
  width: 8,
3654
5468
  height: 8,
3655
5469
  xmlns: "http://www.w3.org/2000/svg"
3656
- }, props), _path$q || (_path$q = /* @__PURE__ */ React.createElement("path", {
5470
+ }, props), _path$r || (_path$r = /* @__PURE__ */ React.createElement("path", {
3657
5471
  d: "M1 2a1 1 0 0 0-.707 1.707l3 3a1 1 0 0 0 1.414 0l3-3A1 1 0 0 0 7 2H1z"
3658
5472
  })));
3659
5473
  };
3660
- var _path$p;
3661
- function _extends$p() {
3662
- _extends$p = Object.assign || function(target) {
5474
+ var _path$q;
5475
+ function _extends$q() {
5476
+ _extends$q = Object.assign || function(target) {
3663
5477
  for (var i = 1; i < arguments.length; i++) {
3664
5478
  var source = arguments[i];
3665
5479
  for (var key in source) {
@@ -3670,20 +5484,20 @@ function _extends$p() {
3670
5484
  }
3671
5485
  return target;
3672
5486
  };
3673
- return _extends$p.apply(this, arguments);
5487
+ return _extends$q.apply(this, arguments);
3674
5488
  }
3675
5489
  var SvgPlus8 = function SvgPlus82(props) {
3676
- return /* @__PURE__ */ React.createElement("svg", _extends$p({
5490
+ return /* @__PURE__ */ React.createElement("svg", _extends$q({
3677
5491
  width: 8,
3678
5492
  height: 8,
3679
5493
  xmlns: "http://www.w3.org/2000/svg"
3680
- }, props), _path$p || (_path$p = /* @__PURE__ */ React.createElement("path", {
5494
+ }, props), _path$q || (_path$q = /* @__PURE__ */ React.createElement("path", {
3681
5495
  d: "M4 0a1 1 0 0 0-1 1v2H1a1 1 0 1 0 0 2h2v2a1 1 0 0 0 2 0V5h2a1 1 0 0 0 0-2H5V1a1 1 0 0 0-1-1z"
3682
5496
  })));
3683
5497
  };
3684
- var _path$o;
3685
- function _extends$o() {
3686
- _extends$o = Object.assign || function(target) {
5498
+ var _path$p;
5499
+ function _extends$p() {
5500
+ _extends$p = Object.assign || function(target) {
3687
5501
  for (var i = 1; i < arguments.length; i++) {
3688
5502
  var source = arguments[i];
3689
5503
  for (var key in source) {
@@ -3694,20 +5508,20 @@ function _extends$o() {
3694
5508
  }
3695
5509
  return target;
3696
5510
  };
3697
- return _extends$o.apply(this, arguments);
5511
+ return _extends$p.apply(this, arguments);
3698
5512
  }
3699
5513
  var SvgArrowDown8 = function SvgArrowDown82(props) {
3700
- return /* @__PURE__ */ React.createElement("svg", _extends$o({
5514
+ return /* @__PURE__ */ React.createElement("svg", _extends$p({
3701
5515
  width: 8,
3702
5516
  height: 8,
3703
5517
  xmlns: "http://www.w3.org/2000/svg"
3704
- }, props), _path$o || (_path$o = /* @__PURE__ */ React.createElement("path", {
5518
+ }, props), _path$p || (_path$p = /* @__PURE__ */ React.createElement("path", {
3705
5519
  d: "M5 1a1 1 0 0 0-2 0v3.586l-.293-.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0-1.414-1.414L5 4.586V1z"
3706
5520
  })));
3707
5521
  };
3708
- var _path$n;
3709
- function _extends$n() {
3710
- _extends$n = Object.assign || function(target) {
5522
+ var _path$o;
5523
+ function _extends$o() {
5524
+ _extends$o = Object.assign || function(target) {
3711
5525
  for (var i = 1; i < arguments.length; i++) {
3712
5526
  var source = arguments[i];
3713
5527
  for (var key in source) {
@@ -3718,14 +5532,14 @@ function _extends$n() {
3718
5532
  }
3719
5533
  return target;
3720
5534
  };
3721
- return _extends$n.apply(this, arguments);
5535
+ return _extends$o.apply(this, arguments);
3722
5536
  }
3723
5537
  var SvgChevronDown8 = function SvgChevronDown82(props) {
3724
- return /* @__PURE__ */ React.createElement("svg", _extends$n({
5538
+ return /* @__PURE__ */ React.createElement("svg", _extends$o({
3725
5539
  width: 8,
3726
5540
  height: 8,
3727
5541
  xmlns: "http://www.w3.org/2000/svg"
3728
- }, props), _path$n || (_path$n = /* @__PURE__ */ React.createElement("path", {
5542
+ }, props), _path$o || (_path$o = /* @__PURE__ */ React.createElement("path", {
3729
5543
  fillRule: "evenodd",
3730
5544
  clipRule: "evenodd",
3731
5545
  d: "M.293 2.293a1 1 0 0 1 1.414 0L4 4.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 0 1 0-1.414z"
@@ -3800,22 +5614,22 @@ const StyledDropDownItem = styled(Link)`
3800
5614
  background-color: rgba(0, 0, 0, 0.04);
3801
5615
  }
3802
5616
  `;
3803
- function DropDownItem$1(_o) {
3804
- var _p = _o, {
5617
+ function DropDownItem$1(_S) {
5618
+ var _T = _S, {
3805
5619
  color
3806
- } = _p, restOfProps = __objRest(_p, [
5620
+ } = _T, restOfProps = __objRest(_T, [
3807
5621
  "color"
3808
5622
  ]);
3809
5623
  return /* @__PURE__ */ jsx(StyledDropDownItem, __spreadProps(__spreadValues({}, restOfProps), {
3810
5624
  color: useColor(color)
3811
5625
  }));
3812
5626
  }
3813
- function DropDownButton(_q) {
3814
- var _r = _q, {
5627
+ function DropDownButton(_U) {
5628
+ var _V = _U, {
3815
5629
  label,
3816
5630
  caret = "caret",
3817
5631
  links: links2 = []
3818
- } = _r, restOfProps = __objRest(_r, [
5632
+ } = _V, restOfProps = __objRest(_V, [
3819
5633
  "label",
3820
5634
  "caret",
3821
5635
  "links"
@@ -3831,7 +5645,7 @@ function DropDownButton(_q) {
3831
5645
  }, [setPosition]);
3832
5646
  return /* @__PURE__ */ jsxs(DropDownContainer, {
3833
5647
  ref: container,
3834
- children: [/* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({}, restOfProps), {
5648
+ children: [/* @__PURE__ */ jsx(Button$1, __spreadProps(__spreadValues({}, restOfProps), {
3835
5649
  children: /* @__PURE__ */ jsxs("div", {
3836
5650
  style: {
3837
5651
  display: "flex",
@@ -3861,9 +5675,9 @@ function DropDownButton(_q) {
3861
5675
  })]
3862
5676
  });
3863
5677
  }
3864
- var _path$m;
3865
- function _extends$m() {
3866
- _extends$m = Object.assign || function(target) {
5678
+ var _path$n;
5679
+ function _extends$n() {
5680
+ _extends$n = Object.assign || function(target) {
3867
5681
  for (var i = 1; i < arguments.length; i++) {
3868
5682
  var source = arguments[i];
3869
5683
  for (var key in source) {
@@ -3874,14 +5688,14 @@ function _extends$m() {
3874
5688
  }
3875
5689
  return target;
3876
5690
  };
3877
- return _extends$m.apply(this, arguments);
5691
+ return _extends$n.apply(this, arguments);
3878
5692
  }
3879
5693
  var SvgTimes16 = function SvgTimes162(props) {
3880
- return /* @__PURE__ */ React.createElement("svg", _extends$m({
5694
+ return /* @__PURE__ */ React.createElement("svg", _extends$n({
3881
5695
  width: 16,
3882
5696
  height: 16,
3883
5697
  xmlns: "http://www.w3.org/2000/svg"
3884
- }, props), _path$m || (_path$m = /* @__PURE__ */ React.createElement("path", {
5698
+ }, props), _path$n || (_path$n = /* @__PURE__ */ React.createElement("path", {
3885
5699
  fillRule: "evenodd",
3886
5700
  clipRule: "evenodd",
3887
5701
  d: "M13.707 3.707a1 1 0 0 0-1.414-1.414L8 6.586 3.707 2.293a1 1 0 0 0-1.414 1.414L6.586 8l-4.293 4.293a1 1 0 1 0 1.414 1.414L8 9.414l4.293 4.293a1 1 0 0 0 1.414-1.414L9.414 8l4.293-4.293Z"
@@ -3892,7 +5706,7 @@ const DropDownMenu = styled.div`
3892
5706
  flex-direction: column;
3893
5707
  padding: 8px;
3894
5708
  `;
3895
- const ButtonLink$1 = styled(Button)`
5709
+ const ButtonLink$1 = styled(Button$1)`
3896
5710
  margin: 8px 0;
3897
5711
  `;
3898
5712
  const StyledLink$2 = styled(Link)`
@@ -3905,24 +5719,24 @@ const StyledLink$2 = styled(Link)`
3905
5719
  color: ${color == null ? "black" : colorToString(color)};
3906
5720
  `)}
3907
5721
  `;
3908
- function DropDownItem(_s) {
3909
- var _t = _s, {
5722
+ function DropDownItem(_W) {
5723
+ var _X = _W, {
3910
5724
  color
3911
- } = _t, restOfProps = __objRest(_t, [
5725
+ } = _X, restOfProps = __objRest(_X, [
3912
5726
  "color"
3913
5727
  ]);
3914
5728
  return /* @__PURE__ */ jsx(StyledLink$2, __spreadProps(__spreadValues({}, restOfProps), {
3915
5729
  color: useColor(color)
3916
5730
  }));
3917
5731
  }
3918
- function MobileDropDownButton(_u) {
3919
- var _v = _u, {
5732
+ function MobileDropDownButton(_Y) {
5733
+ var _Z = _Y, {
3920
5734
  label,
3921
5735
  caret,
3922
5736
  links: links2 = [],
3923
5737
  onClose = () => {
3924
5738
  }
3925
- } = _v, restOfProps = __objRest(_v, [
5739
+ } = _Z, restOfProps = __objRest(_Z, [
3926
5740
  "label",
3927
5741
  "caret",
3928
5742
  "links",
@@ -3964,10 +5778,10 @@ function MobileDropDownButton(_u) {
3964
5778
  })]
3965
5779
  });
3966
5780
  }
3967
- const ButtonLink = styled(Button)`
5781
+ const ButtonLink = styled(Button$1)`
3968
5782
  margin: 8px 0;
3969
5783
  `;
3970
- const Container$2 = styled.div`
5784
+ const Container$3 = styled.div`
3971
5785
  position: fixed;
3972
5786
  flex-direction: column;
3973
5787
  width: 100%;
@@ -4021,12 +5835,12 @@ function MobileMenu({
4021
5835
  onClose = () => {
4022
5836
  }
4023
5837
  }) {
4024
- return /* @__PURE__ */ jsxs(Container$2, {
5838
+ return /* @__PURE__ */ jsxs(Container$3, {
4025
5839
  animation,
4026
- backgroundColor: useColor(backgroundColor),
5840
+ backgroundColor,
4027
5841
  open,
4028
5842
  children: [/* @__PURE__ */ jsx(CloseIconContainer, {
4029
- color: useColor(closeIconColor),
5843
+ color: closeIconColor,
4030
5844
  onClick: onClose,
4031
5845
  children: /* @__PURE__ */ jsx(SvgTimes16, {})
4032
5846
  }), /* @__PURE__ */ jsx("div", {
@@ -4047,10 +5861,9 @@ function MobileMenu({
4047
5861
  })]
4048
5862
  });
4049
5863
  }
4050
- const Container$1 = styled.nav`
5864
+ const Container$2 = styled.nav`
4051
5865
  display: flex;
4052
5866
  align-items: center;
4053
- ${cssWidth()}
4054
5867
  ${cssMargin()}
4055
5868
  ${cssTextStyle()}
4056
5869
  `;
@@ -4104,11 +5917,11 @@ const Navigation = forwardRef(function Navigation2({
4104
5917
  margin
4105
5918
  }, ref) {
4106
5919
  const [isOpen, setIsOpen] = useState(false);
4107
- return /* @__PURE__ */ jsxs(Container$1, {
5920
+ return /* @__PURE__ */ jsxs(Container$2, {
4108
5921
  ref,
4109
5922
  id,
5923
+ className: cx(width),
4110
5924
  margin,
4111
- width,
4112
5925
  textStyle: linkTextStyle,
4113
5926
  children: [showLogo === true && /* @__PURE__ */ jsx(ImageComponent, {
4114
5927
  altText: logoAltText,
@@ -4129,7 +5942,7 @@ const Navigation = forwardRef(function Navigation2({
4129
5942
  gutter,
4130
5943
  first: i === 0,
4131
5944
  last: i === links2.length - 1,
4132
- children: [link.type === "button" && /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({}, link.payload), {
5945
+ children: [link.type === "button" && /* @__PURE__ */ jsx(Button$1, __spreadProps(__spreadValues({}, link.payload), {
4133
5946
  children: link.payload.label
4134
5947
  })), link.type === "dropdown" && /* @__PURE__ */ jsx(DropDownButton, __spreadValues({}, link.payload))]
4135
5948
  }, link.id)) : /* @__PURE__ */ jsx(LinksPlaceholder, {
@@ -4137,7 +5950,7 @@ const Navigation = forwardRef(function Navigation2({
4137
5950
  })
4138
5951
  }), /* @__PURE__ */ jsx(OpenIconContainer, {
4139
5952
  alignment,
4140
- color: useColor(mobileMenuOpenIconColor),
5953
+ color: mobileMenuOpenIconColor,
4141
5954
  mobileMenuAnimation,
4142
5955
  onClick: () => setIsOpen(true),
4143
5956
  children: /* @__PURE__ */ jsx(SvgMobileMenu28, {})
@@ -4152,7 +5965,7 @@ const Navigation = forwardRef(function Navigation2({
4152
5965
  })]
4153
5966
  });
4154
5967
  });
4155
- function registerComponent$3(runtime) {
5968
+ function registerComponent$4(runtime) {
4156
5969
  return runtime.registerComponent(Navigation, {
4157
5970
  type: "./components/Navigation/index.js",
4158
5971
  label: "Navigation",
@@ -4160,30 +5973,47 @@ function registerComponent$3(runtime) {
4160
5973
  props: {
4161
5974
  id: ElementID(),
4162
5975
  links: NavigationLinks(),
4163
- linkTextStyle: TextStyle({
4164
- label: "Link text style"
5976
+ linkTextStyle: TextStyle((props) => {
5977
+ const links2 = props.links;
5978
+ return {
5979
+ label: "Link text style",
5980
+ hidden: links2 == null || links2.length === 0
5981
+ };
4165
5982
  }),
4166
- showLogo: Checkbox({
5983
+ showLogo: Checkbox$1({
4167
5984
  preset: true,
4168
5985
  label: "Show logo"
4169
5986
  }),
4170
- logoFile: Image$1({
4171
- label: "Logo"
4172
- }),
4173
- logoWidth: ResponsiveLength({
5987
+ logoFile: Image$1((props) => ({
5988
+ label: "Logo",
5989
+ hidden: props.showLogo === false
5990
+ })),
5991
+ logoWidth: ResponsiveLength((props) => ({
5992
+ preset: [{
5993
+ deviceId: "desktop",
5994
+ value: {
5995
+ value: 100,
5996
+ unit: "px"
5997
+ }
5998
+ }],
4174
5999
  label: "Logo width",
6000
+ min: 0,
6001
+ max: 1e3,
4175
6002
  options: [{
4176
6003
  value: "px",
4177
6004
  label: "Pixels",
4178
6005
  icon: "Px16"
4179
- }]
4180
- }),
4181
- logoAltText: TextInput({
4182
- label: "Logo alt text"
4183
- }),
4184
- logoLink: Link$1({
4185
- label: "Logo on click"
4186
- }),
6006
+ }],
6007
+ hidden: props.showLogo === false
6008
+ })),
6009
+ logoAltText: TextInput((props) => ({
6010
+ label: "Logo alt text",
6011
+ hidden: props.showLogo === false
6012
+ })),
6013
+ logoLink: Link$1((props) => ({
6014
+ label: "Logo on click",
6015
+ hidden: props.showLogo === false
6016
+ })),
4187
6017
  alignment: ResponsiveIconRadioGroup({
4188
6018
  label: "Alignment",
4189
6019
  options: [{
@@ -4228,19 +6058,35 @@ function registerComponent$3(runtime) {
4228
6058
  label: "Cover from left"
4229
6059
  }]
4230
6060
  }),
4231
- mobileMenuOpenIconColor: ResponsiveColor({
4232
- label: "Open icon color",
4233
- placeholder: "rgba(161, 168, 194, 0.5)"
6061
+ mobileMenuOpenIconColor: ResponsiveColor((props, device) => {
6062
+ const mobileMenuAnimation = props.mobileMenuAnimation;
6063
+ const hidden = !findDeviceOverride(mobileMenuAnimation, device);
6064
+ return {
6065
+ label: "Open icon color",
6066
+ placeholder: "rgba(161, 168, 194, 0.5)",
6067
+ hidden
6068
+ };
4234
6069
  }),
4235
- mobileMenuCloseIconColor: ResponsiveColor({
4236
- label: "Close icon color",
4237
- placeholder: "rgba(161, 168, 194, 0.5)"
6070
+ mobileMenuCloseIconColor: ResponsiveColor((props, device) => {
6071
+ const mobileMenuAnimation = props.mobileMenuAnimation;
6072
+ const hidden = !findDeviceOverride(mobileMenuAnimation, device);
6073
+ return {
6074
+ label: "Close icon color",
6075
+ placeholder: "rgba(161, 168, 194, 0.5)",
6076
+ hidden
6077
+ };
4238
6078
  }),
4239
- mobileMenuBackgroundColor: ResponsiveColor({
4240
- label: "Menu BG color",
4241
- placeholder: "black"
6079
+ mobileMenuBackgroundColor: ResponsiveColor((props, device) => {
6080
+ const mobileMenuAnimation = props.mobileMenuAnimation;
6081
+ const hidden = !findDeviceOverride(mobileMenuAnimation, device);
6082
+ return {
6083
+ label: "Menu BG color",
6084
+ placeholder: "black",
6085
+ hidden
6086
+ };
4242
6087
  }),
4243
6088
  width: Width({
6089
+ format: Width.Formats.ClassName,
4244
6090
  defaultValue: {
4245
6091
  value: 100,
4246
6092
  unit: "%"
@@ -4256,7 +6102,7 @@ const PlaceholderBase = styled.div`
4256
6102
  height: 80px;
4257
6103
  padding: 8px;
4258
6104
  `;
4259
- var Placeholder2 = forwardRef(function Placeholder3(props, ref) {
6105
+ var Placeholder3 = forwardRef(function Placeholder4(props, ref) {
4260
6106
  return /* @__PURE__ */ jsx(PlaceholderBase, __spreadProps(__spreadValues({}, props), {
4261
6107
  ref,
4262
6108
  children: /* @__PURE__ */ jsx("svg", {
@@ -4324,12 +6170,12 @@ const Root = forwardRef(function Page2({
4324
6170
  children: /* @__PURE__ */ jsx(Element$1, {
4325
6171
  element: child
4326
6172
  })
4327
- }, child.key)) : /* @__PURE__ */ jsx(Placeholder2, {})
6173
+ }, child.key)) : /* @__PURE__ */ jsx(Placeholder3, {})
4328
6174
  })
4329
6175
  })]
4330
6176
  });
4331
6177
  });
4332
- function registerComponent$2(runtime) {
6178
+ function registerComponent$3(runtime) {
4333
6179
  return runtime.registerComponent(Root, {
4334
6180
  type: "./components/Root/index.js",
4335
6181
  label: "Page",
@@ -4342,6 +6188,30 @@ function registerComponent$2(runtime) {
4342
6188
  }
4343
6189
  });
4344
6190
  }
6191
+ var _path$m;
6192
+ function _extends$m() {
6193
+ _extends$m = Object.assign || function(target) {
6194
+ for (var i = 1; i < arguments.length; i++) {
6195
+ var source = arguments[i];
6196
+ for (var key in source) {
6197
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
6198
+ target[key] = source[key];
6199
+ }
6200
+ }
6201
+ }
6202
+ return target;
6203
+ };
6204
+ return _extends$m.apply(this, arguments);
6205
+ }
6206
+ var SvgLogoAngellist20 = function SvgLogoAngellist202(props) {
6207
+ return /* @__PURE__ */ React.createElement("svg", _extends$m({
6208
+ xmlns: "http://www.w3.org/2000/svg",
6209
+ width: 20,
6210
+ height: 20
6211
+ }, props), _path$m || (_path$m = /* @__PURE__ */ React.createElement("path", {
6212
+ d: "M13.741 8.297a96.837 96.837 0 0 0 1.443-4.128c.345-1.085.518-1.751.518-1.998 0-.266-.058-.472-.173-.62a.572.572 0 0 0-.476-.218c-.257 0-.52.213-.787.638-.267.426-.56 1.11-.883 2.054l-1.38 3.97 1.738.302Zm-1.836 3.695a8.343 8.343 0 0 1-1.125-.124 5.915 5.915 0 0 1-1.015-.274c.147.293.278.586.393.879.116.293.21.582.284.866.22-.275.453-.525.696-.75.245-.224.5-.423.767-.597Zm-1.56-4.162-1.49-4.286c-.388-1.09-.687-1.801-.899-2.136-.212-.334-.442-.501-.69-.501a.575.575 0 0 0-.469.22c-.12.146-.18.343-.18.59 0 .422.161 1.154.483 2.198.323 1.044.806 2.413 1.45 4.107a.464.464 0 0 1 .235-.213 1.13 1.13 0 0 1 .414-.061c.055 0 .166.005.332.013.165.01.437.033.814.069Zm-1.353 6.634c.156 0 .3-.07.428-.212a.672.672 0 0 0 .193-.46c0-.174-.126-.58-.379-1.216a12.3 12.3 0 0 0-.946-1.875c-.276-.458-.548-.803-.815-1.037-.267-.234-.52-.35-.759-.35-.194 0-.408.12-.642.363-.235.243-.352.47-.352.68 0 .22.115.55.345.989.23.44.538.907.925 1.402.405.54.787.96 1.146 1.263.36.303.644.453.856.453Zm-4.142-.33c.13.157.308.386.538.688.608.833 1.17 1.25 1.685 1.25a.734.734 0 0 0 .47-.165c.137-.11.206-.224.206-.343 0-.138-.092-.367-.276-.687a8.797 8.797 0 0 0-.759-1.085c-.369-.467-.675-.808-.918-1.024-.244-.215-.44-.323-.587-.323-.322 0-.619.172-.89.516a1.902 1.902 0 0 0-.408 1.215c0 .376.094.795.283 1.257.19.463.463.927.821 1.394a5.472 5.472 0 0 0 2.023 1.669c.806.39 1.696.584 2.672.584 1.795 0 3.298-.666 4.508-1.998 1.21-1.333 1.815-3.002 1.815-5.008 0-.613-.046-1.1-.138-1.463-.09-.361-.244-.625-.456-.79-.377-.311-1.11-.59-2.202-.837a15.366 15.366 0 0 0-3.417-.371c-.33 0-.566.055-.704.165-.138.11-.207.297-.207.563 0 .623.35 1.074 1.05 1.353.7.28 1.831.419 3.396.419h.566a.38.38 0 0 1 .31.144c.078.096.132.24.16.433-.158.147-.479.314-.967.502-.488.187-.86.373-1.119.556a4.957 4.957 0 0 0-1.332 1.435c-.336.554-.504 1.078-.504 1.573 0 .302.071.666.214 1.092.143.426.214.689.214.79v.096l-.028.124c-.404-.028-.724-.264-.959-.708-.235-.444-.352-1.037-.352-1.78v-.122a.758.758 0 0 1-.214.137.6.6 0 0 1-.228.04c-.083 0-.16-.005-.234-.02a2.287 2.287 0 0 1-.249-.061c.027.1.048.199.062.295.014.096.021.172.021.227 0 .339-.134.63-.4.872a1.366 1.366 0 0 1-.953.364c-.58 0-1.169-.282-1.768-.845-.598-.563-.897-1.114-.897-1.655 0-.101.012-.19.035-.268a.45.45 0 0 1 .117-.2Zm9.885-5.604c.83.157 1.413.504 1.754 1.044.34.54.511 1.393.511 2.556 0 2.307-.697 4.196-2.092 5.666C13.513 19.265 11.73 20 9.558 20a6.938 6.938 0 0 1-2.492-.46 6.169 6.169 0 0 1-2.078-1.284c-.663-.605-1.16-1.243-1.49-1.916A4.622 4.622 0 0 1 3 14.273c0-.788.17-1.397.511-1.828.34-.43.878-.723 1.615-.878a7.523 7.523 0 0 1-.304-.811 1.986 1.986 0 0 1-.097-.508c0-.412.22-.833.657-1.264.437-.431.85-.646 1.235-.646.166 0 .34.03.525.089.184.06.395.159.635.296C7.068 6.727 6.553 5.186 6.231 4.1c-.323-1.086-.484-1.834-.484-2.246 0-.568.147-1.02.442-1.353C6.484.168 6.884 0 7.39 0c.865 0 1.961 1.923 3.286 5.77.23.659.405 1.167.525 1.525.102-.285.244-.687.428-1.21 1.326-3.81 2.466-5.714 3.424-5.714.47 0 .844.158 1.126.474.28.316.42.74.42 1.27 0 .404-.154 1.14-.462 2.212-.309 1.072-.776 2.473-1.402 4.203Z"
6213
+ })));
6214
+ };
4345
6215
  var _path$l;
4346
6216
  function _extends$l() {
4347
6217
  _extends$l = Object.assign || function(target) {
@@ -4357,13 +6227,13 @@ function _extends$l() {
4357
6227
  };
4358
6228
  return _extends$l.apply(this, arguments);
4359
6229
  }
4360
- var SvgLogoAngellist20 = function SvgLogoAngellist202(props) {
6230
+ var SvgLogoCodepen20 = function SvgLogoCodepen202(props) {
4361
6231
  return /* @__PURE__ */ React.createElement("svg", _extends$l({
4362
6232
  xmlns: "http://www.w3.org/2000/svg",
4363
6233
  width: 20,
4364
6234
  height: 20
4365
6235
  }, props), _path$l || (_path$l = /* @__PURE__ */ React.createElement("path", {
4366
- d: "M13.741 8.297a96.837 96.837 0 0 0 1.443-4.128c.345-1.085.518-1.751.518-1.998 0-.266-.058-.472-.173-.62a.572.572 0 0 0-.476-.218c-.257 0-.52.213-.787.638-.267.426-.56 1.11-.883 2.054l-1.38 3.97 1.738.302Zm-1.836 3.695a8.343 8.343 0 0 1-1.125-.124 5.915 5.915 0 0 1-1.015-.274c.147.293.278.586.393.879.116.293.21.582.284.866.22-.275.453-.525.696-.75.245-.224.5-.423.767-.597Zm-1.56-4.162-1.49-4.286c-.388-1.09-.687-1.801-.899-2.136-.212-.334-.442-.501-.69-.501a.575.575 0 0 0-.469.22c-.12.146-.18.343-.18.59 0 .422.161 1.154.483 2.198.323 1.044.806 2.413 1.45 4.107a.464.464 0 0 1 .235-.213 1.13 1.13 0 0 1 .414-.061c.055 0 .166.005.332.013.165.01.437.033.814.069Zm-1.353 6.634c.156 0 .3-.07.428-.212a.672.672 0 0 0 .193-.46c0-.174-.126-.58-.379-1.216a12.3 12.3 0 0 0-.946-1.875c-.276-.458-.548-.803-.815-1.037-.267-.234-.52-.35-.759-.35-.194 0-.408.12-.642.363-.235.243-.352.47-.352.68 0 .22.115.55.345.989.23.44.538.907.925 1.402.405.54.787.96 1.146 1.263.36.303.644.453.856.453Zm-4.142-.33c.13.157.308.386.538.688.608.833 1.17 1.25 1.685 1.25a.734.734 0 0 0 .47-.165c.137-.11.206-.224.206-.343 0-.138-.092-.367-.276-.687a8.797 8.797 0 0 0-.759-1.085c-.369-.467-.675-.808-.918-1.024-.244-.215-.44-.323-.587-.323-.322 0-.619.172-.89.516a1.902 1.902 0 0 0-.408 1.215c0 .376.094.795.283 1.257.19.463.463.927.821 1.394a5.472 5.472 0 0 0 2.023 1.669c.806.39 1.696.584 2.672.584 1.795 0 3.298-.666 4.508-1.998 1.21-1.333 1.815-3.002 1.815-5.008 0-.613-.046-1.1-.138-1.463-.09-.361-.244-.625-.456-.79-.377-.311-1.11-.59-2.202-.837a15.366 15.366 0 0 0-3.417-.371c-.33 0-.566.055-.704.165-.138.11-.207.297-.207.563 0 .623.35 1.074 1.05 1.353.7.28 1.831.419 3.396.419h.566a.38.38 0 0 1 .31.144c.078.096.132.24.16.433-.158.147-.479.314-.967.502-.488.187-.86.373-1.119.556a4.957 4.957 0 0 0-1.332 1.435c-.336.554-.504 1.078-.504 1.573 0 .302.071.666.214 1.092.143.426.214.689.214.79v.096l-.028.124c-.404-.028-.724-.264-.959-.708-.235-.444-.352-1.037-.352-1.78v-.122a.758.758 0 0 1-.214.137.6.6 0 0 1-.228.04c-.083 0-.16-.005-.234-.02a2.287 2.287 0 0 1-.249-.061c.027.1.048.199.062.295.014.096.021.172.021.227 0 .339-.134.63-.4.872a1.366 1.366 0 0 1-.953.364c-.58 0-1.169-.282-1.768-.845-.598-.563-.897-1.114-.897-1.655 0-.101.012-.19.035-.268a.45.45 0 0 1 .117-.2Zm9.885-5.604c.83.157 1.413.504 1.754 1.044.34.54.511 1.393.511 2.556 0 2.307-.697 4.196-2.092 5.666C13.513 19.265 11.73 20 9.558 20a6.938 6.938 0 0 1-2.492-.46 6.169 6.169 0 0 1-2.078-1.284c-.663-.605-1.16-1.243-1.49-1.916A4.622 4.622 0 0 1 3 14.273c0-.788.17-1.397.511-1.828.34-.43.878-.723 1.615-.878a7.523 7.523 0 0 1-.304-.811 1.986 1.986 0 0 1-.097-.508c0-.412.22-.833.657-1.264.437-.431.85-.646 1.235-.646.166 0 .34.03.525.089.184.06.395.159.635.296C7.068 6.727 6.553 5.186 6.231 4.1c-.323-1.086-.484-1.834-.484-2.246 0-.568.147-1.02.442-1.353C6.484.168 6.884 0 7.39 0c.865 0 1.961 1.923 3.286 5.77.23.659.405 1.167.525 1.525.102-.285.244-.687.428-1.21 1.326-3.81 2.466-5.714 3.424-5.714.47 0 .844.158 1.126.474.28.316.42.74.42 1.27 0 .404-.154 1.14-.462 2.212-.309 1.072-.776 2.473-1.402 4.203Z"
6236
+ d: "M18.281 11.438 16.132 10l2.149-1.438v2.876Zm-7.422 6.096v-4.008l3.727-2.492 3.008 2.011-6.735 4.49Zm-.859-5.5L6.961 10 10 7.966 13.04 10 10 12.033Zm-.859 5.5-6.734-4.489 3.008-2.01 3.726 2.491v4.008ZM1.719 8.562 3.869 10l-2.15 1.438V8.562Zm7.422-6.097v4.01L5.415 8.965 2.407 6.954l6.734-4.489Zm1.718 0 6.735 4.49-3.008 2.011-3.727-2.492V2.465Zm9.126 4.338a.857.857 0 0 0-.368-.565L10.477.144a.862.862 0 0 0-.954 0L.383 6.238A.872.872 0 0 0 0 6.953v6.093c0 .282.148.56.383.715l9.14 6.094a.856.856 0 0 0 .954 0l9.14-6.094a.863.863 0 0 0 .383-.715V6.953a.631.631 0 0 0-.015-.15Z"
4367
6237
  })));
4368
6238
  };
4369
6239
  var _path$k;
@@ -4381,13 +6251,13 @@ function _extends$k() {
4381
6251
  };
4382
6252
  return _extends$k.apply(this, arguments);
4383
6253
  }
4384
- var SvgLogoCodepen20 = function SvgLogoCodepen202(props) {
6254
+ var SvgLogoDribbble20 = function SvgLogoDribbble202(props) {
4385
6255
  return /* @__PURE__ */ React.createElement("svg", _extends$k({
4386
6256
  xmlns: "http://www.w3.org/2000/svg",
4387
6257
  width: 20,
4388
6258
  height: 20
4389
6259
  }, props), _path$k || (_path$k = /* @__PURE__ */ React.createElement("path", {
4390
- d: "M18.281 11.438 16.132 10l2.149-1.438v2.876Zm-7.422 6.096v-4.008l3.727-2.492 3.008 2.011-6.735 4.49Zm-.859-5.5L6.961 10 10 7.966 13.04 10 10 12.033Zm-.859 5.5-6.734-4.489 3.008-2.01 3.726 2.491v4.008ZM1.719 8.562 3.869 10l-2.15 1.438V8.562Zm7.422-6.097v4.01L5.415 8.965 2.407 6.954l6.734-4.489Zm1.718 0 6.735 4.49-3.008 2.011-3.727-2.492V2.465Zm9.126 4.338a.857.857 0 0 0-.368-.565L10.477.144a.862.862 0 0 0-.954 0L.383 6.238A.872.872 0 0 0 0 6.953v6.093c0 .282.148.56.383.715l9.14 6.094a.856.856 0 0 0 .954 0l9.14-6.094a.863.863 0 0 0 .383-.715V6.953a.631.631 0 0 0-.015-.15Z"
6260
+ d: "M19.797 7.988a10.062 10.062 0 0 0-.585-1.88 9.886 9.886 0 0 0-.922-1.698C15.203-.169 8.988-1.378 4.409 1.71a9.985 9.985 0 0 0-2.7 2.7A9.965 9.965 0 0 0 .202 7.988a10.148 10.148 0 0 0 0 4.027 10.008 10.008 0 0 0 13.691 7.2 10.002 10.002 0 0 0 5.904-11.226Zm-1.26 1.927a19.75 19.75 0 0 0-5.947-.28c-.062-.145-.121-.293-.182-.439a30.32 30.32 0 0 0-.568-1.24 10.978 10.978 0 0 0 4.758-3.379 8.502 8.502 0 0 1 1.942 5.338h-.003Zm-2.896-6.322a9.298 9.298 0 0 1-4.462 3.09 43.362 43.362 0 0 0-3.192-4.98 8.523 8.523 0 0 1 7.654 1.89ZM6.357 2.28A51.177 51.177 0 0 1 9.528 7.2 31.562 31.562 0 0 1 1.643 8.24 8.542 8.542 0 0 1 6.357 2.28ZM1.461 10c0-.09.004-.182.007-.273a31.285 31.285 0 0 0 8.767-1.217c.245.48.479.967.693 1.454-.112.03-.225.065-.336.102a13.512 13.512 0 0 0-6.946 5.636A8.508 8.508 0 0 1 1.465 10h-.004Zm8.544 8.545a8.508 8.508 0 0 1-5.44-1.958c.112.09.191.15.191.15s1.637-3.57 6.702-5.336c.019-.007.039-.012.058-.017a35.57 35.57 0 0 1 1.823 6.484 8.525 8.525 0 0 1-3.334.677Zm4.772-1.463a36.725 36.725 0 0 0-1.662-6.099 12.377 12.377 0 0 1 5.323.373 8.546 8.546 0 0 1-3.661 5.727Z"
4391
6261
  })));
4392
6262
  };
4393
6263
  var _path$j;
@@ -4405,13 +6275,13 @@ function _extends$j() {
4405
6275
  };
4406
6276
  return _extends$j.apply(this, arguments);
4407
6277
  }
4408
- var SvgLogoDribbble20 = function SvgLogoDribbble202(props) {
6278
+ var SvgLogoFacebook20 = function SvgLogoFacebook202(props) {
4409
6279
  return /* @__PURE__ */ React.createElement("svg", _extends$j({
4410
6280
  xmlns: "http://www.w3.org/2000/svg",
4411
6281
  width: 20,
4412
6282
  height: 20
4413
6283
  }, props), _path$j || (_path$j = /* @__PURE__ */ React.createElement("path", {
4414
- d: "M19.797 7.988a10.062 10.062 0 0 0-.585-1.88 9.886 9.886 0 0 0-.922-1.698C15.203-.169 8.988-1.378 4.409 1.71a9.985 9.985 0 0 0-2.7 2.7A9.965 9.965 0 0 0 .202 7.988a10.148 10.148 0 0 0 0 4.027 10.008 10.008 0 0 0 13.691 7.2 10.002 10.002 0 0 0 5.904-11.226Zm-1.26 1.927a19.75 19.75 0 0 0-5.947-.28c-.062-.145-.121-.293-.182-.439a30.32 30.32 0 0 0-.568-1.24 10.978 10.978 0 0 0 4.758-3.379 8.502 8.502 0 0 1 1.942 5.338h-.003Zm-2.896-6.322a9.298 9.298 0 0 1-4.462 3.09 43.362 43.362 0 0 0-3.192-4.98 8.523 8.523 0 0 1 7.654 1.89ZM6.357 2.28A51.177 51.177 0 0 1 9.528 7.2 31.562 31.562 0 0 1 1.643 8.24 8.542 8.542 0 0 1 6.357 2.28ZM1.461 10c0-.09.004-.182.007-.273a31.285 31.285 0 0 0 8.767-1.217c.245.48.479.967.693 1.454-.112.03-.225.065-.336.102a13.512 13.512 0 0 0-6.946 5.636A8.508 8.508 0 0 1 1.465 10h-.004Zm8.544 8.545a8.508 8.508 0 0 1-5.44-1.958c.112.09.191.15.191.15s1.637-3.57 6.702-5.336c.019-.007.039-.012.058-.017a35.57 35.57 0 0 1 1.823 6.484 8.525 8.525 0 0 1-3.334.677Zm4.772-1.463a36.725 36.725 0 0 0-1.662-6.099 12.377 12.377 0 0 1 5.323.373 8.546 8.546 0 0 1-3.661 5.727Z"
6284
+ d: "M18.896 0H1.104C.494 0 0 .494 0 1.104v17.792C0 19.506.494 20 1.104 20h9.58v-7.734H8.086V9.238h2.598V7.01c0-2.583 1.577-3.989 3.881-3.989 1.104 0 2.053.082 2.33.119v2.699l-1.59.001c-1.254 0-1.496.596-1.496 1.47v1.928h2.997l-.39 3.028h-2.607V20h5.087c.61 0 1.104-.494 1.104-1.104V1.104C20 .494 19.506 0 18.896 0"
4415
6285
  })));
4416
6286
  };
4417
6287
  var _path$i;
@@ -4429,13 +6299,13 @@ function _extends$i() {
4429
6299
  };
4430
6300
  return _extends$i.apply(this, arguments);
4431
6301
  }
4432
- var SvgLogoFacebook20 = function SvgLogoFacebook202(props) {
6302
+ var SvgLogoGithub20 = function SvgLogoGithub202(props) {
4433
6303
  return /* @__PURE__ */ React.createElement("svg", _extends$i({
4434
6304
  xmlns: "http://www.w3.org/2000/svg",
4435
6305
  width: 20,
4436
6306
  height: 20
4437
6307
  }, props), _path$i || (_path$i = /* @__PURE__ */ React.createElement("path", {
4438
- d: "M18.896 0H1.104C.494 0 0 .494 0 1.104v17.792C0 19.506.494 20 1.104 20h9.58v-7.734H8.086V9.238h2.598V7.01c0-2.583 1.577-3.989 3.881-3.989 1.104 0 2.053.082 2.33.119v2.699l-1.59.001c-1.254 0-1.496.596-1.496 1.47v1.928h2.997l-.39 3.028h-2.607V20h5.087c.61 0 1.104-.494 1.104-1.104V1.104C20 .494 19.506 0 18.896 0"
6308
+ d: "M9.996.003a9.762 9.762 0 0 0-3.16 19.072.5.5 0 0 0 .683-.47c0-.234-.01-.85-.013-1.665-2.782.59-3.37-1.313-3.37-1.313a2.608 2.608 0 0 0-1.11-1.431c-.908-.607.07-.594.07-.594a2.098 2.098 0 0 1 1.53 1.007 2.155 2.155 0 0 0 2.91.814c.047-.5.273-.964.636-1.31-2.221-.246-4.554-1.09-4.554-4.836a3.735 3.735 0 0 1 1.028-2.625 3.448 3.448 0 0 1 .098-2.59s.84-.263 2.75 1a9.704 9.704 0 0 1 5.007 0c1.909-1.266 2.747-1 2.747-1 .369.817.404 1.747.099 2.59a3.726 3.726 0 0 1 1.028 2.625c0 3.76-2.338 4.588-4.566 4.83.482.475.73 1.138.68 1.812 0 1.31-.013 2.363-.013 2.686a.498.498 0 0 0 .688.469A9.76 9.76 0 0 0 9.996.003"
4439
6309
  })));
4440
6310
  };
4441
6311
  var _path$h;
@@ -4453,13 +6323,13 @@ function _extends$h() {
4453
6323
  };
4454
6324
  return _extends$h.apply(this, arguments);
4455
6325
  }
4456
- var SvgLogoGithub20 = function SvgLogoGithub202(props) {
6326
+ var SvgLogoInstagram20 = function SvgLogoInstagram202(props) {
4457
6327
  return /* @__PURE__ */ React.createElement("svg", _extends$h({
4458
6328
  xmlns: "http://www.w3.org/2000/svg",
4459
6329
  width: 20,
4460
6330
  height: 20
4461
6331
  }, props), _path$h || (_path$h = /* @__PURE__ */ React.createElement("path", {
4462
- d: "M9.996.003a9.762 9.762 0 0 0-3.16 19.072.5.5 0 0 0 .683-.47c0-.234-.01-.85-.013-1.665-2.782.59-3.37-1.313-3.37-1.313a2.608 2.608 0 0 0-1.11-1.431c-.908-.607.07-.594.07-.594a2.098 2.098 0 0 1 1.53 1.007 2.155 2.155 0 0 0 2.91.814c.047-.5.273-.964.636-1.31-2.221-.246-4.554-1.09-4.554-4.836a3.735 3.735 0 0 1 1.028-2.625 3.448 3.448 0 0 1 .098-2.59s.84-.263 2.75 1a9.704 9.704 0 0 1 5.007 0c1.909-1.266 2.747-1 2.747-1 .369.817.404 1.747.099 2.59a3.726 3.726 0 0 1 1.028 2.625c0 3.76-2.338 4.588-4.566 4.83.482.475.73 1.138.68 1.812 0 1.31-.013 2.363-.013 2.686a.498.498 0 0 0 .688.469A9.76 9.76 0 0 0 9.996.003"
6332
+ d: "M15.338 3.462a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4M10 13.332a3.333 3.333 0 1 1 0-6.664 3.333 3.333 0 0 1 0 6.665m0-8.468a5.135 5.135 0 1 0 0 10.27 5.135 5.135 0 0 0 0-10.27M10 0C7.284 0 6.943.012 5.877.06 4.813.109 4.086.278 3.45.525a4.919 4.919 0 0 0-1.772 1.153A4.905 4.905 0 0 0 .525 3.45C.278 4.086.109 4.813.06 5.877.011 6.944 0 7.284 0 10s.011 3.057.06 4.123c.049 1.065.218 1.79.465 2.428a4.898 4.898 0 0 0 1.153 1.77 4.882 4.882 0 0 0 1.772 1.154c.636.248 1.363.417 2.427.465 1.066.048 1.407.06 4.123.06s3.056-.012 4.123-.06c1.065-.048 1.791-.217 2.427-.465a4.87 4.87 0 0 0 1.771-1.154 4.888 4.888 0 0 0 1.154-1.77c.247-.637.416-1.363.465-2.428.048-1.066.06-1.407.06-4.123s-.012-3.056-.06-4.123c-.049-1.064-.218-1.791-.465-2.427a4.895 4.895 0 0 0-1.154-1.772A4.907 4.907 0 0 0 16.55.525C15.914.278 15.188.109 14.123.06 13.056.012 12.716 0 10 0m0 1.802c2.67 0 2.986.01 4.041.058.975.045 1.505.207 1.857.345.466.18.799.398 1.149.748.351.349.567.683.749 1.149.137.353.299.882.344 1.857.048 1.055.058 1.37.058 4.04s-.01 2.987-.058 4.042c-.045.975-.207 1.504-.344 1.857a3.11 3.11 0 0 1-.749 1.15c-.35.35-.683.566-1.149.748-.352.137-.882.3-1.857.344-1.055.049-1.37.058-4.041.058-2.67 0-2.987-.01-4.041-.058-.975-.044-1.504-.207-1.857-.344a3.104 3.104 0 0 1-1.15-.748 3.133 3.133 0 0 1-.748-1.15c-.137-.353-.3-.882-.344-1.857-.048-1.055-.058-1.371-.058-4.041 0-2.67.01-2.986.058-4.041.044-.975.207-1.504.344-1.857.182-.466.399-.8.748-1.15a3.09 3.09 0 0 1 1.15-.747c.353-.138.882-.3 1.857-.345C7.014 1.812 7.33 1.802 10 1.802"
4463
6333
  })));
4464
6334
  };
4465
6335
  var _path$g;
@@ -4477,13 +6347,13 @@ function _extends$g() {
4477
6347
  };
4478
6348
  return _extends$g.apply(this, arguments);
4479
6349
  }
4480
- var SvgLogoInstagram20 = function SvgLogoInstagram202(props) {
6350
+ var SvgLogoLinkedin20 = function SvgLogoLinkedin202(props) {
4481
6351
  return /* @__PURE__ */ React.createElement("svg", _extends$g({
4482
6352
  xmlns: "http://www.w3.org/2000/svg",
4483
6353
  width: 20,
4484
6354
  height: 20
4485
6355
  }, props), _path$g || (_path$g = /* @__PURE__ */ React.createElement("path", {
4486
- d: "M15.338 3.462a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4M10 13.332a3.333 3.333 0 1 1 0-6.664 3.333 3.333 0 0 1 0 6.665m0-8.468a5.135 5.135 0 1 0 0 10.27 5.135 5.135 0 0 0 0-10.27M10 0C7.284 0 6.943.012 5.877.06 4.813.109 4.086.278 3.45.525a4.919 4.919 0 0 0-1.772 1.153A4.905 4.905 0 0 0 .525 3.45C.278 4.086.109 4.813.06 5.877.011 6.944 0 7.284 0 10s.011 3.057.06 4.123c.049 1.065.218 1.79.465 2.428a4.898 4.898 0 0 0 1.153 1.77 4.882 4.882 0 0 0 1.772 1.154c.636.248 1.363.417 2.427.465 1.066.048 1.407.06 4.123.06s3.056-.012 4.123-.06c1.065-.048 1.791-.217 2.427-.465a4.87 4.87 0 0 0 1.771-1.154 4.888 4.888 0 0 0 1.154-1.77c.247-.637.416-1.363.465-2.428.048-1.066.06-1.407.06-4.123s-.012-3.056-.06-4.123c-.049-1.064-.218-1.791-.465-2.427a4.895 4.895 0 0 0-1.154-1.772A4.907 4.907 0 0 0 16.55.525C15.914.278 15.188.109 14.123.06 13.056.012 12.716 0 10 0m0 1.802c2.67 0 2.986.01 4.041.058.975.045 1.505.207 1.857.345.466.18.799.398 1.149.748.351.349.567.683.749 1.149.137.353.299.882.344 1.857.048 1.055.058 1.37.058 4.04s-.01 2.987-.058 4.042c-.045.975-.207 1.504-.344 1.857a3.11 3.11 0 0 1-.749 1.15c-.35.35-.683.566-1.149.748-.352.137-.882.3-1.857.344-1.055.049-1.37.058-4.041.058-2.67 0-2.987-.01-4.041-.058-.975-.044-1.504-.207-1.857-.344a3.104 3.104 0 0 1-1.15-.748 3.133 3.133 0 0 1-.748-1.15c-.137-.353-.3-.882-.344-1.857-.048-1.055-.058-1.371-.058-4.041 0-2.67.01-2.986.058-4.041.044-.975.207-1.504.344-1.857.182-.466.399-.8.748-1.15a3.09 3.09 0 0 1 1.15-.747c.353-.138.882-.3 1.857-.345C7.014 1.812 7.33 1.802 10 1.802"
6356
+ d: "M.516 19.639h3.896V7.296H.516v12.343ZM2.365 5.752h-.028a2.153 2.153 0 0 1-2.325-2.14 2.376 2.376 0 1 1 2.353 2.14ZM20 19.64h-4.417v-6.388c0-1.672-.692-2.816-2.211-2.816-.954 0-1.803.608-2.11 1.512-.09.328-.122.67-.09 1.009v6.683H6.791s.056-11.315 0-12.344h4.376v1.937c.259-.846 1.657-2.056 3.888-2.056 2.769 0 4.945 1.776 4.945 5.599v6.864Z"
4487
6357
  })));
4488
6358
  };
4489
6359
  var _path$f;
@@ -4501,13 +6371,13 @@ function _extends$f() {
4501
6371
  };
4502
6372
  return _extends$f.apply(this, arguments);
4503
6373
  }
4504
- var SvgLogoLinkedin20 = function SvgLogoLinkedin202(props) {
6374
+ var SvgLogoMedium20 = function SvgLogoMedium202(props) {
4505
6375
  return /* @__PURE__ */ React.createElement("svg", _extends$f({
4506
6376
  xmlns: "http://www.w3.org/2000/svg",
4507
6377
  width: 20,
4508
6378
  height: 20
4509
6379
  }, props), _path$f || (_path$f = /* @__PURE__ */ React.createElement("path", {
4510
- d: "M.516 19.639h3.896V7.296H.516v12.343ZM2.365 5.752h-.028a2.153 2.153 0 0 1-2.325-2.14 2.376 2.376 0 1 1 2.353 2.14ZM20 19.64h-4.417v-6.388c0-1.672-.692-2.816-2.211-2.816-.954 0-1.803.608-2.11 1.512-.09.328-.122.67-.09 1.009v6.683H6.791s.056-11.315 0-12.344h4.376v1.937c.259-.846 1.657-2.056 3.888-2.056 2.769 0 4.945 1.776 4.945 5.599v6.864Z"
6380
+ d: "M2.372 5.264a.785.785 0 0 0-.252-.659L.252 2.34V2H6.05l4.482 9.905L14.473 2H20v.34L18.404 3.88a.472.472 0 0 0-.178.451v11.335a.474.474 0 0 0 .178.452l1.559 1.542v.34H12.12v-.34l1.615-1.58c.159-.16.159-.207.159-.45V6.467L9.403 17.962h-.607L3.566 6.468v7.704c-.043.323.064.65.29.884l2.1 2.568v.338H0v-.338l2.1-2.568a1.03 1.03 0 0 0 .272-.884V5.264Z"
4511
6381
  })));
4512
6382
  };
4513
6383
  var _path$e;
@@ -4525,13 +6395,13 @@ function _extends$e() {
4525
6395
  };
4526
6396
  return _extends$e.apply(this, arguments);
4527
6397
  }
4528
- var SvgLogoMedium20 = function SvgLogoMedium202(props) {
6398
+ var SvgLogoPinterest20 = function SvgLogoPinterest202(props) {
4529
6399
  return /* @__PURE__ */ React.createElement("svg", _extends$e({
4530
6400
  xmlns: "http://www.w3.org/2000/svg",
4531
6401
  width: 20,
4532
6402
  height: 20
4533
6403
  }, props), _path$e || (_path$e = /* @__PURE__ */ React.createElement("path", {
4534
- d: "M2.372 5.264a.785.785 0 0 0-.252-.659L.252 2.34V2H6.05l4.482 9.905L14.473 2H20v.34L18.404 3.88a.472.472 0 0 0-.178.451v11.335a.474.474 0 0 0 .178.452l1.559 1.542v.34H12.12v-.34l1.615-1.58c.159-.16.159-.207.159-.45V6.467L9.403 17.962h-.607L3.566 6.468v7.704c-.043.323.064.65.29.884l2.1 2.568v.338H0v-.338l2.1-2.568a1.03 1.03 0 0 0 .272-.884V5.264Z"
6404
+ d: "M9.995 0A9.996 9.996 0 0 0 5.984 19.15a8.848 8.848 0 0 1 .172-2.296c.193-.811 1.286-5.445 1.286-5.445a3.863 3.863 0 0 1-.32-1.583c0-1.481.86-2.587 1.928-2.587a1.34 1.34 0 0 1 1.349 1.5 21.432 21.432 0 0 1-.883 3.545 1.547 1.547 0 0 0 1.578 1.925c1.894 0 3.17-2.432 3.17-5.314 0-2.19-1.475-3.83-4.16-3.83a4.733 4.733 0 0 0-4.917 4.54c-.003.082-.004.164-.003.245a2.882 2.882 0 0 0 .659 1.962c.165.135.223.36.143.558-.047.182-.157.628-.203.802a.342.342 0 0 1-.5.25c-1.397-.57-2.047-2.098-2.047-3.816 0-2.84 2.394-6.246 7.143-6.246 3.816 0 6.329 2.764 6.329 5.725 0 3.92-2.181 6.85-5.394 6.85a2.873 2.873 0 0 1-2.442-1.244s-.58 2.303-.703 2.747a8.331 8.331 0 0 1-1.006 2.14c5.293 1.569 10.855-1.452 12.423-6.745C21.153 7.542 18.134 1.979 12.84.412A10.007 10.007 0 0 0 9.995 0"
4535
6405
  })));
4536
6406
  };
4537
6407
  var _path$d;
@@ -4549,13 +6419,13 @@ function _extends$d() {
4549
6419
  };
4550
6420
  return _extends$d.apply(this, arguments);
4551
6421
  }
4552
- var SvgLogoPinterest20 = function SvgLogoPinterest202(props) {
6422
+ var SvgLogoReddit20 = function SvgLogoReddit202(props) {
4553
6423
  return /* @__PURE__ */ React.createElement("svg", _extends$d({
4554
6424
  xmlns: "http://www.w3.org/2000/svg",
4555
6425
  width: 20,
4556
6426
  height: 20
4557
6427
  }, props), _path$d || (_path$d = /* @__PURE__ */ React.createElement("path", {
4558
- d: "M9.995 0A9.996 9.996 0 0 0 5.984 19.15a8.848 8.848 0 0 1 .172-2.296c.193-.811 1.286-5.445 1.286-5.445a3.863 3.863 0 0 1-.32-1.583c0-1.481.86-2.587 1.928-2.587a1.34 1.34 0 0 1 1.349 1.5 21.432 21.432 0 0 1-.883 3.545 1.547 1.547 0 0 0 1.578 1.925c1.894 0 3.17-2.432 3.17-5.314 0-2.19-1.475-3.83-4.16-3.83a4.733 4.733 0 0 0-4.917 4.54c-.003.082-.004.164-.003.245a2.882 2.882 0 0 0 .659 1.962c.165.135.223.36.143.558-.047.182-.157.628-.203.802a.342.342 0 0 1-.5.25c-1.397-.57-2.047-2.098-2.047-3.816 0-2.84 2.394-6.246 7.143-6.246 3.816 0 6.329 2.764 6.329 5.725 0 3.92-2.181 6.85-5.394 6.85a2.873 2.873 0 0 1-2.442-1.244s-.58 2.303-.703 2.747a8.331 8.331 0 0 1-1.006 2.14c5.293 1.569 10.855-1.452 12.423-6.745C21.153 7.542 18.134 1.979 12.84.412A10.007 10.007 0 0 0 9.995 0"
6428
+ d: "M13.438 13.082a1.501 1.501 0 1 1 1.502-1.502 1.503 1.503 0 0 1-1.44 1.562c-.026 0-.05.002-.077 0l.015-.06Zm.271 2.567A5.774 5.774 0 0 1 10 16.808a5.768 5.768 0 0 1-3.708-1.157.404.404 0 0 1 .57-.57 4.903 4.903 0 0 0 3.123.944 4.916 4.916 0 0 0 3.138-.915.419.419 0 1 1 .586.6v-.06Zm-8.724-4.128a1.501 1.501 0 1 1 3.002 0 1.501 1.501 0 0 1-3.002 0ZM20 10.018a2.192 2.192 0 0 0-3.709-1.5 10.681 10.681 0 0 0-5.78-1.848l.975-4.685 3.214.677a1.5 1.5 0 1 0 .194-.916l-3.678-.737a.466.466 0 0 0-.554.355v.006l-1.113 5.21a10.71 10.71 0 0 0-5.855 1.847 2.192 2.192 0 1 0-2.418 3.588 4.557 4.557 0 0 0 0 .662c0 3.363 3.92 6.095 8.754 6.095 4.835 0 8.753-2.732 8.753-6.095a4.29 4.29 0 0 0 0-.662A2.194 2.194 0 0 0 20 10.02Z"
4559
6429
  })));
4560
6430
  };
4561
6431
  var _path$c;
@@ -4573,13 +6443,13 @@ function _extends$c() {
4573
6443
  };
4574
6444
  return _extends$c.apply(this, arguments);
4575
6445
  }
4576
- var SvgLogoReddit20 = function SvgLogoReddit202(props) {
6446
+ var SvgLogoRss20 = function SvgLogoRss202(props) {
4577
6447
  return /* @__PURE__ */ React.createElement("svg", _extends$c({
4578
6448
  xmlns: "http://www.w3.org/2000/svg",
4579
6449
  width: 20,
4580
6450
  height: 20
4581
6451
  }, props), _path$c || (_path$c = /* @__PURE__ */ React.createElement("path", {
4582
- d: "M13.438 13.082a1.501 1.501 0 1 1 1.502-1.502 1.503 1.503 0 0 1-1.44 1.562c-.026 0-.05.002-.077 0l.015-.06Zm.271 2.567A5.774 5.774 0 0 1 10 16.808a5.768 5.768 0 0 1-3.708-1.157.404.404 0 0 1 .57-.57 4.903 4.903 0 0 0 3.123.944 4.916 4.916 0 0 0 3.138-.915.419.419 0 1 1 .586.6v-.06Zm-8.724-4.128a1.501 1.501 0 1 1 3.002 0 1.501 1.501 0 0 1-3.002 0ZM20 10.018a2.192 2.192 0 0 0-3.709-1.5 10.681 10.681 0 0 0-5.78-1.848l.975-4.685 3.214.677a1.5 1.5 0 1 0 .194-.916l-3.678-.737a.466.466 0 0 0-.554.355v.006l-1.113 5.21a10.71 10.71 0 0 0-5.855 1.847 2.192 2.192 0 1 0-2.418 3.588 4.557 4.557 0 0 0 0 .662c0 3.363 3.92 6.095 8.754 6.095 4.835 0 8.753-2.732 8.753-6.095a4.29 4.29 0 0 0 0-.662A2.194 2.194 0 0 0 20 10.02Z"
6452
+ d: "M15 19C15 11.28 8.72 5 1 5a1 1 0 1 0 0 2c6.617 0 12 5.383 12 12a1 1 0 1 0 2 0m5 0C20 8.523 11.477 0 1 0a1 1 0 1 0 0 2c9.374 0 17 7.626 17 17a1 1 0 1 0 2 0m-10 0c0-4.963-4.037-9-9-9a1 1 0 1 0 0 2c3.859 0 7 3.141 7 7a1 1 0 1 0 2 0m-5-1.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0"
4583
6453
  })));
4584
6454
  };
4585
6455
  var _path$b;
@@ -4597,13 +6467,13 @@ function _extends$b() {
4597
6467
  };
4598
6468
  return _extends$b.apply(this, arguments);
4599
6469
  }
4600
- var SvgLogoRss20 = function SvgLogoRss202(props) {
6470
+ var SvgLogoSnapchat20 = function SvgLogoSnapchat202(props) {
4601
6471
  return /* @__PURE__ */ React.createElement("svg", _extends$b({
4602
6472
  xmlns: "http://www.w3.org/2000/svg",
4603
6473
  width: 20,
4604
6474
  height: 20
4605
6475
  }, props), _path$b || (_path$b = /* @__PURE__ */ React.createElement("path", {
4606
- d: "M15 19C15 11.28 8.72 5 1 5a1 1 0 1 0 0 2c6.617 0 12 5.383 12 12a1 1 0 1 0 2 0m5 0C20 8.523 11.477 0 1 0a1 1 0 1 0 0 2c9.374 0 17 7.626 17 17a1 1 0 1 0 2 0m-10 0c0-4.963-4.037-9-9-9a1 1 0 1 0 0 2c3.859 0 7 3.141 7 7a1 1 0 1 0 2 0m-5-1.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0"
6476
+ d: "M10.126 19c-.051 0-.102-.002-.153-.004a1.674 1.674 0 0 1-.099.004c-1.185 0-1.946-.516-2.68-1.014-.509-.345-.988-.669-1.553-.76a5.282 5.282 0 0 0-.814-.065c-.478 0-.855.07-1.13.122-.167.031-.31.06-.42.06-.115 0-.239-.026-.293-.201-.046-.155-.08-.302-.113-.445-.084-.37-.143-.596-.305-.62C.687 15.797.15 15.42.03 15.148A.325.325 0 0 1 0 15.034a.205.205 0 0 1 .177-.21c2.89-.457 4.184-3.288 4.238-3.408l.005-.01c.177-.344.211-.642.103-.886-.198-.449-.845-.646-1.272-.775-.105-.033-.205-.062-.283-.092-.854-.324-.925-.656-.89-.825.056-.288.458-.49.783-.49a.57.57 0 0 1 .234.044c.384.173.73.26 1.03.26.412 0 .592-.166.614-.188-.01-.187-.023-.382-.037-.585-.086-1.31-.192-2.937.24-3.866 1.295-2.783 4.041-3 4.852-3L10.15 1h.048c.813 0 3.565.216 4.86 3.001.433.93.326 2.559.24 3.867l-.004.057-.033.53c.02.018.187.173.56.186.286-.01.613-.097.972-.259a.755.755 0 0 1 .3-.056c.122 0 .245.023.347.063l.007.003c.29.098.48.292.484.497.004.191-.15.48-.898.764-.078.029-.177.06-.282.092-.43.13-1.075.326-1.273.774-.11.244-.074.543.103.887 0 .003.003.006.004.01.054.12 1.349 2.95 4.239 3.407a.206.206 0 0 1 .177.211.356.356 0 0 1-.03.116c-.12.268-.656.646-2.536.925-.154.023-.214.215-.305.617-.033.147-.067.29-.114.442-.04.13-.125.193-.268.193h-.024c-.1 0-.241-.018-.421-.052a5.942 5.942 0 0 0-1.13-.114c-.264 0-.538.022-.814.065-.564.091-1.043.415-1.549.759-.737.5-1.497 1.015-2.683 1.015"
4607
6477
  })));
4608
6478
  };
4609
6479
  var _path$a;
@@ -4621,13 +6491,13 @@ function _extends$a() {
4621
6491
  };
4622
6492
  return _extends$a.apply(this, arguments);
4623
6493
  }
4624
- var SvgLogoSnapchat20 = function SvgLogoSnapchat202(props) {
6494
+ var SvgLogoSoundcloud20 = function SvgLogoSoundcloud202(props) {
4625
6495
  return /* @__PURE__ */ React.createElement("svg", _extends$a({
4626
6496
  xmlns: "http://www.w3.org/2000/svg",
4627
6497
  width: 20,
4628
6498
  height: 20
4629
6499
  }, props), _path$a || (_path$a = /* @__PURE__ */ React.createElement("path", {
4630
- d: "M10.126 19c-.051 0-.102-.002-.153-.004a1.674 1.674 0 0 1-.099.004c-1.185 0-1.946-.516-2.68-1.014-.509-.345-.988-.669-1.553-.76a5.282 5.282 0 0 0-.814-.065c-.478 0-.855.07-1.13.122-.167.031-.31.06-.42.06-.115 0-.239-.026-.293-.201-.046-.155-.08-.302-.113-.445-.084-.37-.143-.596-.305-.62C.687 15.797.15 15.42.03 15.148A.325.325 0 0 1 0 15.034a.205.205 0 0 1 .177-.21c2.89-.457 4.184-3.288 4.238-3.408l.005-.01c.177-.344.211-.642.103-.886-.198-.449-.845-.646-1.272-.775-.105-.033-.205-.062-.283-.092-.854-.324-.925-.656-.89-.825.056-.288.458-.49.783-.49a.57.57 0 0 1 .234.044c.384.173.73.26 1.03.26.412 0 .592-.166.614-.188-.01-.187-.023-.382-.037-.585-.086-1.31-.192-2.937.24-3.866 1.295-2.783 4.041-3 4.852-3L10.15 1h.048c.813 0 3.565.216 4.86 3.001.433.93.326 2.559.24 3.867l-.004.057-.033.53c.02.018.187.173.56.186.286-.01.613-.097.972-.259a.755.755 0 0 1 .3-.056c.122 0 .245.023.347.063l.007.003c.29.098.48.292.484.497.004.191-.15.48-.898.764-.078.029-.177.06-.282.092-.43.13-1.075.326-1.273.774-.11.244-.074.543.103.887 0 .003.003.006.004.01.054.12 1.349 2.95 4.239 3.407a.206.206 0 0 1 .177.211.356.356 0 0 1-.03.116c-.12.268-.656.646-2.536.925-.154.023-.214.215-.305.617-.033.147-.067.29-.114.442-.04.13-.125.193-.268.193h-.024c-.1 0-.241-.018-.421-.052a5.942 5.942 0 0 0-1.13-.114c-.264 0-.538.022-.814.065-.564.091-1.043.415-1.549.759-.737.5-1.497 1.015-2.683 1.015"
6500
+ d: "M0 13.23c0 .252.09.442.27.571.18.129.372.175.577.137.192-.038.327-.107.405-.208.077-.101.116-.267.116-.5v-2.736a.68.68 0 0 0-.2-.496.661.661 0 0 0-.489-.204.65.65 0 0 0-.479.204.68.68 0 0 0-.2.496v2.736Zm2.141 1.171c0 .183.063.319.19.41.127.092.29.137.489.137.204 0 .37-.045.498-.137.127-.091.191-.227.191-.41v-6.38a.67.67 0 0 0-.2-.487.663.663 0 0 0-.489-.202.648.648 0 0 0-.479.202.667.667 0 0 0-.2.487v6.38Zm2.13.302c0 .182.066.319.196.41a.854.854 0 0 0 .503.137.812.812 0 0 0 .488-.137c.127-.091.191-.228.191-.41V8.879a.693.693 0 0 0-.2-.5.645.645 0 0 0-.479-.208.667.667 0 0 0-.493.208.686.686 0 0 0-.206.5v5.824Zm2.141.028c0 .346.23.519.689.519.459 0 .689-.173.689-.519V5.293c0-.529-.17-.889-.479-.928-.209-.028-.402-.027-.601.143-.198.17-.298.477-.298.785v9.438Zm2.178.273V4.736c0-.327.096-.522.288-.585a5.392 5.392 0 0 1 3.891.529 5.487 5.487 0 0 1 1.986 1.854 5.58 5.58 0 0 1 .88 2.591 3.01 3.01 0 0 1 1.21-.246c.868 0 1.612.312 2.229.935S20 11.185 20 12.06a3.09 3.09 0 0 1-.926 2.256c-.617.623-1.358.935-2.22.935l-8.096-.01a.221.221 0 0 1-.126-.104.285.285 0 0 1-.042-.133Z"
4631
6501
  })));
4632
6502
  };
4633
6503
  var _path$9;
@@ -4645,13 +6515,13 @@ function _extends$9() {
4645
6515
  };
4646
6516
  return _extends$9.apply(this, arguments);
4647
6517
  }
4648
- var SvgLogoSoundcloud20 = function SvgLogoSoundcloud202(props) {
6518
+ var SvgLogoSpotify20 = function SvgLogoSpotify202(props) {
4649
6519
  return /* @__PURE__ */ React.createElement("svg", _extends$9({
4650
6520
  xmlns: "http://www.w3.org/2000/svg",
4651
6521
  width: 20,
4652
6522
  height: 20
4653
6523
  }, props), _path$9 || (_path$9 = /* @__PURE__ */ React.createElement("path", {
4654
- d: "M0 13.23c0 .252.09.442.27.571.18.129.372.175.577.137.192-.038.327-.107.405-.208.077-.101.116-.267.116-.5v-2.736a.68.68 0 0 0-.2-.496.661.661 0 0 0-.489-.204.65.65 0 0 0-.479.204.68.68 0 0 0-.2.496v2.736Zm2.141 1.171c0 .183.063.319.19.41.127.092.29.137.489.137.204 0 .37-.045.498-.137.127-.091.191-.227.191-.41v-6.38a.67.67 0 0 0-.2-.487.663.663 0 0 0-.489-.202.648.648 0 0 0-.479.202.667.667 0 0 0-.2.487v6.38Zm2.13.302c0 .182.066.319.196.41a.854.854 0 0 0 .503.137.812.812 0 0 0 .488-.137c.127-.091.191-.228.191-.41V8.879a.693.693 0 0 0-.2-.5.645.645 0 0 0-.479-.208.667.667 0 0 0-.493.208.686.686 0 0 0-.206.5v5.824Zm2.141.028c0 .346.23.519.689.519.459 0 .689-.173.689-.519V5.293c0-.529-.17-.889-.479-.928-.209-.028-.402-.027-.601.143-.198.17-.298.477-.298.785v9.438Zm2.178.273V4.736c0-.327.096-.522.288-.585a5.392 5.392 0 0 1 3.891.529 5.487 5.487 0 0 1 1.986 1.854 5.58 5.58 0 0 1 .88 2.591 3.01 3.01 0 0 1 1.21-.246c.868 0 1.612.312 2.229.935S20 11.185 20 12.06a3.09 3.09 0 0 1-.926 2.256c-.617.623-1.358.935-2.22.935l-8.096-.01a.221.221 0 0 1-.126-.104.285.285 0 0 1-.042-.133Z"
6524
+ d: "M10 0C4.477 0 0 4.477 0 10c0 5.522 4.477 10 10 10 5.522 0 10-4.478 10-10-.016-5.516-4.483-9.984-10-10m4.6 14.454a.594.594 0 0 1-.81.225c-.014-.007-.027-.016-.04-.025-2.35-1.454-5.3-1.75-8.8-.95a.618.618 0 1 1-.3-1.199c3.8-.851 7.1-.5 9.7 1.099a.6.6 0 0 1 .277.801c-.008.017-.018.033-.027.049m1.205-2.754a.753.753 0 0 1-1.034.26l-.016-.01A12.959 12.959 0 0 0 4.8 10.8a.76.76 0 0 1-.455-1.45A14.625 14.625 0 0 1 15.6 10.7a.706.706 0 0 1 .216.975c-.004.009-.01.016-.016.025m.1-2.8C12.7 7 7.35 6.8 4.3 7.75a.918.918 0 0 1-.617-1.728c.024-.008.047-.016.071-.022 3.551-1.05 9.4-.85 13.1 1.35.45.267.605.843.35 1.3a1.047 1.047 0 0 1-1.3.25"
4655
6525
  })));
4656
6526
  };
4657
6527
  var _path$8;
@@ -4669,13 +6539,13 @@ function _extends$8() {
4669
6539
  };
4670
6540
  return _extends$8.apply(this, arguments);
4671
6541
  }
4672
- var SvgLogoSpotify20 = function SvgLogoSpotify202(props) {
6542
+ var SvgLogoTelegram20 = function SvgLogoTelegram202(props) {
4673
6543
  return /* @__PURE__ */ React.createElement("svg", _extends$8({
4674
6544
  xmlns: "http://www.w3.org/2000/svg",
4675
6545
  width: 20,
4676
6546
  height: 20
4677
6547
  }, props), _path$8 || (_path$8 = /* @__PURE__ */ React.createElement("path", {
4678
- d: "M10 0C4.477 0 0 4.477 0 10c0 5.522 4.477 10 10 10 5.522 0 10-4.478 10-10-.016-5.516-4.483-9.984-10-10m4.6 14.454a.594.594 0 0 1-.81.225c-.014-.007-.027-.016-.04-.025-2.35-1.454-5.3-1.75-8.8-.95a.618.618 0 1 1-.3-1.199c3.8-.851 7.1-.5 9.7 1.099a.6.6 0 0 1 .277.801c-.008.017-.018.033-.027.049m1.205-2.754a.753.753 0 0 1-1.034.26l-.016-.01A12.959 12.959 0 0 0 4.8 10.8a.76.76 0 0 1-.455-1.45A14.625 14.625 0 0 1 15.6 10.7a.706.706 0 0 1 .216.975c-.004.009-.01.016-.016.025m.1-2.8C12.7 7 7.35 6.8 4.3 7.75a.918.918 0 0 1-.617-1.728c.024-.008.047-.016.071-.022 3.551-1.05 9.4-.85 13.1 1.35.45.267.605.843.35 1.3a1.047 1.047 0 0 1-1.3.25"
6548
+ d: "M18.54 1.2.778 8.458s-.84.3-.774.852c.066.553.752.807.752.807l4.468 1.566 10.728-7.096s.62-.392.597 0c0 0 .111.07-.22.391-.333.324-8.429 7.904-8.429 7.904l-.583 5.182c.247.112.473-.066.473-.066l2.887-2.742 4.501 3.593c1.216.554 1.66-.598 1.66-.598L20 1.638c0-1.106-1.46-.438-1.46-.438"
4679
6549
  })));
4680
6550
  };
4681
6551
  var _path$7;
@@ -4693,13 +6563,13 @@ function _extends$7() {
4693
6563
  };
4694
6564
  return _extends$7.apply(this, arguments);
4695
6565
  }
4696
- var SvgLogoTelegram20 = function SvgLogoTelegram202(props) {
6566
+ var SvgLogoTumblr20 = function SvgLogoTumblr202(props) {
4697
6567
  return /* @__PURE__ */ React.createElement("svg", _extends$7({
4698
6568
  xmlns: "http://www.w3.org/2000/svg",
4699
6569
  width: 20,
4700
6570
  height: 20
4701
6571
  }, props), _path$7 || (_path$7 = /* @__PURE__ */ React.createElement("path", {
4702
- d: "M18.54 1.2.778 8.458s-.84.3-.774.852c.066.553.752.807.752.807l4.468 1.566 10.728-7.096s.62-.392.597 0c0 0 .111.07-.22.391-.333.324-8.429 7.904-8.429 7.904l-.583 5.182c.247.112.473-.066.473-.066l2.887-2.742 4.501 3.593c1.216.554 1.66-.598 1.66-.598L20 1.638c0-1.106-1.46-.438-1.46-.438"
6572
+ d: "M15.083 15.965a4.357 4.357 0 0 1-1.543.345 1.728 1.728 0 0 1-1.842-1.97V8.115h3.844V5.087h-3.835V0H8.904a.154.154 0 0 0-.138.15A6.12 6.12 0 0 1 5 5.533v2.582h1.937v6.533c-.034 2.921 2.329 5.318 5.278 5.351.157.002.314-.003.472-.014 1.407-.025 2.968-.636 3.313-1.171l-.917-2.851"
4703
6573
  })));
4704
6574
  };
4705
6575
  var _path$6;
@@ -4717,13 +6587,13 @@ function _extends$6() {
4717
6587
  };
4718
6588
  return _extends$6.apply(this, arguments);
4719
6589
  }
4720
- var SvgLogoTumblr20 = function SvgLogoTumblr202(props) {
6590
+ var SvgLogoTwitch20 = function SvgLogoTwitch202(props) {
4721
6591
  return /* @__PURE__ */ React.createElement("svg", _extends$6({
4722
6592
  xmlns: "http://www.w3.org/2000/svg",
4723
6593
  width: 20,
4724
6594
  height: 20
4725
6595
  }, props), _path$6 || (_path$6 = /* @__PURE__ */ React.createElement("path", {
4726
- d: "M15.083 15.965a4.357 4.357 0 0 1-1.543.345 1.728 1.728 0 0 1-1.842-1.97V8.115h3.844V5.087h-3.835V0H8.904a.154.154 0 0 0-.138.15A6.12 6.12 0 0 1 5 5.533v2.582h1.937v6.533c-.034 2.921 2.329 5.318 5.278 5.351.157.002.314-.003.472-.014 1.407-.025 2.968-.636 3.313-1.171l-.917-2.851"
6596
+ d: "M1.406 0 0 3.433v14.03h5.001V20h2.812l2.656-2.537h4.063L20 12.238V0H1.406zm1.719 1.791h15v9.552L15 14.328h-5l-2.656 2.537v-2.537H3.125V1.791zm10 8.651h1.876V5.224h-1.876v5.218zm-5 0H10V5.224H8.125v5.218z"
4727
6597
  })));
4728
6598
  };
4729
6599
  var _path$5;
@@ -4741,13 +6611,13 @@ function _extends$5() {
4741
6611
  };
4742
6612
  return _extends$5.apply(this, arguments);
4743
6613
  }
4744
- var SvgLogoTwitch20 = function SvgLogoTwitch202(props) {
6614
+ var SvgLogoTwitter20 = function SvgLogoTwitter202(props) {
4745
6615
  return /* @__PURE__ */ React.createElement("svg", _extends$5({
4746
6616
  xmlns: "http://www.w3.org/2000/svg",
4747
6617
  width: 20,
4748
6618
  height: 20
4749
6619
  }, props), _path$5 || (_path$5 = /* @__PURE__ */ React.createElement("path", {
4750
- d: "M1.406 0 0 3.433v14.03h5.001V20h2.812l2.656-2.537h4.063L20 12.238V0H1.406zm1.719 1.791h15v9.552L15 14.328h-5l-2.656 2.537v-2.537H3.125V1.791zm10 8.651h1.876V5.224h-1.876v5.218zm-5 0H10V5.224H8.125v5.218z"
6620
+ d: "M6.29 18.254c7.547 0 11.675-6.253 11.675-11.675 0-.178-.004-.354-.012-.53A8.339 8.339 0 0 0 20 3.924a8.165 8.165 0 0 1-2.356.646 4.12 4.12 0 0 0 1.804-2.27 8.198 8.198 0 0 1-2.606.996A4.104 4.104 0 0 0 9.85 7.039a11.652 11.652 0 0 1-8.458-4.287 4.101 4.101 0 0 0 1.27 5.477 4.058 4.058 0 0 1-1.858-.513l-.001.052a4.104 4.104 0 0 0 3.292 4.023 4.107 4.107 0 0 1-1.853.07 4.107 4.107 0 0 0 3.833 2.85 8.233 8.233 0 0 1-5.096 1.757A8.33 8.33 0 0 1 0 16.411a11.614 11.614 0 0 0 6.29 1.843"
4751
6621
  })));
4752
6622
  };
4753
6623
  var _path$4;
@@ -4765,42 +6635,18 @@ function _extends$4() {
4765
6635
  };
4766
6636
  return _extends$4.apply(this, arguments);
4767
6637
  }
4768
- var SvgLogoTwitter20 = function SvgLogoTwitter202(props) {
6638
+ var SvgLogoWhatsapp20 = function SvgLogoWhatsapp202(props) {
4769
6639
  return /* @__PURE__ */ React.createElement("svg", _extends$4({
4770
6640
  xmlns: "http://www.w3.org/2000/svg",
4771
6641
  width: 20,
4772
6642
  height: 20
4773
6643
  }, props), _path$4 || (_path$4 = /* @__PURE__ */ React.createElement("path", {
4774
- d: "M6.29 18.254c7.547 0 11.675-6.253 11.675-11.675 0-.178-.004-.354-.012-.53A8.339 8.339 0 0 0 20 3.924a8.165 8.165 0 0 1-2.356.646 4.12 4.12 0 0 0 1.804-2.27 8.198 8.198 0 0 1-2.606.996A4.104 4.104 0 0 0 9.85 7.039a11.652 11.652 0 0 1-8.458-4.287 4.101 4.101 0 0 0 1.27 5.477 4.058 4.058 0 0 1-1.858-.513l-.001.052a4.104 4.104 0 0 0 3.292 4.023 4.107 4.107 0 0 1-1.853.07 4.107 4.107 0 0 0 3.833 2.85 8.233 8.233 0 0 1-5.096 1.757A8.33 8.33 0 0 1 0 16.411a11.614 11.614 0 0 0 6.29 1.843"
4775
- })));
4776
- };
4777
- var _path$3;
4778
- function _extends$3() {
4779
- _extends$3 = Object.assign || function(target) {
4780
- for (var i = 1; i < arguments.length; i++) {
4781
- var source = arguments[i];
4782
- for (var key in source) {
4783
- if (Object.prototype.hasOwnProperty.call(source, key)) {
4784
- target[key] = source[key];
4785
- }
4786
- }
4787
- }
4788
- return target;
4789
- };
4790
- return _extends$3.apply(this, arguments);
4791
- }
4792
- var SvgLogoWhatsapp20 = function SvgLogoWhatsapp202(props) {
4793
- return /* @__PURE__ */ React.createElement("svg", _extends$3({
4794
- xmlns: "http://www.w3.org/2000/svg",
4795
- width: 20,
4796
- height: 20
4797
- }, props), _path$3 || (_path$3 = /* @__PURE__ */ React.createElement("path", {
4798
6644
  d: "M14.785 11.957c-.246-.135-1.455-.783-1.683-.873-.226-.091-.39-.14-.568.104-.177.242-.679.784-.83.944-.152.162-.3.177-.546.043-.246-.135-1.043-.428-1.969-1.31-.719-.687-1.192-1.52-1.329-1.774-.137-.255 0-.384.13-.503.116-.107.261-.281.392-.421.13-.142.176-.244.266-.406.09-.163.054-.31-.005-.437-.058-.125-.512-1.369-.703-1.875-.19-.505-.4-.43-.548-.436-.146-.005-.312-.032-.479-.037a.925.925 0 0 0-.68.285c-.24.24-.909.819-.956 2.042-.046 1.224.807 2.44.926 2.61.12.17 1.63 2.822 4.14 3.913 2.51 1.091 2.523.758 2.984.734.461-.024 1.505-.546 1.736-1.12.231-.572.25-1.07.191-1.175-.059-.107-.223-.176-.469-.309m-4.604 5.896a8.18 8.18 0 0 1-4.497-1.34l-3.14.997 1.02-3.011a8.025 8.025 0 0 1-1.556-4.755c0-4.474 3.667-8.112 8.173-8.112 4.507 0 8.173 3.638 8.173 8.111 0 4.472-3.666 8.11-8.173 8.11m0-17.852C4.76 0 .363 4.362.363 9.742c0 1.841.515 3.563 1.41 5.03L0 20l5.435-1.727a9.838 9.838 0 0 0 4.746 1.212c5.423 0 9.82-4.362 9.82-9.742 0-5.381-4.397-9.744-9.82-9.744"
4799
6645
  })));
4800
6646
  };
4801
- var _path$2;
4802
- function _extends$2() {
4803
- _extends$2 = Object.assign || function(target) {
6647
+ var _path$3;
6648
+ function _extends$3() {
6649
+ _extends$3 = Object.assign || function(target) {
4804
6650
  for (var i = 1; i < arguments.length; i++) {
4805
6651
  var source = arguments[i];
4806
6652
  for (var key in source) {
@@ -4811,20 +6657,20 @@ function _extends$2() {
4811
6657
  }
4812
6658
  return target;
4813
6659
  };
4814
- return _extends$2.apply(this, arguments);
6660
+ return _extends$3.apply(this, arguments);
4815
6661
  }
4816
6662
  var SvgLogoVimeo20 = function SvgLogoVimeo202(props) {
4817
- return /* @__PURE__ */ React.createElement("svg", _extends$2({
6663
+ return /* @__PURE__ */ React.createElement("svg", _extends$3({
4818
6664
  xmlns: "http://www.w3.org/2000/svg",
4819
6665
  width: 20,
4820
6666
  height: 20
4821
- }, props), _path$2 || (_path$2 = /* @__PURE__ */ React.createElement("path", {
6667
+ }, props), _path$3 || (_path$3 = /* @__PURE__ */ React.createElement("path", {
4822
6668
  d: "M19.992 5.157c-.087 2.029-1.445 4.804-4.076 8.323C13.197 17.16 10.895 19 9.011 19c-1.165 0-2.151-1.121-2.957-3.364-.54-2.06-1.08-4.12-1.615-6.174-.6-2.246-1.244-3.37-1.93-3.37-.57.248-1.1.58-1.568.985L0 5.816c.986-.9 1.958-1.804 2.916-2.71 1.313-1.184 2.299-1.808 2.958-1.871 1.553-.158 2.51.948 2.87 3.319.386 2.558.654 4.148.805 4.772.45 2.12.943 3.18 1.479 3.178.417 0 1.045-.685 1.883-2.055a8.28 8.28 0 0 0 1.345-3.134c.12-1.186-.329-1.775-1.345-1.775a3.7 3.7 0 0 0-1.48.326c.989-3.336 2.873-4.957 5.652-4.862 2.059.06 3.027 1.446 2.907 4.159"
4823
6669
  })));
4824
6670
  };
4825
- var _path$1;
4826
- function _extends$1() {
4827
- _extends$1 = Object.assign || function(target) {
6671
+ var _path$2;
6672
+ function _extends$2() {
6673
+ _extends$2 = Object.assign || function(target) {
4828
6674
  for (var i = 1; i < arguments.length; i++) {
4829
6675
  var source = arguments[i];
4830
6676
  for (var key in source) {
@@ -4835,20 +6681,20 @@ function _extends$1() {
4835
6681
  }
4836
6682
  return target;
4837
6683
  };
4838
- return _extends$1.apply(this, arguments);
6684
+ return _extends$2.apply(this, arguments);
4839
6685
  }
4840
6686
  var SvgLogoYelp20 = function SvgLogoYelp202(props) {
4841
- return /* @__PURE__ */ React.createElement("svg", _extends$1({
6687
+ return /* @__PURE__ */ React.createElement("svg", _extends$2({
4842
6688
  xmlns: "http://www.w3.org/2000/svg",
4843
6689
  width: 20,
4844
6690
  height: 20
4845
- }, props), _path$1 || (_path$1 = /* @__PURE__ */ React.createElement("path", {
6691
+ }, props), _path$2 || (_path$2 = /* @__PURE__ */ React.createElement("path", {
4846
6692
  d: "M6.861.39a14.07 14.07 0 0 0-2.298.789c-.504.223-.693.8-.415 1.25l4.37 7.047c.49.79 1.787.467 1.787-.446V.894c0-.52-.475-.932-1.03-.891C8.471.062 7.665.19 6.86.39m11.06 8.885a7.736 7.736 0 0 0-2.116-2.71c-.433-.355-1.104-.273-1.427.173l-2.6 3.59c-.5.69.198 1.585 1.058 1.356l4.47-1.193c.557-.15.844-.721.614-1.216m-6.22 5.164 2.465 3.673c.307.458.977.558 1.425.215a7.851 7.851 0 0 0 2.21-2.638c.25-.486-.019-1.067-.569-1.234l-4.422-1.337c-.85-.258-1.583.615-1.109 1.32m-6.099 4.295a8.681 8.681 0 0 0 3.332 1.255c.572.089 1.098-.31 1.118-.85l.163-4.328c.031-.833-1.072-1.247-1.67-.628L5.432 17.4c-.386.4-.307 1.027.17 1.333M3.758 9.387l4.18 1.899c.804.365.68 1.465-.188 1.667L3.24 14c-.563.13-1.118-.23-1.185-.767a7.178 7.178 0 0 1 .377-3.33c.184-.51.81-.751 1.328-.516"
4847
6693
  })));
4848
6694
  };
4849
- var _path;
4850
- function _extends() {
4851
- _extends = Object.assign || function(target) {
6695
+ var _path$1;
6696
+ function _extends$1() {
6697
+ _extends$1 = Object.assign || function(target) {
4852
6698
  for (var i = 1; i < arguments.length; i++) {
4853
6699
  var source = arguments[i];
4854
6700
  for (var key in source) {
@@ -4859,14 +6705,14 @@ function _extends() {
4859
6705
  }
4860
6706
  return target;
4861
6707
  };
4862
- return _extends.apply(this, arguments);
6708
+ return _extends$1.apply(this, arguments);
4863
6709
  }
4864
6710
  var SvgLogoYoutube20 = function SvgLogoYoutube202(props) {
4865
- return /* @__PURE__ */ React.createElement("svg", _extends({
6711
+ return /* @__PURE__ */ React.createElement("svg", _extends$1({
4866
6712
  xmlns: "http://www.w3.org/2000/svg",
4867
6713
  width: 20,
4868
6714
  height: 20
4869
- }, props), _path || (_path = /* @__PURE__ */ React.createElement("path", {
6715
+ }, props), _path$1 || (_path$1 = /* @__PURE__ */ React.createElement("path", {
4870
6716
  d: "M8 13V7l5 3-5 3Zm11.582-7.814a2.502 2.502 0 0 0-1.769-1.768C16.254 3 10 3 10 3s-6.254 0-7.814.418c-.86.23-1.538.908-1.768 1.768C0 6.746 0 10 0 10s0 3.254.418 4.813c.23.862.908 1.54 1.768 1.769C3.746 17 10 17 10 17s6.254 0 7.813-.418a2.498 2.498 0 0 0 1.769-1.769C20 13.254 20 10 20 10s0-3.254-.418-4.814Z"
4871
6717
  })));
4872
6718
  };
@@ -5006,11 +6852,10 @@ function SocialLinksPlaceholder({
5006
6852
  }, link.id))
5007
6853
  });
5008
6854
  }
5009
- const Container = styled.div`
6855
+ const Container$1 = styled.div`
5010
6856
  display: flex;
5011
6857
  flex-direction: row;
5012
6858
  flex-wrap: wrap;
5013
- ${cssWidth()}
5014
6859
  ${cssMargin()}
5015
6860
  ${(p) => cssMediaRules([p.alignment], ([alignment = "center"]) => css`
5016
6861
  justify-content: ${alignment};
@@ -5088,13 +6933,11 @@ const SocialLinks = forwardRef(function SocialLinks2({
5088
6933
  width,
5089
6934
  margin
5090
6935
  }, ref) {
5091
- const fillData = useColor(fill);
5092
- const backgroundColorData = useColor(backgroundColor);
5093
- return /* @__PURE__ */ jsx(Container, {
6936
+ return /* @__PURE__ */ jsx(Container$1, {
5094
6937
  ref,
5095
6938
  id,
6939
+ className: cx(width),
5096
6940
  alignment,
5097
- width,
5098
6941
  margin,
5099
6942
  children: links2.length > 0 ? links2.map((link, i) => {
5100
6943
  const option = SocialLinksOptions.find((o) => o.type === link.payload.type);
@@ -5105,9 +6948,9 @@ const SocialLinks = forwardRef(function SocialLinks2({
5105
6948
  first: i === 0,
5106
6949
  last: i === links2.length - 1,
5107
6950
  children: /* @__PURE__ */ jsx(StyledLink$1, {
5108
- backgroundColor: backgroundColorData,
6951
+ backgroundColor,
5109
6952
  brandColor: option.brandColor,
5110
- fill: fillData,
6953
+ fill,
5111
6954
  hoverStyle,
5112
6955
  link: {
5113
6956
  type: "OPEN_URL",
@@ -5126,7 +6969,7 @@ const SocialLinks = forwardRef(function SocialLinks2({
5126
6969
  })
5127
6970
  });
5128
6971
  });
5129
- function registerComponent$1(runtime) {
6972
+ function registerComponent$2(runtime) {
5130
6973
  return runtime.registerComponent(SocialLinks, {
5131
6974
  type: "./components/SocialLinks/index.js",
5132
6975
  label: "Social Links",
@@ -5157,67 +7000,90 @@ function registerComponent$1(runtime) {
5157
7000
  openInNewTab: false
5158
7001
  }
5159
7002
  }),
5160
- shape: ResponsiveIconRadioGroup({
5161
- label: "Shape",
5162
- options: [{
5163
- label: "Naked",
5164
- value: "naked",
5165
- icon: "Star16"
5166
- }, {
5167
- label: "Circle",
5168
- value: "circle",
5169
- icon: "StarCircle16"
5170
- }, {
5171
- label: "Rounded",
5172
- value: "rounded",
5173
- icon: "StarRoundedSquare16"
5174
- }, {
5175
- label: "Square",
5176
- value: "square",
5177
- icon: "StarSquare16"
5178
- }],
5179
- defaultValue: "naked"
7003
+ shape: ResponsiveIconRadioGroup((props) => {
7004
+ const links2 = props.links;
7005
+ return {
7006
+ label: "Shape",
7007
+ options: [{
7008
+ label: "Naked",
7009
+ value: "naked",
7010
+ icon: "Star16"
7011
+ }, {
7012
+ label: "Circle",
7013
+ value: "circle",
7014
+ icon: "StarCircle16"
7015
+ }, {
7016
+ label: "Rounded",
7017
+ value: "rounded",
7018
+ icon: "StarRoundedSquare16"
7019
+ }, {
7020
+ label: "Square",
7021
+ value: "square",
7022
+ icon: "StarSquare16"
7023
+ }],
7024
+ defaultValue: "naked",
7025
+ hidden: links2 == null || links2.links.length === 0
7026
+ };
5180
7027
  }),
5181
- size: ResponsiveIconRadioGroup({
5182
- label: "Size",
5183
- options: [{
5184
- label: "Small",
5185
- value: "small",
5186
- icon: "SizeSmall16"
5187
- }, {
5188
- label: "Medium",
5189
- value: "medium",
5190
- icon: "SizeMedium16"
5191
- }, {
5192
- label: "Large",
5193
- value: "large",
5194
- icon: "SizeLarge16"
5195
- }],
5196
- defaultValue: "medium"
7028
+ size: ResponsiveIconRadioGroup((props) => {
7029
+ const links2 = props.links;
7030
+ return {
7031
+ label: "Size",
7032
+ options: [{
7033
+ label: "Small",
7034
+ value: "small",
7035
+ icon: "SizeSmall16"
7036
+ }, {
7037
+ label: "Medium",
7038
+ value: "medium",
7039
+ icon: "SizeMedium16"
7040
+ }, {
7041
+ label: "Large",
7042
+ value: "large",
7043
+ icon: "SizeLarge16"
7044
+ }],
7045
+ defaultValue: "medium",
7046
+ hidden: links2 == null || links2.links.length === 0
7047
+ };
5197
7048
  }),
5198
- hoverStyle: ResponsiveSelect({
5199
- label: "On hover",
5200
- options: [{
5201
- value: "none",
5202
- label: "None"
5203
- }, {
5204
- value: "grow",
5205
- label: "Grow"
5206
- }, {
5207
- value: "shrink",
5208
- label: "Shrink"
5209
- }, {
5210
- value: "fade",
5211
- label: "Fade"
5212
- }],
5213
- defaultValue: "none",
5214
- labelOrientation: "horizontal"
7049
+ hoverStyle: ResponsiveSelect((props) => {
7050
+ const links2 = props.links;
7051
+ const hidden = links2 == null || links2.links.length === 0;
7052
+ return {
7053
+ label: "On hover",
7054
+ options: [{
7055
+ value: "none",
7056
+ label: "None"
7057
+ }, {
7058
+ value: "grow",
7059
+ label: "Grow"
7060
+ }, {
7061
+ value: "shrink",
7062
+ label: "Shrink"
7063
+ }, {
7064
+ value: "fade",
7065
+ label: "Fade"
7066
+ }],
7067
+ defaultValue: "none",
7068
+ labelOrientation: "horizontal",
7069
+ hidden
7070
+ };
5215
7071
  }),
5216
- fill: ResponsiveColor({
5217
- label: "Icon color"
7072
+ fill: ResponsiveColor((props) => {
7073
+ const links2 = props.links;
7074
+ const hidden = links2 == null || links2.links.length === 0;
7075
+ return {
7076
+ label: "Icon color",
7077
+ hidden
7078
+ };
5218
7079
  }),
5219
- backgroundColor: ResponsiveColor({
5220
- label: "Shape color"
7080
+ backgroundColor: ResponsiveColor((props) => {
7081
+ const links2 = props.links;
7082
+ const hidden = links2 == null || links2.links.length === 0;
7083
+ return {
7084
+ label: "Shape color",
7085
+ hidden
7086
+ };
5221
7087
  }),
5222
7088
  alignment: ResponsiveIconRadioGroup({
5223
7089
  label: "Alignment",
@@ -5254,6 +7120,7 @@ function registerComponent$1(runtime) {
5254
7120
  }
5255
7121
  }),
5256
7122
  width: Width({
7123
+ format: Width.Formats.ClassName,
5257
7124
  defaultValue: {
5258
7125
  value: 100,
5259
7126
  unit: "%"
@@ -5374,10 +7241,10 @@ const Span = styled.span`
5374
7241
  `}
5375
7242
  `, shallowMergeFallbacks)}
5376
7243
  `;
5377
- function Mark(_w) {
5378
- var _x = _w, {
7244
+ function Mark(__) {
7245
+ var _$ = __, {
5379
7246
  value
5380
- } = _x, restOfProps = __objRest(_x, [
7247
+ } = _$, restOfProps = __objRest(_$, [
5381
7248
  "value"
5382
7249
  ]);
5383
7250
  const typographyStyle = useTypographyMark(value);
@@ -5415,10 +7282,10 @@ const StyledBlock = styled.div`
5415
7282
  border-left: 5px solid rgba(0, 0, 0, 0.1);
5416
7283
  ` : ""}
5417
7284
  `;
5418
- var Block = forwardRef(function Block2(_y, ref) {
5419
- var _z = _y, {
7285
+ var Block = forwardRef(function Block2(_aa, ref) {
7286
+ var _ba = _aa, {
5420
7287
  textAlign
5421
- } = _z, restOfProps = __objRest(_z, [
7288
+ } = _ba, restOfProps = __objRest(_ba, [
5422
7289
  "textAlign"
5423
7290
  ]);
5424
7291
  return /* @__PURE__ */ jsx(StyledBlock, __spreadProps(__spreadValues({}, restOfProps), {
@@ -5543,10 +7410,10 @@ function Inlines() {
5543
7410
  }
5544
7411
  };
5545
7412
  }
5546
- const RichTextEditor = styled(forwardRef(function RichTextEditor2(_A, ref) {
5547
- var _B = _A, {
7413
+ const RichTextEditor = styled(forwardRef(function RichTextEditor2(_ca, ref) {
7414
+ var _da = _ca, {
5548
7415
  placeholder: placeholder2 = "Write some text..."
5549
- } = _B, restOfProps = __objRest(_B, [
7416
+ } = _da, restOfProps = __objRest(_da, [
5550
7417
  "placeholder"
5551
7418
  ]);
5552
7419
  const plugins = useMemo(() => [Lists(), LinkPlugin(), Inlines(), DeviceOverridesBlockPlugin(), DeviceOverridesMarksPlugin()], []);
@@ -5563,7 +7430,6 @@ const RichTextEditor = styled(forwardRef(function RichTextEditor2(_A, ref) {
5563
7430
  }
5564
7431
  `;
5565
7432
  const StyledRichTextEditor = styled(RichTextEditor)`
5566
- ${cssWidth()}
5567
7433
  ${cssMargin()}
5568
7434
  `;
5569
7435
  const defaultText = {
@@ -5626,7 +7492,7 @@ const Text = forwardRef(function Text2({
5626
7492
  }, [shouldCommit]);
5627
7493
  function handleChange(change) {
5628
7494
  setValue(change.value);
5629
- if (change.value.document !== value.document) {
7495
+ if (change.value !== value) {
5630
7496
  setShouldCommit(false);
5631
7497
  controller == null ? void 0 : controller.onChange(change);
5632
7498
  }
@@ -5654,8 +7520,8 @@ const Text = forwardRef(function Text2({
5654
7520
  return /* @__PURE__ */ jsx(StyledRichTextEditor, {
5655
7521
  id,
5656
7522
  ref: setEditor,
7523
+ className: cx(width),
5657
7524
  readOnly: !isInBuilder,
5658
- width,
5659
7525
  margin,
5660
7526
  value,
5661
7527
  onChange: handleChange,
@@ -5663,13 +7529,13 @@ const Text = forwardRef(function Text2({
5663
7529
  onKeyDown: handleKeyDown
5664
7530
  });
5665
7531
  });
5666
- function registerComponent(runtime) {
7532
+ function registerComponent$1(runtime) {
5667
7533
  return runtime.registerComponent(Text, {
5668
7534
  type: "./components/Text/index.js",
5669
7535
  label: "Text",
5670
7536
  props: {
5671
7537
  id: ElementID(),
5672
- text: RichText({
7538
+ text: RichText(() => ({
5673
7539
  preset: {
5674
7540
  document: {
5675
7541
  nodes: [{
@@ -5710,8 +7576,9 @@ function registerComponent(runtime) {
5710
7576
  }]
5711
7577
  }
5712
7578
  }
5713
- }),
7579
+ })),
5714
7580
  width: Width({
7581
+ format: Width.Formats.ClassName,
5715
7582
  preset: [{
5716
7583
  deviceId: "desktop",
5717
7584
  value: {
@@ -5741,18 +7608,103 @@ function registerComponent(runtime) {
5741
7608
  }
5742
7609
  });
5743
7610
  }
7611
+ const Container = styled.div`
7612
+ display: flex;
7613
+ flex-direction: column;
7614
+ overflow: hidden;
7615
+ ${cssMargin()}
7616
+ ${cssBorderRadius()}
7617
+ `;
7618
+ const ASPECT_RATIO = 16 / 9;
7619
+ const Video = forwardRef(function Video2({
7620
+ id,
7621
+ video,
7622
+ width,
7623
+ margin,
7624
+ borderRadius
7625
+ }, ref) {
7626
+ const canPlayUrl = video && video.url != null && ReactPlayer.canPlay(video.url);
7627
+ return /* @__PURE__ */ jsx(Container, {
7628
+ ref,
7629
+ id,
7630
+ className: cx(width),
7631
+ margin,
7632
+ borderRadius,
7633
+ children: /* @__PURE__ */ jsx("div", {
7634
+ style: {
7635
+ position: "relative",
7636
+ paddingTop: `${100 / ASPECT_RATIO}%`
7637
+ },
7638
+ children: /* @__PURE__ */ jsx("div", {
7639
+ style: {
7640
+ position: "absolute",
7641
+ top: 0,
7642
+ left: 0,
7643
+ right: 0,
7644
+ bottom: 0
7645
+ },
7646
+ children: canPlayUrl === true ? /* @__PURE__ */ jsx(ReactPlayer, __spreadProps(__spreadValues({}, video), {
7647
+ width: "100%",
7648
+ height: "100%",
7649
+ config: {
7650
+ vimeo: {
7651
+ playerOptions: {
7652
+ background: video != null && !video.controls
7653
+ }
7654
+ },
7655
+ wistia: {
7656
+ options: {
7657
+ endVideoBehavior: video != null && video.loop === true ? "loop" : "default"
7658
+ }
7659
+ }
7660
+ }
7661
+ })) : /* @__PURE__ */ jsx("img", {
7662
+ width: "100%",
7663
+ src: placeholders.video.src,
7664
+ alt: "Video Placeholder"
7665
+ })
7666
+ })
7667
+ })
7668
+ });
7669
+ });
7670
+ function registerComponent(runtime) {
7671
+ return runtime.registerComponent(Video, {
7672
+ type: "./components/Video/index.js",
7673
+ label: "Video",
7674
+ icon: "Video40",
7675
+ props: {
7676
+ id: ElementID(),
7677
+ video: Video$1({
7678
+ preset: {
7679
+ controls: true
7680
+ }
7681
+ }),
7682
+ width: Width({
7683
+ format: Width.Formats.ClassName,
7684
+ defaultValue: {
7685
+ value: 560,
7686
+ unit: "px"
7687
+ }
7688
+ }),
7689
+ margin: Margin(),
7690
+ borderRadius: BorderRadius()
7691
+ }
7692
+ });
7693
+ }
5744
7694
  function registerBuiltinComponents(runtime) {
5745
- const unregisterBoxComponent = registerComponent$a(runtime);
5746
- const unregisterButtonComponent = registerComponent$9(runtime);
5747
- const unregisterCarouselComponent = registerComponent$7(runtime);
5748
- const unregisterCountdownComponent = registerComponent$6(runtime);
5749
- const unregisterDividerComponent = registerComponent$5(runtime);
5750
- const unregisterEmbedComponent = registerComponent$4(runtime);
5751
- const unregisterImageComponent = registerComponent$8(runtime);
5752
- const unregisterNavigationComponent = registerComponent$3(runtime);
5753
- const unregisterRootComponent = registerComponent$2(runtime);
5754
- const unregisterSocialLinksComponent = registerComponent$1(runtime);
5755
- const unregisterTextComponent = registerComponent(runtime);
7695
+ const unregisterBoxComponent = registerComponent$c(runtime);
7696
+ const unregisterButtonComponent = registerComponent$b(runtime);
7697
+ const unregisterCarouselComponent = registerComponent$9(runtime);
7698
+ const unregisterCountdownComponent = registerComponent$8(runtime);
7699
+ const unregisterDividerComponent = registerComponent$7(runtime);
7700
+ const unregisterEmbedComponent = registerComponent$6(runtime);
7701
+ const unregisterFormComponent = registerComponent$5(runtime);
7702
+ const unregisterImageComponent = registerComponent$a(runtime);
7703
+ const unregisterNavigationComponent = registerComponent$4(runtime);
7704
+ const unregisterRootComponent = registerComponent$3(runtime);
7705
+ const unregisterSocialLinksComponent = registerComponent$2(runtime);
7706
+ const unregisterTextComponent = registerComponent$1(runtime);
7707
+ const unregisterVideoComponent = registerComponent(runtime);
5756
7708
  return () => {
5757
7709
  unregisterBoxComponent();
5758
7710
  unregisterButtonComponent();
@@ -5760,12 +7712,164 @@ function registerBuiltinComponents(runtime) {
5760
7712
  unregisterCountdownComponent();
5761
7713
  unregisterDividerComponent();
5762
7714
  unregisterEmbedComponent();
7715
+ unregisterFormComponent();
5763
7716
  unregisterImageComponent();
5764
7717
  unregisterNavigationComponent();
5765
7718
  unregisterRootComponent();
5766
7719
  unregisterSocialLinksComponent();
5767
7720
  unregisterTextComponent();
7721
+ unregisterTextComponent();
7722
+ unregisterVideoComponent();
7723
+ };
7724
+ }
7725
+ var _path;
7726
+ function _extends() {
7727
+ _extends = Object.assign || function(target) {
7728
+ for (var i = 1; i < arguments.length; i++) {
7729
+ var source = arguments[i];
7730
+ for (var key in source) {
7731
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7732
+ target[key] = source[key];
7733
+ }
7734
+ }
7735
+ }
7736
+ return target;
5768
7737
  };
7738
+ return _extends.apply(this, arguments);
7739
+ }
7740
+ var SvgWarning20 = function SvgWarning202(props) {
7741
+ return /* @__PURE__ */ React.createElement("svg", _extends({
7742
+ width: 20,
7743
+ height: 20,
7744
+ xmlns: "http://www.w3.org/2000/svg"
7745
+ }, props), _path || (_path = /* @__PURE__ */ React.createElement("path", {
7746
+ fillRule: "evenodd",
7747
+ clipRule: "evenodd",
7748
+ d: "M2.899 18H17.1a1.75 1.75 0 0 0 1.549-2.565L11.549 1.942c-.656-1.246-2.442-1.246-3.098 0L1.35 15.435A1.75 1.75 0 0 0 2.899 18ZM9 6a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V6Zm2.25 8.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z"
7749
+ })));
7750
+ };
7751
+ const ErrorDiv = styled("div")`
7752
+ width: 100%;
7753
+ height: 54px;
7754
+ background-color: #fcedf2;
7755
+ border-radius: 6px;
7756
+ padding: 16px;
7757
+ display: flex;
7758
+ align-items: center;
7759
+ gap: 8px;
7760
+ color: #c73e6d;
7761
+ fill: currentColor;
7762
+ font-family: Heebo, sans-serif;
7763
+ font-size: 16px;
7764
+ `;
7765
+ const FallbackComponent = forwardRef(function FallbackComponent2({
7766
+ text
7767
+ }, ref) {
7768
+ return /* @__PURE__ */ jsxs(ErrorDiv, {
7769
+ ref,
7770
+ children: [/* @__PURE__ */ jsx(SvgWarning20, {}), /* @__PURE__ */ jsx("span", {
7771
+ children: text
7772
+ })]
7773
+ });
7774
+ });
7775
+ function useStyleControlDataClass(style, controlDefinition) {
7776
+ const { properties } = controlDefinition.config;
7777
+ return css$1(__spreadValues(__spreadValues({}, properties.includes(StyleControlProperty.Width) && {
7778
+ maxWidth: "100%"
7779
+ }), responsiveStyle([
7780
+ style == null ? void 0 : style.width,
7781
+ style == null ? void 0 : style.margin,
7782
+ style == null ? void 0 : style.padding,
7783
+ useBorder(style == null ? void 0 : style.border),
7784
+ style == null ? void 0 : style.borderRadius
7785
+ ], ([width, margin, padding, border, borderRadius]) => {
7786
+ var _a, _b, _c, _d, _e, _f, _g2, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
7787
+ return __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, properties.includes(StyleControlProperty.Width) && {
7788
+ width: (_a = widthToString(width)) != null ? _a : "100%"
7789
+ }), properties.includes(StyleControlProperty.Margin) && {
7790
+ marginTop: (_b = marginToString(margin == null ? void 0 : margin.marginTop)) != null ? _b : 0,
7791
+ marginRight: (_c = marginToString(margin == null ? void 0 : margin.marginRight)) != null ? _c : "auto",
7792
+ marginBottom: (_d = marginToString(margin == null ? void 0 : margin.marginBottom)) != null ? _d : 0,
7793
+ marginLeft: (_e = marginToString(margin == null ? void 0 : margin.marginLeft)) != null ? _e : "auto"
7794
+ }), properties.includes(StyleControlProperty.Padding) && {
7795
+ paddingTop: (_f = paddingToString(padding == null ? void 0 : padding.paddingTop)) != null ? _f : 0,
7796
+ paddingRight: (_g2 = paddingToString(padding == null ? void 0 : padding.paddingRight)) != null ? _g2 : 0,
7797
+ paddingBottom: (_h = paddingToString(padding == null ? void 0 : padding.paddingBottom)) != null ? _h : 0,
7798
+ paddingLeft: (_i = paddingToString(padding == null ? void 0 : padding.paddingLeft)) != null ? _i : 0
7799
+ }), properties.includes(StyleControlProperty.Border) && {
7800
+ borderTop: (_j = borderSideToString(border == null ? void 0 : border.borderTop)) != null ? _j : "0 solid black",
7801
+ borderRight: (_k = borderSideToString(border == null ? void 0 : border.borderRight)) != null ? _k : "0 solid black",
7802
+ borderBottom: (_l = borderSideToString(border == null ? void 0 : border.borderBottom)) != null ? _l : "0 solid black",
7803
+ borderLeft: (_m = borderSideToString(border == null ? void 0 : border.borderLeft)) != null ? _m : "0 solid black"
7804
+ }), properties.includes(StyleControlProperty.BorderRadius) && {
7805
+ borderTopLeftRadius: (_n = borderRadiusToString(borderRadius == null ? void 0 : borderRadius.borderTopLeftRadius)) != null ? _n : 0,
7806
+ borderTopRightRadius: (_o = borderRadiusToString(borderRadius == null ? void 0 : borderRadius.borderTopRightRadius)) != null ? _o : 0,
7807
+ borderBottomRightRadius: (_p = borderRadiusToString(borderRadius == null ? void 0 : borderRadius.borderBottomRightRadius)) != null ? _p : 0,
7808
+ borderBottomLeftRadius: (_q = borderRadiusToString(borderRadius == null ? void 0 : borderRadius.borderBottomLeftRadius)) != null ? _q : 0
7809
+ });
7810
+ })));
7811
+ function widthToString(widthProperty) {
7812
+ if (widthProperty == null)
7813
+ return null;
7814
+ return `${widthProperty.value}${widthProperty.unit}`;
7815
+ }
7816
+ function marginToString(marginProperty) {
7817
+ if (marginProperty == null)
7818
+ return null;
7819
+ if (marginProperty === "auto")
7820
+ return marginProperty;
7821
+ return `${marginProperty.value}${marginProperty.unit}`;
7822
+ }
7823
+ function paddingToString(paddingProperty) {
7824
+ if (paddingProperty == null)
7825
+ return null;
7826
+ return `${paddingProperty.value}${paddingProperty.unit}`;
7827
+ }
7828
+ function borderSideToString(borderSide) {
7829
+ if (borderSide == null)
7830
+ return null;
7831
+ const { width, color, style: style2 } = borderSide;
7832
+ return `${width != null ? width : 0}px ${style2} ${color != null ? colorToString(color) : "black"}`;
7833
+ }
7834
+ function borderRadiusToString(borderRadius) {
7835
+ if (borderRadius == null)
7836
+ return null;
7837
+ return `${borderRadius.value}${borderRadius.unit}`;
7838
+ }
7839
+ }
7840
+ function useFormattedStyle(styleControlData, controlDefinition) {
7841
+ return useStyleControlDataClass(styleControlData, controlDefinition);
7842
+ }
7843
+ function useDeviceMode() {
7844
+ return "desktop";
7845
+ }
7846
+ function useWidth(value, descriptor, props) {
7847
+ const deviceMode = useDeviceMode();
7848
+ const options = useMemo(() => typeof descriptor.options === "function" ? descriptor.options(props, deviceMode) : descriptor.options, [props, deviceMode]);
7849
+ return useMemo(() => options.format === WidthControlValueFormats.ClassName ? css$1(responsiveWidth(value, options.defaultValue)) : value, [value, options.defaultValue, options.format]);
7850
+ }
7851
+ function useResponsiveColor(value) {
7852
+ return useColor(value);
7853
+ }
7854
+ function useProps(element) {
7855
+ var _a;
7856
+ const store = useStore();
7857
+ const propControllerDescriptorsRef = useRef((_a = getComponentPropControllerDescriptors(store.getState(), element.type)) != null ? _a : {});
7858
+ const props = element.props;
7859
+ return Object.fromEntries(Object.entries(propControllerDescriptorsRef.current).map(([propName, descriptor]) => {
7860
+ switch (descriptor.type) {
7861
+ case Types.ResponsiveColor: {
7862
+ const color = useResponsiveColor(props[propName]);
7863
+ return [propName, color];
7864
+ }
7865
+ case Types.Width:
7866
+ return [propName, useWidth(props[propName], descriptor, props)];
7867
+ case StyleControlType:
7868
+ return [propName, useFormattedStyle(props[propName], descriptor)];
7869
+ default:
7870
+ return [propName, props[propName]];
7871
+ }
7872
+ }));
5769
7873
  }
5770
7874
  const contextDefaultValue = configureStore();
5771
7875
  function createReactRuntime(store) {
@@ -5793,39 +7897,31 @@ function createReactRuntime(store) {
5793
7897
  const ReactRuntime = createReactRuntime(contextDefaultValue);
5794
7898
  const Context = createContext(contextDefaultValue);
5795
7899
  function RuntimeProvider({
7900
+ client,
5796
7901
  children,
5797
- defaultRootElements,
5798
- registerComponents,
5799
- makeswiftApiEndpoint
7902
+ rootElements
5800
7903
  }) {
5801
7904
  const [store, setStore] = useState(() => {
5802
7905
  const store2 = configureStore({
5803
7906
  preloadedState: contextDefaultValue.getState(),
5804
- rootElements: defaultRootElements
7907
+ rootElements
5805
7908
  });
5806
7909
  const runtime = createReactRuntime(store2);
5807
7910
  registerBuiltinComponents(runtime);
5808
- registerComponents == null ? void 0 : registerComponents(runtime);
5809
7911
  return store2;
5810
7912
  });
5811
- const [client, setClient] = useState(new ApolloClient({
5812
- uri: makeswiftApiEndpoint,
5813
- cache: new InMemoryCache()
5814
- }));
5815
- useEffect(() => {
5816
- setClient(({
5817
- cache
5818
- }) => new ApolloClient({
5819
- uri: makeswiftApiEndpoint,
5820
- cache
5821
- }));
5822
- }, [makeswiftApiEndpoint]);
5823
7913
  useEffect(() => {
5824
7914
  return registerBuiltinComponents(createReactRuntime(store));
5825
7915
  }, [store]);
5826
7916
  useEffect(() => {
5827
- return registerComponents == null ? void 0 : registerComponents(createReactRuntime(store));
5828
- }, [store, registerComponents]);
7917
+ var _a;
7918
+ const unregisterDocuments = Array.from((_a = rootElements == null ? void 0 : rootElements.entries()) != null ? _a : []).map(([documentKey, rootElement]) => store.dispatch(registerDocumentEffect(createDocument(documentKey, rootElement))));
7919
+ return () => {
7920
+ unregisterDocuments.forEach((unregisterDocument) => {
7921
+ unregisterDocument();
7922
+ });
7923
+ };
7924
+ }, [store, rootElements]);
5829
7925
  useEffect(() => {
5830
7926
  const isInBuilder = window.parent !== window;
5831
7927
  if (isInBuilder)
@@ -5834,7 +7930,7 @@ function RuntimeProvider({
5834
7930
  const ReactBuilderPreview = await import("./react-builder-preview.es.js");
5835
7931
  setStore((store2) => ReactBuilderPreview.configureStore({
5836
7932
  preloadedState: store2.getState(),
5837
- client
7933
+ client: client.apolloClient
5838
7934
  }));
5839
7935
  }
5840
7936
  }, [client]);
@@ -5861,18 +7957,40 @@ function RuntimeProvider({
5861
7957
  }, []);
5862
7958
  return /* @__PURE__ */ jsx(Context.Provider, {
5863
7959
  value: store,
5864
- children: /* @__PURE__ */ jsx(ApolloProvider, {
7960
+ children: /* @__PURE__ */ jsx(MakeswiftProvider, {
5865
7961
  client,
5866
7962
  children
5867
7963
  })
5868
7964
  });
5869
7965
  }
7966
+ const PageContext = createContext(null);
7967
+ function usePageIdOrNull() {
7968
+ return useContext(PageContext);
7969
+ }
7970
+ function usePageId() {
7971
+ const pageIdOrNull = usePageIdOrNull();
7972
+ if (pageIdOrNull == null)
7973
+ throw new Error("`usePageId` must be used with `<PageProvider>`");
7974
+ return pageIdOrNull;
7975
+ }
7976
+ function PageProvider({
7977
+ id,
7978
+ children
7979
+ }) {
7980
+ return /* @__PURE__ */ jsx(PageContext.Provider, {
7981
+ value: id,
7982
+ children
7983
+ });
7984
+ }
5870
7985
  const DocumentContext = createContext(null);
5871
7986
  function useDocumentKey() {
5872
7987
  return useContext(DocumentContext);
5873
7988
  }
7989
+ function useStore() {
7990
+ return useContext(Context);
7991
+ }
5874
7992
  function useSelector(selector) {
5875
- const store = useContext(Context);
7993
+ const store = useStore();
5876
7994
  return useSyncExternalStoreWithSelector(store.subscribe, store.getState, store.getState, selector);
5877
7995
  }
5878
7996
  function useComponent(type) {
@@ -5882,8 +8000,8 @@ function useElementId(elementKey) {
5882
8000
  const documentKey = useDocumentKey();
5883
8001
  return useSelector((state) => documentKey == null || elementKey == null ? null : getElementId(state, documentKey, elementKey));
5884
8002
  }
5885
- function useDocumentRootElement(documentKey) {
5886
- return useSelector((state) => getDocumentRootElement(state, documentKey));
8003
+ function useDocument(documentKey) {
8004
+ return useSelector((state) => getDocument(state, documentKey));
5887
8005
  }
5888
8006
  function useIsInBuilder() {
5889
8007
  return useSelector((state) => getIsInBuilder(state));
@@ -5896,19 +8014,14 @@ const ElementData = memo(forwardRef(function ElementData2({
5896
8014
  elementData
5897
8015
  }, ref) {
5898
8016
  const Component = useComponent(elementData.type);
8017
+ const props = useProps(elementData);
5899
8018
  if (Component == null) {
5900
- return /* @__PURE__ */ jsxs("div", {
8019
+ return /* @__PURE__ */ jsx(FallbackComponent, {
5901
8020
  ref,
5902
- children: [/* @__PURE__ */ jsx("p", {
5903
- children: "Component Not Found"
5904
- }), /* @__PURE__ */ jsx("pre", {
5905
- children: /* @__PURE__ */ jsx("code", {
5906
- children: JSON.stringify(elementData, null, 2)
5907
- })
5908
- })]
8021
+ text: "Component not found"
5909
8022
  });
5910
8023
  }
5911
- return /* @__PURE__ */ createElement(Component, __spreadProps(__spreadValues({}, elementData.props), {
8024
+ return /* @__PURE__ */ createElement(Component, __spreadProps(__spreadValues({}, props), {
5912
8025
  key: elementData.key,
5913
8026
  ref
5914
8027
  }));
@@ -5916,24 +8029,52 @@ const ElementData = memo(forwardRef(function ElementData2({
5916
8029
  const ElementReference = memo(forwardRef(function ElementReference2({
5917
8030
  elementReference
5918
8031
  }, ref) {
5919
- return /* @__PURE__ */ jsxs("div", {
5920
- ref,
5921
- children: [/* @__PURE__ */ jsx("p", {
5922
- children: "Not Implemented"
5923
- }), /* @__PURE__ */ jsx("pre", {
5924
- children: /* @__PURE__ */ jsx("code", {
5925
- children: JSON.stringify(elementReference, null, 2)
5926
- })
5927
- })]
8032
+ var _a;
8033
+ const {
8034
+ error,
8035
+ data
8036
+ } = useQuery(gql`
8037
+ query ElementReferenceGlobalElement($id: ID!) {
8038
+ globalElement(id: $id) {
8039
+ id
8040
+ data
8041
+ }
8042
+ }
8043
+ `, {
8044
+ variables: {
8045
+ id: elementReference.value
8046
+ }
8047
+ });
8048
+ const globalElementData = (_a = data == null ? void 0 : data.globalElement) == null ? void 0 : _a.data;
8049
+ const elementReferenceDocument = useDocument(elementReference.key);
8050
+ if (error != null) {
8051
+ return /* @__PURE__ */ jsx(FallbackComponent, {
8052
+ ref,
8053
+ text: "Something went wrong!"
8054
+ });
8055
+ }
8056
+ if (globalElementData == null) {
8057
+ return /* @__PURE__ */ jsx(FallbackComponent, {
8058
+ ref,
8059
+ text: "This global component doesn't exist"
8060
+ });
8061
+ }
8062
+ return elementReferenceDocument != null ? /* @__PURE__ */ jsx(Document, {
8063
+ document: elementReferenceDocument,
8064
+ ref
8065
+ }) : /* @__PURE__ */ jsx(ElementData, {
8066
+ elementData: globalElementData,
8067
+ ref
5928
8068
  });
5929
8069
  }));
5930
- const Element$1 = memo(function Element2({
8070
+ const Element$1 = memo(forwardRef(function Element2({
5931
8071
  element
5932
- }) {
8072
+ }, ref) {
5933
8073
  const elementKey = element.key;
5934
8074
  const dispatch = useDispatch();
5935
8075
  const documentKey = useDocumentKey();
5936
8076
  const [handle, setHandle] = useState(null);
8077
+ useImperativeHandle(ref, () => handle, [handle]);
5937
8078
  useEffect(() => {
5938
8079
  if (documentKey == null)
5939
8080
  return;
@@ -5951,30 +8092,32 @@ const Element$1 = memo(function Element2({
5951
8092
  ref: setHandle,
5952
8093
  elementData: element
5953
8094
  }, elementKey);
5954
- });
5955
- const Document = memo(function Document2({
5956
- documentKey
5957
- }) {
5958
- const documentRootElement = useDocumentRootElement(documentKey);
5959
- if (documentRootElement == null) {
5960
- return /* @__PURE__ */ jsxs("div", {
5961
- children: [/* @__PURE__ */ jsx("p", {
5962
- children: "Document Not Found"
5963
- }), /* @__PURE__ */ jsx("pre", {
5964
- children: /* @__PURE__ */ jsx("code", {
5965
- children: JSON.stringify({
5966
- documentKey
5967
- }, null, 2)
5968
- })
5969
- })]
5970
- });
5971
- }
8095
+ }));
8096
+ const Document = memo(forwardRef(function Document2({
8097
+ document
8098
+ }, ref) {
5972
8099
  return /* @__PURE__ */ jsx(DocumentContext.Provider, {
5973
- value: documentKey,
8100
+ value: document.key,
5974
8101
  children: /* @__PURE__ */ jsx(Element$1, {
5975
- element: documentRootElement
8102
+ ref,
8103
+ element: document.rootElement
5976
8104
  })
5977
8105
  });
5978
- });
5979
- export { getDocumentRootElement$1 as A, Box as B, Carousel as C, Document as D, Element$1 as E, createDocument as F, reducer$3 as G, reducer$2 as H, ImageComponent as I, reducer$1 as J, getComponentsMeta as K, getComponentPropControllerDescriptors$1 as L, getElementPropControllerDescriptors as M, Navigation as N, RuntimeProvider as R, SocialLinks as S, Text as T, ReactRuntime as a, Button as b, Countdown as c, Divider as d, Embed as e, Root as f, registerComponent$a as g, DEFAULT_BOX_ANIMATE_TYPE as h, DEFAULT_BOX_ANIMATE_DELAY as i, DEFAULT_BOX_ANIMATE_DURATION as j, DEFAULT_ITEM_ANIMATE_TYPE as k, DEFAULT_ITEM_ANIMATE_DELAY as l, DEFAULT_ITEM_ANIMATE_DURATION as m, DEFAULT_ITEM_STAGGER_DURATION as n, cssMediaRules as o, cssWidth as p, cssMargin as q, registerBuiltinComponents as r, cssPadding as s, cssBorder as t, useIsInBuilder as u, cssBorderRadius as v, cssBoxShadow as w, cssGridItem as x, cssTextStyle as y, getInitialState$3 as z };
5980
- //# sourceMappingURL=react.es2.js.map
8106
+ }));
8107
+ const DocumentReference = memo(forwardRef(function DocumentReference2({
8108
+ documentReference
8109
+ }, ref) {
8110
+ const document = useDocument(documentReference.key);
8111
+ if (document == null) {
8112
+ return /* @__PURE__ */ jsx(FallbackComponent, {
8113
+ ref,
8114
+ text: "Document not found"
8115
+ });
8116
+ }
8117
+ return /* @__PURE__ */ jsx(Document, {
8118
+ ref,
8119
+ document
8120
+ });
8121
+ }));
8122
+ export { useBackgrounds as A, Box as B, Carousel as C, DocumentReference as D, Element$1 as E, Form as F, useBorder as G, useBoxShadow as H, ImageComponent as I, useColor as J, useFile as K, useMediaQuery as L, usePage as M, Navigation as N, useTable as O, PageProvider as P, MakeswiftClient as Q, RuntimeProvider as R, SocialLinks as S, Text as T, ReactRuntime as a, usePageId as b, Button$1 as c, Countdown as d, Divider as e, Embed as f, Root as g, registerComponent$c as h, DEFAULT_BOX_ANIMATE_TYPE as i, DEFAULT_BOX_ANIMATE_DELAY as j, DEFAULT_BOX_ANIMATE_DURATION as k, DEFAULT_ITEM_ANIMATE_TYPE as l, DEFAULT_ITEM_ANIMATE_DELAY as m, DEFAULT_ITEM_ANIMATE_DURATION as n, DEFAULT_ITEM_STAGGER_DURATION as o, cssMediaRules as p, cssWidth as q, registerBuiltinComponents as r, cssMargin as s, cssPadding as t, useIsInBuilder as u, cssBorder as v, cssBorderRadius as w, cssBoxShadow as x, cssGridItem as y, cssTextStyle as z };
8123
+ //# sourceMappingURL=index.es.js.map