@webstudio-is/react-sdk 0.74.0 → 0.76.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/cjs/components/component-meta.js +1 -0
- package/lib/cjs/context.js +5 -1
- package/lib/cjs/css/global-rules.js +1 -1
- package/lib/cjs/css/normalize.js +10 -13
- package/lib/cjs/embed-template.js +68 -3
- package/lib/cjs/expression.js +191 -0
- package/lib/cjs/index.js +7 -1
- package/lib/cjs/props.js +28 -10
- package/lib/cjs/tree/create-elements-tree.js +14 -1
- package/lib/cjs/tree/root.js +55 -0
- package/lib/cjs/tree/webstudio-component.js +9 -2
- package/lib/components/component-meta.js +1 -0
- package/lib/context.js +5 -1
- package/lib/css/global-rules.js +1 -1
- package/lib/css/normalize.js +10 -13
- package/lib/embed-template.js +68 -3
- package/lib/expression.js +161 -0
- package/lib/index.js +13 -1
- package/lib/props.js +28 -10
- package/lib/tree/create-elements-tree.js +14 -1
- package/lib/tree/root.js +63 -1
- package/lib/tree/webstudio-component.js +9 -2
- package/lib/types/components/component-meta.d.ts +115 -0
- package/lib/types/context.d.ts +3 -0
- package/lib/types/css/normalize.d.ts +1316 -0
- package/lib/types/embed-template.d.ts +512 -0
- package/lib/types/expression.d.ts +6 -0
- package/lib/types/expression.test.d.ts +1 -0
- package/lib/types/index.d.ts +2 -1
- package/lib/types/props.d.ts +8 -7
- package/lib/types/tree/create-elements-tree.d.ts +4 -2
- package/lib/types/tree/root.d.ts +3 -3
- package/lib/types/tree/webstudio-component.d.ts +1 -0
- package/package.json +15 -15
- package/src/components/component-meta.ts +1 -0
- package/src/context.tsx +11 -0
- package/src/css/global-rules.ts +2 -1
- package/src/css/normalize.ts +10 -13
- package/src/embed-template.test.ts +177 -1
- package/src/embed-template.ts +73 -2
- package/src/expression.test.ts +122 -0
- package/src/expression.ts +183 -0
- package/src/index.ts +7 -0
- package/src/props.ts +29 -10
- package/src/tree/create-elements-tree.tsx +20 -1
- package/src/tree/root.ts +81 -4
- package/src/tree/webstudio-component.tsx +7 -1
|
@@ -642,6 +642,7 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
642
642
|
invalidAncestors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
643
643
|
stylable: z.ZodOptional<z.ZodBoolean>;
|
|
644
644
|
label: z.ZodString;
|
|
645
|
+
description: z.ZodOptional<z.ZodString>;
|
|
645
646
|
icon: z.ZodString;
|
|
646
647
|
presetStyle: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<{
|
|
647
648
|
value: {
|
|
@@ -693,7 +694,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
693
694
|
type: "unparsed";
|
|
694
695
|
value: string;
|
|
695
696
|
hidden?: boolean | undefined;
|
|
697
|
+
} | {
|
|
698
|
+
type: "rgb";
|
|
699
|
+
alpha: number;
|
|
700
|
+
r: number;
|
|
701
|
+
g: number;
|
|
702
|
+
b: number;
|
|
696
703
|
})[];
|
|
704
|
+
hidden?: boolean | undefined;
|
|
697
705
|
} | {
|
|
698
706
|
type: "layers";
|
|
699
707
|
value: ({
|
|
@@ -733,7 +741,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
733
741
|
type: "unparsed";
|
|
734
742
|
value: string;
|
|
735
743
|
hidden?: boolean | undefined;
|
|
744
|
+
} | {
|
|
745
|
+
type: "rgb";
|
|
746
|
+
alpha: number;
|
|
747
|
+
r: number;
|
|
748
|
+
g: number;
|
|
749
|
+
b: number;
|
|
736
750
|
})[];
|
|
751
|
+
hidden?: boolean | undefined;
|
|
737
752
|
})[];
|
|
738
753
|
} | {
|
|
739
754
|
type: "var";
|
|
@@ -781,7 +796,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
781
796
|
type: "unparsed";
|
|
782
797
|
value: string;
|
|
783
798
|
hidden?: boolean | undefined;
|
|
799
|
+
} | {
|
|
800
|
+
type: "rgb";
|
|
801
|
+
alpha: number;
|
|
802
|
+
r: number;
|
|
803
|
+
g: number;
|
|
804
|
+
b: number;
|
|
784
805
|
})[];
|
|
806
|
+
hidden?: boolean | undefined;
|
|
785
807
|
} | {
|
|
786
808
|
type: "layers";
|
|
787
809
|
value: ({
|
|
@@ -821,7 +843,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
821
843
|
type: "unparsed";
|
|
822
844
|
value: string;
|
|
823
845
|
hidden?: boolean | undefined;
|
|
846
|
+
} | {
|
|
847
|
+
type: "rgb";
|
|
848
|
+
alpha: number;
|
|
849
|
+
r: number;
|
|
850
|
+
g: number;
|
|
851
|
+
b: number;
|
|
824
852
|
})[];
|
|
853
|
+
hidden?: boolean | undefined;
|
|
825
854
|
})[];
|
|
826
855
|
})[];
|
|
827
856
|
};
|
|
@@ -877,7 +906,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
877
906
|
type: "unparsed";
|
|
878
907
|
value: string;
|
|
879
908
|
hidden?: boolean | undefined;
|
|
909
|
+
} | {
|
|
910
|
+
type: "rgb";
|
|
911
|
+
alpha: number;
|
|
912
|
+
r: number;
|
|
913
|
+
g: number;
|
|
914
|
+
b: number;
|
|
880
915
|
})[];
|
|
916
|
+
hidden?: boolean | undefined;
|
|
881
917
|
} | {
|
|
882
918
|
type: "layers";
|
|
883
919
|
value: ({
|
|
@@ -917,7 +953,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
917
953
|
type: "unparsed";
|
|
918
954
|
value: string;
|
|
919
955
|
hidden?: boolean | undefined;
|
|
956
|
+
} | {
|
|
957
|
+
type: "rgb";
|
|
958
|
+
alpha: number;
|
|
959
|
+
r: number;
|
|
960
|
+
g: number;
|
|
961
|
+
b: number;
|
|
920
962
|
})[];
|
|
963
|
+
hidden?: boolean | undefined;
|
|
921
964
|
})[];
|
|
922
965
|
} | {
|
|
923
966
|
type: "var";
|
|
@@ -965,7 +1008,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
965
1008
|
type: "unparsed";
|
|
966
1009
|
value: string;
|
|
967
1010
|
hidden?: boolean | undefined;
|
|
1011
|
+
} | {
|
|
1012
|
+
type: "rgb";
|
|
1013
|
+
alpha: number;
|
|
1014
|
+
r: number;
|
|
1015
|
+
g: number;
|
|
1016
|
+
b: number;
|
|
968
1017
|
})[];
|
|
1018
|
+
hidden?: boolean | undefined;
|
|
969
1019
|
} | {
|
|
970
1020
|
type: "layers";
|
|
971
1021
|
value: ({
|
|
@@ -1005,7 +1055,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1005
1055
|
type: "unparsed";
|
|
1006
1056
|
value: string;
|
|
1007
1057
|
hidden?: boolean | undefined;
|
|
1058
|
+
} | {
|
|
1059
|
+
type: "rgb";
|
|
1060
|
+
alpha: number;
|
|
1061
|
+
r: number;
|
|
1062
|
+
g: number;
|
|
1063
|
+
b: number;
|
|
1008
1064
|
})[];
|
|
1065
|
+
hidden?: boolean | undefined;
|
|
1009
1066
|
})[];
|
|
1010
1067
|
})[];
|
|
1011
1068
|
};
|
|
@@ -1044,6 +1101,7 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1044
1101
|
requiredAncestors?: string[] | undefined;
|
|
1045
1102
|
invalidAncestors?: string[] | undefined;
|
|
1046
1103
|
stylable?: boolean | undefined;
|
|
1104
|
+
description?: string | undefined;
|
|
1047
1105
|
presetStyle?: Record<string, {
|
|
1048
1106
|
value: {
|
|
1049
1107
|
type: "unit";
|
|
@@ -1094,7 +1152,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1094
1152
|
type: "unparsed";
|
|
1095
1153
|
value: string;
|
|
1096
1154
|
hidden?: boolean | undefined;
|
|
1155
|
+
} | {
|
|
1156
|
+
type: "rgb";
|
|
1157
|
+
alpha: number;
|
|
1158
|
+
r: number;
|
|
1159
|
+
g: number;
|
|
1160
|
+
b: number;
|
|
1097
1161
|
})[];
|
|
1162
|
+
hidden?: boolean | undefined;
|
|
1098
1163
|
} | {
|
|
1099
1164
|
type: "layers";
|
|
1100
1165
|
value: ({
|
|
@@ -1134,7 +1199,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1134
1199
|
type: "unparsed";
|
|
1135
1200
|
value: string;
|
|
1136
1201
|
hidden?: boolean | undefined;
|
|
1202
|
+
} | {
|
|
1203
|
+
type: "rgb";
|
|
1204
|
+
alpha: number;
|
|
1205
|
+
r: number;
|
|
1206
|
+
g: number;
|
|
1207
|
+
b: number;
|
|
1137
1208
|
})[];
|
|
1209
|
+
hidden?: boolean | undefined;
|
|
1138
1210
|
})[];
|
|
1139
1211
|
} | {
|
|
1140
1212
|
type: "var";
|
|
@@ -1182,7 +1254,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1182
1254
|
type: "unparsed";
|
|
1183
1255
|
value: string;
|
|
1184
1256
|
hidden?: boolean | undefined;
|
|
1257
|
+
} | {
|
|
1258
|
+
type: "rgb";
|
|
1259
|
+
alpha: number;
|
|
1260
|
+
r: number;
|
|
1261
|
+
g: number;
|
|
1262
|
+
b: number;
|
|
1185
1263
|
})[];
|
|
1264
|
+
hidden?: boolean | undefined;
|
|
1186
1265
|
} | {
|
|
1187
1266
|
type: "layers";
|
|
1188
1267
|
value: ({
|
|
@@ -1222,7 +1301,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1222
1301
|
type: "unparsed";
|
|
1223
1302
|
value: string;
|
|
1224
1303
|
hidden?: boolean | undefined;
|
|
1304
|
+
} | {
|
|
1305
|
+
type: "rgb";
|
|
1306
|
+
alpha: number;
|
|
1307
|
+
r: number;
|
|
1308
|
+
g: number;
|
|
1309
|
+
b: number;
|
|
1225
1310
|
})[];
|
|
1311
|
+
hidden?: boolean | undefined;
|
|
1226
1312
|
})[];
|
|
1227
1313
|
})[];
|
|
1228
1314
|
};
|
|
@@ -1247,6 +1333,7 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1247
1333
|
requiredAncestors?: string[] | undefined;
|
|
1248
1334
|
invalidAncestors?: string[] | undefined;
|
|
1249
1335
|
stylable?: boolean | undefined;
|
|
1336
|
+
description?: string | undefined;
|
|
1250
1337
|
presetStyle?: Record<string, {
|
|
1251
1338
|
value: {
|
|
1252
1339
|
type: "unit";
|
|
@@ -1297,7 +1384,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1297
1384
|
type: "unparsed";
|
|
1298
1385
|
value: string;
|
|
1299
1386
|
hidden?: boolean | undefined;
|
|
1387
|
+
} | {
|
|
1388
|
+
type: "rgb";
|
|
1389
|
+
alpha: number;
|
|
1390
|
+
r: number;
|
|
1391
|
+
g: number;
|
|
1392
|
+
b: number;
|
|
1300
1393
|
})[];
|
|
1394
|
+
hidden?: boolean | undefined;
|
|
1301
1395
|
} | {
|
|
1302
1396
|
type: "layers";
|
|
1303
1397
|
value: ({
|
|
@@ -1337,7 +1431,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1337
1431
|
type: "unparsed";
|
|
1338
1432
|
value: string;
|
|
1339
1433
|
hidden?: boolean | undefined;
|
|
1434
|
+
} | {
|
|
1435
|
+
type: "rgb";
|
|
1436
|
+
alpha: number;
|
|
1437
|
+
r: number;
|
|
1438
|
+
g: number;
|
|
1439
|
+
b: number;
|
|
1340
1440
|
})[];
|
|
1441
|
+
hidden?: boolean | undefined;
|
|
1341
1442
|
})[];
|
|
1342
1443
|
} | {
|
|
1343
1444
|
type: "var";
|
|
@@ -1385,7 +1486,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1385
1486
|
type: "unparsed";
|
|
1386
1487
|
value: string;
|
|
1387
1488
|
hidden?: boolean | undefined;
|
|
1489
|
+
} | {
|
|
1490
|
+
type: "rgb";
|
|
1491
|
+
alpha: number;
|
|
1492
|
+
r: number;
|
|
1493
|
+
g: number;
|
|
1494
|
+
b: number;
|
|
1388
1495
|
})[];
|
|
1496
|
+
hidden?: boolean | undefined;
|
|
1389
1497
|
} | {
|
|
1390
1498
|
type: "layers";
|
|
1391
1499
|
value: ({
|
|
@@ -1425,7 +1533,14 @@ declare const WsComponentMeta: z.ZodObject<{
|
|
|
1425
1533
|
type: "unparsed";
|
|
1426
1534
|
value: string;
|
|
1427
1535
|
hidden?: boolean | undefined;
|
|
1536
|
+
} | {
|
|
1537
|
+
type: "rgb";
|
|
1538
|
+
alpha: number;
|
|
1539
|
+
r: number;
|
|
1540
|
+
g: number;
|
|
1541
|
+
b: number;
|
|
1428
1542
|
})[];
|
|
1543
|
+
hidden?: boolean | undefined;
|
|
1429
1544
|
})[];
|
|
1430
1545
|
})[];
|
|
1431
1546
|
};
|
package/lib/types/context.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type ReadableAtom } from "nanostores";
|
|
3
3
|
import type { Assets } from "@webstudio-is/asset-uploader";
|
|
4
|
+
import type { DataSource, Instance, Prop } from "@webstudio-is/project-build";
|
|
4
5
|
import type { Pages, PropsByInstanceId } from "./props";
|
|
5
6
|
export type Params = {
|
|
6
7
|
renderer?: "canvas" | "preview";
|
|
@@ -32,4 +33,6 @@ export declare const ReactSdkContext: import("react").Context<Params & {
|
|
|
32
33
|
propsByInstanceIdStore: ReadableAtom<PropsByInstanceId>;
|
|
33
34
|
assetsStore: ReadableAtom<Assets>;
|
|
34
35
|
pagesStore: ReadableAtom<Pages>;
|
|
36
|
+
dataSourceValuesStore: ReadableAtom<Map<DataSource["id"], unknown>>;
|
|
37
|
+
setDataSourceValue: (instanceId: Instance["id"], prop: Prop["name"], value: unknown) => void;
|
|
35
38
|
}>;
|