@webstudio-is/react-sdk 0.61.0 → 0.63.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 (251) 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 +2 -0
  27. package/lib/cjs/components/body.ws.js +2 -0
  28. package/lib/cjs/components/bold.ws.js +2 -0
  29. package/lib/cjs/components/box.ws.js +2 -0
  30. package/lib/cjs/components/button.ws.js +8 -2
  31. package/lib/cjs/components/checkbox-field.js +29 -0
  32. package/lib/cjs/components/checkbox-field.ws.js +55 -0
  33. package/lib/cjs/components/checkbox.js +29 -0
  34. package/lib/cjs/components/checkbox.ws.js +57 -0
  35. package/lib/cjs/components/code.ws.js +2 -0
  36. package/lib/cjs/components/component-meta.js +13 -1
  37. package/lib/cjs/components/components-utils.js +9 -1
  38. package/lib/cjs/components/components.js +17 -1
  39. package/lib/cjs/components/error-message.js +29 -0
  40. package/lib/cjs/components/error-message.ws.js +40 -0
  41. package/lib/cjs/components/form.js +1 -1
  42. package/lib/cjs/components/form.ws.js +27 -6
  43. package/lib/cjs/components/heading.ws.js +2 -0
  44. package/lib/cjs/components/image.ws.js +2 -0
  45. package/lib/cjs/components/index.js +43 -2
  46. package/lib/cjs/components/input.ws.js +17 -3
  47. package/lib/cjs/components/italic.ws.js +2 -0
  48. package/lib/cjs/components/label.js +29 -0
  49. package/lib/cjs/components/label.ws.js +56 -0
  50. package/lib/cjs/components/link-block.ws.js +1 -1
  51. package/lib/cjs/components/link.ws.js +13 -1
  52. package/lib/cjs/components/list-item.ws.js +3 -0
  53. package/lib/cjs/components/list.ws.js +2 -0
  54. package/lib/cjs/components/paragraph.ws.js +2 -0
  55. package/lib/cjs/components/radio-button-field.js +29 -0
  56. package/lib/cjs/components/radio-button-field.ws.js +55 -0
  57. package/lib/cjs/components/radio-button.js +29 -0
  58. package/lib/cjs/components/radio-button.ws.js +57 -0
  59. package/lib/cjs/components/separator.ws.js +2 -0
  60. package/lib/cjs/components/span.ws.js +2 -0
  61. package/lib/cjs/components/subscript.ws.js +2 -0
  62. package/lib/cjs/components/success-message.js +29 -0
  63. package/lib/cjs/components/success-message.ws.js +40 -0
  64. package/lib/cjs/components/superscript.ws.js +2 -0
  65. package/lib/cjs/components/text-block.ws.js +2 -0
  66. package/lib/cjs/components/textarea.js +29 -0
  67. package/lib/cjs/components/textarea.ws.js +58 -0
  68. package/lib/cjs/css/normalize.js +3 -1
  69. package/lib/cjs/css/presets.js +19 -1
  70. package/lib/cjs/index.js +2 -1
  71. package/lib/components/__generated__/checkbox-field.props.js +399 -0
  72. package/lib/components/__generated__/checkbox.props.js +439 -0
  73. package/lib/components/__generated__/error-message.props.js +398 -0
  74. package/lib/components/__generated__/input.props.js +8 -3
  75. package/lib/components/__generated__/label.props.js +400 -0
  76. package/lib/components/__generated__/radio-button-field.props.js +399 -0
  77. package/lib/components/__generated__/radio-button.props.js +439 -0
  78. package/lib/components/__generated__/success-message.props.js +398 -0
  79. package/lib/components/__generated__/textarea.props.js +412 -0
  80. package/lib/components/blockquote.ws.js +4 -0
  81. package/lib/components/body.ws.js +4 -0
  82. package/lib/components/bold.ws.js +4 -0
  83. package/lib/components/box.ws.js +4 -0
  84. package/lib/components/button.ws.js +10 -2
  85. package/lib/components/checkbox-field.js +9 -0
  86. package/lib/components/checkbox-field.ws.js +37 -0
  87. package/lib/components/checkbox.js +9 -0
  88. package/lib/components/checkbox.ws.js +39 -0
  89. package/lib/components/code.ws.js +4 -0
  90. package/lib/components/component-meta.js +13 -1
  91. package/lib/components/components-utils.js +9 -1
  92. package/lib/components/components.js +17 -1
  93. package/lib/components/error-message.js +9 -0
  94. package/lib/components/error-message.ws.js +20 -0
  95. package/lib/components/form.js +1 -1
  96. package/lib/components/form.ws.js +29 -6
  97. package/lib/components/heading.ws.js +4 -0
  98. package/lib/components/image.ws.js +4 -0
  99. package/lib/components/index.js +43 -2
  100. package/lib/components/input.ws.js +19 -3
  101. package/lib/components/italic.ws.js +4 -0
  102. package/lib/components/label.js +9 -0
  103. package/lib/components/label.ws.js +38 -0
  104. package/lib/components/link-block.ws.js +2 -2
  105. package/lib/components/link.ws.js +15 -1
  106. package/lib/components/list-item.ws.js +5 -0
  107. package/lib/components/list.ws.js +4 -0
  108. package/lib/components/paragraph.ws.js +4 -0
  109. package/lib/components/radio-button-field.js +9 -0
  110. package/lib/components/radio-button-field.ws.js +37 -0
  111. package/lib/components/radio-button.js +9 -0
  112. package/lib/components/radio-button.ws.js +39 -0
  113. package/lib/components/separator.ws.js +4 -0
  114. package/lib/components/span.ws.js +4 -0
  115. package/lib/components/subscript.ws.js +4 -0
  116. package/lib/components/success-message.js +9 -0
  117. package/lib/components/success-message.ws.js +20 -0
  118. package/lib/components/superscript.ws.js +4 -0
  119. package/lib/components/text-block.ws.js +4 -0
  120. package/lib/components/textarea.js +9 -0
  121. package/lib/components/textarea.ws.js +40 -0
  122. package/lib/css/normalize.js +4 -2
  123. package/lib/css/presets.js +19 -1
  124. package/lib/index.js +4 -2
  125. package/lib/types/app/custom-components/__generated__/form.props.d.ts +2 -0
  126. package/lib/types/app/custom-components/__generated__/image.props.d.ts +2 -0
  127. package/lib/types/app/custom-components/__generated__/link-block.props.d.ts +2 -0
  128. package/lib/types/app/custom-components/__generated__/link.props.d.ts +2 -0
  129. package/lib/types/app/custom-components/__generated__/rich-text-link.props.d.ts +2 -0
  130. package/lib/types/app/custom-components/form.d.ts +5 -0
  131. package/lib/types/app/custom-components/form.ws.d.ts +3 -0
  132. package/lib/types/app/custom-components/index.d.ts +6 -1
  133. package/lib/types/components/__generated__/checkbox-field.props.d.ts +2 -0
  134. package/lib/types/components/__generated__/checkbox.props.d.ts +2 -0
  135. package/lib/types/components/__generated__/error-message.props.d.ts +2 -0
  136. package/lib/types/components/__generated__/label.props.d.ts +2 -0
  137. package/lib/types/components/__generated__/radio-button-field.props.d.ts +2 -0
  138. package/lib/types/components/__generated__/radio-button.props.d.ts +2 -0
  139. package/lib/types/components/__generated__/success-message.props.d.ts +2 -0
  140. package/lib/types/components/__generated__/textarea.props.d.ts +2 -0
  141. package/lib/types/components/blockquote.ws.d.ts +1 -1
  142. package/lib/types/components/body.ws.d.ts +1 -1
  143. package/lib/types/components/bold.ws.d.ts +1 -1
  144. package/lib/types/components/box.ws.d.ts +1 -1
  145. package/lib/types/components/button.ws.d.ts +1 -1
  146. package/lib/types/components/checkbox-field.d.ts +3 -0
  147. package/lib/types/components/checkbox-field.ws.d.ts +3 -0
  148. package/lib/types/components/checkbox.d.ts +3 -0
  149. package/lib/types/components/checkbox.ws.d.ts +3 -0
  150. package/lib/types/components/code.ws.d.ts +1 -1
  151. package/lib/types/components/component-meta.d.ts +17 -4
  152. package/lib/types/components/components-utils.d.ts +5 -20
  153. package/lib/types/components/components.d.ts +8 -0
  154. package/lib/types/components/error-message.d.ts +3 -0
  155. package/lib/types/components/error-message.ws.d.ts +3 -0
  156. package/lib/types/components/form.ws.d.ts +1 -1
  157. package/lib/types/components/heading.ws.d.ts +1 -1
  158. package/lib/types/components/image.ws.d.ts +1 -1
  159. package/lib/types/components/index.d.ts +1 -0
  160. package/lib/types/components/input.d.ts +3 -1
  161. package/lib/types/components/input.stories.d.ts +6 -2
  162. package/lib/types/components/input.ws.d.ts +1 -1
  163. package/lib/types/components/italic.ws.d.ts +1 -1
  164. package/lib/types/components/label.d.ts +3 -0
  165. package/lib/types/components/label.ws.d.ts +3 -0
  166. package/lib/types/components/link.ws.d.ts +1 -1
  167. package/lib/types/components/list-item.ws.d.ts +1 -1
  168. package/lib/types/components/list.ws.d.ts +1 -1
  169. package/lib/types/components/paragraph.ws.d.ts +1 -1
  170. package/lib/types/components/radio-button-field.d.ts +3 -0
  171. package/lib/types/components/radio-button-field.ws.d.ts +3 -0
  172. package/lib/types/components/radio-button.d.ts +3 -0
  173. package/lib/types/components/radio-button.ws.d.ts +3 -0
  174. package/lib/types/components/separator.ws.d.ts +1 -1
  175. package/lib/types/components/span.ws.d.ts +1 -1
  176. package/lib/types/components/subscript.ws.d.ts +1 -1
  177. package/lib/types/components/success-message.d.ts +3 -0
  178. package/lib/types/components/success-message.ws.d.ts +3 -0
  179. package/lib/types/components/superscript.ws.d.ts +1 -1
  180. package/lib/types/components/text-block.ws.d.ts +1 -1
  181. package/lib/types/components/textarea.d.ts +3 -0
  182. package/lib/types/components/textarea.ws.d.ts +3 -0
  183. package/lib/types/css/normalize.d.ts +239 -46
  184. package/lib/types/css/presets.d.ts +3 -2
  185. package/lib/types/css/style-rules.d.ts +1 -1
  186. package/lib/types/embed-template.d.ts +4 -4
  187. package/lib/types/index.d.ts +1 -1
  188. package/package.json +12 -12
  189. package/src/app/custom-components/__generated__/form.props.ts +457 -0
  190. package/src/app/custom-components/__generated__/image.props.ts +487 -0
  191. package/src/app/custom-components/__generated__/link-block.props.ts +477 -0
  192. package/src/app/custom-components/__generated__/link.props.ts +477 -0
  193. package/src/app/custom-components/__generated__/rich-text-link.props.ts +477 -0
  194. package/src/app/custom-components/form.tsx +94 -0
  195. package/src/app/custom-components/form.ws.tsx +86 -0
  196. package/src/app/custom-components/index.ts +9 -4
  197. package/src/components/__generated__/checkbox-field.props.ts +444 -0
  198. package/src/components/__generated__/checkbox.props.ts +484 -0
  199. package/src/components/__generated__/error-message.props.ts +443 -0
  200. package/src/components/__generated__/input.props.ts +8 -3
  201. package/src/components/__generated__/label.props.ts +445 -0
  202. package/src/components/__generated__/radio-button-field.props.ts +444 -0
  203. package/src/components/__generated__/radio-button.props.ts +484 -0
  204. package/src/components/__generated__/success-message.props.ts +443 -0
  205. package/src/components/__generated__/textarea.props.ts +457 -0
  206. package/src/components/blockquote.ws.tsx +6 -4
  207. package/src/components/body.ws.tsx +6 -4
  208. package/src/components/bold.ws.tsx +6 -4
  209. package/src/components/box.ws.ts +6 -4
  210. package/src/components/button.ws.tsx +11 -5
  211. package/src/components/checkbox-field.tsx +10 -0
  212. package/src/components/checkbox-field.ws.tsx +40 -0
  213. package/src/components/checkbox.tsx +13 -0
  214. package/src/components/checkbox.ws.tsx +42 -0
  215. package/src/components/code.ws.tsx +6 -4
  216. package/src/components/component-meta.ts +12 -0
  217. package/src/components/components-utils.ts +16 -10
  218. package/src/components/components.ts +8 -0
  219. package/src/components/error-message.tsx +10 -0
  220. package/src/components/error-message.ws.tsx +24 -0
  221. package/src/components/form.tsx +5 -1
  222. package/src/components/form.ws.tsx +30 -9
  223. package/src/components/heading.ws.tsx +6 -4
  224. package/src/components/image.ws.tsx +6 -4
  225. package/src/components/index.ts +47 -0
  226. package/src/components/input.tsx +3 -1
  227. package/src/components/input.ws.tsx +19 -5
  228. package/src/components/italic.ws.tsx +6 -4
  229. package/src/components/label.tsx +10 -0
  230. package/src/components/label.ws.tsx +41 -0
  231. package/src/components/link-block.ws.tsx +2 -2
  232. package/src/components/link.ws.tsx +17 -5
  233. package/src/components/list-item.ws.tsx +7 -4
  234. package/src/components/list.ws.tsx +6 -4
  235. package/src/components/paragraph.ws.tsx +6 -4
  236. package/src/components/radio-button-field.tsx +10 -0
  237. package/src/components/radio-button-field.ws.tsx +40 -0
  238. package/src/components/radio-button.tsx +13 -0
  239. package/src/components/radio-button.ws.tsx +42 -0
  240. package/src/components/separator.ws.tsx +6 -4
  241. package/src/components/span.ws.tsx +6 -4
  242. package/src/components/subscript.ws.tsx +6 -4
  243. package/src/components/success-message.tsx +10 -0
  244. package/src/components/success-message.ws.tsx +24 -0
  245. package/src/components/superscript.ws.tsx +6 -4
  246. package/src/components/text-block.ws.tsx +6 -4
  247. package/src/components/textarea.tsx +13 -0
  248. package/src/components/textarea.ws.tsx +43 -0
  249. package/src/css/normalize.ts +21 -18
  250. package/src/css/presets.ts +20 -2
  251. package/src/index.ts +1 -0
@@ -0,0 +1,57 @@
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_component_meta = require("./component-meta");
27
+ var import_normalize = require("../css/normalize");
28
+ var import_checkbox = require("./__generated__/checkbox.props");
29
+ const presetStyle = {
30
+ input: [
31
+ ...import_normalize.input,
32
+ {
33
+ property: "marginRight",
34
+ value: { type: "unit", unit: "em", value: 0.5 }
35
+ }
36
+ ]
37
+ };
38
+ const meta = {
39
+ type: "control",
40
+ label: "Checkbox",
41
+ Icon: import_icons.CheckboxCheckedIcon,
42
+ presetStyle,
43
+ states: [
44
+ ...import_component_meta.defaultStates,
45
+ { selector: ":checked", label: "Checked" },
46
+ { selector: ":required", label: "Required" },
47
+ { selector: ":optional", label: "Optional" },
48
+ { selector: ":disabled", label: "Disabled" },
49
+ { selector: ":enabled", label: "Enabled" },
50
+ { selector: ":read-only", label: "Read Only" },
51
+ { selector: ":read-write", label: "Read Write" }
52
+ ]
53
+ };
54
+ const propsMeta = {
55
+ props: import_checkbox.props,
56
+ initialProps: ["name"]
57
+ };
@@ -23,6 +23,7 @@ __export(code_ws_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(code_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
+ var import_component_meta = require("./component-meta");
26
27
  var import_code = require("./code");
27
28
  var import_code2 = require("./__generated__/code.props");
28
29
  var import_normalize = require("../css/normalize");
@@ -56,6 +57,7 @@ const meta = {
56
57
  type: "rich-text",
57
58
  label: "Code",
58
59
  Icon: import_icons.CodeIcon,
60
+ states: import_component_meta.defaultStates,
59
61
  presetStyle,
60
62
  children: [{ type: "text", value: "Code you can edit" }]
61
63
  };
@@ -19,7 +19,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var component_meta_exports = {};
20
20
  __export(component_meta_exports, {
21
21
  ComponentState: () => ComponentState,
22
- componentCategories: () => componentCategories
22
+ componentCategories: () => componentCategories,
23
+ defaultStates: () => defaultStates,
24
+ stateCategories: () => stateCategories
23
25
  });
24
26
  module.exports = __toCommonJS(component_meta_exports);
25
27
  var import_zod = require("zod");
@@ -35,10 +37,19 @@ const componentCategories = [
35
37
  "media",
36
38
  "forms"
37
39
  ];
40
+ const stateCategories = ["states", "component-states"];
38
41
  const ComponentState = import_zod.z.object({
42
+ category: import_zod.z.enum(stateCategories).optional(),
39
43
  selector: import_zod.z.string(),
40
44
  label: import_zod.z.string()
41
45
  });
46
+ const defaultStates = [
47
+ { selector: ":hover", label: "Hover" },
48
+ { selector: ":active", label: "Active" },
49
+ { selector: ":focus", label: "Focus" },
50
+ { selector: ":focus-visible", label: "Focus Visible" },
51
+ { selector: ":focus-within", label: "Focus Within" }
52
+ ];
42
53
  const WsComponentMeta = import_zod.z.object({
43
54
  category: import_zod.z.enum(componentCategories).optional(),
44
55
  // container - can accept other components with dnd
@@ -53,6 +64,7 @@ const WsComponentMeta = import_zod.z.object({
53
64
  "rich-text",
54
65
  "rich-text-child"
55
66
  ]),
67
+ acceptedParents: import_zod.z.optional(import_zod.z.array(import_zod.z.string())),
56
68
  label: import_zod.z.string(),
57
69
  Icon: import_zod.z.function(),
58
70
  presetStyle: import_zod.z.optional(import_zod.z.any()),
@@ -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";
@@ -24,14 +24,12 @@ __export(form_ws_exports, {
24
24
  module.exports = __toCommonJS(form_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_form = require("./__generated__/form.props");
28
29
  const presetStyle = {
29
30
  form: [
30
31
  ...import_normalize.form,
31
- {
32
- property: "minHeight",
33
- value: { type: "unit", unit: "px", value: 20 }
34
- }
32
+ { property: "minHeight", value: { type: "unit", unit: "px", value: 20 } }
35
33
  ]
36
34
  };
37
35
  const meta = {
@@ -39,9 +37,31 @@ const meta = {
39
37
  type: "container",
40
38
  label: "Form",
41
39
  Icon: import_icons.FormIcon,
40
+ states: import_component_meta.defaultStates,
42
41
  presetStyle,
43
42
  children: [
44
- { type: "instance", component: "Input", children: [] },
43
+ {
44
+ type: "instance",
45
+ component: "Label",
46
+ children: [{ type: "text", value: "Name" }]
47
+ },
48
+ {
49
+ type: "instance",
50
+ component: "Input",
51
+ props: [{ type: "string", name: "name", value: "name" }],
52
+ children: []
53
+ },
54
+ {
55
+ type: "instance",
56
+ component: "Label",
57
+ children: [{ type: "text", value: "Email" }]
58
+ },
59
+ {
60
+ type: "instance",
61
+ component: "Input",
62
+ props: [{ type: "string", name: "email", value: "email" }],
63
+ children: []
64
+ },
45
65
  {
46
66
  type: "instance",
47
67
  component: "Button",
@@ -50,5 +70,6 @@ const meta = {
50
70
  ]
51
71
  };
52
72
  const propsMeta = {
53
- props: import_form.props
73
+ props: import_form.props,
74
+ initialProps: []
54
75
  };
@@ -24,6 +24,7 @@ __export(heading_ws_exports, {
24
24
  module.exports = __toCommonJS(heading_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_heading = require("./__generated__/heading.props");
28
29
  const presetStyle = {
29
30
  h1: import_normalize.h1,
@@ -39,6 +40,7 @@ const meta = {
39
40
  label: "Heading",
40
41
  Icon: import_icons.HeadingIcon,
41
42
  children: [{ type: "text", value: "Heading you can edit" }],
43
+ states: import_component_meta.defaultStates,
42
44
  presetStyle
43
45
  };
44
46
  const propsMeta = {
@@ -24,6 +24,7 @@ __export(image_ws_exports, {
24
24
  module.exports = __toCommonJS(image_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_image = require("./__generated__/image.props");
28
29
  const presetStyle = {
29
30
  img: [
@@ -46,6 +47,7 @@ const meta = {
46
47
  type: "embed",
47
48
  label: "Image",
48
49
  Icon: import_icons.ImageIcon,
50
+ states: import_component_meta.defaultStates,
49
51
  presetStyle
50
52
  };
51
53
  const propsMeta = {
@@ -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
+ };
@@ -24,6 +24,7 @@ __export(input_ws_exports, {
24
24
  module.exports = __toCommonJS(input_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_input = require("./__generated__/input.props");
28
29
  const presetStyle = {
29
30
  input: import_normalize.input
@@ -31,10 +32,23 @@ const presetStyle = {
31
32
  const meta = {
32
33
  category: "forms",
33
34
  type: "control",
34
- label: "Input",
35
+ label: "Text Field",
35
36
  Icon: import_icons.FormTextFieldIcon,
36
- presetStyle
37
+ presetStyle,
38
+ states: [
39
+ ...import_component_meta.defaultStates,
40
+ { selector: "::placeholder", label: "Placeholder" },
41
+ { selector: ":valid", label: "Valid" },
42
+ { selector: ":invalid", label: "Invalid" },
43
+ { selector: ":required", label: "Required" },
44
+ { selector: ":optional", label: "Optional" },
45
+ { selector: ":disabled", label: "Disabled" },
46
+ { selector: ":enabled", label: "Enabled" },
47
+ { selector: ":read-only", label: "Read Only" },
48
+ { selector: ":read-write", label: "Read Write" }
49
+ ]
37
50
  };
38
51
  const propsMeta = {
39
- props: import_input.props
52
+ props: import_input.props,
53
+ initialProps: ["name", "type", "placeholder", "required", "autoFocus"]
40
54
  };
@@ -23,6 +23,7 @@ __export(italic_ws_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(italic_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
+ var import_component_meta = require("./component-meta");
26
27
  var import_italic = require("./__generated__/italic.props");
27
28
  var import_normalize = require("../css/normalize");
28
29
  const presetStyle = {
@@ -38,6 +39,7 @@ const meta = {
38
39
  type: "rich-text-child",
39
40
  label: "Italic Text",
40
41
  Icon: import_icons.TextItalicIcon,
42
+ states: import_component_meta.defaultStates,
41
43
  presetStyle
42
44
  };
43
45
  const propsMeta = {
@@ -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";
@@ -0,0 +1,56 @@
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_ws_exports = {};
20
+ __export(label_ws_exports, {
21
+ meta: () => meta,
22
+ propsMeta: () => propsMeta
23
+ });
24
+ module.exports = __toCommonJS(label_ws_exports);
25
+ var import_icons = require("@webstudio-is/icons");
26
+ var import_component_meta = require("./component-meta");
27
+ var import_label = require("./__generated__/label.props");
28
+ var import_normalize = require("../css/normalize");
29
+ const presetStyle = {
30
+ label: [
31
+ ...import_normalize.label,
32
+ { property: "display", value: { type: "keyword", value: "block" } }
33
+ ]
34
+ };
35
+ const meta = {
36
+ category: "forms",
37
+ type: "rich-text",
38
+ label: "Input Label",
39
+ Icon: import_icons.TextBlockIcon,
40
+ states: import_component_meta.defaultStates,
41
+ presetStyle,
42
+ children: [{ type: "text", value: "Form Label" }]
43
+ };
44
+ const propsMeta = {
45
+ props: {
46
+ ...import_label.props,
47
+ htmlFor: {
48
+ required: false,
49
+ control: "text",
50
+ type: "string",
51
+ rows: 0,
52
+ label: "For"
53
+ }
54
+ },
55
+ initialProps: ["htmlFor"]
56
+ };
@@ -39,7 +39,7 @@ const meta = {
39
39
  category: "general",
40
40
  type: "container",
41
41
  label: "Link Block",
42
- Icon: import_icons.BoxLinkIcon,
42
+ Icon: import_icons.LinkBlockIcon,
43
43
  states: import_link.meta.states,
44
44
  presetStyle
45
45
  };
@@ -24,6 +24,7 @@ __export(link_ws_exports, {
24
24
  module.exports = __toCommonJS(link_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_link = require("./__generated__/link.props");
28
29
  const presetStyle = {
29
30
  a: [
@@ -44,7 +45,18 @@ const meta = {
44
45
  label: "Link Text",
45
46
  Icon: import_icons.LinkIcon,
46
47
  presetStyle,
47
- states: [{ selector: "[aria-current=page]", label: "Current page" }],
48
+ states: [
49
+ ...import_component_meta.defaultStates,
50
+ {
51
+ selector: ":visited",
52
+ label: "Visited"
53
+ },
54
+ {
55
+ category: "component-states",
56
+ selector: "[aria-current=page]",
57
+ label: "Current page"
58
+ }
59
+ ],
48
60
  children: [{ type: "text", value: "Link text you can edit" }]
49
61
  };
50
62
  const propsMeta = {
@@ -24,6 +24,7 @@ __export(list_item_ws_exports, {
24
24
  module.exports = __toCommonJS(list_item_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_list_item = require("./__generated__/list-item.props");
28
29
  const presetStyle = {
29
30
  li: import_normalize.li
@@ -31,9 +32,11 @@ const presetStyle = {
31
32
  const meta = {
32
33
  category: "typography",
33
34
  type: "rich-text",
35
+ acceptedParents: ["List"],
34
36
  label: "List Item",
35
37
  Icon: import_icons.ListItemIcon,
36
38
  children: [{ type: "text", value: "List Item you can edit" }],
39
+ states: import_component_meta.defaultStates,
37
40
  presetStyle
38
41
  };
39
42
  const propsMeta = {
@@ -23,6 +23,7 @@ __export(list_ws_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(list_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
+ var import_component_meta = require("./component-meta");
26
27
  var import_list = require("./__generated__/list.props");
27
28
  var import_normalize = require("../css/normalize");
28
29
  const presetStyle = {
@@ -62,6 +63,7 @@ const meta = {
62
63
  type: "container",
63
64
  label: "List",
64
65
  Icon: import_icons.ListIcon,
66
+ states: import_component_meta.defaultStates,
65
67
  presetStyle,
66
68
  children: []
67
69
  };
@@ -24,6 +24,7 @@ __export(paragraph_ws_exports, {
24
24
  module.exports = __toCommonJS(paragraph_ws_exports);
25
25
  var import_icons = require("@webstudio-is/icons");
26
26
  var import_normalize = require("../css/normalize");
27
+ var import_component_meta = require("./component-meta");
27
28
  var import_paragraph = require("./__generated__/paragraph.props");
28
29
  const presetStyle = {
29
30
  p: import_normalize.p
@@ -34,6 +35,7 @@ const meta = {
34
35
  label: "Paragraph",
35
36
  Icon: import_icons.TextAlignLeftIcon,
36
37
  children: [{ type: "text", value: "Pragraph you can edit" }],
38
+ states: import_component_meta.defaultStates,
37
39
  presetStyle
38
40
  };
39
41
  const propsMeta = {