@webstudio-is/sdk-components-react 0.193.0 → 0.195.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.
package/lib/components.js CHANGED
@@ -4,24 +4,24 @@ import { HtmlEmbed as x } from "./html-embed.js";
4
4
  import { MarkdownEmbed as i } from "./markdown-embed.js";
5
5
  import { Body as n } from "./body.js";
6
6
  import { Box as d } from "./box.js";
7
- import { Text as u } from "./text.js";
8
- import { Heading as S } from "./heading.js";
9
- import { Paragraph as b } from "./paragraph.js";
10
- import { Link as k } from "./link.js";
11
- import { RichTextLink as I } from "./rich-text-link.js";
7
+ import { Text as k } from "./text.js";
8
+ import { Heading as u } from "./heading.js";
9
+ import { Paragraph as S } from "./paragraph.js";
10
+ import { Link as L, Link as T } from "./link.js";
12
11
  import { Span as F } from "./span.js";
13
12
  import { Bold as h } from "./bold.js";
14
- import { Italic as R } from "./italic.js";
15
- import { Superscript as y } from "./superscript.js";
16
- import { Subscript as E } from "./subscript.js";
17
- import { Button as X } from "./button.js";
18
- import { Input as v } from "./input.js";
19
- import { Form as N, Form as O } from "./form.js";
20
- import { Image as z } from "./image.js";
21
- import { Blockquote as D } from "./blockquote.js";
22
- import { List as J } from "./list.js";
23
- import { ListItem as Q } from "./list-item.js";
24
- import { Separator as W } from "./separator.js";
13
+ import { Italic as P } from "./italic.js";
14
+ import { Superscript as w } from "./superscript.js";
15
+ import { Subscript as C } from "./subscript.js";
16
+ import { Button as H } from "./button.js";
17
+ import { Input as q } from "./input.js";
18
+ import { WebhookForm as M } from "./webhook-form.js";
19
+ import { Form as O } from "./form.js";
20
+ import { Image as j } from "./image.js";
21
+ import { Blockquote as A } from "./blockquote.js";
22
+ import { List as G } from "./list.js";
23
+ import { ListItem as K } from "./list-item.js";
24
+ import { Separator as U } from "./separator.js";
25
25
  import { CodeText as Z } from "./code-text.js";
26
26
  import { Label as $ } from "./label.js";
27
27
  import { Textarea as ro } from "./textarea.js";
@@ -30,50 +30,50 @@ import { Checkbox as po } from "./checkbox.js";
30
30
  import { Vimeo as fo } from "./vimeo.js";
31
31
  import { VimeoPreviewImage as ao } from "./vimeo-preview-image.js";
32
32
  import { VimeoPlayButton as lo } from "./vimeo-play-button.js";
33
- import { VimeoSpinner as uo } from "./vimeo-spinner.js";
34
- import { XmlNode as So } from "./xml-node.js";
35
- import { XmlTime as bo } from "./xml-time.js";
36
- import { Time as ko } from "./time.js";
37
- import { Select as Io } from "./select.js";
38
- import { Option as Fo } from "./option.js";
33
+ import { VimeoSpinner as ko } from "./vimeo-spinner.js";
34
+ import { XmlNode as uo } from "./xml-node.js";
35
+ import { XmlTime as So } from "./xml-time.js";
36
+ import { Time as Lo } from "./time.js";
37
+ import { Select as go } from "./select.js";
38
+ import { Option as Io } from "./option.js";
39
39
  export {
40
- D as Blockquote,
40
+ A as Blockquote,
41
41
  n as Body,
42
42
  h as Bold,
43
43
  d as Box,
44
- X as Button,
44
+ H as Button,
45
45
  po as Checkbox,
46
46
  Z as CodeText,
47
- N as Form,
47
+ M as Form,
48
48
  m as Fragment,
49
- S as Heading,
49
+ u as Heading,
50
50
  x as HtmlEmbed,
51
- z as Image,
52
- v as Input,
53
- R as Italic,
51
+ j as Image,
52
+ q as Input,
53
+ P as Italic,
54
54
  $ as Label,
55
- k as Link,
56
- J as List,
57
- Q as ListItem,
55
+ L as Link,
56
+ G as List,
57
+ K as ListItem,
58
58
  i as MarkdownEmbed,
59
- Fo as Option,
60
- b as Paragraph,
59
+ Io as Option,
60
+ S as Paragraph,
61
61
  to as RadioButton,
62
62
  O as RemixForm,
63
- I as RichTextLink,
64
- Io as Select,
65
- W as Separator,
63
+ T as RichTextLink,
64
+ go as Select,
65
+ U as Separator,
66
66
  e as Slot,
67
67
  F as Span,
68
- E as Subscript,
69
- y as Superscript,
70
- u as Text,
68
+ C as Subscript,
69
+ w as Superscript,
70
+ k as Text,
71
71
  ro as Textarea,
72
- ko as Time,
72
+ Lo as Time,
73
73
  fo as Vimeo,
74
74
  lo as VimeoPlayButton,
75
75
  ao as VimeoPreviewImage,
76
- uo as VimeoSpinner,
77
- So as XmlNode,
78
- bo as XmlTime
76
+ ko as VimeoSpinner,
77
+ uo as XmlNode,
78
+ So as XmlTime
79
79
  };
package/lib/image.js CHANGED
@@ -1,40 +1,38 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import { forwardRef as v, useContext as x } from "react";
3
- import { Image as y } from "@webstudio-is/image";
4
- import { ReactSdkContext as I } from "@webstudio-is/react-sdk/runtime";
5
- const p = v(
1
+ import { jsx as g } from "react/jsx-runtime";
2
+ import { forwardRef as l, useContext as u } from "react";
3
+ import { Image as v } from "@webstudio-is/image";
4
+ import { ReactSdkContext as x } from "@webstudio-is/react-sdk/runtime";
5
+ const y = l(
6
6
  ({
7
- loading: s = "lazy",
8
- width: r,
9
- height: a,
10
- optimize: o = !0,
11
- decoding: d,
7
+ loading: a = "lazy",
8
+ width: e,
9
+ height: r,
10
+ optimize: m = !0,
11
+ decoding: c,
12
12
  // @todo: it's a hack made for the builder and should't be in the runtime at all.
13
- $webstudio$canvasOnly$assetId: f,
14
- ...t
15
- }, l) => {
16
- const e = String(t.src ?? ""), { imageLoader: N, renderer: g, assetBaseUrl: m } = x(I);
17
- let c = d, n = e;
18
- g === "canvas" && (s = "eager", c = "sync", n = f ?? e, r !== void 0 && a !== void 0 && Number.isNaN(r) && Number.isNaN(a) && (o = !1, r = void 0, a = void 0));
19
- let i = e;
20
- return e.startsWith(m) && (i = e.slice(m.length)), /* @__PURE__ */ u(
21
- y,
13
+ $webstudio$canvasOnly$assetId: d,
14
+ ...s
15
+ }, f) => {
16
+ const o = String(s.src ?? ""), { imageLoader: i, renderer: N } = u(x);
17
+ let n = c, t = o;
18
+ return N === "canvas" && (a = "eager", n = "sync", t = d ?? o, e !== void 0 && r !== void 0 && Number.isNaN(e) && Number.isNaN(r) && (m = !1, e = void 0, r = void 0)), /* @__PURE__ */ g(
19
+ v,
22
20
  {
23
- loading: s,
24
- decoding: c,
25
- optimize: o,
26
- width: r,
27
- height: a,
28
- ...t,
29
- loader: N,
30
- src: i,
31
- ref: l
21
+ loading: a,
22
+ decoding: n,
23
+ optimize: m,
24
+ width: e,
25
+ height: r,
26
+ ...s,
27
+ loader: i,
28
+ src: o,
29
+ ref: f
32
30
  },
33
- n
31
+ t
34
32
  );
35
33
  }
36
34
  );
37
- p.displayName = "Image";
35
+ y.displayName = "Image";
38
36
  export {
39
- p as Image
37
+ y as Image
40
38
  };
package/lib/link.ws.js CHANGED
@@ -59,7 +59,7 @@ const n = {
59
59
  required: !1
60
60
  }
61
61
  },
62
- initialProps: ["id", "className", "href", "target", "download"]
62
+ initialProps: ["id", "className", "href", "target", "prefetch", "download"]
63
63
  };
64
64
  export {
65
65
  l as meta,
@@ -4,11 +4,14 @@ import { li as o } from "@webstudio-is/sdk/normalize.css";
4
4
  import { props as i } from "./__generated__/list-item.props.js";
5
5
  const n = {
6
6
  li: o
7
- }, m = {
7
+ }, c = {
8
8
  category: "general",
9
9
  type: "container",
10
10
  constraints: {
11
- relation: "parent",
11
+ // cannot use parent relation here
12
+ // because list item can be put inside of collection or slot
13
+ // perhaps can be eventually fixed with tag matchers
14
+ relation: "ancestor",
12
15
  component: { $eq: "List" }
13
16
  },
14
17
  description: "Adds a new item to an existing list.",
@@ -29,11 +32,11 @@ const n = {
29
32
  ]
30
33
  }
31
34
  ]
32
- }, c = {
35
+ }, m = {
33
36
  props: i,
34
37
  initialProps: ["id", "className"]
35
38
  };
36
39
  export {
37
- m as meta,
38
- c as propsMeta
40
+ c as meta,
41
+ m as propsMeta
39
42
  };
package/lib/metas.js CHANGED
@@ -17,65 +17,66 @@ import { meta as y } from "./superscript.ws.js";
17
17
  import { meta as X } from "./subscript.ws.js";
18
18
  import { meta as v } from "./button.ws.js";
19
19
  import { meta as N } from "./input.ws.js";
20
- import { meta as j, meta as z } from "./form.ws.js";
21
- import { meta as D } from "./image.ws.js";
22
- import { meta as J } from "./blockquote.ws.js";
23
- import { meta as Q } from "./list.ws.js";
24
- import { meta as W } from "./list-item.ws.js";
25
- import { meta as Z } from "./separator.ws.js";
26
- import { meta as $ } from "./code-text.ws.js";
27
- import { meta as te } from "./label.ws.js";
28
- import { meta as me } from "./textarea.ws.js";
29
- import { meta as re } from "./radio-button.ws.js";
30
- import { meta as xe } from "./checkbox.ws.js";
31
- import { meta as fe } from "./vimeo.ws.js";
32
- import { meta as ne } from "./vimeo-preview-image.ws.js";
33
- import { meta as le } from "./vimeo-play-button.ws.js";
34
- import { meta as ue } from "./vimeo-spinner.ws.js";
35
- import { meta as Se } from "./xml-node.ws.js";
36
- import { meta as Te } from "./xml-time.ws.js";
37
- import { meta as ke } from "./time.ws.js";
38
- import { meta as Le } from "./select.ws.js";
39
- import { meta as he } from "./option.ws.js";
20
+ import { meta as j } from "./webhook-form.ws.js";
21
+ import { meta as A } from "./form.ws.js";
22
+ import { meta as G } from "./image.ws.js";
23
+ import { meta as K } from "./blockquote.ws.js";
24
+ import { meta as U } from "./list.ws.js";
25
+ import { meta as Y } from "./list-item.ws.js";
26
+ import { meta as _ } from "./separator.ws.js";
27
+ import { meta as ee } from "./code-text.ws.js";
28
+ import { meta as oe } from "./label.ws.js";
29
+ import { meta as ae } from "./textarea.ws.js";
30
+ import { meta as pe } from "./radio-button.ws.js";
31
+ import { meta as se } from "./checkbox.ws.js";
32
+ import { meta as ie } from "./vimeo.ws.js";
33
+ import { meta as de } from "./vimeo-preview-image.ws.js";
34
+ import { meta as ce } from "./vimeo-play-button.ws.js";
35
+ import { meta as Be } from "./vimeo-spinner.ws.js";
36
+ import { meta as be } from "./xml-node.ws.js";
37
+ import { meta as ge } from "./xml-time.ws.js";
38
+ import { meta as Ie } from "./time.ws.js";
39
+ import { meta as Ve } from "./select.ws.js";
40
+ import { meta as Ce } from "./option.ws.js";
40
41
  export {
41
- J as Blockquote,
42
+ K as Blockquote,
42
43
  d as Body,
43
44
  F as Bold,
44
45
  c as Box,
45
46
  v as Button,
46
- xe as Checkbox,
47
- $ as CodeText,
47
+ se as Checkbox,
48
+ ee as CodeText,
48
49
  i as ContentEmbed,
49
50
  j as Form,
50
51
  a as Fragment,
51
52
  b as Heading,
52
53
  p as HtmlEmbed,
53
- D as Image,
54
+ G as Image,
54
55
  N as Input,
55
56
  R as Italic,
56
- te as Label,
57
+ oe as Label,
57
58
  I as Link,
58
- Q as List,
59
- W as ListItem,
59
+ U as List,
60
+ Y as ListItem,
60
61
  s as MarkdownEmbed,
61
- he as Option,
62
+ Ce as Option,
62
63
  g as Paragraph,
63
- re as RadioButton,
64
- z as RemixForm,
64
+ pe as RadioButton,
65
+ A as RemixForm,
65
66
  V as RichTextLink,
66
- Le as Select,
67
- Z as Separator,
67
+ Ve as Select,
68
+ _ as Separator,
68
69
  o as Slot,
69
70
  C as Span,
70
71
  X as Subscript,
71
72
  y as Superscript,
72
73
  B as Text,
73
- me as Textarea,
74
- ke as Time,
75
- fe as Vimeo,
76
- le as VimeoPlayButton,
77
- ne as VimeoPreviewImage,
78
- ue as VimeoSpinner,
79
- Se as XmlNode,
80
- Te as XmlTime
74
+ ae as Textarea,
75
+ Ie as Time,
76
+ ie as Vimeo,
77
+ ce as VimeoPlayButton,
78
+ de as VimeoPreviewImage,
79
+ Be as VimeoSpinner,
80
+ be as XmlNode,
81
+ ge as XmlTime
81
82
  };
package/lib/props.js CHANGED
@@ -16,64 +16,65 @@ import { propsMeta as w } from "./superscript.ws.js";
16
16
  import { propsMeta as C } from "./subscript.ws.js";
17
17
  import { propsMeta as H } from "./button.ws.js";
18
18
  import { propsMeta as q } from "./input.ws.js";
19
- import { propsMeta as N, propsMeta as O } from "./form.ws.js";
20
- import { propsMeta as z } from "./image.ws.js";
21
- import { propsMeta as D } from "./blockquote.ws.js";
22
- import { propsMeta as J } from "./list.ws.js";
23
- import { propsMeta as Q } from "./list-item.ws.js";
24
- import { propsMeta as W } from "./separator.ws.js";
25
- import { propsMeta as Z } from "./code-text.ws.js";
26
- import { propsMeta as $ } from "./label.ws.js";
27
- import { propsMeta as ro } from "./textarea.ws.js";
28
- import { propsMeta as eo } from "./radio-button.ws.js";
29
- import { propsMeta as ao } from "./checkbox.ws.js";
30
- import { propsMeta as mo } from "./vimeo.ws.js";
31
- import { propsMeta as Mo } from "./vimeo-preview-image.ws.js";
32
- import { propsMeta as io } from "./vimeo-play-button.ws.js";
33
- import { propsMeta as lo } from "./vimeo-spinner.ws.js";
34
- import { propsMeta as uo } from "./xml-node.ws.js";
35
- import { propsMeta as So } from "./xml-time.ws.js";
36
- import { propsMeta as bo } from "./time.ws.js";
37
- import { propsMeta as ko } from "./select.ws.js";
38
- import { propsMeta as Lo } from "./option.ws.js";
19
+ import { propsMeta as N } from "./webhook-form.ws.js";
20
+ import { propsMeta as j } from "./form.ws.js";
21
+ import { propsMeta as A } from "./image.ws.js";
22
+ import { propsMeta as G } from "./blockquote.ws.js";
23
+ import { propsMeta as K } from "./list.ws.js";
24
+ import { propsMeta as U } from "./list-item.ws.js";
25
+ import { propsMeta as Y } 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 "./vimeo-preview-image.ws.js";
33
+ import { propsMeta as no } from "./vimeo-play-button.ws.js";
34
+ import { propsMeta as co } from "./vimeo-spinner.ws.js";
35
+ import { propsMeta as Bo } from "./xml-node.ws.js";
36
+ import { propsMeta as To } from "./xml-time.ws.js";
37
+ import { propsMeta as go } from "./time.ws.js";
38
+ import { propsMeta as Io } from "./select.ws.js";
39
+ import { propsMeta as Vo } from "./option.ws.js";
39
40
  export {
40
- D as Blockquote,
41
+ G as Blockquote,
41
42
  f as Body,
42
43
  h as Bold,
43
44
  n as Box,
44
45
  H as Button,
45
- ao as Checkbox,
46
- Z as CodeText,
46
+ so as Checkbox,
47
+ _ as CodeText,
47
48
  N as Form,
48
49
  t as Fragment,
49
50
  u as Heading,
50
51
  s as HtmlEmbed,
51
- z as Image,
52
+ A as Image,
52
53
  q as Input,
53
54
  P as Italic,
54
- $ as Label,
55
+ oo as Label,
55
56
  b as Link,
56
- J as List,
57
- Q as ListItem,
57
+ K as List,
58
+ U as ListItem,
58
59
  x as MarkdownEmbed,
59
- Lo as Option,
60
+ Vo as Option,
60
61
  S as Paragraph,
61
- eo as RadioButton,
62
- O as RemixForm,
62
+ to as RadioButton,
63
+ j as RemixForm,
63
64
  k as RichTextLink,
64
- ko as Select,
65
- W as Separator,
65
+ Io as Select,
66
+ Y as Separator,
66
67
  p as Slot,
67
68
  L as Span,
68
69
  C as Subscript,
69
70
  w as Superscript,
70
71
  d as Text,
71
- ro as Textarea,
72
- bo as Time,
73
- mo as Vimeo,
74
- io as VimeoPlayButton,
75
- Mo as VimeoPreviewImage,
76
- lo as VimeoSpinner,
77
- uo as XmlNode,
78
- So as XmlTime
72
+ po as Textarea,
73
+ go as Time,
74
+ xo as Vimeo,
75
+ no as VimeoPlayButton,
76
+ fo as VimeoPreviewImage,
77
+ co as VimeoSpinner,
78
+ Bo as XmlNode,
79
+ To as XmlTime
79
80
  };
@@ -0,0 +1,2 @@
1
+ import type { PropMeta } from "@webstudio-is/react-sdk";
2
+ export declare const props: Record<string, PropMeta>;
@@ -16,7 +16,7 @@ export { Superscript } from "./superscript";
16
16
  export { Subscript } from "./subscript";
17
17
  export { Button } from "./button";
18
18
  export { Input } from "./input";
19
- export { Form } from "./form";
19
+ export { WebhookForm as Form } from "./webhook-form";
20
20
  export { Form as RemixForm } from "./form";
21
21
  export { Image } from "./image";
22
22
  export { Blockquote } from "./blockquote";
@@ -2,6 +2,10 @@ export declare const defaultTag = "a";
2
2
  export declare const Link: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "target" | "download"> & {
3
3
  target?: "_self" | "_blank" | "_parent" | "_top";
4
4
  download?: boolean;
5
+ prefetch?: "none" | "intent" | "render" | "viewport";
6
+ preventScrollReset?: boolean;
7
+ reloadDocument?: boolean;
8
+ replace?: boolean;
5
9
  } & {
6
10
  $webstudio$canvasOnly$assetId?: string | undefined;
7
11
  }, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
@@ -17,7 +17,7 @@ export { meta as Superscript } from "./superscript.ws";
17
17
  export { meta as Subscript } from "./subscript.ws";
18
18
  export { meta as Button } from "./button.ws";
19
19
  export { meta as Input } from "./input.ws";
20
- export { meta as Form } from "./form.ws";
20
+ export { meta as Form } from "./webhook-form.ws";
21
21
  export { meta as RemixForm } from "./form.ws";
22
22
  export { meta as Image } from "./image.ws";
23
23
  export { meta as Blockquote } from "./blockquote.ws";
@@ -16,7 +16,7 @@ export { propsMeta as Superscript } from "./superscript.ws";
16
16
  export { propsMeta as Subscript } from "./subscript.ws";
17
17
  export { propsMeta as Button } from "./button.ws";
18
18
  export { propsMeta as Input } from "./input.ws";
19
- export { propsMeta as Form } from "./form.ws";
19
+ export { propsMeta as Form } from "./webhook-form.ws";
20
20
  export { propsMeta as RemixForm } from "./form.ws";
21
21
  export { propsMeta as Image } from "./image.ws";
22
22
  export { propsMeta as Blockquote } from "./blockquote.ws";
@@ -1,2 +1 @@
1
- import { Link } from "./link";
2
- export declare const RichTextLink: typeof Link;
1
+ export { Link as RichTextLink } from "./link";
@@ -0,0 +1,8 @@
1
+ import { type ComponentProps } from "react";
2
+ type Props = ComponentProps<"form"> & {
3
+ encType?: "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
4
+ /** Use this property to reveal the Success and Error states on the canvas so they can be styled. The Initial state is displayed when the page first opens. The Success and Error states are displayed depending on whether the Form submits successfully or unsuccessfully. */
5
+ state?: "initial" | "success" | "error";
6
+ };
7
+ export declare const WebhookForm: import("react").ForwardRefExoticComponent<Omit<Props, "ref"> & import("react").RefAttributes<HTMLFormElement>>;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { type WsComponentMeta, type WsComponentPropsMeta } from "@webstudio-is/react-sdk";
2
+ export declare const meta: WsComponentMeta;
3
+ export declare const propsMeta: WsComponentPropsMeta;
@@ -1,12 +1,15 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { forwardRef as e, useContext as n } from "react";
3
- import { VimeoContext as m } from "./vimeo.js";
4
- import { Button as a } from "./button.js";
5
- const f = e(
6
- (o, r) => {
7
- const t = n(m);
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as r, useContext as a, useCallback as m } from "react";
3
+ import { VimeoContext as s } from "./vimeo.js";
4
+ import { Button as l } from "./button.js";
5
+ import c from "await-interaction-response";
6
+ const f = r(
7
+ (o, i) => {
8
+ const t = a(s), n = m(async () => {
9
+ await c(), t.onInitPlayer();
10
+ }, [t]);
8
11
  if (t.status === "initial")
9
- return /* @__PURE__ */ i(a, { ...o, onClick: t.onInitPlayer, ref: r });
12
+ return /* @__PURE__ */ e(l, { ...o, onClick: n, ref: i });
10
13
  }
11
14
  );
12
15
  f.displayName = "VimeoPlayButton";
package/lib/vimeo.ws.js CHANGED
@@ -307,10 +307,9 @@ const n = {
307
307
  "className",
308
308
  "url",
309
309
  "quality",
310
+ "loading",
310
311
  "showPreview",
311
312
  "autoplay",
312
- "loading",
313
- "backgroundMode",
314
313
  "doNotTrack",
315
314
  "loop",
316
315
  "muted",
@@ -0,0 +1,9 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as e } from "react";
3
+ const i = e(
4
+ ({ children: o, state: a = "initial", ...r }, m) => /* @__PURE__ */ t("form", { ...r, ref: m, children: o })
5
+ );
6
+ i.displayName = "WebhookForm";
7
+ export {
8
+ i as WebhookForm
9
+ };