@prismicio/mock 0.0.7 → 0.0.8

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.
@@ -1,7 +1,7 @@
1
1
  import * as prismicT from '@prismicio/types';
2
2
 
3
3
  declare type IterableElement<TargetIterable> = TargetIterable extends Iterable<infer ElementType> ? ElementType : TargetIterable extends AsyncIterable<infer ElementType> ? ElementType : never;
4
- declare type ValueOf<ObjectType extends Record<string, unknown>> = ObjectType[string];
4
+ declare type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
5
5
  declare type Seed = string | number | number[];
6
6
  declare type PrismicModel = prismicT.CustomTypeModel | prismicT.CustomTypeModelField | prismicT.CustomTypeModelSlice | prismicT.SharedSliceModel | prismicT.SharedSliceModelVariation;
7
7
  declare type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
@@ -19,14 +19,14 @@ declare type MockRichTextValueConfig$1<Model extends CustomTypeModelStructuredTe
19
19
  declare type ModelValueMap<T extends Record<string, prismicT.CustomTypeModelField>> = {
20
20
  [P in keyof T]: ModelValue<T[P]>;
21
21
  };
22
- declare type ModelValue<T extends PrismicModel> = T extends prismicT.CustomTypeModel ? CustomTypeModelValue<T> : T extends prismicT.CustomTypeModelUIDField ? prismicT.PrismicDocument["uid"] : T extends prismicT.CustomTypeModelFieldForGroup ? CustomTypeModelFieldForGroupValue<T> : T extends prismicT.CustomTypeModelGroupField ? CustomTypeModelGroupFieldValue<T> : T extends prismicT.CustomTypeModelSliceZoneField ? prismicT.SliceZone<ValueOf<{
23
- [P in keyof T["config"]["choices"] as P extends string ? P : never]: T["config"]["choices"][P] extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T["config"]["choices"][P], P> : T["config"]["choices"][P] extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice<P> : never;
24
- }>> : T extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T> : T extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice : T extends prismicT.SharedSliceModel ? SharedSliceModelValue<T> : T extends prismicT.SharedSliceModelVariation ? SharedSliceModelVariationValue<T> : never;
22
+ declare type ModelValue<T extends PrismicModel, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModel ? CustomTypeModelValue<T> : T extends prismicT.CustomTypeModelUIDField ? prismicT.PrismicDocument["uid"] : T extends prismicT.CustomTypeModelFieldForGroup ? CustomTypeModelFieldForGroupValue<T, State> : T extends prismicT.CustomTypeModelGroupField ? CustomTypeModelGroupFieldValue<T, State> : T extends prismicT.CustomTypeModelSliceZoneField ? prismicT.SliceZone<ValueOf<{
23
+ [P in keyof T["config"]["choices"] as P extends string ? P : never]: T["config"]["choices"][P] extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T["config"]["choices"][P], P extends string ? P : string> : T["config"]["choices"][P] extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice<P extends string ? P : string> : never;
24
+ }>, State> : T extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T> : T extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice : T extends prismicT.SharedSliceModel ? SharedSliceModelValue<T> : T extends prismicT.SharedSliceModelVariation ? SharedSliceModelVariationValue<T> : never;
25
25
  declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<{
26
26
  [P in keyof ValueOf<T["json"]> as ValueOf<T["json"]>[P]["type"] extends typeof prismicT.CustomTypeModelFieldType.UID ? never : P]: ValueOf<T["json"]>[P];
27
27
  }>>;
28
- declare type CustomTypeModelFieldForGroupValue<T extends prismicT.CustomTypeModelFieldForGroup> = T extends prismicT.CustomTypeModelBooleanField ? prismicT.BooleanField : T extends prismicT.CustomTypeModelColorField ? prismicT.ColorField : T extends prismicT.CustomTypeModelTitleField ? prismicT.TitleField : T extends prismicT.CustomTypeModelRichTextField ? prismicT.RichTextField : T extends prismicT.CustomTypeModelImageField ? prismicT.ImageField : T extends prismicT.CustomTypeModelLinkField ? prismicT.LinkField : T extends prismicT.CustomTypeModelLinkToMediaField ? prismicT.LinkToMediaField : T extends prismicT.CustomTypeModelContentRelationshipField ? prismicT.RelationField : T extends prismicT.CustomTypeModelDateField ? prismicT.DateField : T extends prismicT.CustomTypeModelTimestampField ? prismicT.TimestampField : T extends prismicT.CustomTypeModelNumberField ? prismicT.NumberField : T extends prismicT.CustomTypeModelKeyTextField ? prismicT.KeyTextField : T extends prismicT.CustomTypeModelSelectField ? prismicT.SelectField : T extends prismicT.CustomTypeModelEmbedField ? prismicT.EmbedField : T extends prismicT.CustomTypeModelGeoPointField ? prismicT.GeoPointField : T extends prismicT.CustomTypeModelIntegrationFieldsField ? prismicT.IntegrationFields : never;
29
- declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>>;
28
+ declare type CustomTypeModelFieldForGroupValue<T extends prismicT.CustomTypeModelFieldForGroup, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModelBooleanField ? prismicT.BooleanField : T extends prismicT.CustomTypeModelColorField ? prismicT.ColorField<State> : T extends prismicT.CustomTypeModelTitleField ? prismicT.TitleField<State> : T extends prismicT.CustomTypeModelRichTextField ? prismicT.RichTextField<State> : T extends prismicT.CustomTypeModelImageField ? prismicT.ImageField<string | null, State> : T extends prismicT.CustomTypeModelLinkField ? prismicT.LinkField<string, string, never, State> : T extends prismicT.CustomTypeModelLinkToMediaField ? prismicT.LinkToMediaField<State> : T extends prismicT.CustomTypeModelContentRelationshipField ? prismicT.RelationField<string, string, never, State> : T extends prismicT.CustomTypeModelDateField ? prismicT.DateField<State> : T extends prismicT.CustomTypeModelTimestampField ? prismicT.TimestampField<State> : T extends prismicT.CustomTypeModelNumberField ? prismicT.NumberField<State> : T extends prismicT.CustomTypeModelKeyTextField ? prismicT.KeyTextField<State> : T extends prismicT.CustomTypeModelSelectField ? prismicT.SelectField<string, State> : T extends prismicT.CustomTypeModelEmbedField ? prismicT.EmbedField<prismicT.AnyOEmbed & prismicT.OEmbedExtra, State> : T extends prismicT.CustomTypeModelGeoPointField ? prismicT.GeoPointField<State> : T extends prismicT.CustomTypeModelIntegrationFieldsField ? prismicT.IntegrationFields<unknown, State> : never;
29
+ declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>, State>;
30
30
  declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice, SliceType = string> = prismicT.Slice<SliceType, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
31
31
  declare type SharedSliceModelValue<T extends prismicT.SharedSliceModel> = prismicT.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<T["variations"]>>>;
32
32
  declare type SharedSliceModelVariationValue<T extends prismicT.SharedSliceModelVariation> = prismicT.SharedSlice<string, prismicT.SharedSliceVariation<T["id"], ModelValueMap<T["primary"]>, ModelValueMap<T["items"]>>>;
@@ -61,7 +61,7 @@ declare type MockCustomTypeValueConfig<Model extends prismicT.CustomTypeModel =
61
61
  alternateLanguages?: prismicT.PrismicDocument[];
62
62
  configs?: ValueForModelMapConfigs;
63
63
  } & MockValueConfig<Model>;
64
- declare const customType: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model>;
64
+ declare const customType: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
65
65
 
66
66
  declare type MockColorValueConfig<Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
67
67
  declare const color: <Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = "filled">(config?: MockColorValueConfig<Model, State>) => prismicT.ColorField<State>;
@@ -89,11 +89,11 @@ declare const embed: <Model extends prismicT.CustomTypeModelEmbedField = prismic
89
89
  declare type MockGeoPointValueConfig<Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
90
90
  declare const geoPoint: <Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = "filled">(config?: MockGeoPointValueConfig<Model, State>) => prismicT.GeoPointField<State>;
91
91
 
92
- declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField> = {
93
- itemsCount?: number;
92
+ declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = {
93
+ itemsCount?: State extends "empty" ? 0 : number;
94
94
  configs?: ValueForModelMapConfigs;
95
- } & MockValueConfig<Model>;
96
- declare const group: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockGroupValueConfig<Model>) => ModelValue<Model>;
95
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
96
+ declare const group: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>, State extends prismicT.FieldState = "filled">(config?: MockGroupValueConfig<Model, State>) => ModelValue<Model, State>;
97
97
 
98
98
  declare type MockImageValueConfig<Model extends prismicT.CustomTypeModelImageField = prismicT.CustomTypeModelImageField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
99
99
  declare const image: <Model extends prismicT.CustomTypeModelImageField<string> = prismicT.CustomTypeModelImageField<string>, State extends prismicT.FieldState = "filled">(config?: MockImageValueConfig<Model, State>) => prismicT.ImageField<Model["config"]["thumbnails"][number]["name"], State>;
@@ -152,15 +152,15 @@ declare type MockSliceValueConfig<Model extends prismicT.CustomTypeModelSlice =
152
152
  primaryFieldConfigs?: ValueForModelMapConfigs;
153
153
  itemsFieldConfigs?: ValueForModelMapConfigs;
154
154
  } & MockValueConfig<Model>;
155
- declare const slice: <Model extends prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSliceValueConfig<Model>) => ModelValue<Model>;
155
+ declare const slice: <Model extends prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
156
156
 
157
- declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField> = {
157
+ declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField, State extends prismicT.FieldState = prismicT.FieldState> = {
158
158
  sharedSliceModels?: prismicT.SharedSliceModel[];
159
- itemsCount?: number;
159
+ itemsCount?: State extends "empty" ? 0 : number;
160
160
  primaryFieldConfigs?: ValueForModelMapConfigs;
161
161
  itemsFieldConfigs?: ValueForModelMapConfigs;
162
- } & MockValueConfig<Model>;
163
- declare const sliceZone: <Model extends prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>> = prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>>(config?: MockSliceZoneValueConfig<Model>) => ModelValue<Model>;
162
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
163
+ declare const sliceZone: <Model extends prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>> = prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
164
164
 
165
165
  declare type MockSharedSliceVariationValueConfig<Model extends prismicT.SharedSliceModelVariation = prismicT.SharedSliceModelVariation> = {
166
166
  type?: string;
@@ -169,10 +169,10 @@ declare type MockSharedSliceVariationValueConfig<Model extends prismicT.SharedSl
169
169
  primaryFieldConfigs?: ValueForModelMapConfigs;
170
170
  itemsFieldConfigs?: ValueForModelMapConfigs;
171
171
  } & MockValueConfig<Model>;
172
- declare const sharedSliceVariation: <Model extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model>;
172
+ declare const sharedSliceVariation: <Model extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
173
173
 
174
174
  declare type MockSharedSliceValueConfig<Model extends prismicT.SharedSliceModel = prismicT.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "itemsCount" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
175
- declare const sharedSlice: <Model extends prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>> = prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>>(config?: MockSharedSliceValueConfig<Model>) => ModelValue<Model>;
175
+ declare const sharedSlice: <Model extends prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>> = prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>>(config?: MockSharedSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
176
176
 
177
177
  declare const patterns: {
178
178
  readonly short: {
@@ -192,10 +192,10 @@ declare type MockRichTextHeadingValueConfig = {
192
192
  pattern?: keyof typeof patterns;
193
193
  } & MockRichTextValueConfig$1;
194
194
 
195
- declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField> = {
195
+ declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField, State extends prismicT.FieldState = prismicT.FieldState> = {
196
196
  pattern?: MockRichTextHeadingValueConfig["pattern"];
197
- } & MockValueConfig<Model>;
198
- declare const title: (config?: MockTitleValueConfig) => prismicT.TitleField;
197
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
198
+ declare const title: <Model extends prismicT.CustomTypeModelRichTextSingleField = prismicT.CustomTypeModelRichTextSingleField, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockTitleValueConfig<Model, State>) => prismicT.TitleField<State>;
199
199
 
200
200
  declare type MockUIDValueConfig<Model extends prismicT.CustomTypeModelUIDField = prismicT.CustomTypeModelUIDField> = MockValueConfig<Model>;
201
201
  declare const uid: (config?: MockUIDValueConfig) => NonNullable<prismicT.PrismicDocument["uid"]>;
@@ -722,19 +722,23 @@ const geoPoint = (config = {}) => {
722
722
 
723
723
  const group = (config = {}) => {
724
724
  var _a;
725
- const faker = createFaker(config.seed);
726
- const model = config.model || group$1({ seed: config.seed });
727
- const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
728
- min: 1,
729
- max: 6
730
- });
731
- return Array(itemsCount).fill(void 0).map(() => {
732
- return valueForModelMap({
733
- seed: config.seed,
734
- map: model.config.fields,
735
- configs: config.configs
725
+ if (config.state === "empty") {
726
+ return [];
727
+ } else {
728
+ const faker = createFaker(config.seed);
729
+ const model = config.model || group$1({ seed: config.seed });
730
+ const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
731
+ min: 1,
732
+ max: 6
736
733
  });
737
- });
734
+ return Array(itemsCount).fill(void 0).map(() => {
735
+ return valueForModelMap({
736
+ seed: config.seed,
737
+ map: model.config.fields,
738
+ configs: config.configs
739
+ });
740
+ });
741
+ }
738
742
  };
739
743
 
740
744
  const buildImageFieldImage = (config) => {
@@ -1267,56 +1271,64 @@ const sharedSlice = (config = {}) => {
1267
1271
 
1268
1272
  const sliceZone = (config = {}) => {
1269
1273
  var _a;
1270
- const faker = createFaker(config.seed);
1271
- const model = config.model || sliceZone$1({ seed: config.seed });
1272
- if (Object.keys(model.config.choices).length > 0) {
1273
- const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
1274
- min: 1,
1275
- max: 6
1276
- });
1277
- return Array(itemsCount).fill(void 0).map(() => {
1278
- var _a2;
1279
- const choices = Object.entries(model.config.choices);
1280
- const [choiceType, choiceModel] = faker.random.arrayElement(choices);
1281
- const choiceLabels = model.config.labels[choiceType] || [];
1282
- const choiceLabel = faker.random.arrayElement(choiceLabels);
1283
- switch (choiceModel.type) {
1284
- case prismicT__namespace.CustomTypeModelSliceType.Slice: {
1285
- return slice({
1286
- seed: config.seed,
1287
- model: choiceModel,
1288
- type: choiceType,
1289
- label: choiceLabel ? choiceLabel.name : null,
1290
- primaryFieldConfigs: config.primaryFieldConfigs,
1291
- itemsFieldConfigs: config.itemsFieldConfigs
1292
- });
1293
- }
1294
- case prismicT__namespace.CustomTypeModelSliceType.SharedSlice: {
1295
- const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
1296
- if (sharedSliceModel) {
1297
- return sharedSlice({
1274
+ if (config.state === "empty") {
1275
+ return [];
1276
+ } else {
1277
+ const faker = createFaker(config.seed);
1278
+ const model = config.model || sliceZone$1({ seed: config.seed });
1279
+ if (Object.keys(model.config.choices).length > 0) {
1280
+ const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
1281
+ min: 1,
1282
+ max: 6
1283
+ });
1284
+ return Array(itemsCount).fill(void 0).map(() => {
1285
+ var _a2;
1286
+ const choices = Object.entries(model.config.choices);
1287
+ const [choiceType, choiceModel] = faker.random.arrayElement(choices);
1288
+ const choiceLabels = model.config.labels[choiceType] || [];
1289
+ const choiceLabel = faker.random.arrayElement(choiceLabels);
1290
+ switch (choiceModel.type) {
1291
+ case prismicT__namespace.CustomTypeModelSliceType.Slice: {
1292
+ return slice({
1298
1293
  seed: config.seed,
1299
- model: sharedSliceModel,
1294
+ model: choiceModel,
1295
+ type: choiceType,
1296
+ label: choiceLabel ? choiceLabel.name : null,
1300
1297
  primaryFieldConfigs: config.primaryFieldConfigs,
1301
1298
  itemsFieldConfigs: config.itemsFieldConfigs
1302
1299
  });
1303
1300
  }
1301
+ case prismicT__namespace.CustomTypeModelSliceType.SharedSlice: {
1302
+ const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
1303
+ if (sharedSliceModel) {
1304
+ return sharedSlice({
1305
+ seed: config.seed,
1306
+ model: sharedSliceModel,
1307
+ primaryFieldConfigs: config.primaryFieldConfigs,
1308
+ itemsFieldConfigs: config.itemsFieldConfigs
1309
+ });
1310
+ }
1311
+ }
1304
1312
  }
1305
- }
1306
- }).filter((slice2) => slice2 !== void 0);
1307
- } else {
1308
- return [];
1313
+ }).filter((slice2) => slice2 !== void 0);
1314
+ } else {
1315
+ return [];
1316
+ }
1309
1317
  }
1310
1318
  };
1311
1319
 
1312
1320
  const title = (config = {}) => {
1313
- return [
1314
- heading({
1315
- seed: config.seed,
1316
- model: config.model,
1317
- pattern: config.pattern
1318
- })
1319
- ];
1321
+ if (config.state === "empty") {
1322
+ return [];
1323
+ } else {
1324
+ return [
1325
+ heading({
1326
+ seed: config.seed,
1327
+ model: config.model,
1328
+ pattern: config.pattern
1329
+ })
1330
+ ];
1331
+ }
1320
1332
  };
1321
1333
 
1322
1334
  const uid = (config = {}) => {