@builder-builder/builder 0.0.27 → 0.0.29

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 (132) hide show
  1. package/dist/bb.js +9 -10
  2. package/dist/client/client.d.ts +2 -1
  3. package/dist/client/client.js +4 -1
  4. package/dist/client/public.d.ts +2 -2
  5. package/dist/client/public.js +1 -1
  6. package/dist/client/schema.d.ts +126 -45
  7. package/dist/client/schema.js +6 -1
  8. package/dist/components/BuilderOption.svelte.d.ts +12 -12
  9. package/dist/components/BuilderOptionValueBoolean.svelte.d.ts +20 -0
  10. package/dist/components/BuilderOptionValueNumber.svelte.d.ts +21 -0
  11. package/dist/components/BuilderOptionValueSelect.svelte.d.ts +21 -0
  12. package/dist/components/BuilderOptionValueString.svelte.d.ts +21 -0
  13. package/dist/components/BuilderRender.svelte.d.ts +2 -2
  14. package/dist/components/index.d.ts +8 -8
  15. package/dist/components/index.js +4376 -4258
  16. package/dist/components/index.min.js +3 -0
  17. package/dist/entities/collection/collection.d.ts +191 -401
  18. package/dist/entities/collection/collection.js +7 -4
  19. package/dist/entities/collection/{when.d.ts → condition.d.ts} +4 -5
  20. package/dist/entities/collection/condition.js +2 -0
  21. package/dist/entities/collection/config.d.ts +62 -80
  22. package/dist/entities/collection/index.d.ts +4 -4
  23. package/dist/entities/collection/index.js +2 -2
  24. package/dist/entities/component/component.d.ts +71 -83
  25. package/dist/entities/component/component.js +4 -4
  26. package/dist/entities/component/condition.d.ts +10 -0
  27. package/dist/entities/component/{when.js → condition.js} +3 -9
  28. package/dist/entities/component/config.d.ts +33 -33
  29. package/dist/entities/component/config.js +18 -16
  30. package/dist/entities/component/detail.d.ts +61 -0
  31. package/dist/entities/component/detail.js +71 -0
  32. package/dist/entities/component/index.d.ts +6 -6
  33. package/dist/entities/component/index.js +3 -3
  34. package/dist/entities/{when.d.ts → condition.d.ts} +23 -36
  35. package/dist/entities/{when.js → condition.js} +20 -25
  36. package/dist/entities/expectation.d.ts +135 -3
  37. package/dist/entities/expectation.js +6 -2
  38. package/dist/entities/index.d.ts +9 -9
  39. package/dist/entities/index.js +4 -4
  40. package/dist/entities/kind.d.ts +4 -4
  41. package/dist/entities/kind.js +24 -25
  42. package/dist/entities/model/bind.d.ts +5 -5
  43. package/dist/entities/model/methods.d.ts +18 -27
  44. package/dist/entities/model/methods.js +4 -22
  45. package/dist/entities/model/model.d.ts +3 -1
  46. package/dist/entities/model/model.js +25 -27
  47. package/dist/entities/option/condition.d.ts +9 -0
  48. package/dist/entities/option/condition.js +2 -0
  49. package/dist/entities/option/config.d.ts +47 -72
  50. package/dist/entities/option/config.js +6 -6
  51. package/dist/entities/option/expectation.d.ts +6 -1
  52. package/dist/entities/option/expectation.js +2 -2
  53. package/dist/entities/option/index.d.ts +8 -8
  54. package/dist/entities/option/index.js +4 -4
  55. package/dist/entities/option/option.d.ts +179 -210
  56. package/dist/entities/option/option.js +4 -4
  57. package/dist/entities/option/select.d.ts +16 -43
  58. package/dist/entities/option/select.js +8 -31
  59. package/dist/entities/option/value.d.ts +73 -0
  60. package/dist/entities/option/value.js +99 -0
  61. package/dist/entities/paths.d.ts +2 -2
  62. package/dist/entities/pricing/expression.d.ts +16 -39
  63. package/dist/entities/pricing/expression.js +1 -16
  64. package/dist/entities/pricing/index.d.ts +1 -1
  65. package/dist/entities/pricing/rates.d.ts +1 -1
  66. package/dist/entities/references.d.ts +124 -84
  67. package/dist/entities/serialise.d.ts +175 -109
  68. package/dist/entities/serialise.js +32 -27
  69. package/dist/entities/ui/describe.d.ts +1 -1
  70. package/dist/entities/ui/input.d.ts +2 -2
  71. package/dist/entities/ui/page.d.ts +1 -1
  72. package/dist/entities/ui/pages.d.ts +2 -2
  73. package/dist/entities/validated.d.ts +3 -3
  74. package/dist/environment.d.ts +2 -2
  75. package/dist/errors/errors.d.ts +94 -58
  76. package/dist/errors/errors.js +41 -7
  77. package/dist/errors/exception.d.ts +3 -3
  78. package/dist/errors/index.d.ts +1 -1
  79. package/dist/errors/index.js +1 -1
  80. package/dist/errors/public.d.ts +1 -1
  81. package/dist/index.d.ts +1 -1
  82. package/dist/index.js +1 -1
  83. package/dist/instance.d.ts +53 -9
  84. package/dist/instance.js +6 -2
  85. package/dist/mappers/dependencies.d.ts +3 -0
  86. package/dist/mappers/dependencies.js +45 -0
  87. package/dist/mappers/index.d.ts +2 -2
  88. package/dist/mappers/index.js +2 -1
  89. package/dist/mappers/instance.js +26 -21
  90. package/dist/mappers/price.js +6 -4
  91. package/dist/mappers/resolve.js +23 -22
  92. package/dist/mappers/variants/index.d.ts +1 -2
  93. package/dist/mappers/variants/index.js +1 -2
  94. package/dist/mappers/variants/option-graph.d.ts +1 -2
  95. package/dist/mappers/variants/option-graph.js +4 -18
  96. package/dist/mappers/variants/variants.d.ts +3 -6
  97. package/dist/mappers/variants/variants.js +34 -11
  98. package/dist/primitive.d.ts +3 -0
  99. package/dist/primitive.js +2 -0
  100. package/dist/public.d.ts +20 -20
  101. package/dist/public.js +17 -9
  102. package/dist/validate/builder.d.ts +2 -2
  103. package/dist/validate/builder.js +15 -15
  104. package/dist/validate/expectations.d.ts +2 -2
  105. package/dist/validate/expectations.js +23 -5
  106. package/dist/validate/instance.d.ts +2 -2
  107. package/dist/validate/instance.js +31 -13
  108. package/dist/validate/model.d.ts +4 -4
  109. package/dist/validate/model.js +57 -51
  110. package/dist/validate/paths.d.ts +2 -2
  111. package/dist/validate/paths.js +19 -14
  112. package/dist/validate/pricing.d.ts +4 -4
  113. package/dist/validate/pricing.js +31 -31
  114. package/dist/validate/resolve.d.ts +2 -2
  115. package/dist/validate/resolve.js +27 -31
  116. package/dist/validate/ui.d.ts +4 -4
  117. package/dist/validate/ui.js +38 -38
  118. package/dist/validate/variants.d.ts +3 -3
  119. package/dist/validate/variants.js +32 -31
  120. package/package.json +4 -2
  121. package/dist/components/BuilderOptionSelect.svelte.d.ts +0 -21
  122. package/dist/components/BuilderOptionToggleBoolean.svelte.d.ts +0 -20
  123. package/dist/components/BuilderOptionToggleNumber.svelte.d.ts +0 -21
  124. package/dist/components/BuilderOptionToggleString.svelte.d.ts +0 -21
  125. package/dist/entities/collection/when.js +0 -2
  126. package/dist/entities/component/field.d.ts +0 -59
  127. package/dist/entities/component/field.js +0 -52
  128. package/dist/entities/component/when.d.ts +0 -11
  129. package/dist/entities/option/toggle.d.ts +0 -45
  130. package/dist/entities/option/toggle.js +0 -66
  131. package/dist/entities/option/when.d.ts +0 -10
  132. package/dist/entities/option/when.js +0 -2
@@ -9,122 +9,124 @@ export declare const entitiesMap: {
9
9
  readonly runtime: v.InstanceSchema<typeof import(".").BuilderModel, undefined>;
10
10
  readonly serialised: v.GenericSchema<import(".").BuilderModelSerialised>;
11
11
  };
12
- readonly select: {
13
- readonly runtime: v.InstanceSchema<typeof import(".").BuilderSelectConfig, undefined>;
14
- readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
15
- readonly type: v.LiteralSchema<"select", undefined>;
16
- readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
17
- readonly defaultValue: v.NullableSchema<v.StringSchema<undefined>, undefined>;
12
+ readonly value: {
13
+ readonly runtime: v.UnionSchema<[v.InstanceSchema<typeof import(".").BuilderValueConfig, undefined>, v.InstanceSchema<typeof import(".").BuilderSelectConfig, undefined>], undefined>;
14
+ readonly serialised: v.SchemaWithPipe<readonly [v.VariantSchema<"kind", [v.StrictObjectSchema<{
15
+ readonly kind: v.PicklistSchema<["string", "boolean", "number"], undefined>;
16
+ readonly type: v.LiteralSchema<"value", undefined>;
17
+ readonly defaultValue: v.NullableSchema<v.UnionSchema<[v.BooleanSchema<undefined>, v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
18
18
  readonly isOptional: v.BooleanSchema<undefined>;
19
- readonly optionLabels: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
20
19
  readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
21
- }, undefined>, v.ReadonlyAction<{
22
- type: "select";
23
- readonly options: readonly [string, ...string[]];
24
- defaultValue: string | null;
25
- isOptional: boolean;
26
- optionLabels: {
27
- [x: string]: string;
28
- };
29
- tags?: readonly string[] | undefined;
30
- }>]>;
31
- };
32
- readonly toggle: {
33
- readonly runtime: v.InstanceSchema<typeof import(".").BuilderToggleConfig, undefined>;
34
- readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
35
- readonly type: v.LiteralSchema<"toggle", undefined>;
36
- readonly valueType: v.PicklistSchema<["string", "boolean", "number"], undefined>;
20
+ }, undefined>, v.StrictObjectSchema<{
21
+ readonly kind: v.LiteralSchema<"select", undefined>;
22
+ readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
23
+ readonly optionLabels: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
24
+ readonly type: v.LiteralSchema<"value", undefined>;
37
25
  readonly defaultValue: v.NullableSchema<v.UnionSchema<[v.BooleanSchema<undefined>, v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
38
26
  readonly isOptional: v.BooleanSchema<undefined>;
39
27
  readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
40
- }, undefined>, v.ReadonlyAction<{
41
- type: "toggle";
42
- valueType: "string" | "number" | "boolean";
28
+ }, undefined>], undefined>, v.ReadonlyAction<{
29
+ kind: "string" | "number" | "boolean";
30
+ type: "value";
31
+ defaultValue: string | number | boolean | null;
32
+ isOptional: boolean;
33
+ tags?: readonly string[] | undefined;
34
+ } | {
35
+ kind: "select";
36
+ readonly options: readonly [string, ...string[]];
37
+ optionLabels?: {
38
+ [x: string]: string;
39
+ } | undefined;
40
+ type: "value";
43
41
  defaultValue: string | number | boolean | null;
44
42
  isOptional: boolean;
45
43
  tags?: readonly string[] | undefined;
46
44
  }>]>;
47
45
  };
48
46
  readonly optionSelectMap: {
49
- readonly runtime: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
47
+ readonly runtime: v.GenericSchema<import("./condition").BuilderMatchSelectMap<Readonly<{
50
48
  type: "parameter";
51
49
  id: string;
52
50
  name: string;
53
- }> | Readonly<Readonly<{
54
- type: "select";
55
- readonly options: readonly [string, ...string[]];
56
- defaultValue: string | null;
51
+ }> | Readonly<{
52
+ kind: "string" | "number" | "boolean";
53
+ type: "value";
54
+ defaultValue: string | number | boolean | null;
57
55
  isOptional: boolean;
58
- optionLabels: {
59
- [x: string]: string;
60
- };
61
56
  tags?: readonly string[] | undefined;
62
- }>> | Readonly<Readonly<{
63
- type: "toggle";
64
- valueType: "string" | "number" | "boolean";
57
+ }> | Readonly<{
58
+ kind: "select";
59
+ readonly options: readonly [string, ...string[]];
60
+ optionLabels?: {
61
+ [x: string]: string;
62
+ } | undefined;
63
+ type: "value";
65
64
  defaultValue: string | number | boolean | null;
66
65
  isOptional: boolean;
67
66
  tags?: readonly string[] | undefined;
68
- }>>>>;
69
- readonly serialised: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
67
+ }>>>;
68
+ readonly serialised: v.GenericSchema<import("./condition").BuilderMatchSelectMap<Readonly<{
70
69
  type: "parameter";
71
70
  id: string;
72
71
  name: string;
73
- }> | Readonly<Readonly<{
74
- type: "select";
75
- readonly options: readonly [string, ...string[]];
76
- defaultValue: string | null;
72
+ }> | Readonly<{
73
+ kind: "string" | "number" | "boolean";
74
+ type: "value";
75
+ defaultValue: string | number | boolean | null;
77
76
  isOptional: boolean;
78
- optionLabels: {
79
- [x: string]: string;
80
- };
81
77
  tags?: readonly string[] | undefined;
82
- }>> | Readonly<Readonly<{
83
- type: "toggle";
84
- valueType: "string" | "number" | "boolean";
78
+ }> | Readonly<{
79
+ kind: "select";
80
+ readonly options: readonly [string, ...string[]];
81
+ optionLabels?: {
82
+ [x: string]: string;
83
+ } | undefined;
84
+ type: "value";
85
85
  defaultValue: string | number | boolean | null;
86
86
  isOptional: boolean;
87
87
  tags?: readonly string[] | undefined;
88
- }>>>>;
88
+ }>>>;
89
89
  };
90
- readonly optionWhen: {
91
- readonly runtime: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<Readonly<{
92
- type: "select";
93
- readonly options: readonly [string, ...string[]];
94
- defaultValue: string | null;
90
+ readonly optionCondition: {
91
+ readonly runtime: v.GenericSchema<import("./condition").BuilderConditionSerialised<Readonly<{
92
+ kind: "string" | "number" | "boolean";
93
+ type: "value";
94
+ defaultValue: string | number | boolean | null;
95
95
  isOptional: boolean;
96
- optionLabels: {
96
+ tags?: readonly string[] | undefined;
97
+ }> | Readonly<{
98
+ kind: "select";
99
+ readonly options: readonly [string, ...string[]];
100
+ optionLabels?: {
97
101
  [x: string]: string;
98
- };
102
+ } | undefined;
103
+ type: "value";
104
+ defaultValue: string | number | boolean | null;
105
+ isOptional: boolean;
99
106
  tags?: readonly string[] | undefined;
100
- }>> | Readonly<Readonly<{
101
- type: "toggle";
102
- valueType: "string" | "number" | "boolean";
107
+ }>>>;
108
+ readonly serialised: v.GenericSchema<import("./condition").BuilderConditionSerialised<Readonly<{
109
+ kind: "string" | "number" | "boolean";
110
+ type: "value";
103
111
  defaultValue: string | number | boolean | null;
104
112
  isOptional: boolean;
105
113
  tags?: readonly string[] | undefined;
106
- }>>>>;
107
- readonly serialised: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<Readonly<{
108
- type: "select";
114
+ }> | Readonly<{
115
+ kind: "select";
109
116
  readonly options: readonly [string, ...string[]];
110
- defaultValue: string | null;
111
- isOptional: boolean;
112
- optionLabels: {
117
+ optionLabels?: {
113
118
  [x: string]: string;
114
- };
115
- tags?: readonly string[] | undefined;
116
- }>> | Readonly<Readonly<{
117
- type: "toggle";
118
- valueType: "string" | "number" | "boolean";
119
+ } | undefined;
120
+ type: "value";
119
121
  defaultValue: string | number | boolean | null;
120
122
  isOptional: boolean;
121
123
  tags?: readonly string[] | undefined;
122
- }>>>>;
124
+ }>>>;
123
125
  };
124
126
  readonly componentConfig: {
125
127
  readonly runtime: v.InstanceSchema<typeof import(".").BuilderComponentConfig, undefined>;
126
128
  readonly serialised: v.SchemaWithPipe<readonly [v.ObjectSchema<{
127
- readonly fields: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
129
+ readonly details: v.UnionSchema<[v.SchemaWithPipe<readonly [v.ObjectSchema<{
128
130
  readonly type: v.LiteralSchema<"parameter", undefined>;
129
131
  readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
130
132
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
@@ -139,27 +141,27 @@ export declare const entitiesMap: {
139
141
  type: "ref";
140
142
  id: string;
141
143
  }>]>, v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
142
- readonly type: v.LiteralSchema<"component-field", undefined>;
144
+ readonly type: v.LiteralSchema<"component-detail", undefined>;
143
145
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
144
- readonly valueType: v.PicklistSchema<["string", "boolean", "number"], undefined>;
146
+ readonly kind: v.PicklistSchema<["string", "boolean", "number", "price", "image"], undefined>;
145
147
  readonly isOptional: v.BooleanSchema<undefined>;
146
148
  readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
147
149
  }, undefined>, v.ReadonlyAction<{
148
- type: "component-field";
150
+ type: "component-detail";
149
151
  name: string;
150
- valueType: "string" | "number" | "boolean";
152
+ kind: "string" | "number" | "boolean" | "price" | "image";
151
153
  isOptional: boolean;
152
154
  tags?: readonly string[] | undefined;
153
155
  }>]>, undefined>, v.ReadonlyAction<Readonly<{
154
- type: "component-field";
156
+ type: "component-detail";
155
157
  name: string;
156
- valueType: "string" | "number" | "boolean";
158
+ kind: "string" | "number" | "boolean" | "price" | "image";
157
159
  isOptional: boolean;
158
160
  tags?: readonly string[] | undefined;
159
161
  }>[]>]>], undefined>;
160
162
  readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
161
163
  }, undefined>, v.ReadonlyAction<{
162
- fields: Readonly<{
164
+ details: Readonly<{
163
165
  type: "parameter";
164
166
  id: string;
165
167
  name: string;
@@ -167,9 +169,9 @@ export declare const entitiesMap: {
167
169
  type: "ref";
168
170
  id: string;
169
171
  }> | readonly Readonly<{
170
- type: "component-field";
172
+ type: "component-detail";
171
173
  name: string;
172
- valueType: "string" | "number" | "boolean";
174
+ kind: "string" | "number" | "boolean" | "price" | "image";
173
175
  isOptional: boolean;
174
176
  tags?: readonly string[] | undefined;
175
177
  }>[];
@@ -177,12 +179,12 @@ export declare const entitiesMap: {
177
179
  }>]>;
178
180
  };
179
181
  readonly componentSelectMap: {
180
- readonly runtime: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
182
+ readonly runtime: v.GenericSchema<import("./condition").BuilderMatchSelectMap<Readonly<{
181
183
  type: "parameter";
182
184
  id: string;
183
185
  name: string;
184
186
  }> | Readonly<{
185
- fields: Readonly<{
187
+ details: Readonly<{
186
188
  type: "parameter";
187
189
  id: string;
188
190
  name: string;
@@ -190,20 +192,20 @@ export declare const entitiesMap: {
190
192
  type: "ref";
191
193
  id: string;
192
194
  }> | readonly Readonly<{
193
- type: "component-field";
195
+ type: "component-detail";
194
196
  name: string;
195
- valueType: "string" | "number" | "boolean";
197
+ kind: "string" | "number" | "boolean" | "price" | "image";
196
198
  isOptional: boolean;
197
199
  tags?: readonly string[] | undefined;
198
200
  }>[];
199
201
  tags?: readonly string[] | undefined;
200
202
  }>>>;
201
- readonly serialised: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
203
+ readonly serialised: v.GenericSchema<import("./condition").BuilderMatchSelectMap<Readonly<{
202
204
  type: "parameter";
203
205
  id: string;
204
206
  name: string;
205
207
  }> | Readonly<{
206
- fields: Readonly<{
208
+ details: Readonly<{
207
209
  type: "parameter";
208
210
  id: string;
209
211
  name: string;
@@ -211,18 +213,18 @@ export declare const entitiesMap: {
211
213
  type: "ref";
212
214
  id: string;
213
215
  }> | readonly Readonly<{
214
- type: "component-field";
216
+ type: "component-detail";
215
217
  name: string;
216
- valueType: "string" | "number" | "boolean";
218
+ kind: "string" | "number" | "boolean" | "price" | "image";
217
219
  isOptional: boolean;
218
220
  tags?: readonly string[] | undefined;
219
221
  }>[];
220
222
  tags?: readonly string[] | undefined;
221
223
  }>>>;
222
224
  };
223
- readonly componentWhen: {
224
- readonly runtime: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
225
- fields: Readonly<{
225
+ readonly componentCondition: {
226
+ readonly runtime: v.GenericSchema<import("./condition").BuilderConditionSerialised<Readonly<{
227
+ details: Readonly<{
226
228
  type: "parameter";
227
229
  id: string;
228
230
  name: string;
@@ -230,16 +232,16 @@ export declare const entitiesMap: {
230
232
  type: "ref";
231
233
  id: string;
232
234
  }> | readonly Readonly<{
233
- type: "component-field";
235
+ type: "component-detail";
234
236
  name: string;
235
- valueType: "string" | "number" | "boolean";
237
+ kind: "string" | "number" | "boolean" | "price" | "image";
236
238
  isOptional: boolean;
237
239
  tags?: readonly string[] | undefined;
238
240
  }>[];
239
241
  tags?: readonly string[] | undefined;
240
242
  }>>>;
241
- readonly serialised: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
242
- fields: Readonly<{
243
+ readonly serialised: v.GenericSchema<import("./condition").BuilderConditionSerialised<Readonly<{
244
+ details: Readonly<{
243
245
  type: "parameter";
244
246
  id: string;
245
247
  name: string;
@@ -247,9 +249,9 @@ export declare const entitiesMap: {
247
249
  type: "ref";
248
250
  id: string;
249
251
  }> | readonly Readonly<{
250
- type: "component-field";
252
+ type: "component-detail";
251
253
  name: string;
252
- valueType: "string" | "number" | "boolean";
254
+ kind: "string" | "number" | "boolean" | "price" | "image";
253
255
  isOptional: boolean;
254
256
  tags?: readonly string[] | undefined;
255
257
  }>[];
@@ -334,7 +336,7 @@ export declare const entitiesMap: {
334
336
  }>]>;
335
337
  };
336
338
  readonly collectionSelectMap: {
337
- readonly runtime: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
339
+ readonly runtime: v.GenericSchema<import("./condition").BuilderMatchSelectMap<Readonly<{
338
340
  type: "parameter";
339
341
  id: string;
340
342
  name: string;
@@ -365,7 +367,7 @@ export declare const entitiesMap: {
365
367
  }>;
366
368
  tags?: readonly string[] | undefined;
367
369
  }>>>;
368
- readonly serialised: v.GenericSchema<import("./when").BuilderMatchSelectMap<Readonly<{
370
+ readonly serialised: v.GenericSchema<import("./condition").BuilderMatchSelectMap<Readonly<{
369
371
  type: "parameter";
370
372
  id: string;
371
373
  name: string;
@@ -397,8 +399,8 @@ export declare const entitiesMap: {
397
399
  tags?: readonly string[] | undefined;
398
400
  }>>>;
399
401
  };
400
- readonly collectionWhen: {
401
- readonly runtime: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
402
+ readonly collectionCondition: {
403
+ readonly runtime: v.GenericSchema<import("./condition").BuilderConditionSerialised<Readonly<{
402
404
  model: Readonly<{
403
405
  type: "parameter";
404
406
  id: string;
@@ -425,7 +427,7 @@ export declare const entitiesMap: {
425
427
  }>;
426
428
  tags?: readonly string[] | undefined;
427
429
  }>>>;
428
- readonly serialised: v.GenericSchema<import("./when").BuilderWhenSerialised<Readonly<{
430
+ readonly serialised: v.GenericSchema<import("./condition").BuilderConditionSerialised<Readonly<{
429
431
  model: Readonly<{
430
432
  type: "parameter";
431
433
  id: string;
@@ -1393,12 +1395,77 @@ export declare const entitiesMap: {
1393
1395
  readonly serialised: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
1394
1396
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
1395
1397
  readonly kind: v.PicklistSchema<["option", "component", "collection"], undefined>;
1398
+ readonly payload: v.OptionalSchema<v.LazySchema<v.SchemaWithPipe<readonly [v.VariantSchema<"kind", [v.StrictObjectSchema<{
1399
+ readonly kind: v.PicklistSchema<["string", "boolean", "number"], undefined>;
1400
+ readonly type: v.LiteralSchema<"value", undefined>;
1401
+ readonly defaultValue: v.NullableSchema<v.UnionSchema<[v.BooleanSchema<undefined>, v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
1402
+ readonly isOptional: v.BooleanSchema<undefined>;
1403
+ readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
1404
+ }, undefined>, v.StrictObjectSchema<{
1405
+ readonly kind: v.LiteralSchema<"select", undefined>;
1406
+ readonly options: v.SchemaWithPipe<readonly [v.TupleWithRestSchema<[v.StringSchema<undefined>], v.StringSchema<undefined>, undefined>, v.ReadonlyAction<[string, ...string[]]>]>;
1407
+ readonly optionLabels: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
1408
+ readonly type: v.LiteralSchema<"value", undefined>;
1409
+ readonly defaultValue: v.NullableSchema<v.UnionSchema<[v.BooleanSchema<undefined>, v.StringSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
1410
+ readonly isOptional: v.BooleanSchema<undefined>;
1411
+ readonly tags: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.ReadonlyAction<string[]>]>, undefined>;
1412
+ }, undefined>], undefined>, v.ReadonlyAction<{
1413
+ kind: "string" | "number" | "boolean";
1414
+ type: "value";
1415
+ defaultValue: string | number | boolean | null;
1416
+ isOptional: boolean;
1417
+ tags?: readonly string[] | undefined;
1418
+ } | {
1419
+ kind: "select";
1420
+ readonly options: readonly [string, ...string[]];
1421
+ optionLabels?: {
1422
+ [x: string]: string;
1423
+ } | undefined;
1424
+ type: "value";
1425
+ defaultValue: string | number | boolean | null;
1426
+ isOptional: boolean;
1427
+ tags?: readonly string[] | undefined;
1428
+ }>]>>, undefined>;
1396
1429
  }, undefined>, v.ReadonlyAction<{
1397
1430
  name: string;
1398
1431
  kind: "option" | "component" | "collection";
1432
+ payload?: Readonly<{
1433
+ kind: "string" | "number" | "boolean";
1434
+ type: "value";
1435
+ defaultValue: string | number | boolean | null;
1436
+ isOptional: boolean;
1437
+ tags?: readonly string[] | undefined;
1438
+ }> | Readonly<{
1439
+ kind: "select";
1440
+ readonly options: readonly [string, ...string[]];
1441
+ optionLabels?: {
1442
+ [x: string]: string;
1443
+ } | undefined;
1444
+ type: "value";
1445
+ defaultValue: string | number | boolean | null;
1446
+ isOptional: boolean;
1447
+ tags?: readonly string[] | undefined;
1448
+ }> | undefined;
1399
1449
  }>]>, undefined>, v.ReadonlyAction<Readonly<{
1400
1450
  name: string;
1401
1451
  kind: "option" | "component" | "collection";
1452
+ payload?: Readonly<{
1453
+ kind: "string" | "number" | "boolean";
1454
+ type: "value";
1455
+ defaultValue: string | number | boolean | null;
1456
+ isOptional: boolean;
1457
+ tags?: readonly string[] | undefined;
1458
+ }> | Readonly<{
1459
+ kind: "select";
1460
+ readonly options: readonly [string, ...string[]];
1461
+ optionLabels?: {
1462
+ [x: string]: string;
1463
+ } | undefined;
1464
+ type: "value";
1465
+ defaultValue: string | number | boolean | null;
1466
+ isOptional: boolean;
1467
+ tags?: readonly string[] | undefined;
1468
+ }> | undefined;
1402
1469
  }>[]>]>;
1403
1470
  };
1404
1471
  readonly paths: {
@@ -1422,16 +1489,15 @@ export declare const entitiesMap: {
1422
1489
  readonly serialised: v.BooleanSchema<undefined>;
1423
1490
  };
1424
1491
  };
1425
- export declare const validateNumber: (input: unknown, references?: import("./references").BuilderReferences, errors?: import("../errors/errors").BuilderErrorsScope) => import("./validated").ValidationResult<number>;
1426
- export declare const validateString: (input: unknown, references?: import("./references").BuilderReferences, errors?: import("../errors/errors").BuilderErrorsScope) => import("./validated").ValidationResult<string>;
1427
- export declare const validateBoolean: (input: unknown, references?: import("./references").BuilderReferences, errors?: import("../errors/errors").BuilderErrorsScope) => import("./validated").ValidationResult<boolean>;
1492
+ export declare const validateNumber: (input: unknown, references?: import("./references").BuilderReferences, issues?: import("../errors/errors").BuilderIssuesScope) => import("./validated").ValidationResult<number>;
1493
+ export declare const validateString: (input: unknown, references?: import("./references").BuilderReferences, issues?: import("../errors/errors").BuilderIssuesScope) => import("./validated").ValidationResult<string>;
1494
+ export declare const validateBoolean: (input: unknown, references?: import("./references").BuilderReferences, issues?: import("../errors/errors").BuilderIssuesScope) => import("./validated").ValidationResult<boolean>;
1428
1495
  export type EntitiesMap = typeof entitiesMap;
1429
1496
  export type EntitiesSerialisedSchemas = EntitiesMap[BuilderEntityKind]['serialised'];
1430
- export declare const BuilderEntityKindSchema: v.PicklistSchema<readonly ["builder", "model", "select", "toggle", "optionSelectMap", "optionWhen", "componentConfig", "componentSelectMap", "componentWhen", "collectionConfig", "collectionSelectMap", "collectionWhen", "ui", "uiDescribe", "uiItems", "uiPage", "uiPages", "uiInput", "pricing", "pricingRates", "expectations", "paths", "path", "number", "string", "boolean"], undefined>;
1497
+ export declare const BuilderEntityKindSchema: v.PicklistSchema<readonly ["builder", "model", "value", "optionSelectMap", "optionCondition", "componentConfig", "componentSelectMap", "componentCondition", "collectionConfig", "collectionSelectMap", "collectionCondition", "ui", "uiDescribe", "uiItems", "uiPage", "uiPages", "uiInput", "pricing", "pricingRates", "expectations", "paths", "path", "number", "string", "boolean"], undefined>;
1431
1498
  export declare const BuilderEntitySerialisedSchema: v.GenericSchema<{ [Kind in BuilderEntityKind]: v.InferOutput<EntitiesMap[Kind]["serialised"]>; }[BuilderEntityKind]>;
1432
1499
  type SerialiseMap = {
1433
1500
  readonly [EntityKind in keyof EntitiesMap]: (input: v.InferOutput<EntitiesMap[EntityKind]['runtime']>) => v.InferOutput<EntitiesMap[EntityKind]['serialised']>;
1434
1501
  };
1435
1502
  export declare const serialise: SerialiseMap;
1436
- export declare function serialiseValue(value: unknown): unknown;
1437
1503
  export {};
@@ -3,27 +3,29 @@ import { check } from '../errors/index.js';
3
3
  import { BooleanSchema, NumberSchema, StringSchema } from '../primitive.js';
4
4
  import { BuilderParameterSchema, BuilderRefSchema, isParamable } from '../references.js';
5
5
  import { BuilderSchema, BuilderSerialisedSchema } from './builder/index.js';
6
- import { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionWhenSerialisedSchema } from './collection/index.js';
7
- import { BuilderComponentConfigSchema, BuilderComponentConfigSerialisedSchema, BuilderComponentFieldSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentWhenSerialisedSchema } from './component/index.js';
6
+ import { BuilderCollectionConfigSchema, BuilderCollectionConfigSerialisedSchema, BuilderCollectionSchema, BuilderCollectionSelectMapSerialisedSchema, BuilderCollectionConditionSerialisedSchema } from './collection/index.js';
7
+ import { BuilderComponentConfigSchema, BuilderComponentConfigSerialisedSchema, BuilderComponentDetailSchema, BuilderComponentSchema, BuilderComponentSelectMapSerialisedSchema, BuilderComponentConditionSerialisedSchema } from './component/index.js';
8
8
  import { BuilderExpectationSchema, BuilderExpectationsSchema, BuilderExpectationsSerialisedSchema } from './expectation.js';
9
9
  import { builderEntityKinds, createEntityValidator } from './kind.js';
10
10
  import { BuilderModelSchema, BuilderModelSerialisedSchema } from './model/index.js';
11
- import { BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionWhenSerialisedSchema, BuilderSelectConfigSchema, BuilderSelectConfigSerialisedSchema, BuilderToggleConfigSchema, BuilderToggleConfigSerialisedSchema } from './option/index.js';
11
+ import { BuilderOptionSchema, BuilderOptionSelectMapSerialisedSchema, BuilderOptionConditionSerialisedSchema, BuilderSelectConfigSchema, BuilderValueConfigSchema, BuilderValueConfigSerialisedSchema } from './option/index.js';
12
12
  import { BuilderPathSchema, BuilderPathsSchema } from './paths.js';
13
13
  import { BuilderPricingSchema, BuilderPricingSerialisedSchema, BuilderRatesSchema } from './pricing/index.js';
14
14
  import { BuilderUIDescribeSchema, BuilderUIDescribeSerialisedSchema, BuilderUIInputSchema, BuilderUIInputSerialisedSchema, BuilderUIItemsSerialisedSchema, BuilderUIPageSchema, BuilderUIPageSerialisedSchema, BuilderUIPagesSchema, BuilderUIPagesSerialisedSchema, BuilderUISchema, BuilderUISerialisedSchema } from './ui/index.js';
15
15
  export const entitiesMap = {
16
16
  builder: { runtime: BuilderSchema, serialised: BuilderSerialisedSchema },
17
17
  model: { runtime: BuilderModelSchema, serialised: BuilderModelSerialisedSchema },
18
- select: { runtime: BuilderSelectConfigSchema, serialised: BuilderSelectConfigSerialisedSchema },
19
- toggle: { runtime: BuilderToggleConfigSchema, serialised: BuilderToggleConfigSerialisedSchema },
18
+ value: {
19
+ runtime: v.union([BuilderValueConfigSchema, BuilderSelectConfigSchema]),
20
+ serialised: BuilderValueConfigSerialisedSchema
21
+ },
20
22
  optionSelectMap: {
21
23
  runtime: BuilderOptionSelectMapSerialisedSchema,
22
24
  serialised: BuilderOptionSelectMapSerialisedSchema
23
25
  },
24
- optionWhen: {
25
- runtime: BuilderOptionWhenSerialisedSchema,
26
- serialised: BuilderOptionWhenSerialisedSchema
26
+ optionCondition: {
27
+ runtime: BuilderOptionConditionSerialisedSchema,
28
+ serialised: BuilderOptionConditionSerialisedSchema
27
29
  },
28
30
  componentConfig: {
29
31
  runtime: BuilderComponentConfigSchema,
@@ -33,9 +35,9 @@ export const entitiesMap = {
33
35
  runtime: BuilderComponentSelectMapSerialisedSchema,
34
36
  serialised: BuilderComponentSelectMapSerialisedSchema
35
37
  },
36
- componentWhen: {
37
- runtime: BuilderComponentWhenSerialisedSchema,
38
- serialised: BuilderComponentWhenSerialisedSchema
38
+ componentCondition: {
39
+ runtime: BuilderComponentConditionSerialisedSchema,
40
+ serialised: BuilderComponentConditionSerialisedSchema
39
41
  },
40
42
  collectionConfig: {
41
43
  runtime: BuilderCollectionConfigSchema,
@@ -45,9 +47,9 @@ export const entitiesMap = {
45
47
  runtime: BuilderCollectionSelectMapSerialisedSchema,
46
48
  serialised: BuilderCollectionSelectMapSerialisedSchema
47
49
  },
48
- collectionWhen: {
49
- runtime: BuilderCollectionWhenSerialisedSchema,
50
- serialised: BuilderCollectionWhenSerialisedSchema
50
+ collectionCondition: {
51
+ runtime: BuilderCollectionConditionSerialisedSchema,
52
+ serialised: BuilderCollectionConditionSerialisedSchema
51
53
  },
52
54
  ui: { runtime: BuilderUISchema, serialised: BuilderUISerialisedSchema },
53
55
  uiDescribe: { runtime: BuilderUIDescribeSchema, serialised: BuilderUIDescribeSerialisedSchema },
@@ -73,7 +75,7 @@ export const validateBoolean = createEntityValidator('boolean', entitiesMap.bool
73
75
  export const BuilderEntityKindSchema = v.picklist(builderEntityKinds);
74
76
  export const BuilderEntitySerialisedSchema = v.union(builderEntityKinds.map((kind) => entitiesMap[kind].serialised));
75
77
  export const serialise = Object.fromEntries(builderEntityKinds.map((kind) => [kind, serialiseValue]));
76
- export function serialiseValue(value) {
78
+ function serialiseValue(value) {
77
79
  if (value == null || typeof value !== 'object') {
78
80
  return value;
79
81
  }
@@ -149,13 +151,13 @@ const serialiserMap = [
149
151
  serialiser(BuilderComponentSchema, serialiseNamedEntry),
150
152
  serialiser(BuilderCollectionSchema, serialiseNamedEntry),
151
153
  serialiser(BuilderComponentConfigSchema, (value) => ({
152
- fields: serialiseValue(value.fields),
154
+ details: serialiseValue(value.details),
153
155
  tags: value.tags
154
156
  })),
155
- serialiser(BuilderComponentFieldSchema, (value) => ({
156
- type: 'component-field',
157
+ serialiser(BuilderComponentDetailSchema, (value) => ({
158
+ type: 'component-detail',
157
159
  name: value.name,
158
- valueType: value.valueType,
160
+ kind: value.kind,
159
161
  isOptional: value.isOptional,
160
162
  tags: value.tags
161
163
  })),
@@ -165,22 +167,25 @@ const serialiserMap = [
165
167
  max: serialiseValue(value.max),
166
168
  tags: value.tags
167
169
  })),
168
- serialiser(BuilderSelectConfigSchema, (value) => ({
169
- type: 'select',
170
- options: value.options,
170
+ serialiser(BuilderValueConfigSchema, (value) => ({
171
+ type: 'value',
172
+ kind: value.kind,
171
173
  defaultValue: value.defaultValue,
172
174
  isOptional: value.isOptional,
173
- optionLabels: value.optionLabels,
174
175
  tags: value.tags
175
176
  })),
176
- serialiser(BuilderToggleConfigSchema, (value) => ({
177
- type: 'toggle',
178
- valueType: value.valueType,
177
+ serialiser(BuilderSelectConfigSchema, (value) => ({
178
+ type: 'value',
179
+ kind: value.kind,
179
180
  defaultValue: value.defaultValue,
180
181
  isOptional: value.isOptional,
182
+ options: value.options,
183
+ optionLabels: value.optionLabels,
181
184
  tags: value.tags
182
185
  })),
183
- serialiser(BuilderExpectationSchema, (value) => ({ name: value.name, kind: value.kind }))
186
+ serialiser(BuilderExpectationSchema, (value) => value.payload == null
187
+ ? { name: value.name, kind: value.kind }
188
+ : { name: value.name, kind: value.kind, payload: serialiseValue(value.payload) })
184
189
  ];
185
190
  function serialiseNamedEntry(value) {
186
191
  const entry = {
@@ -378,7 +378,7 @@ export declare const BuilderUIDescribeSerialisedSchema: v.SchemaWithPipe<readonl
378
378
  tags?: readonly string[] | undefined;
379
379
  }>]>;
380
380
  export type BuilderUIDescribeSerialised = v.InferOutput<typeof BuilderUIDescribeSerialisedSchema>;
381
- export declare const validateUIDescribe: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderErrorsScope) => import("..").ValidationResult<{
381
+ export declare const validateUIDescribe: (input: unknown, references?: import("..").BuilderReferences, issues?: import("../../errors").BuilderIssuesScope) => import("..").ValidationResult<{
382
382
  readonly type: "describe";
383
383
  readonly label: string;
384
384
  readonly inputs: readonly {
@@ -2,7 +2,7 @@ import type { Paramable, ParamableSerialised } from '../../references';
2
2
  import type { BuilderModelGeneric, BuilderModelState, BuilderModelStateOf } from '../model/index';
3
3
  import type { BuilderPath } from '../paths';
4
4
  import type { BuilderTags } from '../tags';
5
- import type { BuilderValidPath } from '../when';
5
+ import type { BuilderValidPath } from '../condition';
6
6
  import * as v from 'valibot';
7
7
  export type BuilderUIInputMetadata = Paramable<Record<string, Paramable<unknown>>>;
8
8
  export type BuilderUIInputMetadataSerialised = ParamableSerialised<Record<string, ParamableSerialised<unknown>>>;
@@ -441,7 +441,7 @@ export declare const BuilderUIInputsSerialisedSchema: v.SchemaWithPipe<readonly
441
441
  tags?: readonly string[] | undefined;
442
442
  }>)[]>]>;
443
443
  export type BuilderUIInputsSerialised = v.InferOutput<typeof BuilderUIInputsSerialisedSchema>;
444
- export declare const validateUIInput: (input: unknown, references?: import("..").BuilderReferences, errors?: import("../../errors").BuilderErrorsScope) => import("..").ValidationResult<{
444
+ export declare const validateUIInput: (input: unknown, references?: import("..").BuilderReferences, issues?: import("../../errors").BuilderIssuesScope) => import("..").ValidationResult<{
445
445
  readonly type: "input";
446
446
  readonly path: readonly (string | number)[];
447
447
  readonly displayName?: string | undefined;