@webstudio-is/react-sdk 0.58.0 → 0.60.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 (96) hide show
  1. package/lib/app/custom-components/shared/remix-link.js +2 -2
  2. package/lib/app/index.js +0 -1
  3. package/lib/cjs/app/custom-components/shared/remix-link.js +2 -2
  4. package/lib/cjs/app/index.js +0 -1
  5. package/lib/cjs/components/__generated__/blockquote.props.js +5 -0
  6. package/lib/cjs/components/__generated__/body.props.js +5 -0
  7. package/lib/cjs/components/__generated__/bold.props.js +5 -0
  8. package/lib/cjs/components/__generated__/box.props.js +5 -0
  9. package/lib/cjs/components/__generated__/button.props.js +5 -1
  10. package/lib/cjs/components/__generated__/code.props.js +5 -0
  11. package/lib/cjs/components/__generated__/form.props.js +5 -0
  12. package/lib/cjs/components/__generated__/heading.props.js +5 -0
  13. package/lib/cjs/components/__generated__/image.props.js +5 -0
  14. package/lib/cjs/components/__generated__/input.props.js +11 -2
  15. package/lib/cjs/components/__generated__/italic.props.js +5 -0
  16. package/lib/cjs/components/__generated__/link-block.props.js +5 -1
  17. package/lib/cjs/components/__generated__/link.props.js +5 -1
  18. package/lib/cjs/components/__generated__/list-item.props.js +5 -0
  19. package/lib/cjs/components/__generated__/list.props.js +5 -0
  20. package/lib/cjs/components/__generated__/paragraph.props.js +5 -0
  21. package/lib/cjs/components/__generated__/rich-text-link.props.js +5 -1
  22. package/lib/cjs/components/__generated__/separator.props.js +5 -0
  23. package/lib/cjs/components/__generated__/span.props.js +5 -0
  24. package/lib/cjs/components/__generated__/subscript.props.js +5 -0
  25. package/lib/cjs/components/__generated__/superscript.props.js +5 -0
  26. package/lib/cjs/components/__generated__/text-block.props.js +5 -0
  27. package/lib/cjs/components/body.ws.js +0 -8
  28. package/lib/cjs/components/component-meta.js +6 -0
  29. package/lib/cjs/components/link-block.ws.js +1 -0
  30. package/lib/cjs/components/link.js +1 -1
  31. package/lib/cjs/components/link.ws.js +1 -0
  32. package/lib/components/__generated__/blockquote.props.js +5 -0
  33. package/lib/components/__generated__/body.props.js +5 -0
  34. package/lib/components/__generated__/bold.props.js +5 -0
  35. package/lib/components/__generated__/box.props.js +5 -0
  36. package/lib/components/__generated__/button.props.js +5 -1
  37. package/lib/components/__generated__/code.props.js +5 -0
  38. package/lib/components/__generated__/form.props.js +5 -0
  39. package/lib/components/__generated__/heading.props.js +5 -0
  40. package/lib/components/__generated__/image.props.js +5 -0
  41. package/lib/components/__generated__/input.props.js +11 -2
  42. package/lib/components/__generated__/italic.props.js +5 -0
  43. package/lib/components/__generated__/link-block.props.js +5 -1
  44. package/lib/components/__generated__/link.props.js +5 -1
  45. package/lib/components/__generated__/list-item.props.js +5 -0
  46. package/lib/components/__generated__/list.props.js +5 -0
  47. package/lib/components/__generated__/paragraph.props.js +5 -0
  48. package/lib/components/__generated__/rich-text-link.props.js +5 -1
  49. package/lib/components/__generated__/separator.props.js +5 -0
  50. package/lib/components/__generated__/span.props.js +5 -0
  51. package/lib/components/__generated__/subscript.props.js +5 -0
  52. package/lib/components/__generated__/superscript.props.js +5 -0
  53. package/lib/components/__generated__/text-block.props.js +5 -0
  54. package/lib/components/body.ws.js +0 -8
  55. package/lib/components/component-meta.js +6 -0
  56. package/lib/components/link-block.ws.js +2 -1
  57. package/lib/components/link.js +1 -1
  58. package/lib/components/link.ws.js +1 -0
  59. package/lib/types/app/index.d.ts +0 -1
  60. package/lib/types/components/component-meta.d.ts +29 -0
  61. package/lib/types/index.d.ts +1 -1
  62. package/package.json +13 -17
  63. package/src/app/custom-components/shared/remix-link.tsx +2 -2
  64. package/src/app/index.ts +0 -1
  65. package/src/components/__generated__/blockquote.props.ts +5 -0
  66. package/src/components/__generated__/body.props.ts +5 -0
  67. package/src/components/__generated__/bold.props.ts +5 -0
  68. package/src/components/__generated__/box.props.ts +5 -0
  69. package/src/components/__generated__/button.props.ts +5 -1
  70. package/src/components/__generated__/code.props.ts +5 -0
  71. package/src/components/__generated__/form.props.ts +5 -0
  72. package/src/components/__generated__/heading.props.ts +5 -0
  73. package/src/components/__generated__/image.props.ts +5 -0
  74. package/src/components/__generated__/input.props.ts +11 -2
  75. package/src/components/__generated__/italic.props.ts +5 -0
  76. package/src/components/__generated__/link-block.props.ts +5 -1
  77. package/src/components/__generated__/link.props.ts +5 -1
  78. package/src/components/__generated__/list-item.props.ts +5 -0
  79. package/src/components/__generated__/list.props.ts +5 -0
  80. package/src/components/__generated__/paragraph.props.ts +5 -0
  81. package/src/components/__generated__/rich-text-link.props.ts +5 -1
  82. package/src/components/__generated__/separator.props.ts +5 -0
  83. package/src/components/__generated__/span.props.ts +5 -0
  84. package/src/components/__generated__/subscript.props.ts +5 -0
  85. package/src/components/__generated__/superscript.props.ts +5 -0
  86. package/src/components/__generated__/text-block.props.ts +5 -0
  87. package/src/components/body.ws.tsx +0 -10
  88. package/src/components/component-meta.ts +8 -0
  89. package/src/components/link-block.ws.tsx +2 -1
  90. package/src/components/link.tsx +1 -1
  91. package/src/components/link.ws.tsx +1 -0
  92. package/src/index.ts +1 -0
  93. package/lib/app/handle-request.server.js +0 -16
  94. package/lib/cjs/app/handle-request.server.js +0 -36
  95. package/lib/types/app/handle-request.server.d.ts +0 -2
  96. package/src/app/handle-request.server.tsx +0 -21
@@ -13,7 +13,6 @@ const props = {
13
13
  hrefLang: { required: false, control: "text", type: "string" },
14
14
  media: { required: false, control: "text", type: "string" },
15
15
  ping: { required: false, control: "text", type: "string" },
16
- rel: { required: false, control: "text", type: "string" },
17
16
  type: { required: false, control: "text", type: "string" },
18
17
  referrerPolicy: {
19
18
  required: false,
@@ -44,6 +43,7 @@ const props = {
44
43
  type: "boolean"
45
44
  },
46
45
  accessKey: { required: false, control: "text", type: "string" },
46
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
47
47
  className: { required: false, control: "text", type: "string" },
48
48
  contentEditable: { required: false, control: "text", type: "string" },
49
49
  contextMenu: { required: false, control: "text", type: "string" },
@@ -52,6 +52,7 @@ const props = {
52
52
  hidden: { required: false, control: "boolean", type: "boolean" },
53
53
  id: { required: false, control: "text", type: "string" },
54
54
  lang: { required: false, control: "text", type: "string" },
55
+ nonce: { required: false, control: "text", type: "string" },
55
56
  placeholder: { required: false, control: "text", type: "string" },
56
57
  spellCheck: { required: false, control: "boolean", type: "boolean" },
57
58
  tabIndex: { required: false, control: "number", type: "number" },
@@ -64,11 +65,14 @@ const props = {
64
65
  radioGroup: { required: false, control: "text", type: "string" },
65
66
  role: { required: false, control: "text", type: "string" },
66
67
  about: { required: false, control: "text", type: "string" },
68
+ content: { required: false, control: "text", type: "string" },
67
69
  datatype: { required: false, control: "text", type: "string" },
68
70
  inlist: { required: false, control: "text", type: "string" },
69
71
  prefix: { required: false, control: "text", type: "string" },
70
72
  property: { required: false, control: "text", type: "string" },
73
+ rel: { required: false, control: "text", type: "string" },
71
74
  resource: { required: false, control: "text", type: "string" },
75
+ rev: { required: false, control: "text", type: "string" },
72
76
  typeof: { required: false, control: "text", type: "string" },
73
77
  vocab: { required: false, control: "text", type: "string" },
74
78
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -13,7 +13,6 @@ const props = {
13
13
  hrefLang: { required: false, control: "text", type: "string" },
14
14
  media: { required: false, control: "text", type: "string" },
15
15
  ping: { required: false, control: "text", type: "string" },
16
- rel: { required: false, control: "text", type: "string" },
17
16
  type: { required: false, control: "text", type: "string" },
18
17
  referrerPolicy: {
19
18
  required: false,
@@ -44,6 +43,7 @@ const props = {
44
43
  type: "boolean"
45
44
  },
46
45
  accessKey: { required: false, control: "text", type: "string" },
46
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
47
47
  className: { required: false, control: "text", type: "string" },
48
48
  contentEditable: { required: false, control: "text", type: "string" },
49
49
  contextMenu: { required: false, control: "text", type: "string" },
@@ -52,6 +52,7 @@ const props = {
52
52
  hidden: { required: false, control: "boolean", type: "boolean" },
53
53
  id: { required: false, control: "text", type: "string" },
54
54
  lang: { required: false, control: "text", type: "string" },
55
+ nonce: { required: false, control: "text", type: "string" },
55
56
  placeholder: { required: false, control: "text", type: "string" },
56
57
  spellCheck: { required: false, control: "boolean", type: "boolean" },
57
58
  tabIndex: { required: false, control: "number", type: "number" },
@@ -64,11 +65,14 @@ const props = {
64
65
  radioGroup: { required: false, control: "text", type: "string" },
65
66
  role: { required: false, control: "text", type: "string" },
66
67
  about: { required: false, control: "text", type: "string" },
68
+ content: { required: false, control: "text", type: "string" },
67
69
  datatype: { required: false, control: "text", type: "string" },
68
70
  inlist: { required: false, control: "text", type: "string" },
69
71
  prefix: { required: false, control: "text", type: "string" },
70
72
  property: { required: false, control: "text", type: "string" },
73
+ rel: { required: false, control: "text", type: "string" },
71
74
  resource: { required: false, control: "text", type: "string" },
75
+ rev: { required: false, control: "text", type: "string" },
72
76
  typeof: { required: false, control: "text", type: "string" },
73
77
  vocab: { required: false, control: "text", type: "string" },
74
78
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -16,6 +16,7 @@ const props = {
16
16
  type: "boolean"
17
17
  },
18
18
  accessKey: { required: false, control: "text", type: "string" },
19
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
19
20
  className: { required: false, control: "text", type: "string" },
20
21
  contentEditable: { required: false, control: "text", type: "string" },
21
22
  contextMenu: { required: false, control: "text", type: "string" },
@@ -24,6 +25,7 @@ const props = {
24
25
  hidden: { required: false, control: "boolean", type: "boolean" },
25
26
  id: { required: false, control: "text", type: "string" },
26
27
  lang: { required: false, control: "text", type: "string" },
28
+ nonce: { required: false, control: "text", type: "string" },
27
29
  placeholder: { required: false, control: "text", type: "string" },
28
30
  spellCheck: { required: false, control: "boolean", type: "boolean" },
29
31
  tabIndex: { required: false, control: "number", type: "number" },
@@ -36,11 +38,14 @@ const props = {
36
38
  radioGroup: { required: false, control: "text", type: "string" },
37
39
  role: { required: false, control: "text", type: "string" },
38
40
  about: { required: false, control: "text", type: "string" },
41
+ content: { required: false, control: "text", type: "string" },
39
42
  datatype: { required: false, control: "text", type: "string" },
40
43
  inlist: { required: false, control: "text", type: "string" },
41
44
  prefix: { required: false, control: "text", type: "string" },
42
45
  property: { required: false, control: "text", type: "string" },
46
+ rel: { required: false, control: "text", type: "string" },
43
47
  resource: { required: false, control: "text", type: "string" },
48
+ rev: { required: false, control: "text", type: "string" },
44
49
  typeof: { required: false, control: "text", type: "string" },
45
50
  vocab: { required: false, control: "text", type: "string" },
46
51
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -13,7 +13,6 @@ const props = {
13
13
  hrefLang: { required: false, control: "text", type: "string" },
14
14
  media: { required: false, control: "text", type: "string" },
15
15
  ping: { required: false, control: "text", type: "string" },
16
- rel: { required: false, control: "text", type: "string" },
17
16
  type: { required: false, control: "text", type: "string" },
18
17
  referrerPolicy: {
19
18
  required: false,
@@ -44,6 +43,7 @@ const props = {
44
43
  type: "boolean"
45
44
  },
46
45
  accessKey: { required: false, control: "text", type: "string" },
46
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
47
47
  className: { required: false, control: "text", type: "string" },
48
48
  contentEditable: { required: false, control: "text", type: "string" },
49
49
  contextMenu: { required: false, control: "text", type: "string" },
@@ -52,6 +52,7 @@ const props = {
52
52
  hidden: { required: false, control: "boolean", type: "boolean" },
53
53
  id: { required: false, control: "text", type: "string" },
54
54
  lang: { required: false, control: "text", type: "string" },
55
+ nonce: { required: false, control: "text", type: "string" },
55
56
  placeholder: { required: false, control: "text", type: "string" },
56
57
  spellCheck: { required: false, control: "boolean", type: "boolean" },
57
58
  tabIndex: { required: false, control: "number", type: "number" },
@@ -64,11 +65,14 @@ const props = {
64
65
  radioGroup: { required: false, control: "text", type: "string" },
65
66
  role: { required: false, control: "text", type: "string" },
66
67
  about: { required: false, control: "text", type: "string" },
68
+ content: { required: false, control: "text", type: "string" },
67
69
  datatype: { required: false, control: "text", type: "string" },
68
70
  inlist: { required: false, control: "text", type: "string" },
69
71
  prefix: { required: false, control: "text", type: "string" },
70
72
  property: { required: false, control: "text", type: "string" },
73
+ rel: { required: false, control: "text", type: "string" },
71
74
  resource: { required: false, control: "text", type: "string" },
75
+ rev: { required: false, control: "text", type: "string" },
72
76
  typeof: { required: false, control: "text", type: "string" },
73
77
  vocab: { required: false, control: "text", type: "string" },
74
78
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -15,6 +15,7 @@ const props = {
15
15
  type: "boolean"
16
16
  },
17
17
  accessKey: { required: false, control: "text", type: "string" },
18
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
18
19
  className: { required: false, control: "text", type: "string" },
19
20
  contentEditable: { required: false, control: "text", type: "string" },
20
21
  contextMenu: { required: false, control: "text", type: "string" },
@@ -23,6 +24,7 @@ const props = {
23
24
  hidden: { required: false, control: "boolean", type: "boolean" },
24
25
  id: { required: false, control: "text", type: "string" },
25
26
  lang: { required: false, control: "text", type: "string" },
27
+ nonce: { required: false, control: "text", type: "string" },
26
28
  placeholder: { required: false, control: "text", type: "string" },
27
29
  spellCheck: { required: false, control: "boolean", type: "boolean" },
28
30
  tabIndex: { required: false, control: "number", type: "number" },
@@ -35,11 +37,14 @@ const props = {
35
37
  radioGroup: { required: false, control: "text", type: "string" },
36
38
  role: { required: false, control: "text", type: "string" },
37
39
  about: { required: false, control: "text", type: "string" },
40
+ content: { required: false, control: "text", type: "string" },
38
41
  datatype: { required: false, control: "text", type: "string" },
39
42
  inlist: { required: false, control: "text", type: "string" },
40
43
  prefix: { required: false, control: "text", type: "string" },
41
44
  property: { required: false, control: "text", type: "string" },
45
+ rel: { required: false, control: "text", type: "string" },
42
46
  resource: { required: false, control: "text", type: "string" },
47
+ rev: { required: false, control: "text", type: "string" },
43
48
  typeof: { required: false, control: "text", type: "string" },
44
49
  vocab: { required: false, control: "text", type: "string" },
45
50
  autoCapitalize: { required: false, control: "text", type: "string" },
@@ -9,10 +9,6 @@ const presetStyle = {
9
9
  unit: "%",
10
10
  value: 100
11
11
  },
12
- backgroundColor: {
13
- type: "keyword",
14
- value: "white"
15
- },
16
12
  fontFamily: {
17
13
  type: "keyword",
18
14
  value: "Arial"
@@ -26,10 +22,6 @@ const presetStyle = {
26
22
  type: "unit",
27
23
  unit: "number",
28
24
  value: 1.5
29
- },
30
- color: {
31
- type: "keyword",
32
- value: "#232323"
33
25
  }
34
26
  }
35
27
  };
@@ -10,6 +10,10 @@ const componentCategories = [
10
10
  "media",
11
11
  "forms"
12
12
  ];
13
+ const ComponentState = z.object({
14
+ selector: z.string(),
15
+ label: z.string()
16
+ });
13
17
  const WsComponentMeta = z.object({
14
18
  category: z.enum(componentCategories).optional(),
15
19
  // container - can accept other components with dnd
@@ -27,8 +31,10 @@ const WsComponentMeta = z.object({
27
31
  label: z.string(),
28
32
  Icon: z.function(),
29
33
  presetStyle: z.optional(z.any()),
34
+ states: z.optional(z.array(ComponentState)),
30
35
  children: z.optional(z.array(z.string()))
31
36
  });
32
37
  export {
38
+ ComponentState,
33
39
  componentCategories
34
40
  };
@@ -1,6 +1,6 @@
1
1
  import { BoxLinkIcon } from "@webstudio-is/icons";
2
2
  import { props } from "./__generated__/link-block.props";
3
- import { propsMeta as linkPropsMeta } from "./link.ws";
3
+ import { meta as linkMeta, propsMeta as linkPropsMeta } from "./link.ws";
4
4
  import { a } from "../css/normalize";
5
5
  const presetStyle = {
6
6
  a: {
@@ -16,6 +16,7 @@ const meta = {
16
16
  type: "container",
17
17
  label: "Link Block",
18
18
  Icon: BoxLinkIcon,
19
+ states: linkMeta.states,
19
20
  presetStyle
20
21
  };
21
22
  const propsMeta = {
@@ -9,7 +9,7 @@ const Link = forwardRef((props, ref) => {
9
9
  let url = "#";
10
10
  switch (href?.type) {
11
11
  case "page":
12
- url = href.page.path;
12
+ url = href.page.path === "" ? "/" : href.page.path;
13
13
  if (href.hash !== void 0) {
14
14
  url += `#${href.hash}`;
15
15
  }
@@ -21,6 +21,7 @@ const meta = {
21
21
  label: "Link Text",
22
22
  Icon: LinkIcon,
23
23
  presetStyle,
24
+ states: [{ selector: "[aria-current=page]", label: "Current page" }],
24
25
  children: ["Link text you can edit"]
25
26
  };
26
27
  const propsMeta = {
@@ -1,3 +1,2 @@
1
1
  export * from "./root";
2
- export * from "./handle-request.server";
3
2
  export * from "./params";
@@ -581,17 +581,42 @@ declare const WsComponentPropsMeta: z.ZodObject<{
581
581
  }>;
582
582
  export type WsComponentPropsMeta = z.infer<typeof WsComponentPropsMeta>;
583
583
  export declare const componentCategories: readonly ["general", "typography", "media", "forms"];
584
+ export declare const ComponentState: z.ZodObject<{
585
+ selector: z.ZodString;
586
+ label: z.ZodString;
587
+ }, "strip", z.ZodTypeAny, {
588
+ label: string;
589
+ selector: string;
590
+ }, {
591
+ label: string;
592
+ selector: string;
593
+ }>;
594
+ export type ComponentState = z.infer<typeof ComponentState>;
584
595
  declare const WsComponentMeta: z.ZodObject<{
585
596
  category: z.ZodOptional<z.ZodEnum<["general", "typography", "media", "forms"]>>;
586
597
  type: z.ZodEnum<["container", "control", "embed", "rich-text", "rich-text-child"]>;
587
598
  label: z.ZodString;
588
599
  Icon: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
589
600
  presetStyle: z.ZodOptional<z.ZodAny>;
601
+ states: z.ZodOptional<z.ZodArray<z.ZodObject<{
602
+ selector: z.ZodString;
603
+ label: z.ZodString;
604
+ }, "strip", z.ZodTypeAny, {
605
+ label: string;
606
+ selector: string;
607
+ }, {
608
+ label: string;
609
+ selector: string;
610
+ }>, "many">>;
590
611
  children: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
591
612
  }, "strip", z.ZodTypeAny, {
592
613
  children?: string[] | undefined;
593
614
  category?: "media" | "general" | "typography" | "forms" | undefined;
594
615
  presetStyle?: any;
616
+ states?: {
617
+ label: string;
618
+ selector: string;
619
+ }[] | undefined;
595
620
  type: "embed" | "control" | "container" | "rich-text" | "rich-text-child";
596
621
  label: string;
597
622
  Icon: (...args: unknown[]) => unknown;
@@ -599,6 +624,10 @@ declare const WsComponentMeta: z.ZodObject<{
599
624
  children?: string[] | undefined;
600
625
  category?: "media" | "general" | "typography" | "forms" | undefined;
601
626
  presetStyle?: any;
627
+ states?: {
628
+ label: string;
629
+ selector: string;
630
+ }[] | undefined;
602
631
  type: "embed" | "control" | "container" | "rich-text" | "rich-text-child";
603
632
  label: string;
604
633
  Icon: (...args: unknown[]) => unknown;
@@ -6,4 +6,4 @@ export * from "./app";
6
6
  export * from "./components/components";
7
7
  export * from "./components/components-utils";
8
8
  export { customComponents, customComponentMetas, customComponentPropsMetas, } from "./app/custom-components";
9
- export { type WsComponentPropsMeta, type WsComponentMeta, componentCategories, } from "./components/component-meta";
9
+ export { type WsComponentPropsMeta, type WsComponentMeta, type ComponentState, componentCategories, } from "./components/component-meta";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webstudio-is/react-sdk",
3
- "version": "0.58.0",
3
+ "version": "0.60.0",
4
4
  "description": "Webstudio JavaScript / TypeScript API",
5
5
  "author": "Webstudio <github@webstudio.is>",
6
6
  "homepage": "https://webstudio.is",
@@ -8,11 +8,8 @@
8
8
  "devDependencies": {
9
9
  "@babel/core": "^7.21.0",
10
10
  "@jest/globals": "^29.3.1",
11
- "@remix-run/node": "1.15.0",
12
- "@remix-run/react": "1.15.0",
13
- "@remix-run/server-runtime": "1.15.0",
11
+ "@remix-run/react": "^1.15.0",
14
12
  "@storybook/react": "^6.5.16",
15
- "@types/node": "^18.11.18",
16
13
  "@types/react": "^18.0.35",
17
14
  "@types/react-dom": "^18.0.11",
18
15
  "jest": "^29.3.1",
@@ -26,8 +23,7 @@
26
23
  "@webstudio-is/tsconfig": "^1.0.5"
27
24
  },
28
25
  "peerDependencies": {
29
- "@remix-run/react": "1.9.0",
30
- "@remix-run/server-runtime": "1.9.0",
26
+ "@remix-run/react": "^1.15.0",
31
27
  "react": "^18.2.0",
32
28
  "react-dom": "^18.2.0",
33
29
  "zod": "^3.19.1"
@@ -38,16 +34,16 @@
38
34
  "html-tags": "^3.2.0",
39
35
  "nanoevents": "^7.0.1",
40
36
  "nanostores": "^0.7.1",
41
- "@webstudio-is/asset-uploader": "^0.58.0",
42
- "@webstudio-is/css-data": "^0.58.0",
43
- "@webstudio-is/css-engine": "^0.58.0",
44
- "@webstudio-is/css-vars": "^0.58.0",
45
- "@webstudio-is/fonts": "^0.58.0",
46
- "@webstudio-is/generate-arg-types": "^0.58.0",
47
- "@webstudio-is/icons": "^0.58.0",
48
- "@webstudio-is/image": "^0.58.0",
49
- "@webstudio-is/prisma-client": "^0.58.0",
50
- "@webstudio-is/project-build": "^0.58.0"
37
+ "@webstudio-is/asset-uploader": "^0.60.0",
38
+ "@webstudio-is/css-data": "^0.60.0",
39
+ "@webstudio-is/css-engine": "^0.60.0",
40
+ "@webstudio-is/css-vars": "^0.60.0",
41
+ "@webstudio-is/fonts": "^0.60.0",
42
+ "@webstudio-is/generate-arg-types": "^0.60.0",
43
+ "@webstudio-is/icons": "^0.60.0",
44
+ "@webstudio-is/image": "^0.60.0",
45
+ "@webstudio-is/prisma-client": "^0.60.0",
46
+ "@webstudio-is/project-build": "^0.60.0"
51
47
  },
52
48
  "exports": {
53
49
  ".": {
@@ -1,4 +1,4 @@
1
- import { Link as RemixLink } from "@remix-run/react";
1
+ import { NavLink as RemixLink } from "@remix-run/react";
2
2
  import type { ComponentPropsWithoutRef } from "react";
3
3
  import { forwardRef } from "react";
4
4
  import type { Link } from "../../../components/link";
@@ -12,7 +12,7 @@ export const wrapLinkComponent = (BaseLink: LinkComponent) => {
12
12
  const href = usePropUrl(getInstanceIdFromComponentProps(props), "href");
13
13
 
14
14
  if (href?.type === "page") {
15
- let to = href.page.path;
15
+ let to = href.page.path === "" ? "/" : href.page.path;
16
16
  if (href.hash !== undefined) {
17
17
  to += `#${href.hash}`;
18
18
  }
package/src/app/index.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from "./root";
2
- export * from "./handle-request.server";
3
2
  export * from "./params";
@@ -18,6 +18,7 @@ export const props: Record<string, PropMeta> = {
18
18
  type: "boolean",
19
19
  },
20
20
  accessKey: { required: false, control: "text", type: "string" },
21
+ autoFocus: { required: false, control: "boolean", type: "boolean" },
21
22
  className: { required: false, control: "text", type: "string" },
22
23
  contentEditable: { required: false, control: "text", type: "string" },
23
24
  contextMenu: { required: false, control: "text", type: "string" },
@@ -26,6 +27,7 @@ export const props: Record<string, PropMeta> = {
26
27
  hidden: { required: false, control: "boolean", type: "boolean" },
27
28
  id: { required: false, control: "text", type: "string" },
28
29
  lang: { required: false, control: "text", type: "string" },
30
+ nonce: { required: false, control: "text", type: "string" },
29
31
  placeholder: { required: false, control: "text", type: "string" },
30
32
  spellCheck: { required: false, control: "boolean", type: "boolean" },
31
33
  tabIndex: { required: false, control: "number", type: "number" },
@@ -38,11 +40,14 @@ export const props: Record<string, PropMeta> = {
38
40
  radioGroup: { required: false, control: "text", type: "string" },
39
41
  role: { required: false, control: "text", type: "string" },
40
42
  about: { required: false, control: "text", type: "string" },
43
+ content: { required: false, control: "text", type: "string" },
41
44
  datatype: { required: false, control: "text", type: "string" },
42
45
  inlist: { required: false, control: "text", type: "string" },
43
46
  prefix: { required: false, control: "text", type: "string" },
44
47
  property: { required: false, control: "text", type: "string" },
48
+ rel: { required: false, control: "text", type: "string" },
45
49
  resource: { required: false, control: "text", type: "string" },
50
+ rev: { required: false, control: "text", type: "string" },
46
51
  typeof: { required: false, control: "text", type: "string" },
47
52
  vocab: { required: false, control: "text", type: "string" },
48
53
  autoCapitalize: { required: false, control: "text", type: "string" },