@prismicio/mock 0.0.6 → 0.0.7

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 (66) hide show
  1. package/README.md +4 -1
  2. package/dist/api/index.cjs +39 -27
  3. package/dist/api/index.cjs.map +1 -0
  4. package/dist/api/index.d.ts +2 -1
  5. package/dist/api/index.d.ts.map +1 -0
  6. package/dist/api/{index.mjs → index.js} +104 -58
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/index.cjs +293 -393
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.ts +132 -230
  11. package/dist/{index.mjs → index.js} +286 -384
  12. package/dist/index.js.map +1 -0
  13. package/dist/model/index.cjs +148 -205
  14. package/dist/model/index.cjs.map +1 -0
  15. package/dist/model/index.d.ts +68 -104
  16. package/dist/model/index.d.ts.map +1 -0
  17. package/dist/model/index.js +462 -0
  18. package/dist/model/index.js.map +1 -0
  19. package/dist/value/index.cjs +238 -495
  20. package/dist/value/index.cjs.map +1 -0
  21. package/dist/value/index.d.ts +54 -116
  22. package/dist/value/index.d.ts.map +1 -0
  23. package/dist/value/{index.mjs → index.js} +407 -610
  24. package/dist/value/index.js.map +1 -0
  25. package/package.json +21 -21
  26. package/src/lib/buildContentRelationshipField.ts +6 -1
  27. package/src/lib/buildEmbedField.ts +1 -1
  28. package/src/lib/buildImageFieldImage.ts +48 -0
  29. package/src/model/buildMockGroupFieldMap.ts +65 -0
  30. package/src/model/contentRelationship.ts +14 -21
  31. package/src/model/customType.ts +49 -48
  32. package/src/model/group.ts +8 -15
  33. package/src/model/image.ts +13 -13
  34. package/src/model/index.ts +2 -0
  35. package/src/model/select.ts +11 -16
  36. package/src/model/sharedSlice.ts +14 -41
  37. package/src/model/sharedSliceVariation.ts +33 -21
  38. package/src/model/slice.ts +15 -19
  39. package/src/model/sliceZone.ts +23 -59
  40. package/src/types.ts +41 -12
  41. package/src/value/color.ts +16 -6
  42. package/src/value/contentRelationship.ts +51 -36
  43. package/src/value/date.ts +25 -9
  44. package/src/value/embed.ts +18 -6
  45. package/src/value/geoPoint.ts +21 -9
  46. package/src/value/group.ts +7 -27
  47. package/src/value/image.ts +22 -9
  48. package/src/value/integrationFields.ts +26 -14
  49. package/src/value/keyText.ts +18 -6
  50. package/src/value/link.ts +33 -34
  51. package/src/value/linkToMedia.ts +15 -20
  52. package/src/value/number.ts +16 -6
  53. package/src/value/richText/heading.ts +7 -7
  54. package/src/value/richText/image.ts +6 -2
  55. package/src/value/richText/index.ts +1 -1
  56. package/src/value/select.ts +23 -8
  57. package/src/value/sharedSlice.ts +2 -2
  58. package/src/value/sharedSliceVariation.ts +6 -34
  59. package/src/value/slice.ts +5 -30
  60. package/src/value/sliceZone.ts +44 -60
  61. package/src/value/timestamp.ts +19 -6
  62. package/src/value/title.ts +1 -1
  63. package/src/value/uid.ts +1 -1
  64. package/dist/model/index.mjs +0 -465
  65. package/src/lib/buildImageField.ts +0 -34
  66. package/src/lib/buildMockGroupFieldMap.ts +0 -84
package/dist/index.d.ts CHANGED
@@ -32,87 +32,67 @@ declare type MockCustomTypeValueConfig<Model extends prismicT.CustomTypeModel =
32
32
  } & MockValueConfig<Model>;
33
33
  declare const customType$1: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model>;
34
34
 
35
- declare type MockColorValueConfig<Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField> = MockValueConfig<Model>;
36
- declare const color$1: (config?: MockColorValueConfig) => prismicT.ColorField;
35
+ declare type MockColorValueConfig<Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
36
+ declare const color$1: <Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = "filled">(config?: MockColorValueConfig<Model, State>) => prismicT.ColorField<State>;
37
37
 
38
- declare type MockContentRelationshipValueConfig<IsFilled extends boolean = boolean, Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField> = {
39
- isFilled?: IsFilled;
38
+ declare type MockContentRelationshipValueConfig<Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField, State extends prismicT.FieldState = prismicT.FieldState> = {
40
39
  /**
41
40
  * A list of potential documents to which the field can be linked.
42
41
  */
43
42
  linkableDocuments?: prismicT.PrismicDocument[];
44
- } & MockValueConfig<Model>;
45
- declare type MockContentRelationshipValue<IsFilled extends boolean = boolean> = IsFilled extends true ? prismicT.FilledLinkToDocumentField : prismicT.EmptyLinkField<prismicT.LinkType.Document>;
46
- declare const contentRelationship$1: <IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField>(config?: MockContentRelationshipValueConfig<IsFilled, Model>) => MockContentRelationshipValue<IsFilled>;
43
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
44
+ declare const contentRelationship$1: <Model extends prismicT.CustomTypeModelContentRelationshipField<string, string> = prismicT.CustomTypeModelContentRelationshipField<string, string>, State extends prismicT.FieldState = "filled">(config?: MockContentRelationshipValueConfig<Model, State>) => prismicT.RelationField<Model["config"]["customtypes"], string, never, State>;
47
45
 
48
- declare type MockTimestampValueConfig<Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField> = {
46
+ declare type MockTimestampValueConfig<Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = prismicT.FieldState> = {
49
47
  after?: Date;
50
48
  before?: Date;
51
- } & MockValueConfig<Model>;
52
- declare const timestamp$1: (config?: MockTimestampValueConfig) => prismicT.TimestampField;
49
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
50
+ declare const timestamp$1: <Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = "filled">(config?: MockTimestampValueConfig<Model, State>) => prismicT.TimestampField<State>;
53
51
 
54
- declare type MockDateValueConfig<Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField> = Pick<MockTimestampValueConfig, "after" | "before"> & MockValueConfig<Model>;
55
- declare const date$1: (config?: MockDateValueConfig) => prismicT.DateField;
52
+ declare type MockDateValueConfig<Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = prismicT.FieldState> = Pick<MockTimestampValueConfig, "after" | "before"> & MockValueConfig<Model> & MockValueStateConfig<State>;
53
+ declare const date$1: <Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = "filled">(config?: MockDateValueConfig<Model, State>) => prismicT.DateField<State>;
56
54
 
57
- declare type MockEmbedValueConfig<Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField> = MockValueConfig<Model>;
58
- declare const embed$1: (config?: MockEmbedValueConfig) => prismicT.EmbedField;
55
+ declare type MockEmbedValueConfig<Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
56
+ declare const embed$1: <Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, State extends prismicT.FieldState = "filled">(config?: MockEmbedValueConfig<Model, State>) => prismicT.EmbedField<prismicT.AnyOEmbed & prismicT.OEmbedExtra, State>;
59
57
 
60
- declare type MockGeoPointValueConfig<Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField> = MockValueConfig<Model>;
61
- declare const geoPoint$1: (config?: MockGeoPointValueConfig) => prismicT.GeoPointField;
58
+ declare type MockGeoPointValueConfig<Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
59
+ declare const geoPoint$1: <Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = "filled">(config?: MockGeoPointValueConfig<Model, State>) => prismicT.GeoPointField<State>;
62
60
 
63
- declare const patterns$5: {
64
- readonly short: {
65
- readonly minItems: 1;
66
- readonly maxItems: 3;
67
- };
68
- readonly medium: {
69
- readonly minItems: 3;
70
- readonly maxItems: 6;
71
- };
72
- readonly long: {
73
- readonly minItems: 6;
74
- readonly maxItems: 12;
75
- };
76
- };
77
61
  declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField> = {
78
- pattern?: keyof typeof patterns$5;
62
+ itemsCount?: number;
79
63
  configs?: ValueForModelMapConfigs;
80
64
  } & MockValueConfig<Model>;
81
65
  declare const group$1: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockGroupValueConfig<Model>) => ModelValue<Model>;
82
66
 
83
- declare type MockImageValueConfig<Model extends prismicT.CustomTypeModelImageField = prismicT.CustomTypeModelImageField> = MockValueConfig<Model>;
84
- declare const image$1: (config?: MockImageValueConfig) => prismicT.ImageField;
67
+ declare type MockImageValueConfig<Model extends prismicT.CustomTypeModelImageField = prismicT.CustomTypeModelImageField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
68
+ declare const image$1: <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>;
85
69
 
86
- declare type MockIntegrationFieldsValueConfig<Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob extends unknown = unknown> = {
70
+ declare type MockIntegrationFieldsValueConfig<Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob = unknown, State extends prismicT.FieldState = prismicT.FieldState> = {
87
71
  data?: Blob;
88
- } & MockValueConfig<Model>;
89
- declare const integrationFields$1: <Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob_1 extends unknown = unknown>(config?: MockIntegrationFieldsValueConfig<Model, Blob_1>) => prismicT.IntegrationFields<Blob_1>;
72
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
73
+ declare const integrationFields$1: <Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob_1 = unknown, State extends prismicT.FieldState = "filled">(config?: MockIntegrationFieldsValueConfig<Model, Blob_1, State>) => prismicT.IntegrationFields<Blob_1, State>;
90
74
 
91
- declare type MockKeyTextValueConfig<Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField> = MockValueConfig<Model>;
92
- declare const keyText$1: (config?: MockKeyTextValueConfig) => prismicT.KeyTextField;
75
+ declare type MockKeyTextValueConfig<Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
76
+ declare const keyText$1: <Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = "filled">(config?: MockKeyTextValueConfig<Model, State>) => prismicT.KeyTextField<State>;
93
77
 
94
- declare type MockLinkValueConfig<LinkType extends prismicT.LinkType = prismicT.LinkType, IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField> = {
78
+ declare type MockLinkValueConfig<LinkType extends typeof prismicT.LinkType[keyof typeof prismicT.LinkType] = typeof prismicT.LinkType[keyof typeof prismicT.LinkType], Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField, State extends prismicT.FieldState = prismicT.FieldState> = {
95
79
  type?: LinkType;
96
- isFilled?: IsFilled;
97
80
  withTargetBlank?: Model["config"]["allowTargetBlank"] extends undefined ? false : boolean;
98
81
  /**
99
82
  * A list of potential documents to which the field can be linked.
100
83
  */
101
- linkableDocuments?: LinkType extends prismicT.LinkType.Document ? prismicT.PrismicDocument[] : never;
102
- } & MockValueConfig<Model>;
103
- declare type MockLinkValue<LinkType extends prismicT.LinkType = prismicT.LinkType, IsFilled extends boolean = true> = IsFilled extends true ? LinkType extends prismicT.LinkType.Web ? prismicT.FilledLinkToWebField : LinkType extends prismicT.LinkType.Media ? prismicT.FilledLinkToMediaField : LinkType extends prismicT.LinkType.Document ? prismicT.FilledLinkToDocumentField : never : prismicT.EmptyLinkField<LinkType>;
104
- declare const link$1: <LinkType extends prismicT.LinkType = prismicT.LinkType, IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField>(config?: MockLinkValueConfig<LinkType, IsFilled, Model>) => MockLinkValue<LinkType, IsFilled>;
84
+ linkableDocuments?: LinkType extends typeof prismicT.LinkType.Document ? prismicT.PrismicDocument[] : never;
85
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
86
+ declare type MockLinkValue<LinkType extends typeof prismicT.LinkType[keyof typeof prismicT.LinkType] = typeof prismicT.LinkType[keyof typeof prismicT.LinkType], State extends prismicT.FieldState = "filled"> = State extends "empty" ? prismicT.EmptyLinkField<LinkType> : LinkType extends typeof prismicT.LinkType.Web ? prismicT.FilledLinkToWebField : LinkType extends typeof prismicT.LinkType.Media ? prismicT.FilledLinkToMediaField : LinkType extends typeof prismicT.LinkType.Document ? prismicT.FilledLinkToDocumentField : never;
87
+ declare const link$1: <LinkType extends "Any" | "Document" | "Media" | "Web" = "Any" | "Document" | "Media" | "Web", Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField, State extends prismicT.FieldState = "filled">(config?: MockLinkValueConfig<LinkType, Model, State>) => MockLinkValue<LinkType, State>;
105
88
 
106
- declare type MockLinkToMediaValueConfig<IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField> = {
107
- isFilled?: IsFilled;
108
- } & MockValueConfig<Model>;
109
- declare type MockLinkToMediaValue<IsFilled extends boolean = true> = IsFilled extends true ? prismicT.FilledLinkToMediaField : prismicT.EmptyLinkField<prismicT.LinkType.Media>;
110
- declare const linkToMedia$1: <IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField>(config?: MockLinkToMediaValueConfig<IsFilled, Model>) => MockLinkToMediaValue<IsFilled>;
89
+ declare type MockLinkToMediaValueConfig<Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
90
+ declare const linkToMedia$1: <Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = "filled">(config?: MockLinkToMediaValueConfig<Model, State>) => prismicT.LinkToMediaField<State>;
111
91
 
112
- declare type MockNumberValueConfig<Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField> = MockValueConfig<Model>;
113
- declare const number$1: (config?: MockNumberValueConfig) => prismicT.NumberField;
92
+ declare type MockNumberValueConfig<Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
93
+ declare const number$1: <Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = "filled">(config?: MockNumberValueConfig<Model, State>) => prismicT.NumberField<State>;
114
94
 
115
- declare const patterns$4: {
95
+ declare const patterns$1: {
116
96
  readonly short: {
117
97
  readonly blockCountMin: 1;
118
98
  readonly blockCountMax: 2;
@@ -127,91 +107,41 @@ declare const patterns$4: {
127
107
  };
128
108
  };
129
109
  declare type MockRichTextValueConfig$1 = {
130
- pattern?: keyof typeof patterns$4;
110
+ pattern?: keyof typeof patterns$1;
131
111
  } & MockRichTextValueConfig<prismicT.CustomTypeModelRichTextField>;
132
112
  declare const richText$1: (config?: MockRichTextValueConfig$1) => prismicT.RichTextField;
133
113
 
134
- declare type MockSelectValueConfig<Model extends prismicT.CustomTypeModelSelectField = prismicT.CustomTypeModelSelectField> = MockValueConfig<Model>;
135
- declare const select$1: (config?: MockSelectValueConfig) => prismicT.SelectField;
114
+ declare type MockSelectValueConfig<Model extends prismicT.CustomTypeModelSelectField = prismicT.CustomTypeModelSelectField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
115
+ declare const select$1: <Model extends prismicT.CustomTypeModelSelectField<string, string> = prismicT.CustomTypeModelSelectField<string, string>, State extends prismicT.FieldState = "filled">(config?: MockSelectValueConfig<Model, State>) => prismicT.SelectField<Model["config"]["options"][number], State>;
136
116
 
137
- declare const patterns$3: {
138
- readonly none: {
139
- readonly minItems: 0;
140
- readonly maxItems: 0;
141
- };
142
- readonly short: {
143
- readonly minItems: 1;
144
- readonly maxItems: 3;
145
- };
146
- readonly medium: {
147
- readonly minItems: 3;
148
- readonly maxItems: 6;
149
- };
150
- readonly long: {
151
- readonly minItems: 6;
152
- readonly maxItems: 12;
153
- };
154
- };
155
117
  declare type MockSliceValueConfig<Model extends prismicT.CustomTypeModelSlice = prismicT.CustomTypeModelSlice> = {
156
118
  type?: string;
157
119
  label?: string | null;
158
- pattern?: keyof typeof patterns$3;
120
+ itemsCount?: number;
159
121
  primaryFieldConfigs?: ValueForModelMapConfigs;
160
122
  itemsFieldConfigs?: ValueForModelMapConfigs;
161
123
  } & MockValueConfig<Model>;
162
124
  declare const slice$1: <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>;
163
125
 
164
- declare const patterns$2: {
165
- readonly short: {
166
- readonly minItems: 1;
167
- readonly maxItems: 3;
168
- };
169
- readonly medium: {
170
- readonly minItems: 3;
171
- readonly maxItems: 6;
172
- };
173
- readonly long: {
174
- readonly minItems: 6;
175
- readonly maxItems: 12;
176
- };
177
- };
178
126
  declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField> = {
179
127
  sharedSliceModels?: prismicT.SharedSliceModel[];
180
- pattern?: keyof typeof patterns$2;
128
+ itemsCount?: number;
181
129
  primaryFieldConfigs?: ValueForModelMapConfigs;
182
130
  itemsFieldConfigs?: ValueForModelMapConfigs;
183
131
  } & MockValueConfig<Model>;
184
132
  declare const sliceZone$1: <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>;
185
133
 
186
- declare const patterns$1: {
187
- readonly none: {
188
- readonly minItems: 0;
189
- readonly maxItems: 0;
190
- };
191
- readonly short: {
192
- readonly minItems: 1;
193
- readonly maxItems: 3;
194
- };
195
- readonly medium: {
196
- readonly minItems: 3;
197
- readonly maxItems: 6;
198
- };
199
- readonly long: {
200
- readonly minItems: 6;
201
- readonly maxItems: 12;
202
- };
203
- };
204
134
  declare type MockSharedSliceVariationValueConfig<Model extends prismicT.SharedSliceModelVariation = prismicT.SharedSliceModelVariation> = {
205
135
  type?: string;
206
136
  label?: string;
207
- pattern?: keyof typeof patterns$1;
137
+ itemsCount?: number;
208
138
  primaryFieldConfigs?: ValueForModelMapConfigs;
209
139
  itemsFieldConfigs?: ValueForModelMapConfigs;
210
140
  } & MockValueConfig<Model>;
211
- declare const sharedSliceVariation$1: <Model extends prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model>;
141
+ declare const sharedSliceVariation$1: <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>;
212
142
 
213
- declare type MockSharedSliceValueConfig<Model extends prismicT.SharedSliceModel = prismicT.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "pattern" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
214
- declare const sharedSlice$1: <Model extends prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>> = prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>>(config?: MockSharedSliceValueConfig<Model>) => ModelValue<Model>;
143
+ declare type MockSharedSliceValueConfig<Model extends prismicT.SharedSliceModel = prismicT.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "itemsCount" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
144
+ declare const sharedSlice$1: <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>;
215
145
 
216
146
  declare const patterns: {
217
147
  readonly short: {
@@ -237,28 +167,28 @@ declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleFie
237
167
  declare const title$1: (config?: MockTitleValueConfig) => prismicT.TitleField;
238
168
 
239
169
  declare type MockUIDValueConfig<Model extends prismicT.CustomTypeModelUIDField = prismicT.CustomTypeModelUIDField> = MockValueConfig<Model>;
240
- declare const uid$1: (config?: MockUIDValueConfig) => prismicT.PrismicDocument["uid"];
170
+ declare const uid$1: (config?: MockUIDValueConfig) => NonNullable<prismicT.PrismicDocument["uid"]>;
241
171
 
242
172
  type index$2_MockBooleanValueConfig<_0> = MockBooleanValueConfig<_0>;
243
173
  type index$2_MockCustomTypeValueConfig<_0> = MockCustomTypeValueConfig<_0>;
244
- type index$2_MockColorValueConfig<_0> = MockColorValueConfig<_0>;
174
+ type index$2_MockColorValueConfig<_0, _1> = MockColorValueConfig<_0, _1>;
245
175
  type index$2_MockContentRelationshipValueConfig<_0, _1> = MockContentRelationshipValueConfig<_0, _1>;
246
- type index$2_MockDateValueConfig<_0> = MockDateValueConfig<_0>;
247
- type index$2_MockEmbedValueConfig<_0> = MockEmbedValueConfig<_0>;
248
- type index$2_MockGeoPointValueConfig<_0> = MockGeoPointValueConfig<_0>;
176
+ type index$2_MockDateValueConfig<_0, _1> = MockDateValueConfig<_0, _1>;
177
+ type index$2_MockEmbedValueConfig<_0, _1> = MockEmbedValueConfig<_0, _1>;
178
+ type index$2_MockGeoPointValueConfig<_0, _1> = MockGeoPointValueConfig<_0, _1>;
249
179
  type index$2_MockGroupValueConfig<_0> = MockGroupValueConfig<_0>;
250
- type index$2_MockImageValueConfig<_0> = MockImageValueConfig<_0>;
251
- type index$2_MockIntegrationFieldsValueConfig<_0, _1> = MockIntegrationFieldsValueConfig<_0, _1>;
252
- type index$2_MockKeyTextValueConfig<_0> = MockKeyTextValueConfig<_0>;
180
+ type index$2_MockImageValueConfig<_0, _1> = MockImageValueConfig<_0, _1>;
181
+ type index$2_MockIntegrationFieldsValueConfig<_0, _1, _2> = MockIntegrationFieldsValueConfig<_0, _1, _2>;
182
+ type index$2_MockKeyTextValueConfig<_0, _1> = MockKeyTextValueConfig<_0, _1>;
253
183
  type index$2_MockLinkValueConfig<_0, _1, _2> = MockLinkValueConfig<_0, _1, _2>;
254
184
  type index$2_MockLinkToMediaValueConfig<_0, _1> = MockLinkToMediaValueConfig<_0, _1>;
255
- type index$2_MockNumberValueConfig<_0> = MockNumberValueConfig<_0>;
256
- type index$2_MockSelectValueConfig<_0> = MockSelectValueConfig<_0>;
185
+ type index$2_MockNumberValueConfig<_0, _1> = MockNumberValueConfig<_0, _1>;
186
+ type index$2_MockSelectValueConfig<_0, _1> = MockSelectValueConfig<_0, _1>;
257
187
  type index$2_MockSliceValueConfig<_0> = MockSliceValueConfig<_0>;
258
188
  type index$2_MockSliceZoneValueConfig<_0> = MockSliceZoneValueConfig<_0>;
259
189
  type index$2_MockSharedSliceValueConfig<_0> = MockSharedSliceValueConfig<_0>;
260
190
  type index$2_MockSharedSliceVariationValueConfig<_0> = MockSharedSliceVariationValueConfig<_0>;
261
- type index$2_MockTimestampValueConfig<_0> = MockTimestampValueConfig<_0>;
191
+ type index$2_MockTimestampValueConfig<_0, _1> = MockTimestampValueConfig<_0, _1>;
262
192
  type index$2_MockTitleValueConfig<_0> = MockTitleValueConfig<_0>;
263
193
  type index$2_MockUIDValueConfig<_0> = MockUIDValueConfig<_0>;
264
194
  declare namespace index$2 {
@@ -315,7 +245,7 @@ declare namespace index$2 {
315
245
  }
316
246
 
317
247
  declare type IterableElement<TargetIterable> = TargetIterable extends Iterable<infer ElementType> ? ElementType : TargetIterable extends AsyncIterable<infer ElementType> ? ElementType : never;
318
- declare type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
248
+ declare type ValueOf<ObjectType extends Record<string, unknown>> = ObjectType[string];
319
249
  declare type Seed = string | number | number[];
320
250
  declare type MockRestApiConfig = {
321
251
  seed?: Seed;
@@ -324,10 +254,14 @@ declare type MockModelConfig = {
324
254
  seed?: Seed;
325
255
  };
326
256
  declare type PrismicModel = prismicT.CustomTypeModel | prismicT.CustomTypeModelField | prismicT.CustomTypeModelSlice | prismicT.SharedSliceModel | prismicT.SharedSliceModelVariation;
257
+ declare type GroupFieldModelMap = Record<string, prismicT.CustomTypeModelFieldForGroup>;
327
258
  declare type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
328
259
  seed?: Seed;
329
260
  model?: Model;
330
261
  };
262
+ declare type MockValueStateConfig<State extends prismicT.FieldState = prismicT.FieldState> = {
263
+ state?: State;
264
+ };
331
265
  declare type CustomTypeModelStructuredTextField = prismicT.CustomTypeModelRichTextField | prismicT.CustomTypeModelTitleField;
332
266
  declare type MockRichTextValueConfig<Model extends CustomTypeModelStructuredTextField = CustomTypeModelStructuredTextField> = {
333
267
  seed?: Seed;
@@ -336,11 +270,15 @@ declare type MockRichTextValueConfig<Model extends CustomTypeModelStructuredText
336
270
  declare type ModelValueMap<T extends Record<string, prismicT.CustomTypeModelField>> = {
337
271
  [P in keyof T]: ModelValue<T[P]>;
338
272
  };
339
- 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 : 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;
340
- declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<ValueOf<T["json"]>>>;
273
+ 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<{
274
+ [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;
275
+ }>> : 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;
276
+ declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<{
277
+ [P in keyof ValueOf<T["json"]> as ValueOf<T["json"]>[P]["type"] extends typeof prismicT.CustomTypeModelFieldType.UID ? never : P]: ValueOf<T["json"]>[P];
278
+ }>>;
341
279
  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;
342
280
  declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>>;
343
- declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice> = prismicT.Slice<string, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
281
+ declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice, SliceType = string> = prismicT.Slice<SliceType, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
344
282
  declare type SharedSliceModelValue<T extends prismicT.SharedSliceModel> = prismicT.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<T["variations"]>>>;
345
283
  declare type SharedSliceModelVariationValue<T extends prismicT.SharedSliceModelVariation> = prismicT.SharedSlice<string, prismicT.SharedSliceVariation<T["id"], ModelValueMap<T["primary"]>, ModelValueMap<T["items"]>>>;
346
284
 
@@ -366,7 +304,7 @@ declare type MockRestApiQueryConfig<Document extends prismicT.PrismicDocument =
366
304
  page?: number;
367
305
  pageSize?: number;
368
306
  } & MockRestApiConfig;
369
- declare const query: <Document_1 extends prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string> = prismicT.PrismicDocument<Record<string, prismicT.AnyRegularField | prismicT.GroupField<Record<string, prismicT.AnyRegularField>> | prismicT.SliceZone<prismicT.Slice<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>> | prismicT.SharedSlice<string, prismicT.SharedSliceVariation<string, Record<string, prismicT.AnyRegularField>, Record<string, prismicT.AnyRegularField>>>>>, string, string>>(config?: MockRestApiQueryConfig<Document_1>) => prismicT.Query<Document_1>;
307
+ declare const query: <Document_1 extends prismicT.PrismicDocument<Record<string, any>, string, string> = prismicT.PrismicDocument<Record<string, any>, string, string>>(config?: MockRestApiQueryConfig<Document_1>) => prismicT.Query<Document_1>;
370
308
 
371
309
  declare type MockRestApiTagsConfig = MockRestApiConfig;
372
310
  declare const tags: (config?: MockRestApiTagsConfig) => prismicT.Tags<string>;
@@ -400,80 +338,26 @@ declare const boolean: (config?: MockBooleanModelConfig) => prismicT.CustomTypeM
400
338
  declare type MockColorModelConfig = MockModelConfig;
401
339
  declare const color: (config?: MockColorModelConfig) => prismicT.CustomTypeModelColorField;
402
340
 
403
- declare type MockContentRelationshipModelConfig = {
404
- constrainCustomTypes?: boolean;
405
- constrainTags?: boolean;
341
+ declare type MockContentRelationshipModelConfig<CustomTypeIDs extends string = string, Tags extends string = string> = {
342
+ customTypeIDs?: readonly CustomTypeIDs[];
343
+ tags?: readonly Tags[];
406
344
  } & MockModelConfig;
407
- declare const contentRelationship: (config?: MockContentRelationshipModelConfig) => prismicT.CustomTypeModelContentRelationshipField;
345
+ declare const contentRelationship: <CustomTypeIDs extends string, Tags extends string>(config?: MockContentRelationshipModelConfig<CustomTypeIDs, Tags>) => prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags>;
408
346
 
409
- declare type MockRichTextModelConfig<WithMultipleBlocks extends boolean = boolean> = {
410
- withMultipleBlocks?: WithMultipleBlocks;
411
- } & MockModelConfig;
412
- declare const richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
413
-
414
- declare type MockLinkModel<AllowTargetBlank extends boolean = boolean> = prismicT.CustomTypeModelLinkField & {
415
- config: AllowTargetBlank extends true ? {
416
- allowTargetBlank: true;
417
- } : {
418
- allowTargetBlank?: undefined;
419
- };
420
- };
421
- declare type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {
422
- allowTargetBlank?: AllowTargetBlank;
423
- } & MockModelConfig;
424
- declare const link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => MockLinkModel<AllowTargetBlank>;
425
-
426
- declare const mockModelFns: {
427
- readonly boolean: (config?: MockModelConfig) => prismicT.CustomTypeModelBooleanField;
428
- readonly color: (config?: MockModelConfig) => prismicT.CustomTypeModelColorField;
429
- readonly contentRelationship: (config?: MockContentRelationshipModelConfig) => prismicT.CustomTypeModelContentRelationshipField;
430
- readonly date: (config?: MockModelConfig) => prismicT.CustomTypeModelDateField;
431
- readonly embed: (config?: MockModelConfig) => prismicT.CustomTypeModelEmbedField;
432
- readonly geoPoint: (config?: MockModelConfig) => prismicT.CustomTypeModelGeoPointField;
433
- readonly image: (config?: {
434
- withConstraint?: boolean | undefined;
435
- thumbnailsCount?: number | undefined;
436
- } & MockModelConfig) => prismicT.CustomTypeModelImageField;
437
- readonly integrationFields: (config?: MockModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
438
- readonly keyText: (config?: MockModelConfig) => prismicT.CustomTypeModelKeyTextField;
439
- readonly link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => prismicT.CustomTypeModelLinkField & {
440
- config: AllowTargetBlank extends true ? {
441
- allowTargetBlank: true;
442
- } : {
443
- allowTargetBlank?: undefined;
444
- };
445
- };
446
- readonly linkToMedia: (config?: MockModelConfig) => prismicT.CustomTypeModelLinkToMediaField;
447
- readonly number: (config?: MockModelConfig) => prismicT.CustomTypeModelNumberField;
448
- readonly richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
449
- readonly select: (config?: {
450
- optionsCount?: number | undefined;
451
- withDefaultValue?: boolean | undefined;
452
- } & MockModelConfig) => prismicT.CustomTypeModelSelectField<string, string>;
453
- readonly timestamp: (config?: MockModelConfig) => prismicT.CustomTypeModelTimestampField;
454
- readonly title: (config?: MockModelConfig) => prismicT.CustomTypeModelRichTextSingleField;
455
- };
456
- declare type MockModelFns = typeof mockModelFns;
457
- declare type BuildMockGroupFieldMapConfig = {
458
- configs?: {
459
- [P in keyof MockModelFns]?: {
460
- count?: number;
461
- config?: Parameters<MockModelFns[P]>[0];
462
- };
463
- };
464
- } & MockModelConfig;
465
-
466
- declare type MockCustomTypeModelConfig = {
467
- tabsCount?: number;
468
- withUID?: boolean;
469
- configs?: BuildMockGroupFieldMapConfig["configs"];
347
+ declare type MockCustomTypeModelConfig<Definition extends prismicT.CustomTypeModelTab | prismicT.CustomTypeModelDefinition = prismicT.CustomTypeModelTab | prismicT.CustomTypeModelDefinition> = {
348
+ id?: string;
349
+ label?: string;
350
+ status?: boolean;
351
+ repeatable?: boolean;
470
352
  } & ({
471
- withSliceZones?: false;
353
+ fields?: Definition;
354
+ tabs?: never;
472
355
  } | {
473
- withSliceZones: true;
474
- withSharedSlices?: boolean;
356
+ tabs?: Definition;
357
+ fields?: never;
475
358
  }) & MockModelConfig;
476
- declare const customType: (config?: MockCustomTypeModelConfig) => prismicT.CustomTypeModel;
359
+ declare type MockCustomTypeModel<Definition extends prismicT.CustomTypeModelTab | prismicT.CustomTypeModelDefinition> = Definition extends prismicT.CustomTypeModelTab ? prismicT.CustomTypeModel<string, Record<"Main", Definition>> : Definition extends prismicT.CustomTypeModelDefinition ? prismicT.CustomTypeModel<string, Definition> : never;
360
+ declare const customType: <Definition extends Record<string, prismicT.CustomTypeModelField> | prismicT.CustomTypeModelDefinition<string>>(config?: MockCustomTypeModelConfig<Definition>) => MockCustomTypeModel<Definition>;
477
361
 
478
362
  declare type MockDateModelConfig = MockModelConfig;
479
363
  declare const date: (config?: MockDateModelConfig) => prismicT.CustomTypeModelDateField;
@@ -484,14 +368,16 @@ declare const embed: (config?: MockEmbedModelConfig) => prismicT.CustomTypeModel
484
368
  declare type MockGeoPointModelConfig = MockModelConfig;
485
369
  declare const geoPoint: (config?: MockGeoPointModelConfig) => prismicT.CustomTypeModelGeoPointField;
486
370
 
487
- declare type MockGroupModelConfig = BuildMockGroupFieldMapConfig & MockModelConfig;
488
- declare const group: (config?: MockGroupModelConfig) => prismicT.CustomTypeModelGroupField;
371
+ declare type MockGroupModelConfig<Fields extends GroupFieldModelMap> = {
372
+ fields?: Fields;
373
+ } & MockModelConfig;
374
+ declare const group: <Fields extends GroupFieldModelMap>(config?: MockGroupModelConfig<Fields>) => prismicT.CustomTypeModelGroupField<Fields>;
489
375
 
490
- declare type MockImageModelConfig = {
376
+ declare type MockImageModelConfig<ThumbnailNames extends string = string> = {
491
377
  withConstraint?: boolean;
492
- thumbnailsCount?: number;
378
+ thumbnailNames?: readonly ThumbnailNames[];
493
379
  } & MockModelConfig;
494
- declare const image: (config?: MockImageModelConfig) => prismicT.CustomTypeModelImageField;
380
+ declare const image: <ThumbnailNames extends string = string>(config?: MockImageModelConfig<ThumbnailNames>) => prismicT.CustomTypeModelImageField<ThumbnailNames>;
495
381
 
496
382
  declare type MockIntegrationFieldsModelConfig = MockModelConfig;
497
383
  declare const integrationFields: (config?: MockIntegrationFieldsModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
@@ -499,51 +385,62 @@ declare const integrationFields: (config?: MockIntegrationFieldsModelConfig) =>
499
385
  declare type MockKeyTextModelConfig = MockModelConfig;
500
386
  declare const keyText: (config?: MockKeyTextModelConfig) => prismicT.CustomTypeModelKeyTextField;
501
387
 
388
+ declare type MockLinkModel<AllowTargetBlank extends boolean = boolean> = prismicT.CustomTypeModelLinkField & {
389
+ config: AllowTargetBlank extends true ? {
390
+ allowTargetBlank: true;
391
+ } : {
392
+ allowTargetBlank?: undefined;
393
+ };
394
+ };
395
+ declare type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {
396
+ allowTargetBlank?: AllowTargetBlank;
397
+ } & MockModelConfig;
398
+ declare const link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => MockLinkModel<AllowTargetBlank>;
399
+
502
400
  declare type MockLinkTomediaModelConfig = MockModelConfig;
503
401
  declare const linkToMedia: (config?: MockLinkTomediaModelConfig) => prismicT.CustomTypeModelLinkToMediaField;
504
402
 
505
403
  declare type MockNumberModelConfig = MockModelConfig;
506
404
  declare const number: (config?: MockNumberModelConfig) => prismicT.CustomTypeModelNumberField;
507
405
 
508
- declare type MockSelectModelConfig = {
509
- optionsCount?: number;
510
- withDefaultValue?: boolean;
406
+ declare type MockRichTextModelConfig<WithMultipleBlocks extends boolean = boolean> = {
407
+ withMultipleBlocks?: WithMultipleBlocks;
511
408
  } & MockModelConfig;
512
- declare const select: (config?: MockSelectModelConfig) => prismicT.CustomTypeModelSelectField;
409
+ declare const richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
513
410
 
514
- declare type MockSharedSliceVariationModelConfig = {
515
- primaryFieldConfig?: BuildMockGroupFieldMapConfig;
516
- itemsFieldConfig?: BuildMockGroupFieldMapConfig;
411
+ declare type MockSelectModelConfig<Option extends string = string, DefaultOption extends Option = Option> = {
412
+ options?: Option[];
413
+ defaultValue?: DefaultOption;
517
414
  } & MockModelConfig;
518
- declare const sharedSliceVariation: (config?: MockSharedSliceVariationModelConfig) => prismicT.SharedSliceModelVariation;
415
+ declare const select: <Option extends string, DefaultOption extends Option>(config?: MockSelectModelConfig<Option, DefaultOption>) => prismicT.CustomTypeModelSelectField<Option, DefaultOption>;
519
416
 
520
- declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = ({
417
+ declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = {
418
+ id?: string;
419
+ name?: string;
521
420
  variations?: Variation[];
522
- variationsCount?: never;
523
- } | {
524
- variations?: never;
525
- variationsCount?: number;
526
- }) & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig;
527
- declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>;
421
+ } & MockModelConfig;
422
+ declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>;
528
423
 
529
424
  declare const sharedSliceChoice: () => prismicT.CustomTypeModelSharedSlice;
530
425
 
531
- declare type MockSliceModelConfig = {
532
- repeatFieldConfig?: BuildMockGroupFieldMapConfig;
533
- nonRepeatFieldConfig?: BuildMockGroupFieldMapConfig;
426
+ declare type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends GroupFieldModelMap = GroupFieldModelMap, ItemsFields extends GroupFieldModelMap = GroupFieldModelMap> = {
427
+ id?: ID;
428
+ name?: string;
429
+ primaryFields?: PrimaryFields;
430
+ itemsFields?: ItemsFields;
534
431
  } & MockModelConfig;
535
- declare const slice: (config?: MockSliceModelConfig) => prismicT.CustomTypeModelSlice;
432
+ declare const sharedSliceVariation: <ID extends string, PrimaryFields extends GroupFieldModelMap, ItemsFields extends GroupFieldModelMap>(config?: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>) => prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
536
433
 
537
- declare type MockSliceZoneModelConfig = ({
538
- choices?: Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice>;
539
- choicesCount?: never;
540
- withSharedSlices?: never;
541
- } | {
542
- choices?: never;
543
- choicesCount?: number;
544
- withSharedSlices?: boolean;
545
- }) & MockModelConfig;
546
- declare const sliceZone: (config?: MockSliceZoneModelConfig) => prismicT.CustomTypeModelSliceZoneField;
434
+ declare type MockSliceModelConfig<NonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap, RepeatFields extends GroupFieldModelMap = GroupFieldModelMap> = {
435
+ nonRepeatFields?: NonRepeatFields;
436
+ repeatFields?: RepeatFields;
437
+ } & MockModelConfig;
438
+ declare const slice: <NonRepeatFields extends GroupFieldModelMap, RepeatFields extends GroupFieldModelMap>(config?: MockSliceModelConfig<NonRepeatFields, RepeatFields>) => prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
439
+
440
+ declare type MockSliceZoneModelConfig<Slices extends Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice> = Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice>> = {
441
+ choices?: Slices;
442
+ } & MockModelConfig;
443
+ declare const sliceZone: <Slices extends Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>(config?: MockSliceZoneModelConfig<Slices>) => prismicT.CustomTypeModelSliceZoneField<Slices>;
547
444
 
548
445
  declare type MockTimestampModelConfig = MockModelConfig;
549
446
  declare const timestamp: (config?: MockTimestampModelConfig) => prismicT.CustomTypeModelTimestampField;
@@ -554,6 +451,9 @@ declare const title: (config?: MockTitleModelConfig) => prismicT.CustomTypeModel
554
451
  declare type MockUIDModelConfig = MockModelConfig;
555
452
  declare const uid: (config?: MockUIDModelConfig) => prismicT.CustomTypeModelUIDField;
556
453
 
454
+ declare type BuildMockGroupFieldMapConfig = MockModelConfig;
455
+ declare const buildMockGroupFieldMap: (config?: BuildMockGroupFieldMapConfig) => GroupFieldModelMap;
456
+
557
457
  declare const index_boolean: typeof boolean;
558
458
  declare const index_color: typeof color;
559
459
  declare const index_contentRelationship: typeof contentRelationship;
@@ -578,6 +478,7 @@ declare const index_sliceZone: typeof sliceZone;
578
478
  declare const index_timestamp: typeof timestamp;
579
479
  declare const index_title: typeof title;
580
480
  declare const index_uid: typeof uid;
481
+ declare const index_buildMockGroupFieldMap: typeof buildMockGroupFieldMap;
581
482
  declare namespace index {
582
483
  export {
583
484
  index_boolean as boolean,
@@ -604,6 +505,7 @@ declare namespace index {
604
505
  index_timestamp as timestamp,
605
506
  index_title as title,
606
507
  index_uid as uid,
508
+ index_buildMockGroupFieldMap as buildMockGroupFieldMap,
607
509
  };
608
510
  }
609
511