@builder.io/sdk-svelte 0.0.3 → 0.0.5

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 (233) hide show
  1. package/package/--package.json +160 -0
  2. package/package/blocks/BaseText.svelte +19 -0
  3. package/package/blocks/BaseText.svelte.d.ts +19 -0
  4. package/package/blocks/columns/columns.svelte +13 -4
  5. package/package/blocks/columns/columns.svelte.d.ts +1 -1
  6. package/package/blocks/custom-code/custom-code.svelte +1 -1
  7. package/package/blocks/embed/embed.svelte +2 -0
  8. package/package/blocks/form/form.svelte +7 -5
  9. package/package/blocks/image/image.svelte +48 -46
  10. package/package/blocks/image/image.svelte.d.ts +1 -1
  11. package/package/blocks/img/img.svelte +7 -2
  12. package/package/blocks/section/section.svelte +7 -2
  13. package/package/blocks/symbol/symbol.svelte +13 -13
  14. package/package/blocks/symbol/symbol.svelte.d.ts +3 -3
  15. package/package/blocks/video/video.svelte +14 -3
  16. package/package/components/render-block/block-styles.svelte +24 -19
  17. package/package/components/render-block/block-styles.svelte.d.ts +2 -2
  18. package/package/components/render-block/render-block.svelte +81 -58
  19. package/package/components/render-block/render-block.svelte.d.ts +2 -2
  20. package/package/components/render-block/render-component-with-context.svelte +32 -0
  21. package/package/components/render-block/render-component-with-context.svelte.d.ts +19 -0
  22. package/package/components/render-block/render-component.svelte +1 -3
  23. package/package/components/render-block/render-component.svelte.d.ts +2 -2
  24. package/package/components/render-block/render-repeated-block.svelte +3 -0
  25. package/package/components/render-block/types.d.ts +2 -2
  26. package/package/components/render-block/types.js +1 -2
  27. package/package/components/render-blocks.svelte +12 -1
  28. package/package/components/render-blocks.svelte.d.ts +3 -1
  29. package/package/components/render-content/components/render-styles.svelte +2 -1
  30. package/package/components/render-content/render-content.svelte +24 -8
  31. package/package/components/render-content/render-content.svelte.d.ts +2 -2
  32. package/package/constants/builder-registered-components.js +3 -0
  33. package/package/context/builder.context.d.ts +1 -0
  34. package/package/context/builder.context.js +1 -0
  35. package/package/context/types.d.ts +4 -3
  36. package/package/context/types.js +1 -3
  37. package/package/functions/extract-text-styles.d.ts +4 -0
  38. package/package/functions/extract-text-styles.js +34 -0
  39. package/package/functions/fast-clone.d.ts +4 -0
  40. package/package/functions/fast-clone.js +4 -0
  41. package/package/functions/get-block-actions-handler.d.ts +5 -0
  42. package/package/functions/get-block-actions-handler.js +9 -0
  43. package/package/functions/get-block-actions.d.ts +1 -1
  44. package/package/functions/get-block-actions.js +2 -8
  45. package/package/functions/get-block-component-options.d.ts +1 -1
  46. package/package/functions/get-block-component-options.js +0 -1
  47. package/package/functions/get-block-properties.d.ts +1 -1
  48. package/package/functions/get-block-properties.js +0 -1
  49. package/package/functions/get-block-tag.d.ts +1 -1
  50. package/package/functions/get-block-tag.js +0 -1
  51. package/package/functions/get-content/ab-testing.d.ts +5 -3
  52. package/package/functions/get-content/ab-testing.js +75 -37
  53. package/package/functions/get-content/index.d.ts +1 -1
  54. package/package/functions/get-content/index.js +4 -5
  55. package/package/functions/get-content/types.d.ts +7 -2
  56. package/package/functions/get-processed-block.d.ts +1 -1
  57. package/package/functions/get-processed-block.js +5 -4
  58. package/package/functions/get-processed-block.test.js +0 -1
  59. package/package/functions/get-react-native-block-styles.d.ts +6 -0
  60. package/package/functions/get-react-native-block-styles.js +16 -0
  61. package/package/functions/register-component.d.ts +2 -2
  62. package/package/functions/register-component.js +1 -5
  63. package/package/functions/register.d.ts +2 -2
  64. package/package/functions/register.js +0 -2
  65. package/package/functions/sanitize-react-native-block-styles.d.ts +3 -0
  66. package/package/functions/sanitize-react-native-block-styles.js +53 -0
  67. package/package/functions/track.d.ts +1 -1
  68. package/package/functions/track.js +5 -6
  69. package/package/functions/transform-block.d.ts +1 -1
  70. package/package/functions/transform-block.js +0 -1
  71. package/package/helpers/ab-tests.d.ts +8 -0
  72. package/package/helpers/ab-tests.js +5 -0
  73. package/package/helpers/cookie.d.ts +9 -3
  74. package/package/helpers/cookie.js +8 -3
  75. package/package/helpers/css.d.ts +5 -1
  76. package/package/helpers/css.js +14 -1
  77. package/package/helpers/localStorage.d.ts +3 -4
  78. package/package/helpers/sessionId.d.ts +3 -4
  79. package/package/helpers/sessionId.js +5 -3
  80. package/package/helpers/visitorId.d.ts +3 -5
  81. package/package/scripts/init-editing.js +42 -38
  82. package/package/types/builder-content.d.ts +1 -1
  83. package/package/types/builder-content.js +1 -1
  84. package/package/types/targets.d.ts +1 -1
  85. package/package/types/typescript.d.ts +1 -0
  86. package/package.json +10 -4
  87. package/src/blocks/BaseText.svelte +27 -0
  88. package/{package/blocks/button/button.lite.tsx → src/blocks/button/button.svelte} +0 -0
  89. package/src/blocks/button/component-info.ts +42 -0
  90. package/{package/blocks/columns/columns.lite.tsx → src/blocks/columns/columns.svelte} +26 -17
  91. package/src/blocks/columns/component-info.ts +254 -0
  92. package/src/blocks/custom-code/component-info.ts +31 -0
  93. package/{package/blocks/custom-code/custom-code.lite.tsx → src/blocks/custom-code/custom-code.svelte} +1 -5
  94. package/src/blocks/embed/component-info.ts +53 -0
  95. package/{package/blocks/embed/embed.lite.tsx → src/blocks/embed/embed.svelte} +1 -2
  96. package/src/blocks/embed/helpers.ts +8 -0
  97. package/src/blocks/form/component-info.ts +282 -0
  98. package/{package/blocks/form/form.lite.tsx → src/blocks/form/form.svelte} +12 -31
  99. package/src/blocks/fragment/component-info.ts +10 -0
  100. package/{package/blocks/fragment/fragment.lite.tsx → src/blocks/fragment/fragment.svelte} +0 -0
  101. package/src/blocks/image/component-info.ts +170 -0
  102. package/src/blocks/image/image.helpers.ts +75 -0
  103. package/{package/blocks/image/image.lite.tsx → src/blocks/image/image.svelte} +47 -50
  104. package/src/blocks/img/component-info.ts +21 -0
  105. package/{package/blocks/img/img.lite.tsx → src/blocks/img/img.svelte} +6 -3
  106. package/src/blocks/input/component-info.ts +78 -0
  107. package/{package/blocks/input/input.lite.tsx → src/blocks/input/input.svelte} +0 -0
  108. package/src/blocks/raw-text/component-info.ts +15 -0
  109. package/{package/blocks/raw-text/raw-text.lite.tsx → src/blocks/raw-text/raw-text.svelte} +2 -1
  110. package/src/blocks/section/component-info.ts +50 -0
  111. package/{package/blocks/section/section.lite.tsx → src/blocks/section/section.svelte} +6 -2
  112. package/src/blocks/select/component-info.ts +61 -0
  113. package/{package/blocks/select/select.lite.tsx → src/blocks/select/select.svelte} +0 -0
  114. package/src/blocks/submit-button/component-info.ts +32 -0
  115. package/{package/blocks/submit-button/submit-button.lite.tsx → src/blocks/submit-button/submit-button.svelte} +0 -0
  116. package/src/blocks/symbol/component-info.ts +43 -0
  117. package/{package/blocks/symbol/symbol.lite.tsx → src/blocks/symbol/symbol.svelte} +23 -15
  118. package/src/blocks/text/component-info.ts +24 -0
  119. package/{package/blocks/text/text.lite.tsx → src/blocks/text/text.svelte} +0 -0
  120. package/src/blocks/textarea/component-info.ts +48 -0
  121. package/{package/blocks/textarea/textarea.lite.tsx → src/blocks/textarea/textarea.svelte} +0 -0
  122. package/src/blocks/util.ts +6 -0
  123. package/src/blocks/video/component-info.ts +109 -0
  124. package/{package/blocks/video/video.lite.tsx → src/blocks/video/video.svelte} +13 -3
  125. package/{package/components/render-block/block-styles.lite.tsx → src/components/render-block/block-styles.svelte} +28 -26
  126. package/src/components/render-block/render-block.helpers.ts +27 -0
  127. package/{package/components/render-block/render-block.lite.tsx → src/components/render-block/render-block.svelte} +93 -81
  128. package/src/components/render-block/render-component-with-context.svelte +38 -0
  129. package/{package/components/render-block/render-component.lite.tsx → src/components/render-block/render-component.svelte} +5 -3
  130. package/{package/components/render-block/render-repeated-block.lite.tsx → src/components/render-block/render-repeated-block.svelte} +4 -0
  131. package/src/components/render-block/types.ts +7 -0
  132. package/{package/components/render-blocks.lite.tsx → src/components/render-blocks.svelte} +15 -2
  133. package/{package/components/render-content/components/render-styles.lite.tsx → src/components/render-content/components/render-styles.svelte} +2 -8
  134. package/src/components/render-content/index.ts +1 -0
  135. package/{package/components/render-content/render-content.lite.tsx → src/components/render-content/render-content.svelte} +34 -36
  136. package/{package/components/render-inlined-styles.lite.tsx → src/components/render-inlined-styles.svelte} +0 -1
  137. package/src/constants/builder-registered-components.ts +42 -0
  138. package/src/constants/device-sizes.ts +28 -0
  139. package/src/constants/target.ts +2 -0
  140. package/src/context/builder.context.ts +13 -0
  141. package/src/context/types.ts +23 -0
  142. package/src/functions/camel-to-kebab-case.ts +2 -0
  143. package/src/functions/evaluate.ts +52 -0
  144. package/src/functions/event-handler-name.ts +6 -0
  145. package/src/functions/extract-text-styles.ts +39 -0
  146. package/src/functions/fast-clone.ts +5 -0
  147. package/src/functions/get-block-actions-handler.ts +19 -0
  148. package/src/functions/get-block-actions.ts +25 -0
  149. package/src/functions/get-block-component-options.ts +12 -0
  150. package/src/functions/get-block-properties.ts +11 -0
  151. package/src/functions/get-block-tag.ts +7 -0
  152. package/src/functions/get-builder-search-params/fn.test.ts +19 -0
  153. package/src/functions/get-builder-search-params/index.ts +48 -0
  154. package/src/functions/get-content/ab-testing.ts +132 -0
  155. package/src/functions/get-content/fn.test.ts +35 -0
  156. package/src/functions/get-content/index.ts +77 -0
  157. package/src/functions/get-content/types.ts +36 -0
  158. package/src/functions/get-fetch.ts +14 -0
  159. package/src/functions/get-global-this.ts +15 -0
  160. package/src/functions/get-processed-block.test.ts +33 -0
  161. package/src/functions/get-processed-block.ts +54 -0
  162. package/src/functions/get-react-native-block-styles.ts +30 -0
  163. package/src/functions/if-target.ts +20 -0
  164. package/src/functions/is-browser.ts +3 -0
  165. package/src/functions/is-editing.ts +7 -0
  166. package/src/functions/is-iframe.ts +5 -0
  167. package/src/functions/is-previewing.ts +14 -0
  168. package/src/functions/mark-mutable.ts +7 -0
  169. package/src/functions/on-change.test.ts +23 -0
  170. package/src/functions/on-change.ts +29 -0
  171. package/src/functions/register-component.ts +67 -0
  172. package/src/functions/register.ts +46 -0
  173. package/src/functions/sanitize-react-native-block-styles.ts +65 -0
  174. package/src/functions/set-editor-settings.ts +16 -0
  175. package/src/functions/set.test.ts +19 -0
  176. package/src/functions/set.ts +26 -0
  177. package/src/functions/track.ts +90 -0
  178. package/src/functions/transform-block.ts +6 -0
  179. package/src/helpers/ab-tests.ts +22 -0
  180. package/src/helpers/cookie.ts +102 -0
  181. package/src/helpers/css.ts +33 -0
  182. package/src/helpers/flatten.ts +24 -0
  183. package/src/helpers/localStorage.ts +38 -0
  184. package/src/helpers/nullable.ts +4 -0
  185. package/src/helpers/sessionId.ts +34 -0
  186. package/src/helpers/time.ts +4 -0
  187. package/src/helpers/url.test.ts +16 -0
  188. package/src/helpers/url.ts +12 -0
  189. package/src/helpers/uuid.ts +17 -0
  190. package/src/helpers/visitorId.ts +38 -0
  191. package/src/index-helpers/blocks-exports.ts +10 -0
  192. package/src/index-helpers/top-of-file.ts +4 -0
  193. package/src/index.ts +12 -0
  194. package/src/scripts/init-editing.ts +102 -0
  195. package/src/types/builder-block.ts +58 -0
  196. package/src/types/builder-content.ts +39 -0
  197. package/src/types/can-track.ts +3 -0
  198. package/src/types/components.ts +188 -0
  199. package/src/types/deep-partial.ts +7 -0
  200. package/src/types/element.ts +60 -0
  201. package/src/types/targets.ts +6 -0
  202. package/src/types/typescript.ts +7 -0
  203. package/package/blocks/button/button.lite.d.ts +0 -0
  204. package/package/blocks/columns/columns.lite.d.ts +0 -0
  205. package/package/blocks/custom-code/custom-code.lite.d.ts +0 -0
  206. package/package/blocks/embed/embed.lite.d.ts +0 -0
  207. package/package/blocks/form/form.lite.d.ts +0 -0
  208. package/package/blocks/fragment/fragment.lite.d.ts +0 -0
  209. package/package/blocks/image/image.lite.d.ts +0 -0
  210. package/package/blocks/img/img.lite.d.ts +0 -0
  211. package/package/blocks/input/input.lite.d.ts +0 -0
  212. package/package/blocks/raw-text/raw-text.lite.d.ts +0 -0
  213. package/package/blocks/section/section.lite.d.ts +0 -0
  214. package/package/blocks/select/select.lite.d.ts +0 -0
  215. package/package/blocks/submit-button/submit-button.lite.d.ts +0 -0
  216. package/package/blocks/symbol/symbol.lite.d.ts +0 -0
  217. package/package/blocks/text/text.lite.d.ts +0 -0
  218. package/package/blocks/textarea/textarea.lite.d.ts +0 -0
  219. package/package/blocks/video/video.lite.d.ts +0 -0
  220. package/package/components/render-block/block-styles.lite.d.ts +0 -0
  221. package/package/components/render-block/render-block.lite.d.ts +0 -0
  222. package/package/components/render-block/render-component.lite.d.ts +0 -0
  223. package/package/components/render-block/render-repeated-block.lite.d.ts +0 -0
  224. package/package/components/render-blocks.lite.d.ts +0 -0
  225. package/package/components/render-content/components/render-styles.lite.d.ts +0 -0
  226. package/package/components/render-content/render-content.lite.d.ts +0 -0
  227. package/package/components/render-inlined-styles.lite.d.ts +0 -0
  228. package/package/functions/convert-style-object.d.ts +0 -1
  229. package/package/functions/convert-style-object.js +0 -3
  230. package/package/functions/get-block-styles.d.ts +0 -2
  231. package/package/functions/get-block-styles.js +0 -21
  232. package/package/functions/sanitize-styles.d.ts +0 -4
  233. package/package/functions/sanitize-styles.js +0 -6
@@ -0,0 +1,188 @@
1
+ import type { BuilderElement } from './element';
2
+
3
+ export interface Input {
4
+ name: string;
5
+ friendlyName?: string;
6
+ description?: string;
7
+ defaultValue?: any;
8
+ type: string;
9
+ valueType?: {
10
+ type?: string;
11
+ };
12
+ required?: boolean;
13
+ autoFocus?: boolean;
14
+ subFields?: Input[];
15
+ helperText?: string;
16
+ allowedFileTypes?: string[];
17
+ imageHeight?: number;
18
+ imageWidth?: number;
19
+ mediaHeight?: number;
20
+ mediaWidth?: number;
21
+ hideFromUI?: boolean;
22
+ modelId?: string;
23
+ /**
24
+ * Number field type validation maximum accepted input
25
+ */
26
+ max?: number;
27
+ /**
28
+ * Number field type validation minimum accepted input
29
+ */
30
+ min?: number;
31
+ /**
32
+ * Number field type step size when using arrows
33
+ */
34
+ step?: number;
35
+
36
+ /**
37
+ * Set this to `true` to show the editor for this input when
38
+ * children of this component are selected. This is useful for things
39
+ * like Tabs, such that users may not always select the Tabs component
40
+ * directly but will still be looking for how to add additional tabs
41
+ */
42
+ broadcast?: boolean;
43
+ /**
44
+ * Set this to `true` to show the editor for this input when
45
+ * group locked parents of this component are selected. This is useful
46
+ * to bubble up important inputs for locked groups, like text and images
47
+ */
48
+ bubble?: boolean;
49
+ options?: { [key: string]: any };
50
+ enum?: string[] | { label: string; value: any; helperText?: string }[];
51
+ /** Regex field validation for all string types (text, longText, html, url, etc) */
52
+ regex?: {
53
+ /** pattern to test, like "^\/[a-z]$" */
54
+ pattern: string;
55
+ /** flags for the RegExp constructor, e.g. "gi" */
56
+ options?: string;
57
+ /**
58
+ * Friendly message to display to end-users if the regex fails, e.g.
59
+ * "You must use a relative url starting with '/...' "
60
+ */
61
+ message: string;
62
+ };
63
+ advanced?: boolean;
64
+ onChange?: ((options: Map<string, any>) => void | Promise<void>) | string;
65
+ code?: boolean;
66
+ richText?: boolean;
67
+ showIf?: ((options: Map<string, any>) => boolean) | string;
68
+ copyOnAdd?: boolean;
69
+ }
70
+
71
+ export interface ComponentInfo {
72
+ /**
73
+ * Name your component something unique, e.g. 'MyButton'. You can override built-in components
74
+ * by registering a component with the same name, e.g. 'Text', to replace the built-in text component
75
+ */
76
+ name: string;
77
+ description?: string;
78
+ /**
79
+ * Link to a documentation page for this component
80
+ */
81
+ docsLink?: string;
82
+ image?: string;
83
+ /**
84
+ * Input schema for your component for users to fill in the options
85
+ */
86
+ inputs?: Input[];
87
+ class?: any;
88
+ type?: 'angular' | 'webcomponent' | 'react' | 'vue';
89
+ defaultStyles?: { [key: string]: string };
90
+ /**
91
+ * Turn on if your component can accept children. Be sure to use in combination with
92
+ * withChildren(YourComponent) like here
93
+ * github.com/BuilderIO/builder/blob/master/examples/react-design-system/src/components/HeroWithChildren/HeroWithChildren.builder.js#L5
94
+ */
95
+ canHaveChildren?: boolean;
96
+ fragment?: boolean;
97
+ /**
98
+ * Do not wrap a component in a dom element. Be sure to use {...props.attributes} with this option
99
+ * like here github.com/BuilderIO/builder/blob/master/packages/react/src/blocks/forms/Input.tsx#L34
100
+ */
101
+ noWrap?: boolean;
102
+ /**
103
+ * Default children
104
+ */
105
+ defaultChildren?: BuilderElement[];
106
+ defaults?: Partial<BuilderElement>;
107
+ // eslint-disable-next-line @typescript-eslint/ban-types
108
+ hooks?: { [key: string]: string | Function };
109
+ /**
110
+ * Hide your component in editor, useful for gradually deprecating components
111
+ */
112
+ hideFromInsertMenu?: boolean;
113
+ // For webcomponents
114
+ tag?: string;
115
+ static?: boolean;
116
+ /**
117
+ * Passing a list of model names will restrict using the component to only the models listed here, otherwise it'll be available for all models
118
+ */
119
+ models?: string[];
120
+
121
+ // TO-DO specific to new SDKs?
122
+ // not used in visual editor. Can likely be removed
123
+ builtIn: true;
124
+
125
+ /**
126
+ * Specify restrictions direct children must match
127
+ */
128
+ childRequirements?: {
129
+ /** Message to show when this doesn't match, e.g. "Children of 'Columns' must be a 'Column'" */
130
+ message: string;
131
+ /** Simple way to say children must be a specific component name */
132
+ component?: string;
133
+ /**
134
+ * More advanced - specify a MongoDB-style query (using sift.js github.com/crcn/sift.js)
135
+ * of what the children objects should match, e.g.
136
+ *
137
+ * @example
138
+ * query: {
139
+ * // Child of this element must be a 'Button' or 'Text' component
140
+ * 'component.name': { $in: ['Button', 'Text'] }
141
+ * }
142
+ */
143
+ query?: any;
144
+ };
145
+
146
+ /**
147
+ * Specify restrictions any parent must match
148
+ */
149
+ requiresParent?: {
150
+ /** Message to show when this doesn't match, e.g. "'Add to cart' buttons must be within a 'Product box'" */
151
+ message: string;
152
+ /** Simple way to say a parent must be a specific component name, e.g. 'Product box' */
153
+ component?: string;
154
+
155
+ /**
156
+ * More advanced - specify a MongoDB-style query (using sift.js github.com/crcn/sift.js)
157
+ * of what at least one parent in the parents hierarchy should match, e.g.
158
+ *
159
+ * @example
160
+ * query: {
161
+ * // Thils element must be somewhere inside either a 'Product box' or 'Collection' component
162
+ * 'component.name': { $in: ['Product Box', 'Collection'] }
163
+ * }
164
+ */
165
+ query?: any;
166
+ };
167
+
168
+ /** not yet implemented */
169
+ friendlyName?: string;
170
+
171
+ /**
172
+ * Use to restrict access to your component based on a the current user permissions
173
+ * By default components will show to all users
174
+ * for more information on permissions in builder check https://www.builder.io/c/docs/guides/roles-and-permissions
175
+ */
176
+ requiredPermissions?: Array<Permission>;
177
+
178
+ // TO-DO: is this used?
179
+ hidden?: boolean;
180
+ }
181
+
182
+ type Permission =
183
+ | 'read'
184
+ | 'publish'
185
+ | 'editCode'
186
+ | 'editDesigns'
187
+ | 'admin'
188
+ | 'create';
@@ -0,0 +1,7 @@
1
+ export type DeepPartial<T> = {
2
+ [P in keyof T]?: T[P] extends Array<infer U>
3
+ ? Array<DeepPartial<U>>
4
+ : T[P] extends ReadonlyArray<infer U>
5
+ ? ReadonlyArray<DeepPartial<U>>
6
+ : DeepPartial<T[P]>;
7
+ };
@@ -0,0 +1,60 @@
1
+ type JSONValue = string | number | boolean | JSONObject | JSONArray;
2
+
3
+ interface JSONObject {
4
+ [x: string]: JSONValue;
5
+ }
6
+
7
+ interface JSONArray extends Array<JSONValue> {}
8
+
9
+ /** @todo typedoc this */
10
+ export interface BuilderElement {
11
+ '@type': '@builder.io/sdk:Element';
12
+ '@version'?: number;
13
+ id?: string;
14
+ tagName?: string;
15
+ layerName?: string;
16
+ groupLocked?: boolean;
17
+ layerLocked?: boolean;
18
+ /** @todo make alias for properties.class */
19
+ class?: string;
20
+ children?: BuilderElement[];
21
+ responsiveStyles?: {
22
+ large?: Partial<CSSStyleDeclaration>;
23
+ medium?: Partial<CSSStyleDeclaration>;
24
+ small?: Partial<CSSStyleDeclaration>;
25
+ /** @deprecated */
26
+ xsmall?: Partial<CSSStyleDeclaration>;
27
+ };
28
+ component?: {
29
+ name: string;
30
+ options?: any;
31
+ tag?: string;
32
+ };
33
+ bindings?: {
34
+ [key: string]: string;
35
+ };
36
+ meta?: {
37
+ [key: string]: JSONValue;
38
+ };
39
+ actions?: {
40
+ [key: string]: string;
41
+ };
42
+ properties?: {
43
+ [key: string]: string;
44
+ };
45
+ code?: {
46
+ bindings?: {
47
+ [key: string]: string;
48
+ };
49
+ actions?: {
50
+ [key: string]: string;
51
+ };
52
+ };
53
+ repeat?: {
54
+ collection: string;
55
+ itemName?: string;
56
+ } | null;
57
+ animations?: Animation[]; // TODO: type the animation spec
58
+ }
59
+
60
+ interface Animation {}
@@ -0,0 +1,6 @@
1
+ type MitosisTargets = import('@builder.io/mitosis').Target;
2
+
3
+ export type Target = Extract<
4
+ MitosisTargets,
5
+ 'vue3' | 'vue2' | 'reactNative' | 'svelte' | 'qwik'
6
+ >;
@@ -0,0 +1,7 @@
1
+ export type Nullable<T> = T | null | undefined;
2
+
3
+ export type Dictionary<T> = { [key: string]: T };
4
+
5
+ export type Overwrite<T, U> = keyof U extends keyof T
6
+ ? Pick<T, Exclude<keyof T, keyof U>> & U
7
+ : never;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +0,0 @@
1
- export declare const convertStyleObject: (obj?: Partial<CSSStyleDeclaration>) => Partial<CSSStyleDeclaration> | undefined;
@@ -1,3 +0,0 @@
1
- export const convertStyleObject = (obj) => {
2
- return obj;
3
- };
@@ -1,2 +0,0 @@
1
- import { BuilderBlock } from '../types/builder-block.js';
2
- export declare function getBlockStyles(block: BuilderBlock): any;
@@ -1,21 +0,0 @@
1
- import { getMaxWidthQueryForSize } from '../constants/device-sizes.js';
2
- import '../types/builder-block.js';
3
- import { convertStyleObject } from './convert-style-object.js';
4
- import { sanitizeBlockStyles } from './sanitize-styles.js';
5
- export function getBlockStyles(block) {
6
- const styles = {
7
- ...convertStyleObject(block.responsiveStyles?.large),
8
- /**
9
- * TO-DO: remove?
10
- */
11
- ...block.styles,
12
- };
13
- if (block.responsiveStyles?.medium) {
14
- styles[getMaxWidthQueryForSize('medium')] = convertStyleObject(block.responsiveStyles?.medium);
15
- }
16
- if (block.responsiveStyles?.small) {
17
- styles[getMaxWidthQueryForSize('small')] = convertStyleObject(block.responsiveStyles?.small);
18
- }
19
- sanitizeBlockStyles(styles);
20
- return styles;
21
- }
@@ -1,4 +0,0 @@
1
- /**
2
- * No-op function, sanitize on a per-framework basis by overriding.
3
- */
4
- export declare const sanitizeBlockStyles: (_styles: Partial<CSSStyleDeclaration>) => void;
@@ -1,6 +0,0 @@
1
- /**
2
- * No-op function, sanitize on a per-framework basis by overriding.
3
- */
4
- export const sanitizeBlockStyles = (_styles
5
- // eslint-disable-next-line @typescript-eslint/no-empty-function
6
- ) => { };