@webstudio-is/react-sdk 0.60.0 → 0.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/lib/app/custom-components/__generated__/form.props.js +412 -0
  2. package/lib/app/custom-components/__generated__/image.props.js +442 -0
  3. package/lib/app/custom-components/__generated__/link-block.props.js +432 -0
  4. package/lib/app/custom-components/__generated__/link.props.js +432 -0
  5. package/lib/app/custom-components/__generated__/rich-text-link.props.js +432 -0
  6. package/lib/app/custom-components/form.js +54 -0
  7. package/lib/app/custom-components/form.ws.js +81 -0
  8. package/lib/app/custom-components/index.js +10 -4
  9. package/lib/cjs/app/custom-components/__generated__/form.props.js +432 -0
  10. package/lib/cjs/app/custom-components/__generated__/image.props.js +462 -0
  11. package/lib/cjs/app/custom-components/__generated__/link-block.props.js +452 -0
  12. package/lib/cjs/app/custom-components/__generated__/link.props.js +452 -0
  13. package/lib/cjs/app/custom-components/__generated__/rich-text-link.props.js +452 -0
  14. package/lib/cjs/app/custom-components/form.js +70 -0
  15. package/lib/cjs/app/custom-components/form.ws.js +101 -0
  16. package/lib/cjs/app/custom-components/index.js +12 -6
  17. package/lib/cjs/components/__generated__/checkbox-field.props.js +419 -0
  18. package/lib/cjs/components/__generated__/checkbox.props.js +459 -0
  19. package/lib/cjs/components/__generated__/error-message.props.js +418 -0
  20. package/lib/cjs/components/__generated__/input.props.js +8 -3
  21. package/lib/cjs/components/__generated__/label.props.js +420 -0
  22. package/lib/cjs/components/__generated__/radio-button-field.props.js +419 -0
  23. package/lib/cjs/components/__generated__/radio-button.props.js +459 -0
  24. package/lib/cjs/components/__generated__/success-message.props.js +418 -0
  25. package/lib/cjs/components/__generated__/textarea.props.js +432 -0
  26. package/lib/cjs/components/blockquote.ws.js +36 -48
  27. package/lib/cjs/components/body.ws.js +20 -17
  28. package/lib/cjs/components/button.ws.js +8 -3
  29. package/lib/cjs/components/checkbox-field.js +29 -0
  30. package/lib/cjs/components/checkbox-field.ws.js +53 -0
  31. package/lib/cjs/components/checkbox.js +29 -0
  32. package/lib/cjs/components/checkbox.ws.js +55 -0
  33. package/lib/cjs/components/code.ws.js +20 -28
  34. package/lib/cjs/components/component-meta.js +3 -1
  35. package/lib/cjs/components/components-utils.js +9 -1
  36. package/lib/cjs/components/components.js +17 -1
  37. package/lib/cjs/components/error-message.js +29 -0
  38. package/lib/cjs/components/error-message.ws.js +40 -0
  39. package/lib/cjs/components/form.js +1 -1
  40. package/lib/cjs/components/form.ws.js +35 -9
  41. package/lib/cjs/components/heading.ws.js +1 -1
  42. package/lib/cjs/components/image.ws.js +8 -9
  43. package/lib/cjs/components/index.js +43 -2
  44. package/lib/cjs/components/input.ws.js +15 -3
  45. package/lib/cjs/components/italic.ws.js +5 -5
  46. package/lib/cjs/components/label.js +29 -0
  47. package/lib/cjs/components/label.ws.js +54 -0
  48. package/lib/cjs/components/link-block.ws.js +6 -6
  49. package/lib/cjs/components/link.ws.js +9 -10
  50. package/lib/cjs/components/list-item.ws.js +2 -1
  51. package/lib/cjs/components/list.ws.js +22 -22
  52. package/lib/cjs/components/paragraph.ws.js +1 -1
  53. package/lib/cjs/components/radio-button-field.js +29 -0
  54. package/lib/cjs/components/radio-button-field.ws.js +53 -0
  55. package/lib/cjs/components/radio-button.js +29 -0
  56. package/lib/cjs/components/radio-button.ws.js +55 -0
  57. package/lib/cjs/components/separator.ws.js +20 -20
  58. package/lib/cjs/components/success-message.js +29 -0
  59. package/lib/cjs/components/success-message.ws.js +40 -0
  60. package/lib/cjs/components/text-block.ws.js +6 -7
  61. package/lib/cjs/components/textarea.js +29 -0
  62. package/lib/cjs/components/textarea.ws.js +56 -0
  63. package/lib/cjs/css/css.js +6 -9
  64. package/lib/cjs/css/normalize.js +168 -185
  65. package/lib/cjs/css/presets.js +14 -34
  66. package/lib/cjs/css/style-rules.js +17 -0
  67. package/lib/cjs/embed-template.js +160 -0
  68. package/lib/cjs/index.js +1 -0
  69. package/lib/components/__generated__/checkbox-field.props.js +399 -0
  70. package/lib/components/__generated__/checkbox.props.js +439 -0
  71. package/lib/components/__generated__/error-message.props.js +398 -0
  72. package/lib/components/__generated__/input.props.js +8 -3
  73. package/lib/components/__generated__/label.props.js +400 -0
  74. package/lib/components/__generated__/radio-button-field.props.js +399 -0
  75. package/lib/components/__generated__/radio-button.props.js +439 -0
  76. package/lib/components/__generated__/success-message.props.js +398 -0
  77. package/lib/components/__generated__/textarea.props.js +412 -0
  78. package/lib/components/blockquote.ws.js +36 -48
  79. package/lib/components/body.ws.js +20 -17
  80. package/lib/components/button.ws.js +8 -3
  81. package/lib/components/checkbox-field.js +9 -0
  82. package/lib/components/checkbox-field.ws.js +33 -0
  83. package/lib/components/checkbox.js +9 -0
  84. package/lib/components/checkbox.ws.js +35 -0
  85. package/lib/components/code.ws.js +20 -28
  86. package/lib/components/component-meta.js +3 -1
  87. package/lib/components/components-utils.js +9 -1
  88. package/lib/components/components.js +17 -1
  89. package/lib/components/error-message.js +9 -0
  90. package/lib/components/error-message.ws.js +20 -0
  91. package/lib/components/form.js +1 -1
  92. package/lib/components/form.ws.js +35 -9
  93. package/lib/components/heading.ws.js +1 -1
  94. package/lib/components/image.ws.js +8 -9
  95. package/lib/components/index.js +43 -2
  96. package/lib/components/input.ws.js +15 -3
  97. package/lib/components/italic.ws.js +5 -5
  98. package/lib/components/label.js +9 -0
  99. package/lib/components/label.ws.js +34 -0
  100. package/lib/components/link-block.ws.js +7 -7
  101. package/lib/components/link.ws.js +9 -10
  102. package/lib/components/list-item.ws.js +2 -1
  103. package/lib/components/list.ws.js +22 -22
  104. package/lib/components/paragraph.ws.js +1 -1
  105. package/lib/components/radio-button-field.js +9 -0
  106. package/lib/components/radio-button-field.ws.js +33 -0
  107. package/lib/components/radio-button.js +9 -0
  108. package/lib/components/radio-button.ws.js +35 -0
  109. package/lib/components/separator.ws.js +20 -20
  110. package/lib/components/success-message.js +9 -0
  111. package/lib/components/success-message.ws.js +20 -0
  112. package/lib/components/text-block.ws.js +6 -7
  113. package/lib/components/textarea.js +9 -0
  114. package/lib/components/textarea.ws.js +36 -0
  115. package/lib/css/css.js +8 -11
  116. package/lib/css/normalize.js +168 -185
  117. package/lib/css/presets.js +14 -34
  118. package/lib/css/style-rules.js +17 -0
  119. package/lib/embed-template.js +140 -0
  120. package/lib/index.js +1 -0
  121. package/lib/types/app/custom-components/__generated__/form.props.d.ts +2 -0
  122. package/lib/types/app/custom-components/__generated__/image.props.d.ts +2 -0
  123. package/lib/types/app/custom-components/__generated__/link-block.props.d.ts +2 -0
  124. package/lib/types/app/custom-components/__generated__/link.props.d.ts +2 -0
  125. package/lib/types/app/custom-components/__generated__/rich-text-link.props.d.ts +2 -0
  126. package/lib/types/app/custom-components/form.d.ts +5 -0
  127. package/lib/types/app/custom-components/form.ws.d.ts +3 -0
  128. package/lib/types/app/custom-components/index.d.ts +6 -1
  129. package/lib/types/components/__generated__/checkbox-field.props.d.ts +2 -0
  130. package/lib/types/components/__generated__/checkbox.props.d.ts +2 -0
  131. package/lib/types/components/__generated__/error-message.props.d.ts +2 -0
  132. package/lib/types/components/__generated__/label.props.d.ts +2 -0
  133. package/lib/types/components/__generated__/radio-button-field.props.d.ts +2 -0
  134. package/lib/types/components/__generated__/radio-button.props.d.ts +2 -0
  135. package/lib/types/components/__generated__/success-message.props.d.ts +2 -0
  136. package/lib/types/components/__generated__/textarea.props.d.ts +2 -0
  137. package/lib/types/components/box.stories.d.ts +2 -2
  138. package/lib/types/components/checkbox-field.d.ts +3 -0
  139. package/lib/types/components/checkbox-field.ws.d.ts +3 -0
  140. package/lib/types/components/checkbox.d.ts +3 -0
  141. package/lib/types/components/checkbox.ws.d.ts +3 -0
  142. package/lib/types/components/component-meta.d.ts +23 -5
  143. package/lib/types/components/components-utils.d.ts +5 -20
  144. package/lib/types/components/components.d.ts +8 -0
  145. package/lib/types/components/error-message.d.ts +3 -0
  146. package/lib/types/components/error-message.ws.d.ts +3 -0
  147. package/lib/types/components/index.d.ts +1 -0
  148. package/lib/types/components/input.d.ts +3 -1
  149. package/lib/types/components/input.stories.d.ts +6 -2
  150. package/lib/types/components/label.d.ts +3 -0
  151. package/lib/types/components/label.ws.d.ts +3 -0
  152. package/lib/types/components/radio-button-field.d.ts +3 -0
  153. package/lib/types/components/radio-button-field.ws.d.ts +3 -0
  154. package/lib/types/components/radio-button.d.ts +3 -0
  155. package/lib/types/components/radio-button.ws.d.ts +3 -0
  156. package/lib/types/components/success-message.d.ts +3 -0
  157. package/lib/types/components/success-message.ws.d.ts +3 -0
  158. package/lib/types/components/textarea.d.ts +3 -0
  159. package/lib/types/components/textarea.ws.d.ts +3 -0
  160. package/lib/types/css/normalize.d.ts +8977 -2286
  161. package/lib/types/css/presets.d.ts +2 -38
  162. package/lib/types/css/style-rules.d.ts +11 -9
  163. package/lib/types/embed-template.d.ts +1725 -0
  164. package/lib/types/embed-template.test.d.ts +1 -0
  165. package/lib/types/index.d.ts +1 -0
  166. package/package.json +15 -14
  167. package/src/app/custom-components/__generated__/form.props.ts +457 -0
  168. package/src/app/custom-components/__generated__/image.props.ts +487 -0
  169. package/src/app/custom-components/__generated__/link-block.props.ts +477 -0
  170. package/src/app/custom-components/__generated__/link.props.ts +477 -0
  171. package/src/app/custom-components/__generated__/rich-text-link.props.ts +477 -0
  172. package/src/app/custom-components/form.tsx +94 -0
  173. package/src/app/custom-components/form.ws.tsx +86 -0
  174. package/src/app/custom-components/index.ts +9 -4
  175. package/src/components/__generated__/checkbox-field.props.ts +444 -0
  176. package/src/components/__generated__/checkbox.props.ts +484 -0
  177. package/src/components/__generated__/error-message.props.ts +443 -0
  178. package/src/components/__generated__/input.props.ts +8 -3
  179. package/src/components/__generated__/label.props.ts +445 -0
  180. package/src/components/__generated__/radio-button-field.props.ts +444 -0
  181. package/src/components/__generated__/radio-button.props.ts +484 -0
  182. package/src/components/__generated__/success-message.props.ts +443 -0
  183. package/src/components/__generated__/textarea.props.ts +457 -0
  184. package/src/components/blockquote.ws.tsx +42 -52
  185. package/src/components/body.ws.tsx +26 -23
  186. package/src/components/bold.ws.tsx +6 -3
  187. package/src/components/box.ws.ts +6 -3
  188. package/src/components/button.ws.tsx +13 -5
  189. package/src/components/checkbox-field.tsx +10 -0
  190. package/src/components/checkbox-field.ws.tsx +38 -0
  191. package/src/components/checkbox.tsx +13 -0
  192. package/src/components/checkbox.ws.tsx +40 -0
  193. package/src/components/code.ws.tsx +26 -32
  194. package/src/components/component-meta.ts +6 -3
  195. package/src/components/components-utils.ts +16 -10
  196. package/src/components/components.ts +8 -0
  197. package/src/components/error-message.tsx +10 -0
  198. package/src/components/error-message.ws.tsx +24 -0
  199. package/src/components/form.tsx +5 -1
  200. package/src/components/form.ws.tsx +39 -10
  201. package/src/components/heading.ws.tsx +7 -4
  202. package/src/components/image.ws.tsx +14 -12
  203. package/src/components/index.ts +47 -0
  204. package/src/components/input.tsx +3 -1
  205. package/src/components/input.ws.tsx +19 -4
  206. package/src/components/italic.ws.tsx +11 -8
  207. package/src/components/label.tsx +10 -0
  208. package/src/components/label.ws.tsx +39 -0
  209. package/src/components/link-block.ws.tsx +13 -10
  210. package/src/components/link.ws.tsx +15 -13
  211. package/src/components/list-item.ws.tsx +8 -4
  212. package/src/components/list.ws.tsx +28 -25
  213. package/src/components/paragraph.ws.tsx +7 -4
  214. package/src/components/radio-button-field.tsx +10 -0
  215. package/src/components/radio-button-field.ws.tsx +38 -0
  216. package/src/components/radio-button.tsx +13 -0
  217. package/src/components/radio-button.ws.tsx +40 -0
  218. package/src/components/separator.ws.tsx +26 -25
  219. package/src/components/span.ws.tsx +6 -3
  220. package/src/components/subscript.ws.tsx +6 -3
  221. package/src/components/success-message.tsx +10 -0
  222. package/src/components/success-message.ws.tsx +24 -0
  223. package/src/components/superscript.ws.tsx +6 -3
  224. package/src/components/text-block.ws.tsx +12 -11
  225. package/src/components/textarea.tsx +13 -0
  226. package/src/components/textarea.ws.tsx +41 -0
  227. package/src/css/css.ts +8 -11
  228. package/src/css/normalize.ts +166 -188
  229. package/src/css/presets.ts +15 -37
  230. package/src/css/style-rules.ts +24 -0
  231. package/src/embed-template.test.ts +210 -0
  232. package/src/embed-template.ts +187 -0
  233. package/src/index.ts +1 -0
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var checkbox_field_ws_exports = {};
20
+ __export(checkbox_field_ws_exports, {
21
+ meta: () => meta,
22
+ propsMeta: () => propsMeta
23
+ });
24
+ module.exports = __toCommonJS(checkbox_field_ws_exports);
25
+ var import_icons = require("@webstudio-is/icons");
26
+ var import_checkbox_field = require("./__generated__/checkbox-field.props");
27
+ var import_normalize = require("../css/normalize");
28
+ const presetStyle = {
29
+ label: [
30
+ ...import_normalize.label,
31
+ { property: "display", value: { type: "keyword", value: "flex" } }
32
+ ]
33
+ };
34
+ const meta = {
35
+ category: "forms",
36
+ type: "container",
37
+ label: "Checkbox Field",
38
+ Icon: import_icons.CheckboxCheckedIcon,
39
+ presetStyle,
40
+ children: [
41
+ { type: "instance", component: "Checkbox", props: [], children: [] },
42
+ {
43
+ type: "instance",
44
+ component: "TextBlock",
45
+ props: [],
46
+ children: [{ type: "text", value: "Checkbox" }]
47
+ }
48
+ ]
49
+ };
50
+ const propsMeta = {
51
+ props: import_checkbox_field.props,
52
+ initialProps: []
53
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var checkbox_exports = {};
20
+ __export(checkbox_exports, {
21
+ Checkbox: () => Checkbox,
22
+ defaultTag: () => defaultTag
23
+ });
24
+ module.exports = __toCommonJS(checkbox_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_react = require("react");
27
+ const defaultTag = "input";
28
+ const Checkbox = (0, import_react.forwardRef)(({ children: _children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ...props, type: "checkbox", ref }));
29
+ Checkbox.displayName = "Checkbox";
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var checkbox_ws_exports = {};
20
+ __export(checkbox_ws_exports, {
21
+ meta: () => meta,
22
+ propsMeta: () => propsMeta
23
+ });
24
+ module.exports = __toCommonJS(checkbox_ws_exports);
25
+ var import_icons = require("@webstudio-is/icons");
26
+ var import_normalize = require("../css/normalize");
27
+ var import_checkbox = require("./__generated__/checkbox.props");
28
+ const presetStyle = {
29
+ input: [
30
+ ...import_normalize.input,
31
+ {
32
+ property: "marginRight",
33
+ value: { type: "unit", unit: "em", value: 0.5 }
34
+ }
35
+ ]
36
+ };
37
+ const meta = {
38
+ type: "control",
39
+ label: "Checkbox",
40
+ Icon: import_icons.CheckboxCheckedIcon,
41
+ presetStyle,
42
+ states: [
43
+ { selector: ":checked", label: "Checked" },
44
+ { selector: ":required", label: "Required" },
45
+ { selector: ":optional", label: "Optional" },
46
+ { selector: ":disabled", label: "Disabled" },
47
+ { selector: ":enabled", label: "Enabled" },
48
+ { selector: ":read-only", label: "Read Only" },
49
+ { selector: ":read-write", label: "Read Write" }
50
+ ]
51
+ };
52
+ const propsMeta = {
53
+ props: import_checkbox.props,
54
+ initialProps: ["name"]
55
+ };
@@ -26,38 +26,30 @@ var import_icons = require("@webstudio-is/icons");
26
26
  var import_code = require("./code");
27
27
  var import_code2 = require("./__generated__/code.props");
28
28
  var import_normalize = require("../css/normalize");
29
- const display = {
30
- type: "var",
31
- value: import_code.displayVarNamespace,
32
- fallbacks: [
33
- {
34
- type: "keyword",
35
- value: "inline-block"
36
- }
37
- ]
38
- };
39
29
  const presetStyle = {
40
- code: {
30
+ code: [
41
31
  ...import_normalize.code,
42
- display,
43
- paddingLeft: {
44
- type: "unit",
45
- value: 0.2,
46
- unit: "em"
32
+ {
33
+ property: "display",
34
+ value: {
35
+ type: "var",
36
+ value: import_code.displayVarNamespace,
37
+ fallbacks: [{ type: "keyword", value: "inline-block" }]
38
+ }
47
39
  },
48
- paddingRight: {
49
- type: "unit",
50
- value: 0.2,
51
- unit: "em"
40
+ {
41
+ property: "paddingLeft",
42
+ value: { type: "unit", value: 0.2, unit: "em" }
52
43
  },
53
- backgroundColor: {
54
- type: "rgb",
55
- r: 238,
56
- g: 238,
57
- b: 238,
58
- alpha: 1
44
+ {
45
+ property: "paddingRight",
46
+ value: { type: "unit", value: 0.2, unit: "em" }
47
+ },
48
+ {
49
+ property: "backgroundColor",
50
+ value: { type: "rgb", r: 238, g: 238, b: 238, alpha: 1 }
59
51
  }
60
- }
52
+ ]
61
53
  };
62
54
  const meta = {
63
55
  category: "general",
@@ -65,7 +57,7 @@ const meta = {
65
57
  label: "Code",
66
58
  Icon: import_icons.CodeIcon,
67
59
  presetStyle,
68
- children: ["Code you can edit"]
60
+ children: [{ type: "text", value: "Code you can edit" }]
69
61
  };
70
62
  const propsMeta = {
71
63
  props: import_code2.props,
@@ -24,6 +24,7 @@ __export(component_meta_exports, {
24
24
  module.exports = __toCommonJS(component_meta_exports);
25
25
  var import_zod = require("zod");
26
26
  var import_generate_arg_types = require("@webstudio-is/generate-arg-types");
27
+ var import_embed_template = require("../embed-template");
27
28
  const WsComponentPropsMeta = import_zod.z.object({
28
29
  props: import_zod.z.record(import_generate_arg_types.PropMeta),
29
30
  initialProps: import_zod.z.array(import_zod.z.string()).optional()
@@ -52,9 +53,10 @@ const WsComponentMeta = import_zod.z.object({
52
53
  "rich-text",
53
54
  "rich-text-child"
54
55
  ]),
56
+ acceptedParents: import_zod.z.optional(import_zod.z.array(import_zod.z.string())),
55
57
  label: import_zod.z.string(),
56
58
  Icon: import_zod.z.function(),
57
59
  presetStyle: import_zod.z.optional(import_zod.z.any()),
58
60
  states: import_zod.z.optional(import_zod.z.array(ComponentState)),
59
- children: import_zod.z.optional(import_zod.z.array(import_zod.z.string()))
61
+ children: import_zod.z.optional(import_embed_template.WsEmbedTemplate)
60
62
  });
@@ -59,7 +59,15 @@ const componentNames = Object.keys({
59
59
  List: 1,
60
60
  ListItem: 1,
61
61
  Separator: 1,
62
- Code: 1
62
+ Code: 1,
63
+ Label: 1,
64
+ SuccessMessage: 1,
65
+ ErrorMessage: 1,
66
+ Textarea: 1,
67
+ RadioButtonField: 1,
68
+ RadioButton: 1,
69
+ CheckboxField: 1,
70
+ Checkbox: 1
63
71
  });
64
72
  const getComponentNames = () => {
65
73
  const uniqueNames = /* @__PURE__ */ new Set([
@@ -23,25 +23,33 @@ __export(components_exports, {
23
23
  Bold: () => import_bold.Bold,
24
24
  Box: () => import_box.Box,
25
25
  Button: () => import_button.Button,
26
+ Checkbox: () => import_checkbox.Checkbox,
27
+ CheckboxField: () => import_checkbox_field.CheckboxField,
26
28
  Code: () => import_code.Code,
29
+ ErrorMessage: () => import_error_message.ErrorMessage,
27
30
  Form: () => import_form.Form,
28
31
  Fragment: () => import_fragment.Fragment,
29
32
  Heading: () => import_heading.Heading,
30
33
  Image: () => import_image.Image,
31
34
  Input: () => import_input.Input,
32
35
  Italic: () => import_italic.Italic,
36
+ Label: () => import_label.Label,
33
37
  Link: () => import_link.Link,
34
38
  LinkBlock: () => import_link_block.LinkBlock,
35
39
  List: () => import_list.List,
36
40
  ListItem: () => import_list_item.ListItem,
37
41
  Paragraph: () => import_paragraph.Paragraph,
42
+ RadioButton: () => import_radio_button.RadioButton,
43
+ RadioButtonField: () => import_radio_button_field.RadioButtonField,
38
44
  RichTextLink: () => import_rich_text_link.RichTextLink,
39
45
  Separator: () => import_separator.Separator,
40
46
  Slot: () => import_slot.Slot,
41
47
  Span: () => import_span.Span,
42
48
  Subscript: () => import_subscript.Subscript,
49
+ SuccessMessage: () => import_success_message.SuccessMessage,
43
50
  Superscript: () => import_superscript.Superscript,
44
- TextBlock: () => import_text_block.TextBlock
51
+ TextBlock: () => import_text_block.TextBlock,
52
+ Textarea: () => import_textarea.Textarea
45
53
  });
46
54
  module.exports = __toCommonJS(components_exports);
47
55
  var import_slot = require("./slot");
@@ -68,3 +76,11 @@ var import_list = require("./list");
68
76
  var import_list_item = require("./list-item");
69
77
  var import_separator = require("./separator");
70
78
  var import_code = require("./code");
79
+ var import_label = require("./label");
80
+ var import_success_message = require("./success-message");
81
+ var import_error_message = require("./error-message");
82
+ var import_textarea = require("./textarea");
83
+ var import_radio_button_field = require("./radio-button-field");
84
+ var import_radio_button = require("./radio-button");
85
+ var import_checkbox_field = require("./checkbox-field");
86
+ var import_checkbox = require("./checkbox");
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var error_message_exports = {};
20
+ __export(error_message_exports, {
21
+ ErrorMessage: () => ErrorMessage,
22
+ defaultTag: () => defaultTag
23
+ });
24
+ module.exports = __toCommonJS(error_message_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_react = require("react");
27
+ const defaultTag = "div";
28
+ const ErrorMessage = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...props, ref }));
29
+ ErrorMessage.displayName = "ErrorMessage";
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var error_message_ws_exports = {};
20
+ __export(error_message_ws_exports, {
21
+ meta: () => meta,
22
+ propsMeta: () => propsMeta
23
+ });
24
+ module.exports = __toCommonJS(error_message_ws_exports);
25
+ var import_icons = require("@webstudio-is/icons");
26
+ var import_error_message = require("./__generated__/error-message.props");
27
+ var import_normalize = require("../css/normalize");
28
+ const presetStyle = {
29
+ div: import_normalize.div
30
+ };
31
+ const meta = {
32
+ type: "container",
33
+ label: "Error Message",
34
+ Icon: import_icons.BoxIcon,
35
+ presetStyle
36
+ };
37
+ const propsMeta = {
38
+ props: import_error_message.props,
39
+ initialProps: []
40
+ };
@@ -25,5 +25,5 @@ module.exports = __toCommonJS(form_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
26
  var import_react = require("react");
27
27
  const defaultTag = "form";
28
- const Form = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("form", { ...props, ref }));
28
+ const Form = (0, import_react.forwardRef)(({ children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("form", { ...props, ref, children }));
29
29
  Form.displayName = "Form";
@@ -26,22 +26,48 @@ var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
27
  var import_form = require("./__generated__/form.props");
28
28
  const presetStyle = {
29
- form: {
29
+ form: [
30
30
  ...import_normalize.form,
31
- minHeight: {
32
- type: "unit",
33
- unit: "px",
34
- value: 20
35
- }
36
- }
31
+ { property: "minHeight", value: { type: "unit", unit: "px", value: 20 } }
32
+ ]
37
33
  };
38
34
  const meta = {
39
35
  category: "forms",
40
36
  type: "container",
41
37
  label: "Form",
42
38
  Icon: import_icons.FormIcon,
43
- presetStyle
39
+ presetStyle,
40
+ children: [
41
+ {
42
+ type: "instance",
43
+ component: "Label",
44
+ children: [{ type: "text", value: "Name" }]
45
+ },
46
+ {
47
+ type: "instance",
48
+ component: "Input",
49
+ props: [{ type: "string", name: "name", value: "name" }],
50
+ children: []
51
+ },
52
+ {
53
+ type: "instance",
54
+ component: "Label",
55
+ children: [{ type: "text", value: "Email" }]
56
+ },
57
+ {
58
+ type: "instance",
59
+ component: "Input",
60
+ props: [{ type: "string", name: "email", value: "email" }],
61
+ children: []
62
+ },
63
+ {
64
+ type: "instance",
65
+ component: "Button",
66
+ children: [{ type: "text", value: "Submit" }]
67
+ }
68
+ ]
44
69
  };
45
70
  const propsMeta = {
46
- props: import_form.props
71
+ props: import_form.props,
72
+ initialProps: []
47
73
  };
@@ -38,7 +38,7 @@ const meta = {
38
38
  type: "rich-text",
39
39
  label: "Heading",
40
40
  Icon: import_icons.HeadingIcon,
41
- children: ["Heading you can edit"],
41
+ children: [{ type: "text", value: "Heading you can edit" }],
42
42
  presetStyle
43
43
  };
44
44
  const propsMeta = {
@@ -26,21 +26,20 @@ var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
27
  var import_image = require("./__generated__/image.props");
28
28
  const presetStyle = {
29
- img: {
29
+ img: [
30
30
  ...import_normalize.img,
31
31
  // Otherwise on new image insert onto canvas it can overfit screen size multiple times
32
- maxWidth: {
33
- type: "unit",
34
- unit: "%",
35
- value: 100
32
+ {
33
+ property: "maxWidth",
34
+ value: { type: "unit", unit: "%", value: 100 }
36
35
  },
37
36
  // inline | inline-block is not suitable because without line-height: 0 on the parent you get unsuitable spaces/margins
38
37
  // see https://stackoverflow.com/questions/24771194/is-the-margin-of-inline-block-4px-is-static-for-all-browsers
39
- display: {
40
- type: "keyword",
41
- value: "block"
38
+ {
39
+ property: "display",
40
+ value: { type: "keyword", value: "block" }
42
41
  }
43
- }
42
+ ]
44
43
  };
45
44
  const meta = {
46
45
  category: "media",
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var components_exports = {};
20
20
  __export(components_exports, {
21
+ canAcceptComponent: () => canAcceptComponent,
21
22
  getComponentMeta: () => getComponentMeta,
22
23
  getComponentPropsMeta: () => getComponentPropsMeta,
23
24
  registerComponentMetas: () => registerComponentMetas,
@@ -51,6 +52,14 @@ var import_list = require("./list.ws");
51
52
  var import_list_item = require("./list-item.ws");
52
53
  var import_separator = require("./separator.ws");
53
54
  var import_code = require("./code.ws");
55
+ var import_label = require("./label.ws");
56
+ var import_success_message = require("./success-message.ws");
57
+ var import_error_message = require("./error-message.ws");
58
+ var import_textarea = require("./textarea.ws");
59
+ var import_radio_button_field = require("./radio-button-field.ws");
60
+ var import_radio_button = require("./radio-button.ws");
61
+ var import_checkbox_field = require("./checkbox-field.ws");
62
+ var import_checkbox = require("./checkbox.ws");
54
63
  var import_slot2 = require("./slot.ws");
55
64
  var import_fragment2 = require("./fragment.ws");
56
65
  var import_body2 = require("./body.ws");
@@ -75,6 +84,14 @@ var import_list2 = require("./list.ws");
75
84
  var import_list_item2 = require("./list-item.ws");
76
85
  var import_separator2 = require("./separator.ws");
77
86
  var import_code2 = require("./code.ws");
87
+ var import_label2 = require("./label.ws");
88
+ var import_success_message2 = require("./success-message.ws");
89
+ var import_error_message2 = require("./error-message.ws");
90
+ var import_textarea2 = require("./textarea.ws");
91
+ var import_radio_button_field2 = require("./radio-button-field.ws");
92
+ var import_radio_button2 = require("./radio-button.ws");
93
+ var import_checkbox_field2 = require("./checkbox-field.ws");
94
+ var import_checkbox2 = require("./checkbox.ws");
78
95
  const defaultMetas = {
79
96
  Slot: import_slot.meta,
80
97
  Fragment: import_fragment.meta,
@@ -99,7 +116,15 @@ const defaultMetas = {
99
116
  List: import_list.meta,
100
117
  ListItem: import_list_item.meta,
101
118
  Separator: import_separator.meta,
102
- Code: import_code.meta
119
+ Code: import_code.meta,
120
+ Label: import_label.meta,
121
+ SuccessMessage: import_success_message.meta,
122
+ ErrorMessage: import_error_message.meta,
123
+ Textarea: import_textarea.meta,
124
+ RadioButtonField: import_radio_button_field.meta,
125
+ RadioButton: import_radio_button.meta,
126
+ CheckboxField: import_checkbox_field.meta,
127
+ Checkbox: import_checkbox.meta
103
128
  };
104
129
  let currentMetas = defaultMetas;
105
130
  const getComponentMeta = (name) => {
@@ -136,7 +161,15 @@ const defaultPropsMetasRaw = {
136
161
  List: import_list2.propsMeta,
137
162
  ListItem: import_list_item2.propsMeta,
138
163
  Separator: import_separator2.propsMeta,
139
- Code: import_code2.propsMeta
164
+ Code: import_code2.propsMeta,
165
+ Label: import_label2.propsMeta,
166
+ SuccessMessage: import_success_message2.propsMeta,
167
+ ErrorMessage: import_error_message2.propsMeta,
168
+ Textarea: import_textarea2.propsMeta,
169
+ RadioButtonField: import_radio_button_field2.propsMeta,
170
+ RadioButton: import_radio_button2.propsMeta,
171
+ CheckboxField: import_checkbox_field2.propsMeta,
172
+ Checkbox: import_checkbox2.propsMeta
140
173
  };
141
174
  const defaultPropsMetas = defaultPropsMetasRaw;
142
175
  let registeredPropsMetas = {};
@@ -191,3 +224,11 @@ const computeInitialProps = (props, defaults, overrides) => {
191
224
  ).map(([name]) => name) : [];
192
225
  return [...initialProps, ...requiredProps];
193
226
  };
227
+ const canAcceptComponent = (parentComponent, childComponent) => {
228
+ const parentMeta = getComponentMeta(parentComponent);
229
+ const childMeta = getComponentMeta(childComponent);
230
+ if (parentMeta?.type !== "container" || childMeta === void 0) {
231
+ return false;
232
+ }
233
+ return childMeta.acceptedParents === void 0 || childMeta.acceptedParents.includes(parentComponent);
234
+ };
@@ -31,10 +31,22 @@ const presetStyle = {
31
31
  const meta = {
32
32
  category: "forms",
33
33
  type: "control",
34
- label: "Input",
34
+ label: "Text Field",
35
35
  Icon: import_icons.FormTextFieldIcon,
36
- presetStyle
36
+ presetStyle,
37
+ states: [
38
+ { selector: "::placeholder", label: "Placeholder" },
39
+ { selector: ":valid", label: "Valid" },
40
+ { selector: ":invalid", label: "Invalid" },
41
+ { selector: ":required", label: "Required" },
42
+ { selector: ":optional", label: "Optional" },
43
+ { selector: ":disabled", label: "Disabled" },
44
+ { selector: ":enabled", label: "Enabled" },
45
+ { selector: ":read-only", label: "Read Only" },
46
+ { selector: ":read-write", label: "Read Write" }
47
+ ]
37
48
  };
38
49
  const propsMeta = {
39
- props: import_input.props
50
+ props: import_input.props,
51
+ initialProps: ["name", "type", "placeholder", "required", "autoFocus"]
40
52
  };
@@ -26,13 +26,13 @@ var import_icons = require("@webstudio-is/icons");
26
26
  var import_italic = require("./__generated__/italic.props");
27
27
  var import_normalize = require("../css/normalize");
28
28
  const presetStyle = {
29
- i: {
29
+ i: [
30
30
  ...import_normalize.i,
31
- fontStyle: {
32
- type: "keyword",
33
- value: "italic"
31
+ {
32
+ property: "fontStyle",
33
+ value: { type: "keyword", value: "italic" }
34
34
  }
35
- }
35
+ ]
36
36
  };
37
37
  const meta = {
38
38
  type: "rich-text-child",
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var label_exports = {};
20
+ __export(label_exports, {
21
+ Label: () => Label,
22
+ defaultTag: () => defaultTag
23
+ });
24
+ module.exports = __toCommonJS(label_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_react = require("react");
27
+ const defaultTag = "label";
28
+ const Label = (0, import_react.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { ...props, ref }));
29
+ Label.displayName = "Label";