@webstudio-is/sdk-components-react 0.0.0-021f2d4

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 (316) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +3 -0
  3. package/lib/__generated__/blockquote.props.js +514 -0
  4. package/lib/__generated__/body.props.js +508 -0
  5. package/lib/__generated__/bold.props.js +508 -0
  6. package/lib/__generated__/box.props.js +527 -0
  7. package/lib/__generated__/button.props.js +570 -0
  8. package/lib/__generated__/checkbox.props.js +672 -0
  9. package/lib/__generated__/code-text.props.js +509 -0
  10. package/lib/__generated__/form.props.js +556 -0
  11. package/lib/__generated__/head-link.props.js +620 -0
  12. package/lib/__generated__/head-meta.props.js +532 -0
  13. package/lib/__generated__/head-title.props.js +508 -0
  14. package/lib/__generated__/head.props.js +508 -0
  15. package/lib/__generated__/heading.props.js +516 -0
  16. package/lib/__generated__/html-embed.props.js +13 -0
  17. package/lib/__generated__/image.props.js +593 -0
  18. package/lib/__generated__/input.props.js +696 -0
  19. package/lib/__generated__/italic.props.js +508 -0
  20. package/lib/__generated__/label.props.js +520 -0
  21. package/lib/__generated__/link.props.js +578 -0
  22. package/lib/__generated__/list-item.props.js +514 -0
  23. package/lib/__generated__/list.props.js +534 -0
  24. package/lib/__generated__/markdown-embed.props.js +7 -0
  25. package/lib/__generated__/option.props.js +532 -0
  26. package/lib/__generated__/paragraph.props.js +508 -0
  27. package/lib/__generated__/radio-button.props.js +672 -0
  28. package/lib/__generated__/select.props.js +556 -0
  29. package/lib/__generated__/separator.props.js +508 -0
  30. package/lib/__generated__/span.props.js +508 -0
  31. package/lib/__generated__/subscript.props.js +508 -0
  32. package/lib/__generated__/superscript.props.js +508 -0
  33. package/lib/__generated__/text.props.js +516 -0
  34. package/lib/__generated__/textarea.props.js +587 -0
  35. package/lib/__generated__/time.props.js +312 -0
  36. package/lib/__generated__/vimeo-play-button.props.js +569 -0
  37. package/lib/__generated__/vimeo-preview-image.props.js +591 -0
  38. package/lib/__generated__/vimeo-spinner.props.js +508 -0
  39. package/lib/__generated__/vimeo.props.js +673 -0
  40. package/lib/__generated__/webhook-form.props.js +569 -0
  41. package/lib/__generated__/xml-node.props.js +21 -0
  42. package/lib/__generated__/xml-time.props.js +18 -0
  43. package/lib/__generated__/youtube.props.js +665 -0
  44. package/lib/blockquote.js +9 -0
  45. package/lib/blockquote.template.js +11 -0
  46. package/lib/blockquote.ws.js +63 -0
  47. package/lib/body.js +7 -0
  48. package/lib/body.ws.js +29 -0
  49. package/lib/bold.js +7 -0
  50. package/lib/bold.ws.js +20 -0
  51. package/lib/box.js +9 -0
  52. package/lib/box.ws.js +31 -0
  53. package/lib/button.js +9 -0
  54. package/lib/button.template.js +11 -0
  55. package/lib/button.ws.js +27 -0
  56. package/lib/checkbox.js +15 -0
  57. package/lib/checkbox.template.js +14 -0
  58. package/lib/checkbox.ws.js +38 -0
  59. package/lib/code-text.js +10 -0
  60. package/lib/code-text.ws.js +59 -0
  61. package/lib/components.js +89 -0
  62. package/lib/content-embed.template.js +83 -0
  63. package/lib/form.js +7 -0
  64. package/lib/form.ws.js +30 -0
  65. package/lib/fragment.js +7 -0
  66. package/lib/fragment.ws.js +10 -0
  67. package/lib/head-link.js +23 -0
  68. package/lib/head-link.ws.js +19 -0
  69. package/lib/head-meta.js +23 -0
  70. package/lib/head-meta.ws.js +19 -0
  71. package/lib/head-slot.js +54 -0
  72. package/lib/head-slot.template.js +15 -0
  73. package/lib/head-slot.ws.js +25 -0
  74. package/lib/head-title.js +23 -0
  75. package/lib/head-title.ws.js +18 -0
  76. package/lib/heading.js +9 -0
  77. package/lib/heading.template.js +11 -0
  78. package/lib/heading.ws.js +28 -0
  79. package/lib/home_wsKvRSqvkajPPBeycZ-C8.svg +3 -0
  80. package/lib/hooks.js +6 -0
  81. package/lib/html-embed-patchers.js +29 -0
  82. package/lib/html-embed.js +112 -0
  83. package/lib/html-embed.ws.js +46 -0
  84. package/lib/image.js +38 -0
  85. package/lib/image.ws.js +60 -0
  86. package/lib/input.js +17 -0
  87. package/lib/input.ws.js +54 -0
  88. package/lib/italic.js +7 -0
  89. package/lib/italic.ws.js +26 -0
  90. package/lib/label.js +7 -0
  91. package/lib/label.template.js +10 -0
  92. package/lib/label.ws.js +27 -0
  93. package/lib/link.js +15 -0
  94. package/lib/link.template.js +11 -0
  95. package/lib/link.ws.js +47 -0
  96. package/lib/list-item.js +9 -0
  97. package/lib/list-item.template.js +11 -0
  98. package/lib/list-item.ws.js +26 -0
  99. package/lib/list.js +6 -0
  100. package/lib/list.template.js +15 -0
  101. package/lib/list.ws.js +48 -0
  102. package/lib/markdown-embed.js +19 -0
  103. package/lib/markdown-embed.template.js +75 -0
  104. package/lib/markdown-embed.ws.js +33 -0
  105. package/lib/metas.js +90 -0
  106. package/lib/option.js +7 -0
  107. package/lib/option.ws.js +44 -0
  108. package/lib/paragraph.js +7 -0
  109. package/lib/paragraph.template.js +11 -0
  110. package/lib/paragraph.ws.js +23 -0
  111. package/lib/props.js +90 -0
  112. package/lib/radio-button.js +15 -0
  113. package/lib/radio-button.template.js +14 -0
  114. package/lib/radio-button.ws.js +40 -0
  115. package/lib/rich-text-link.ws.js +9 -0
  116. package/lib/select.js +19 -0
  117. package/lib/select.template.js +16 -0
  118. package/lib/select.ws.js +44 -0
  119. package/lib/separator.js +9 -0
  120. package/lib/separator.ws.js +48 -0
  121. package/lib/slot.js +14 -0
  122. package/lib/slot.ws.js +14 -0
  123. package/lib/span.js +7 -0
  124. package/lib/span.ws.js +20 -0
  125. package/lib/subscript.js +7 -0
  126. package/lib/subscript.ws.js +20 -0
  127. package/lib/superscript.js +7 -0
  128. package/lib/superscript.ws.js +20 -0
  129. package/lib/templates.js +38 -0
  130. package/lib/text.js +10 -0
  131. package/lib/text.template.js +11 -0
  132. package/lib/text.ws.js +25 -0
  133. package/lib/textarea.js +7 -0
  134. package/lib/textarea.ws.js +55 -0
  135. package/lib/time.js +319 -0
  136. package/lib/time.ws.js +21 -0
  137. package/lib/types/__generated__/blockquote.props.d.ts +2 -0
  138. package/lib/types/__generated__/body.props.d.ts +2 -0
  139. package/lib/types/__generated__/bold.props.d.ts +2 -0
  140. package/lib/types/__generated__/box.props.d.ts +2 -0
  141. package/lib/types/__generated__/button.props.d.ts +2 -0
  142. package/lib/types/__generated__/checkbox.props.d.ts +2 -0
  143. package/lib/types/__generated__/code-text.props.d.ts +2 -0
  144. package/lib/types/__generated__/form.props.d.ts +2 -0
  145. package/lib/types/__generated__/fragment.props.d.ts +2 -0
  146. package/lib/types/__generated__/head-link.props.d.ts +2 -0
  147. package/lib/types/__generated__/head-meta.props.d.ts +2 -0
  148. package/lib/types/__generated__/head-slot.props.d.ts +2 -0
  149. package/lib/types/__generated__/head-title.props.d.ts +2 -0
  150. package/lib/types/__generated__/head.props.d.ts +2 -0
  151. package/lib/types/__generated__/heading.props.d.ts +2 -0
  152. package/lib/types/__generated__/html-embed.props.d.ts +2 -0
  153. package/lib/types/__generated__/image.props.d.ts +2 -0
  154. package/lib/types/__generated__/input.props.d.ts +2 -0
  155. package/lib/types/__generated__/italic.props.d.ts +2 -0
  156. package/lib/types/__generated__/label.props.d.ts +2 -0
  157. package/lib/types/__generated__/link.props.d.ts +2 -0
  158. package/lib/types/__generated__/list-item.props.d.ts +2 -0
  159. package/lib/types/__generated__/list.props.d.ts +2 -0
  160. package/lib/types/__generated__/markdown-embed.props.d.ts +2 -0
  161. package/lib/types/__generated__/option.props.d.ts +2 -0
  162. package/lib/types/__generated__/paragraph.props.d.ts +2 -0
  163. package/lib/types/__generated__/radio-button.props.d.ts +2 -0
  164. package/lib/types/__generated__/rich-text-link.props.d.ts +2 -0
  165. package/lib/types/__generated__/select.props.d.ts +2 -0
  166. package/lib/types/__generated__/separator.props.d.ts +2 -0
  167. package/lib/types/__generated__/slot.props.d.ts +2 -0
  168. package/lib/types/__generated__/span.props.d.ts +2 -0
  169. package/lib/types/__generated__/subscript.props.d.ts +2 -0
  170. package/lib/types/__generated__/superscript.props.d.ts +2 -0
  171. package/lib/types/__generated__/text.props.d.ts +2 -0
  172. package/lib/types/__generated__/textarea.props.d.ts +2 -0
  173. package/lib/types/__generated__/time.props.d.ts +2 -0
  174. package/lib/types/__generated__/vimeo-play-button.props.d.ts +2 -0
  175. package/lib/types/__generated__/vimeo-preview-image.props.d.ts +2 -0
  176. package/lib/types/__generated__/vimeo-spinner.props.d.ts +2 -0
  177. package/lib/types/__generated__/vimeo.props.d.ts +2 -0
  178. package/lib/types/__generated__/webhook-form.props.d.ts +2 -0
  179. package/lib/types/__generated__/xml-node.props.d.ts +2 -0
  180. package/lib/types/__generated__/xml-time.props.d.ts +2 -0
  181. package/lib/types/__generated__/youtube.props.d.ts +2 -0
  182. package/lib/types/blockquote.d.ts +2 -0
  183. package/lib/types/blockquote.template.d.ts +2 -0
  184. package/lib/types/blockquote.ws.d.ts +3 -0
  185. package/lib/types/body.d.ts +2 -0
  186. package/lib/types/body.ws.d.ts +3 -0
  187. package/lib/types/bold.d.ts +2 -0
  188. package/lib/types/bold.ws.d.ts +3 -0
  189. package/lib/types/box.d.ts +8 -0
  190. package/lib/types/box.ws.d.ts +3 -0
  191. package/lib/types/button.d.ts +2 -0
  192. package/lib/types/button.template.d.ts +2 -0
  193. package/lib/types/button.ws.d.ts +3 -0
  194. package/lib/types/checkbox.d.ts +4 -0
  195. package/lib/types/checkbox.template.d.ts +2 -0
  196. package/lib/types/checkbox.ws.d.ts +3 -0
  197. package/lib/types/code-text.d.ts +4 -0
  198. package/lib/types/code-text.ws.d.ts +3 -0
  199. package/lib/types/components.d.ts +44 -0
  200. package/lib/types/content-embed.template.d.ts +2 -0
  201. package/lib/types/form.d.ts +2 -0
  202. package/lib/types/form.ws.d.ts +3 -0
  203. package/lib/types/fragment.d.ts +6 -0
  204. package/lib/types/fragment.ws.d.ts +3 -0
  205. package/lib/types/head-link.d.ts +8 -0
  206. package/lib/types/head-link.ws.d.ts +3 -0
  207. package/lib/types/head-meta.d.ts +2 -0
  208. package/lib/types/head-meta.ws.d.ts +3 -0
  209. package/lib/types/head-slot.d.ts +9 -0
  210. package/lib/types/head-slot.template.d.ts +2 -0
  211. package/lib/types/head-slot.ws.d.ts +3 -0
  212. package/lib/types/head-title.d.ts +2 -0
  213. package/lib/types/head-title.ws.d.ts +3 -0
  214. package/lib/types/heading.d.ts +8 -0
  215. package/lib/types/heading.template.d.ts +2 -0
  216. package/lib/types/heading.ws.d.ts +3 -0
  217. package/lib/types/hooks.d.ts +2 -0
  218. package/lib/types/html-embed-patchers.d.ts +2 -0
  219. package/lib/types/html-embed.d.ts +12 -0
  220. package/lib/types/html-embed.test.d.ts +1 -0
  221. package/lib/types/html-embed.ws.d.ts +3 -0
  222. package/lib/types/image.d.ts +8 -0
  223. package/lib/types/image.ws.d.ts +3 -0
  224. package/lib/types/input.d.ts +4 -0
  225. package/lib/types/input.ws.d.ts +3 -0
  226. package/lib/types/italic.d.ts +2 -0
  227. package/lib/types/italic.ws.d.ts +3 -0
  228. package/lib/types/label.d.ts +2 -0
  229. package/lib/types/label.template.d.ts +2 -0
  230. package/lib/types/label.ws.d.ts +3 -0
  231. package/lib/types/link.d.ts +11 -0
  232. package/lib/types/link.template.d.ts +2 -0
  233. package/lib/types/link.ws.d.ts +3 -0
  234. package/lib/types/list-item.d.ts +2 -0
  235. package/lib/types/list-item.template.d.ts +2 -0
  236. package/lib/types/list-item.ws.d.ts +3 -0
  237. package/lib/types/list.d.ts +10 -0
  238. package/lib/types/list.template.d.ts +2 -0
  239. package/lib/types/list.ws.d.ts +3 -0
  240. package/lib/types/markdown-embed.d.ts +7 -0
  241. package/lib/types/markdown-embed.template.d.ts +2 -0
  242. package/lib/types/markdown-embed.ws.d.ts +3 -0
  243. package/lib/types/metas.d.ts +44 -0
  244. package/lib/types/option.d.ts +2 -0
  245. package/lib/types/option.ws.d.ts +3 -0
  246. package/lib/types/paragraph.d.ts +2 -0
  247. package/lib/types/paragraph.template.d.ts +2 -0
  248. package/lib/types/paragraph.ws.d.ts +3 -0
  249. package/lib/types/props.d.ts +44 -0
  250. package/lib/types/radio-button.d.ts +4 -0
  251. package/lib/types/radio-button.template.d.ts +2 -0
  252. package/lib/types/radio-button.ws.d.ts +3 -0
  253. package/lib/types/rich-text-link.d.ts +1 -0
  254. package/lib/types/rich-text-link.ws.d.ts +3 -0
  255. package/lib/types/select.d.ts +4 -0
  256. package/lib/types/select.template.d.ts +2 -0
  257. package/lib/types/select.ws.d.ts +3 -0
  258. package/lib/types/separator.d.ts +2 -0
  259. package/lib/types/separator.ws.d.ts +3 -0
  260. package/lib/types/slot.d.ts +6 -0
  261. package/lib/types/slot.ws.d.ts +3 -0
  262. package/lib/types/span.d.ts +2 -0
  263. package/lib/types/span.ws.d.ts +3 -0
  264. package/lib/types/subscript.d.ts +2 -0
  265. package/lib/types/subscript.ws.d.ts +3 -0
  266. package/lib/types/superscript.d.ts +2 -0
  267. package/lib/types/superscript.ws.d.ts +3 -0
  268. package/lib/types/templates.d.ts +18 -0
  269. package/lib/types/test-utils/cartesian.d.ts +2 -0
  270. package/lib/types/text.d.ts +8 -0
  271. package/lib/types/text.template.d.ts +2 -0
  272. package/lib/types/text.ws.d.ts +3 -0
  273. package/lib/types/textarea.d.ts +2 -0
  274. package/lib/types/textarea.ws.d.ts +3 -0
  275. package/lib/types/time.d.ts +18 -0
  276. package/lib/types/time.test.d.ts +1 -0
  277. package/lib/types/time.ws.d.ts +3 -0
  278. package/lib/types/vimeo-play-button.d.ts +3 -0
  279. package/lib/types/vimeo-play-button.ws.d.ts +3 -0
  280. package/lib/types/vimeo-preview-image.d.ts +284 -0
  281. package/lib/types/vimeo-preview-image.ws.d.ts +3 -0
  282. package/lib/types/vimeo-spinner.d.ts +1 -0
  283. package/lib/types/vimeo-spinner.ws.d.ts +3 -0
  284. package/lib/types/vimeo.d.ts +85 -0
  285. package/lib/types/vimeo.template.d.ts +2 -0
  286. package/lib/types/vimeo.ws.d.ts +3 -0
  287. package/lib/types/webhook-form.d.ts +9 -0
  288. package/lib/types/webhook-form.template.d.ts +2 -0
  289. package/lib/types/webhook-form.ws.d.ts +3 -0
  290. package/lib/types/xml-node.d.ts +13 -0
  291. package/lib/types/xml-node.ws.d.ts +3 -0
  292. package/lib/types/xml-time.d.ts +6 -0
  293. package/lib/types/xml-time.ws.d.ts +3 -0
  294. package/lib/types/youtube.d.ts +143 -0
  295. package/lib/types/youtube.template.d.ts +2 -0
  296. package/lib/types/youtube.ws.d.ts +3 -0
  297. package/lib/vimeo-play-button.js +18 -0
  298. package/lib/vimeo-play-button.ws.js +31 -0
  299. package/lib/vimeo-preview-image.js +19 -0
  300. package/lib/vimeo-preview-image.ws.js +27 -0
  301. package/lib/vimeo-spinner.js +13 -0
  302. package/lib/vimeo-spinner.ws.js +25 -0
  303. package/lib/vimeo.js +216 -0
  304. package/lib/vimeo.template.js +93 -0
  305. package/lib/vimeo.ws.js +40 -0
  306. package/lib/webhook-form.js +9 -0
  307. package/lib/webhook-form.template.js +49 -0
  308. package/lib/webhook-form.ws.js +26 -0
  309. package/lib/xml-node.js +60 -0
  310. package/lib/xml-node.ws.js +16 -0
  311. package/lib/xml-time.js +25 -0
  312. package/lib/xml-time.ws.js +16 -0
  313. package/lib/youtube.js +206 -0
  314. package/lib/youtube.template.js +97 -0
  315. package/lib/youtube.ws.js +51 -0
  316. package/package.json +77 -0
package/lib/link.js ADDED
@@ -0,0 +1,15 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as n } from "react";
3
+ const a = n((e, o) => {
4
+ const {
5
+ children: s,
6
+ // @todo: it's a hack made for Image component for the builder and should't be in the runtime at all.
7
+ $webstudio$canvasOnly$assetId: i,
8
+ ...r
9
+ } = e;
10
+ return /* @__PURE__ */ t("a", { ...r, href: r.href ?? "#", ref: o, children: s });
11
+ });
12
+ a.displayName = "Link";
13
+ export {
14
+ a as Link
15
+ };
@@ -0,0 +1,11 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { $ as o } from "@webstudio-is/template";
3
+ const n = {
4
+ category: "general",
5
+ description: "Use a link to send your users to another page, section, or resource. Configure links in the Settings panel.",
6
+ order: 1,
7
+ template: /* @__PURE__ */ e(o.Link, {})
8
+ };
9
+ export {
10
+ n as meta
11
+ };
package/lib/link.ws.js ADDED
@@ -0,0 +1,47 @@
1
+ import { LinkIcon as e } from "@webstudio-is/icons/svg";
2
+ import { defaultStates as t } from "@webstudio-is/sdk";
3
+ import { a as r } from "@webstudio-is/sdk/normalize.css";
4
+ import { props as o } from "./__generated__/link.props.js";
5
+ const a = {
6
+ a: [
7
+ ...r,
8
+ {
9
+ property: "display",
10
+ value: { type: "keyword", value: "inline-block" }
11
+ }
12
+ ]
13
+ }, l = {
14
+ type: "container",
15
+ icon: e,
16
+ constraints: {
17
+ relation: "ancestor",
18
+ component: { $nin: ["Button", "Link"] }
19
+ },
20
+ presetStyle: a,
21
+ states: [
22
+ ...t,
23
+ {
24
+ selector: ":visited",
25
+ label: "Visited"
26
+ },
27
+ {
28
+ category: "component-states",
29
+ selector: "[aria-current=page]",
30
+ label: "Current page"
31
+ }
32
+ ]
33
+ }, c = {
34
+ props: {
35
+ ...o,
36
+ href: {
37
+ type: "string",
38
+ control: "url",
39
+ required: !1
40
+ }
41
+ },
42
+ initialProps: ["id", "className", "href", "target", "prefetch", "download"]
43
+ };
44
+ export {
45
+ l as meta,
46
+ c as propsMeta
47
+ };
@@ -0,0 +1,9 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as e } from "react";
3
+ const i = e(
4
+ ({ children: r, ...t }, m) => /* @__PURE__ */ o("li", { ...t, ref: m, children: r })
5
+ );
6
+ i.displayName = "ListItem";
7
+ export {
8
+ i as ListItem
9
+ };
@@ -0,0 +1,11 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { $ as e } from "@webstudio-is/template";
3
+ const i = {
4
+ category: "typography",
5
+ description: "Adds a new item to an existing list.",
6
+ order: 5,
7
+ template: /* @__PURE__ */ t(e.ListItem, {})
8
+ };
9
+ export {
10
+ i as meta
11
+ };
@@ -0,0 +1,26 @@
1
+ import { ListItemIcon as t } from "@webstudio-is/icons/svg";
2
+ import { defaultStates as o } from "@webstudio-is/sdk";
3
+ import { li as e } from "@webstudio-is/sdk/normalize.css";
4
+ import { props as r } from "./__generated__/list-item.props.js";
5
+ const s = {
6
+ li: e
7
+ }, m = {
8
+ type: "container",
9
+ constraints: {
10
+ // cannot use parent relation here
11
+ // because list item can be put inside of collection or slot
12
+ // perhaps can be eventually fixed with tag matchers
13
+ relation: "ancestor",
14
+ component: { $eq: "List" }
15
+ },
16
+ icon: t,
17
+ states: o,
18
+ presetStyle: s
19
+ }, c = {
20
+ props: r,
21
+ initialProps: ["id", "className"]
22
+ };
23
+ export {
24
+ m as meta,
25
+ c as propsMeta
26
+ };
package/lib/list.js ADDED
@@ -0,0 +1,6 @@
1
+ import { forwardRef as o, createElement as a } from "react";
2
+ const s = "ul", n = "ol", d = o(({ ordered: e = !1, ...t }, r) => a(e ? n : s, { ...t, ref: r }));
3
+ d.displayName = "List";
4
+ export {
5
+ d as List
6
+ };
@@ -0,0 +1,15 @@
1
+ import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
+ import { $ as e, PlaceholderValue as i } from "@webstudio-is/template";
3
+ const s = {
4
+ category: "typography",
5
+ description: "Groups content, like links in a menu or steps in a recipe.",
6
+ order: 4,
7
+ template: /* @__PURE__ */ n(e.List, { children: [
8
+ /* @__PURE__ */ t(e.ListItem, { children: new i("List Item text you can edit") }),
9
+ /* @__PURE__ */ t(e.ListItem, { children: new i("List Item text you can edit") }),
10
+ /* @__PURE__ */ t(e.ListItem, { children: new i("List Item text you can edit") })
11
+ ] })
12
+ };
13
+ export {
14
+ s as meta
15
+ };
package/lib/list.ws.js ADDED
@@ -0,0 +1,48 @@
1
+ import { ListIcon as e } from "@webstudio-is/icons/svg";
2
+ import { defaultStates as r } from "@webstudio-is/sdk";
3
+ import { ol as t, ul as o } from "@webstudio-is/sdk/normalize.css";
4
+ import { props as p } from "./__generated__/list.props.js";
5
+ const a = {
6
+ ol: [
7
+ ...t,
8
+ {
9
+ property: "marginTop",
10
+ value: { type: "keyword", value: "0" }
11
+ },
12
+ {
13
+ property: "marginBottom",
14
+ value: { type: "keyword", value: "10px" }
15
+ },
16
+ {
17
+ property: "paddingLeft",
18
+ value: { type: "keyword", value: "40px" }
19
+ }
20
+ ],
21
+ ul: [
22
+ ...o,
23
+ {
24
+ property: "marginTop",
25
+ value: { type: "keyword", value: "0" }
26
+ },
27
+ {
28
+ property: "marginBottom",
29
+ value: { type: "keyword", value: "10px" }
30
+ },
31
+ {
32
+ property: "paddingLeft",
33
+ value: { type: "keyword", value: "40px" }
34
+ }
35
+ ]
36
+ }, d = {
37
+ type: "container",
38
+ icon: e,
39
+ states: r,
40
+ presetStyle: a
41
+ }, s = {
42
+ props: p,
43
+ initialProps: ["id", "className", "ordered", "start", "reversed"]
44
+ };
45
+ export {
46
+ d as meta,
47
+ s as propsMeta
48
+ };
@@ -0,0 +1,19 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { micromark as s } from "micromark";
3
+ import { gfmTable as l, gfmTableHtml as i } from "micromark-extension-gfm-table";
4
+ import { forwardRef as a, useMemo as f } from "react";
5
+ const h = /* @__PURE__ */ a((r, e) => {
6
+ const { code: o, children: c, ...t } = r, m = f(
7
+ // support data uri protocol in images
8
+ () => s(o ?? "", {
9
+ allowDangerousProtocol: !0,
10
+ extensions: [l()],
11
+ htmlExtensions: [i()]
12
+ }),
13
+ [o]
14
+ );
15
+ return /* @__PURE__ */ n("div", { ...t, ref: e, dangerouslySetInnerHTML: { __html: m } });
16
+ });
17
+ export {
18
+ h as MarkdownEmbed
19
+ };
@@ -0,0 +1,75 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ import { $ as a, ws as l } from "@webstudio-is/template";
3
+ import { imagePlaceholderDataUrl as s } from "@webstudio-is/image";
4
+ const n = `
5
+ # Styling Markdown with Markdown Embed
6
+
7
+ Markdown Embed allows styling of Markdown, which primarily comes from external data.
8
+
9
+ ## How to Use Markdown Embed
10
+
11
+ - Every element is shown in the Navigator.
12
+ - Apply styles and Tokens to each element.
13
+ - Adjustments to elements apply universally within this embed, ensuring consistency across your content.
14
+
15
+ ---
16
+
17
+ ## This sample text contains all the elements that can be styled.
18
+
19
+ Any elements that were not used above are used below.
20
+
21
+ ### Heading 3
22
+ #### Heading 4
23
+ ##### Heading 5
24
+ ###### Heading 6
25
+
26
+ [Links](#) connect your content to relevant resources.
27
+
28
+ **Bold text** makes your important points stand out.
29
+
30
+ *Italic text* is great for emphasizing terms.
31
+
32
+ 1. First Step
33
+ 2. Second Step
34
+
35
+ ![Image placeholder](${s})
36
+
37
+ > Capture attention with a powerful quote.
38
+
39
+ Using \`console.log("Hello World");\` will log to the console.
40
+
41
+ | Header 1 | Header 2 | Header 3 |
42
+ |------------|------------|------------|
43
+ | Cell 1.1 | Cell 1.2 | Cell 1.3 |
44
+ | Cell 2.1 | Cell 2.2 | Cell 2.3 |
45
+ | Cell 3.1 | Cell 3.2 | Cell 3.3 |
46
+ `.trim(), c = {
47
+ category: "data",
48
+ description: "Used to add markdown code to the page",
49
+ order: 4,
50
+ template: /* @__PURE__ */ t(a.MarkdownEmbed, { code: n, children: [
51
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Paragraph", selector: " p" }),
52
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Heading 1", selector: " h1" }),
53
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Heading 2", selector: " h2" }),
54
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Heading 3", selector: " h3" }),
55
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Heading 4", selector: " h4" }),
56
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Heading 5", selector: " h5" }),
57
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Heading 6", selector: " h6" }),
58
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Bold", selector: " :where(strong, b)" }),
59
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Italic", selector: " :where(em, i)" }),
60
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Link", selector: " a" }),
61
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Image", selector: " img" }),
62
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Blockquote", selector: " blockquote" }),
63
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Code Text", selector: " code" }),
64
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "List", selector: " :where(ul, ol)" }),
65
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "List Item", selector: " li" }),
66
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Separator", selector: " hr" }),
67
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Table", selector: " table" }),
68
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Table Row", selector: " tr" }),
69
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Table Header Cell", selector: " th" }),
70
+ /* @__PURE__ */ e(l.descendant, { "ws:label": "Table Cell", selector: " td" })
71
+ ] })
72
+ };
73
+ export {
74
+ c as meta
75
+ };
@@ -0,0 +1,33 @@
1
+ import { MarkdownEmbedIcon as e } from "@webstudio-is/icons/svg";
2
+ import { props as o } from "./__generated__/markdown-embed.props.js";
3
+ const t = {
4
+ type: "embed",
5
+ icon: e,
6
+ presetStyle: {
7
+ div: [
8
+ {
9
+ property: "display",
10
+ value: { type: "keyword", value: "contents" }
11
+ },
12
+ {
13
+ property: "whiteSpaceCollapse",
14
+ value: { type: "keyword", value: "collapse" }
15
+ }
16
+ ]
17
+ }
18
+ }, a = {
19
+ props: {
20
+ ...o,
21
+ code: {
22
+ required: !0,
23
+ control: "code",
24
+ language: "markdown",
25
+ type: "string"
26
+ }
27
+ },
28
+ initialProps: ["className"]
29
+ };
30
+ export {
31
+ t as meta,
32
+ a as propsMeta
33
+ };
package/lib/metas.js ADDED
@@ -0,0 +1,90 @@
1
+ import { meta as o } from "./slot.ws.js";
2
+ import { meta as m } from "./fragment.ws.js";
3
+ import { meta as p } from "./html-embed.ws.js";
4
+ import { meta as s } from "./markdown-embed.ws.js";
5
+ import { meta as i } from "./body.ws.js";
6
+ import { meta as d } from "./box.ws.js";
7
+ import { meta as u } from "./text.ws.js";
8
+ import { meta as T } from "./heading.ws.js";
9
+ import { meta as B } from "./paragraph.ws.js";
10
+ import { meta as k } from "./link.ws.js";
11
+ import { meta as L } from "./rich-text-link.ws.js";
12
+ import { meta as I } from "./span.ws.js";
13
+ import { meta as h } from "./bold.ws.js";
14
+ import { meta as P } from "./italic.ws.js";
15
+ import { meta as w } from "./superscript.ws.js";
16
+ import { meta as C } from "./subscript.ws.js";
17
+ import { meta as M } from "./button.ws.js";
18
+ import { meta as q } from "./input.ws.js";
19
+ import { meta as N } from "./webhook-form.ws.js";
20
+ import { meta as Y } from "./form.ws.js";
21
+ import { meta as z } from "./image.ws.js";
22
+ import { meta as D } from "./blockquote.ws.js";
23
+ import { meta as J } from "./list.ws.js";
24
+ import { meta as Q } from "./list-item.ws.js";
25
+ import { meta as W } from "./separator.ws.js";
26
+ import { meta as _ } from "./code-text.ws.js";
27
+ import { meta as ee } from "./label.ws.js";
28
+ import { meta as oe } from "./textarea.ws.js";
29
+ import { meta as me } from "./radio-button.ws.js";
30
+ import { meta as pe } from "./checkbox.ws.js";
31
+ import { meta as se } from "./vimeo.ws.js";
32
+ import { meta as ie } from "./youtube.ws.js";
33
+ import { meta as de } from "./vimeo-preview-image.ws.js";
34
+ import { meta as ue } from "./vimeo-play-button.ws.js";
35
+ import { meta as Te } from "./vimeo-spinner.ws.js";
36
+ import { meta as Be } from "./xml-node.ws.js";
37
+ import { meta as ke } from "./xml-time.ws.js";
38
+ import { meta as Le } from "./time.ws.js";
39
+ import { meta as Ie } from "./select.ws.js";
40
+ import { meta as he } from "./option.ws.js";
41
+ import { meta as Pe } from "./head-slot.ws.js";
42
+ import { meta as we } from "./head-link.ws.js";
43
+ import { meta as Ce } from "./head-meta.ws.js";
44
+ import { meta as Me } from "./head-title.ws.js";
45
+ export {
46
+ D as Blockquote,
47
+ i as Body,
48
+ h as Bold,
49
+ d as Box,
50
+ M as Button,
51
+ pe as Checkbox,
52
+ _ as CodeText,
53
+ N as Form,
54
+ m as Fragment,
55
+ we as HeadLink,
56
+ Ce as HeadMeta,
57
+ Pe as HeadSlot,
58
+ Me as HeadTitle,
59
+ T as Heading,
60
+ p as HtmlEmbed,
61
+ z as Image,
62
+ q as Input,
63
+ P as Italic,
64
+ ee as Label,
65
+ k as Link,
66
+ J as List,
67
+ Q as ListItem,
68
+ s as MarkdownEmbed,
69
+ he as Option,
70
+ B as Paragraph,
71
+ me as RadioButton,
72
+ Y as RemixForm,
73
+ L as RichTextLink,
74
+ Ie as Select,
75
+ W as Separator,
76
+ o as Slot,
77
+ I as Span,
78
+ C as Subscript,
79
+ w as Superscript,
80
+ u as Text,
81
+ oe as Textarea,
82
+ Le as Time,
83
+ se as Vimeo,
84
+ ue as VimeoPlayButton,
85
+ de as VimeoPreviewImage,
86
+ Te as VimeoSpinner,
87
+ Be as XmlNode,
88
+ ke as XmlTime,
89
+ ie as YouTube
90
+ };
package/lib/option.js ADDED
@@ -0,0 +1,7 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { forwardRef as t } from "react";
3
+ const i = t((o, p) => /* @__PURE__ */ r("option", { ...o, ref: p }));
4
+ i.displayName = "Option";
5
+ export {
6
+ i as Option
7
+ };
@@ -0,0 +1,44 @@
1
+ import { ItemIcon as e } from "@webstudio-is/icons/svg";
2
+ import { props as t } from "./__generated__/option.props.js";
3
+ const o = {
4
+ option: [
5
+ {
6
+ property: "backgroundColor",
7
+ state: ":checked",
8
+ value: {
9
+ type: "rgb",
10
+ alpha: 1,
11
+ r: 209,
12
+ g: 209,
13
+ b: 209
14
+ }
15
+ }
16
+ ]
17
+ }, r = {
18
+ category: "hidden",
19
+ constraints: {
20
+ relation: "parent",
21
+ component: { $eq: "Select" }
22
+ },
23
+ type: "control",
24
+ description: "An item within a drop-down menu that users can select as their chosen value.",
25
+ icon: e,
26
+ presetStyle: o,
27
+ states: [
28
+ // Applies when option is being activated (clicked)
29
+ { selector: ":active", label: "Active" },
30
+ // Applies to the currently selected option
31
+ { selector: ":checked", label: "Checked" },
32
+ // For <option> elements: The :default pseudo-class selects the <option> that has the selected attribute when the page loads. This is true even if the user later selects a different option.
33
+ { selector: ":default", label: "Default" },
34
+ { selector: ":hover", label: "Hover" },
35
+ { selector: ":disabled", label: "Disabled" }
36
+ ]
37
+ }, c = {
38
+ props: t,
39
+ initialProps: ["label", "selected", "value", "label", "disabled"]
40
+ };
41
+ export {
42
+ r as meta,
43
+ c as propsMeta
44
+ };
@@ -0,0 +1,7 @@
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { forwardRef as m } from "react";
3
+ const f = m(({ children: r, ...a }, o) => /* @__PURE__ */ p("p", { ...a, ref: o, children: r }));
4
+ f.displayName = "Paragraph";
5
+ export {
6
+ f as Paragraph
7
+ };
@@ -0,0 +1,11 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { $ as t } from "@webstudio-is/template";
3
+ const a = {
4
+ category: "typography",
5
+ description: "A container for multi-line text.",
6
+ order: 2,
7
+ template: /* @__PURE__ */ r(t.Paragraph, {})
8
+ };
9
+ export {
10
+ a as meta
11
+ };
@@ -0,0 +1,23 @@
1
+ import { TextAlignLeftIcon as t } from "@webstudio-is/icons/svg";
2
+ import { defaultStates as o } from "@webstudio-is/sdk";
3
+ import { p as r } from "@webstudio-is/sdk/normalize.css";
4
+ import { props as e } from "./__generated__/paragraph.props.js";
5
+ const n = {
6
+ p: r
7
+ }, m = {
8
+ type: "container",
9
+ icon: t,
10
+ constraints: {
11
+ relation: "ancestor",
12
+ component: { $neq: "Paragraph" }
13
+ },
14
+ states: o,
15
+ presetStyle: n
16
+ }, c = {
17
+ props: e,
18
+ initialProps: ["id", "className"]
19
+ };
20
+ export {
21
+ m as meta,
22
+ c as propsMeta
23
+ };
package/lib/props.js ADDED
@@ -0,0 +1,90 @@
1
+ import { propsMeta as p } from "./slot.ws.js";
2
+ import { propsMeta as t } from "./fragment.ws.js";
3
+ import { propsMeta as s } from "./html-embed.ws.js";
4
+ import { propsMeta as x } from "./markdown-embed.ws.js";
5
+ import { propsMeta as f } from "./body.ws.js";
6
+ import { propsMeta as n } from "./box.ws.js";
7
+ import { propsMeta as l } from "./text.ws.js";
8
+ import { propsMeta as S } from "./heading.ws.js";
9
+ import { propsMeta as c } from "./paragraph.ws.js";
10
+ import { propsMeta as b } from "./link.ws.js";
11
+ import { propsMeta as H } from "./rich-text-link.ws.js";
12
+ import { propsMeta as g } from "./span.ws.js";
13
+ import { propsMeta as V } from "./bold.ws.js";
14
+ import { propsMeta as F } from "./italic.ws.js";
15
+ import { propsMeta as R } from "./superscript.ws.js";
16
+ import { propsMeta as y } from "./subscript.ws.js";
17
+ import { propsMeta as E } from "./button.ws.js";
18
+ import { propsMeta as q } from "./input.ws.js";
19
+ import { propsMeta as N } from "./webhook-form.ws.js";
20
+ import { propsMeta as Y } from "./form.ws.js";
21
+ import { propsMeta as z } from "./image.ws.js";
22
+ import { propsMeta as D } from "./blockquote.ws.js";
23
+ import { propsMeta as J } from "./list.ws.js";
24
+ import { propsMeta as Q } from "./list-item.ws.js";
25
+ import { propsMeta as W } from "./separator.ws.js";
26
+ import { propsMeta as _ } from "./code-text.ws.js";
27
+ import { propsMeta as oo } from "./label.ws.js";
28
+ import { propsMeta as po } from "./textarea.ws.js";
29
+ import { propsMeta as to } from "./radio-button.ws.js";
30
+ import { propsMeta as so } from "./checkbox.ws.js";
31
+ import { propsMeta as xo } from "./vimeo.ws.js";
32
+ import { propsMeta as fo } from "./youtube.ws.js";
33
+ import { propsMeta as no } from "./vimeo-preview-image.ws.js";
34
+ import { propsMeta as uo } from "./vimeo-play-button.ws.js";
35
+ import { propsMeta as To } from "./vimeo-spinner.ws.js";
36
+ import { propsMeta as Bo } from "./xml-node.ws.js";
37
+ import { propsMeta as ko } from "./xml-time.ws.js";
38
+ import { propsMeta as Lo } from "./time.ws.js";
39
+ import { propsMeta as Io } from "./select.ws.js";
40
+ import { propsMeta as ho } from "./option.ws.js";
41
+ import { propsMeta as Po } from "./head-slot.ws.js";
42
+ import { propsMeta as wo } from "./head-link.ws.js";
43
+ import { propsMeta as Co } from "./head-meta.ws.js";
44
+ import { propsMeta as Xo } from "./head-title.ws.js";
45
+ export {
46
+ D as Blockquote,
47
+ f as Body,
48
+ V as Bold,
49
+ n as Box,
50
+ E as Button,
51
+ so as Checkbox,
52
+ _ as CodeText,
53
+ N as Form,
54
+ t as Fragment,
55
+ wo as HeadLink,
56
+ Co as HeadMeta,
57
+ Po as HeadSlot,
58
+ Xo as HeadTitle,
59
+ S as Heading,
60
+ s as HtmlEmbed,
61
+ z as Image,
62
+ q as Input,
63
+ F as Italic,
64
+ oo as Label,
65
+ b as Link,
66
+ J as List,
67
+ Q as ListItem,
68
+ x as MarkdownEmbed,
69
+ ho as Option,
70
+ c as Paragraph,
71
+ to as RadioButton,
72
+ Y as RemixForm,
73
+ H as RichTextLink,
74
+ Io as Select,
75
+ W as Separator,
76
+ p as Slot,
77
+ g as Span,
78
+ y as Subscript,
79
+ R as Superscript,
80
+ l as Text,
81
+ po as Textarea,
82
+ Lo as Time,
83
+ xo as Vimeo,
84
+ uo as VimeoPlayButton,
85
+ no as VimeoPreviewImage,
86
+ To as VimeoSpinner,
87
+ Bo as XmlNode,
88
+ ko as XmlTime,
89
+ fo as YouTube
90
+ };
@@ -0,0 +1,15 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as i } from "react";
3
+ const a = i(({ children: n, checked: o, defaultChecked: t, ...r }, d) => /* @__PURE__ */ e(
4
+ "input",
5
+ {
6
+ ...r,
7
+ defaultChecked: o ?? t,
8
+ type: "radio",
9
+ ref: d
10
+ }
11
+ ));
12
+ a.displayName = "RadioButton";
13
+ export {
14
+ a as RadioButton
15
+ };
@@ -0,0 +1,14 @@
1
+ import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
+ import { $ as e, PlaceholderValue as a } from "@webstudio-is/template";
3
+ const r = {
4
+ category: "forms",
5
+ description: "Use within a form to allow your users to select a single option from a set of mutually exclusive choices. Group multiple radios by matching their “Name” properties.",
6
+ order: 5,
7
+ template: /* @__PURE__ */ t(e.Label, { "ws:label": "Radio Field", children: [
8
+ /* @__PURE__ */ o(e.RadioButton, {}),
9
+ /* @__PURE__ */ o(e.Text, { "ws:label": "Radio Label", tag: "span", children: new a("Radio") })
10
+ ] })
11
+ };
12
+ export {
13
+ r as meta
14
+ };