@webstudio-is/react-sdk 0.29.0 → 0.30.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 (120) hide show
  1. package/lib/app/custom-components/index.js +12 -6
  2. package/lib/app/root.js +0 -2
  3. package/lib/cjs/app/custom-components/index.cjs +12 -6
  4. package/lib/cjs/app/root.cjs +0 -2
  5. package/lib/cjs/components/__generated__/body.props.json +557 -305
  6. package/lib/cjs/components/__generated__/bold.props.json +557 -305
  7. package/lib/cjs/components/__generated__/box.props.json +577 -320
  8. package/lib/cjs/components/__generated__/button.props.json +616 -339
  9. package/lib/cjs/components/__generated__/form.props.json +597 -329
  10. package/lib/cjs/components/__generated__/heading.props.json +566 -309
  11. package/lib/cjs/components/__generated__/image.props.json +638 -352
  12. package/lib/cjs/components/__generated__/input.props.json +725 -405
  13. package/lib/cjs/components/__generated__/italic.props.json +557 -305
  14. package/lib/cjs/components/__generated__/link.props.json +616 -343
  15. package/lib/cjs/components/__generated__/paragraph.props.json +557 -305
  16. package/lib/cjs/components/__generated__/rich-text-link.props.json +616 -343
  17. package/lib/cjs/components/__generated__/span.props.json +557 -305
  18. package/lib/cjs/components/__generated__/subscript.props.json +557 -305
  19. package/lib/cjs/components/__generated__/superscript.props.json +557 -305
  20. package/lib/cjs/components/__generated__/text-block.props.json +557 -305
  21. package/lib/cjs/components/body.ws.cjs +6 -3
  22. package/lib/cjs/components/bold.ws.cjs +7 -4
  23. package/lib/cjs/components/box.ws.cjs +8 -4
  24. package/lib/cjs/components/button.ws.cjs +8 -4
  25. package/lib/cjs/components/component-type.cjs +21 -56
  26. package/lib/cjs/components/form.ws.cjs +7 -4
  27. package/lib/cjs/components/heading.ws.cjs +8 -4
  28. package/lib/cjs/components/image.ws.cjs +11 -5
  29. package/lib/cjs/components/index.cjs +165 -111
  30. package/lib/cjs/components/input.ws.cjs +7 -4
  31. package/lib/cjs/components/italic.ws.cjs +7 -4
  32. package/lib/cjs/components/link.ws.cjs +8 -4
  33. package/lib/cjs/components/paragraph.ws.cjs +7 -4
  34. package/lib/cjs/components/rich-text-link.ws.cjs +7 -4
  35. package/lib/cjs/components/span.ws.cjs +7 -4
  36. package/lib/cjs/components/subscript.ws.cjs +7 -4
  37. package/lib/cjs/components/superscript.ws.cjs +7 -4
  38. package/lib/cjs/components/text-block.ws.cjs +7 -4
  39. package/lib/cjs/index.cjs +3 -2
  40. package/lib/cjs/tree/session-storage-polyfill.cjs +1 -1
  41. package/lib/components/__generated__/body.props.json +557 -305
  42. package/lib/components/__generated__/bold.props.json +557 -305
  43. package/lib/components/__generated__/box.props.json +577 -320
  44. package/lib/components/__generated__/button.props.json +616 -339
  45. package/lib/components/__generated__/form.props.json +597 -329
  46. package/lib/components/__generated__/heading.props.json +566 -309
  47. package/lib/components/__generated__/image.props.json +638 -352
  48. package/lib/components/__generated__/input.props.json +725 -405
  49. package/lib/components/__generated__/italic.props.json +557 -305
  50. package/lib/components/__generated__/link.props.json +616 -343
  51. package/lib/components/__generated__/paragraph.props.json +557 -305
  52. package/lib/components/__generated__/rich-text-link.props.json +616 -343
  53. package/lib/components/__generated__/span.props.json +557 -305
  54. package/lib/components/__generated__/subscript.props.json +557 -305
  55. package/lib/components/__generated__/superscript.props.json +557 -305
  56. package/lib/components/__generated__/text-block.props.json +557 -305
  57. package/lib/components/body.ws.js +6 -3
  58. package/lib/components/bold.ws.js +7 -4
  59. package/lib/components/box.ws.js +8 -4
  60. package/lib/components/button.ws.js +8 -4
  61. package/lib/components/component-type.js +21 -56
  62. package/lib/components/form.ws.js +7 -4
  63. package/lib/components/heading.ws.js +8 -4
  64. package/lib/components/image.ws.js +11 -5
  65. package/lib/components/index.js +117 -57
  66. package/lib/components/input.ws.js +7 -4
  67. package/lib/components/italic.ws.js +7 -4
  68. package/lib/components/link.ws.js +8 -4
  69. package/lib/components/paragraph.ws.js +7 -4
  70. package/lib/components/rich-text-link.ws.js +7 -4
  71. package/lib/components/span.ws.js +7 -4
  72. package/lib/components/subscript.ws.js +7 -4
  73. package/lib/components/superscript.ws.js +7 -4
  74. package/lib/components/text-block.ws.js +7 -4
  75. package/lib/index.js +5 -3
  76. package/lib/tree/session-storage-polyfill.js +1 -1
  77. package/package.json +8 -8
  78. package/src/app/custom-components/image.tsx +2 -2
  79. package/src/app/custom-components/index.ts +11 -5
  80. package/src/app/root.tsx +0 -2
  81. package/src/components/__generated__/body.props.json +557 -305
  82. package/src/components/__generated__/bold.props.json +557 -305
  83. package/src/components/__generated__/box.props.json +577 -320
  84. package/src/components/__generated__/button.props.json +616 -339
  85. package/src/components/__generated__/form.props.json +597 -329
  86. package/src/components/__generated__/heading.props.json +566 -309
  87. package/src/components/__generated__/image.props.json +638 -352
  88. package/src/components/__generated__/input.props.json +725 -405
  89. package/src/components/__generated__/italic.props.json +557 -305
  90. package/src/components/__generated__/link.props.json +616 -343
  91. package/src/components/__generated__/paragraph.props.json +557 -305
  92. package/src/components/__generated__/rich-text-link.props.json +616 -343
  93. package/src/components/__generated__/span.props.json +557 -305
  94. package/src/components/__generated__/subscript.props.json +557 -305
  95. package/src/components/__generated__/superscript.props.json +557 -305
  96. package/src/components/__generated__/text-block.props.json +557 -305
  97. package/src/components/body.ws.tsx +5 -4
  98. package/src/components/bold.ws.tsx +5 -4
  99. package/src/components/box.ws.ts +6 -4
  100. package/src/components/button.ws.tsx +6 -4
  101. package/src/components/component-type.ts +23 -63
  102. package/src/components/form.ws.tsx +5 -4
  103. package/src/components/heading.ws.tsx +6 -4
  104. package/src/components/image.ws.tsx +9 -5
  105. package/src/components/index.test.ts +2 -24
  106. package/src/components/index.ts +155 -81
  107. package/src/components/input.ws.tsx +5 -4
  108. package/src/components/italic.ws.tsx +5 -4
  109. package/src/components/link.ws.tsx +6 -4
  110. package/src/components/paragraph.ws.tsx +5 -4
  111. package/src/components/rich-text-link.ws.tsx +5 -4
  112. package/src/components/span.ws.tsx +5 -4
  113. package/src/components/subscript.ws.tsx +5 -4
  114. package/src/components/superscript.ws.tsx +5 -4
  115. package/src/components/text-block.ws.tsx +5 -4
  116. package/src/css/breakpoints.ts +1 -1
  117. package/src/index.ts +6 -2
  118. package/src/props.ts +1 -1
  119. package/src/tree/create-elements-tree.tsx +3 -3
  120. package/src/tree/session-storage-polyfill.tsx +1 -1
@@ -1,12 +1,13 @@
1
1
  import { Link2Icon } from "@webstudio-is/icons";
2
- import type { WsComponentMeta, MetaProps } from "./component-type";
2
+ import { type WsComponentMeta, WsComponentPropsMeta } from "./component-type";
3
3
  import props from "./__generated__/rich-text-link.props.json";
4
4
 
5
- const meta: WsComponentMeta = {
5
+ export const meta: WsComponentMeta = {
6
6
  type: "rich-text-child",
7
7
  label: "Link",
8
8
  Icon: Link2Icon,
9
- props: props as MetaProps,
10
9
  };
11
10
 
12
- export default meta;
11
+ export const propsMeta = WsComponentPropsMeta.parse({
12
+ props,
13
+ });
@@ -1,12 +1,13 @@
1
1
  import { BrushIcon } from "@webstudio-is/icons";
2
- import type { WsComponentMeta, MetaProps } from "./component-type";
2
+ import { type WsComponentMeta, WsComponentPropsMeta } from "./component-type";
3
3
  import props from "./__generated__/span.props.json";
4
4
 
5
- const meta: WsComponentMeta = {
5
+ export const meta: WsComponentMeta = {
6
6
  type: "rich-text-child",
7
7
  label: "Styled Text",
8
8
  Icon: BrushIcon,
9
- props: props as MetaProps,
10
9
  };
11
10
 
12
- export default meta;
11
+ export const propsMeta = WsComponentPropsMeta.parse({
12
+ props,
13
+ });
@@ -1,12 +1,13 @@
1
1
  import { SubscriptIcon } from "@webstudio-is/icons";
2
- import type { WsComponentMeta, MetaProps } from "./component-type";
2
+ import { type WsComponentMeta, WsComponentPropsMeta } from "./component-type";
3
3
  import props from "./__generated__/subscript.props.json";
4
4
 
5
- const meta: WsComponentMeta = {
5
+ export const meta: WsComponentMeta = {
6
6
  type: "rich-text-child",
7
7
  label: "Subscript Text",
8
8
  Icon: SubscriptIcon,
9
- props: props as MetaProps,
10
9
  };
11
10
 
12
- export default meta;
11
+ export const propsMeta = WsComponentPropsMeta.parse({
12
+ props,
13
+ });
@@ -1,12 +1,13 @@
1
1
  import { SuperscriptIcon } from "@webstudio-is/icons";
2
- import type { WsComponentMeta, MetaProps } from "./component-type";
2
+ import { type WsComponentMeta, WsComponentPropsMeta } from "./component-type";
3
3
  import props from "./__generated__/superscript.props.json";
4
4
 
5
- const meta: WsComponentMeta = {
5
+ export const meta: WsComponentMeta = {
6
6
  type: "rich-text-child",
7
7
  label: "Superscript Text",
8
8
  Icon: SuperscriptIcon,
9
- props: props as MetaProps,
10
9
  };
11
10
 
12
- export default meta;
11
+ export const propsMeta = WsComponentPropsMeta.parse({
12
+ props,
13
+ });
@@ -1,5 +1,5 @@
1
1
  import { TextIcon } from "@webstudio-is/icons";
2
- import type { WsComponentMeta, MetaProps } from "./component-type";
2
+ import { type WsComponentMeta, WsComponentPropsMeta } from "./component-type";
3
3
  import props from "./__generated__/text-block.props.json";
4
4
 
5
5
  const presetStyle = {
@@ -10,13 +10,14 @@ const presetStyle = {
10
10
  },
11
11
  } as const;
12
12
 
13
- const meta: WsComponentMeta = {
13
+ export const meta: WsComponentMeta = {
14
14
  type: "rich-text",
15
15
  label: "Text Block",
16
16
  Icon: TextIcon,
17
17
  presetStyle,
18
18
  children: ["Block of text you can edit"],
19
- props: props as MetaProps,
20
19
  };
21
20
 
22
- export default meta;
21
+ export const propsMeta = WsComponentPropsMeta.parse({
22
+ props,
23
+ });
@@ -1,4 +1,4 @@
1
- import type { Breakpoint } from "@webstudio-is/css-data";
1
+ import type { Breakpoint } from "@webstudio-is/project-build";
2
2
 
3
3
  export type BaseBreakpoint = Pick<Breakpoint, "label" | "minWidth">;
4
4
 
package/src/index.ts CHANGED
@@ -5,6 +5,10 @@ export * from "./pubsub";
5
5
  export * from "./app";
6
6
  export {
7
7
  customComponents,
8
- customComponentsMeta,
8
+ customComponentMetas,
9
+ customComponentPropsMetas,
9
10
  } from "./app/custom-components";
10
- export type { MetaProps, WsComponentMeta } from "./components/component-type";
11
+ export type {
12
+ WsComponentPropsMeta,
13
+ WsComponentMeta,
14
+ } from "./components/component-type";
package/src/props.ts CHANGED
@@ -39,7 +39,7 @@ export const useInstanceProps = (instanceId: Instance["id"]) => {
39
39
  return instancePropsObject;
40
40
  };
41
41
 
42
- // this utility is be used for image component in both designer and preview
42
+ // this utility is be used for image component in both builder and preview
43
43
  // so need to optimize rerenders with computed
44
44
  export const usePropAsset = (instanceId: Instance["id"], name: string) => {
45
45
  const { propsByInstanceIdStore, assetsStore } = useContext(ReactSdkContext);
@@ -1,10 +1,10 @@
1
1
  import { type ComponentProps, Fragment } from "react";
2
- import { ReadableAtom } from "nanostores";
2
+ import type { ReadableAtom } from "nanostores";
3
3
  import { Scripts, ScrollRestoration } from "@remix-run/react";
4
4
  import type { Instance } from "@webstudio-is/project-build";
5
5
  import { ReactSdkContext } from "../context";
6
- import { Assets, PropsByInstanceId } from "../props";
7
- import { WrapperComponent } from "./wrapper-component";
6
+ import type { Assets, PropsByInstanceId } from "../props";
7
+ import type { WrapperComponent } from "./wrapper-component";
8
8
  import { SessionStoragePolyfill } from "./session-storage-polyfill";
9
9
 
10
10
  export type ChildrenUpdates = Array<
@@ -8,7 +8,7 @@ const polyfill = function () {
8
8
  sessionStorage.removeItem(key); // cleanup
9
9
  } catch (error) {
10
10
  alert(
11
- 'It looks like you have disabled cookies in your browser. Webstudio designer may not work properly.\n\nTo enable cookies, go to "Setting" > "Privacy and security" > "Cookies and other site data", and make sure neither "Block all cookies" nor "Block third-party cookies" are selected.\n\nRead more at https://support.google.com/chrome/answer/95647'
11
+ 'It looks like you have disabled cookies in your browser. Webstudio builder may not work properly.\n\nTo enable cookies, go to "Setting" > "Privacy and security" > "Cookies and other site data", and make sure neither "Block all cookies" nor "Block third-party cookies" are selected.\n\nRead more at https://support.google.com/chrome/answer/95647'
12
12
  );
13
13
  const data = new Map();
14
14
  Object.defineProperty(window, "sessionStorage", {