@prismicio/mock 0.0.4 → 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.
Files changed (72) hide show
  1. package/README.md +4 -1
  2. package/dist/api/index.cjs +54 -35
  3. package/dist/api/index.cjs.map +1 -0
  4. package/dist/api/index.d.ts +4 -2
  5. package/dist/api/index.d.ts.map +1 -0
  6. package/dist/api/{index.mjs → index.js} +116 -63
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/index.cjs +365 -417
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.ts +157 -243
  11. package/dist/{index.mjs → index.js} +359 -409
  12. package/dist/index.js.map +1 -0
  13. package/dist/model/index.cjs +164 -204
  14. package/dist/model/index.cjs.map +1 -0
  15. package/dist/model/index.d.ts +73 -97
  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 +310 -519
  20. package/dist/value/index.cjs.map +1 -0
  21. package/dist/value/index.d.ts +71 -132
  22. package/dist/value/index.d.ts.map +1 -0
  23. package/dist/value/{index.mjs → index.js} +474 -629
  24. package/dist/value/index.js.map +1 -0
  25. package/package.json +21 -21
  26. package/src/constants.ts +3 -1
  27. package/src/lib/buildAlternativeLanguage.ts +18 -0
  28. package/src/lib/buildContentRelationshipField.ts +12 -5
  29. package/src/lib/buildEmbedField.ts +1 -1
  30. package/src/lib/buildImageFieldImage.ts +48 -0
  31. package/src/lib/createFaker.ts +19 -10
  32. package/src/lib/valueForModelMap.ts +2 -2
  33. package/src/model/buildMockGroupFieldMap.ts +65 -0
  34. package/src/model/contentRelationship.ts +14 -21
  35. package/src/model/customType.ts +49 -48
  36. package/src/model/group.ts +8 -15
  37. package/src/model/image.ts +13 -13
  38. package/src/model/index.ts +2 -0
  39. package/src/model/integrationFields.ts +4 -2
  40. package/src/model/select.ts +11 -16
  41. package/src/model/sharedSlice.ts +23 -30
  42. package/src/model/sharedSliceVariation.ts +33 -21
  43. package/src/model/slice.ts +15 -19
  44. package/src/model/sliceZone.ts +25 -42
  45. package/src/types.ts +130 -83
  46. package/src/value/color.ts +16 -6
  47. package/src/value/contentRelationship.ts +52 -36
  48. package/src/value/customType.ts +22 -3
  49. package/src/value/date.ts +25 -9
  50. package/src/value/embed.ts +18 -6
  51. package/src/value/geoPoint.ts +21 -9
  52. package/src/value/group.ts +35 -44
  53. package/src/value/image.ts +22 -9
  54. package/src/value/integrationFields.ts +26 -14
  55. package/src/value/keyText.ts +18 -6
  56. package/src/value/link.ts +33 -34
  57. package/src/value/linkToMedia.ts +15 -20
  58. package/src/value/number.ts +16 -6
  59. package/src/value/richText/heading.ts +7 -7
  60. package/src/value/richText/image.ts +6 -2
  61. package/src/value/richText/index.ts +1 -1
  62. package/src/value/select.ts +23 -8
  63. package/src/value/sharedSlice.ts +2 -2
  64. package/src/value/sharedSliceVariation.ts +6 -34
  65. package/src/value/slice.ts +5 -30
  66. package/src/value/sliceZone.ts +60 -69
  67. package/src/value/timestamp.ts +19 -6
  68. package/src/value/title.ts +26 -13
  69. package/src/value/uid.ts +1 -1
  70. package/dist/model/index.mjs +0 -448
  71. package/src/lib/buildImageField.ts +0 -34
  72. package/src/lib/buildMockGroupFieldMap.ts +0 -84
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ declare type ValueForModelMapConfigs = {
19
19
  number?: MockNumberValueConfig;
20
20
  richText?: MockRichTextValueConfig$1;
21
21
  select?: MockSelectValueConfig;
22
- slices?: MockSliceZoneValueConfig;
22
+ sliceZone?: MockSliceZoneValueConfig;
23
23
  timestamp?: MockTimestampValueConfig;
24
24
  title?: MockTitleValueConfig;
25
25
  uid?: MockUIDValueConfig;
@@ -27,92 +27,72 @@ declare type ValueForModelMapConfigs = {
27
27
 
28
28
  declare type MockCustomTypeValueConfig<Model extends prismicT.CustomTypeModel = prismicT.CustomTypeModel> = {
29
29
  withURL?: boolean;
30
- sharedSliceModels?: prismicT.SharedSliceModel[];
30
+ alternateLanguages?: prismicT.PrismicDocument[];
31
31
  configs?: ValueForModelMapConfigs;
32
32
  } & MockValueConfig<Model>;
33
- declare const customType$1: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model>;
33
+ declare const customType$1: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
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
- declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField> = {
78
- pattern?: keyof typeof patterns$5;
61
+ declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = {
62
+ itemsCount?: State extends "empty" ? 0 : number;
79
63
  configs?: ValueForModelMapConfigs;
80
- } & MockValueConfig<Model>;
81
- declare const group$1: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockGroupValueConfig<Model>) => ModelValue<Model>;
64
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
65
+ declare const group$1: <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>;
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
- 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>;
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, prismicT.FieldState>;
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
- declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField> = {
126
+ declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField, State extends prismicT.FieldState = prismicT.FieldState> = {
179
127
  sharedSliceModels?: prismicT.SharedSliceModel[];
180
- pattern?: keyof typeof patterns$2;
128
+ itemsCount?: State extends "empty" ? 0 : number;
181
129
  primaryFieldConfigs?: ValueForModelMapConfigs;
182
130
  itemsFieldConfigs?: ValueForModelMapConfigs;
183
- } & MockValueConfig<Model>;
184
- 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>;
131
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
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>>, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
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, prismicT.FieldState>;
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, prismicT.FieldState>;
215
145
 
216
146
  declare const patterns: {
217
147
  readonly short: {
@@ -231,35 +161,35 @@ declare type MockRichTextHeadingValueConfig = {
231
161
  pattern?: keyof typeof patterns;
232
162
  } & MockRichTextValueConfig;
233
163
 
234
- declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField> = {
164
+ declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField, State extends prismicT.FieldState = prismicT.FieldState> = {
235
165
  pattern?: MockRichTextHeadingValueConfig["pattern"];
236
- } & MockValueConfig<Model>;
237
- declare const title$1: (config?: MockTitleValueConfig) => prismicT.TitleField;
166
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
167
+ declare const title$1: <Model extends prismicT.CustomTypeModelRichTextSingleField = prismicT.CustomTypeModelRichTextSingleField, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockTitleValueConfig<Model, State>) => prismicT.TitleField<State>;
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>;
249
- 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>;
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>;
179
+ type index$2_MockGroupValueConfig<_0, _1> = MockGroupValueConfig<_0, _1>;
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
- type index$2_MockSliceZoneValueConfig<_0> = MockSliceZoneValueConfig<_0>;
188
+ type index$2_MockSliceZoneValueConfig<_0, _1> = MockSliceZoneValueConfig<_0, _1>;
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>;
262
- type index$2_MockTitleValueConfig<_0> = MockTitleValueConfig<_0>;
191
+ type index$2_MockTimestampValueConfig<_0, _1> = MockTimestampValueConfig<_0, _1>;
192
+ type index$2_MockTitleValueConfig<_0, _1> = MockTitleValueConfig<_0, _1>;
263
193
  type index$2_MockUIDValueConfig<_0> = MockUIDValueConfig<_0>;
264
194
  declare namespace index$2 {
265
195
  export {
@@ -316,30 +246,39 @@ declare namespace index$2 {
316
246
 
317
247
  declare type IterableElement<TargetIterable> = TargetIterable extends Iterable<infer ElementType> ? ElementType : TargetIterable extends AsyncIterable<infer ElementType> ? ElementType : never;
318
248
  declare type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
249
+ declare type Seed = string | number | number[];
319
250
  declare type MockRestApiConfig = {
320
- seed?: number;
251
+ seed?: Seed;
321
252
  };
322
253
  declare type MockModelConfig = {
323
- seed?: number;
254
+ seed?: Seed;
324
255
  };
325
256
  declare type PrismicModel = prismicT.CustomTypeModel | prismicT.CustomTypeModelField | prismicT.CustomTypeModelSlice | prismicT.SharedSliceModel | prismicT.SharedSliceModelVariation;
257
+ declare type GroupFieldModelMap = Record<string, prismicT.CustomTypeModelFieldForGroup>;
326
258
  declare type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
327
- seed?: number;
259
+ seed?: Seed;
328
260
  model?: Model;
329
261
  };
262
+ declare type MockValueStateConfig<State extends prismicT.FieldState = prismicT.FieldState> = {
263
+ state?: State;
264
+ };
330
265
  declare type CustomTypeModelStructuredTextField = prismicT.CustomTypeModelRichTextField | prismicT.CustomTypeModelTitleField;
331
266
  declare type MockRichTextValueConfig<Model extends CustomTypeModelStructuredTextField = CustomTypeModelStructuredTextField> = {
332
- seed?: number;
267
+ seed?: Seed;
333
268
  model?: Model;
334
269
  };
335
270
  declare type ModelValueMap<T extends Record<string, prismicT.CustomTypeModelField>> = {
336
271
  [P in keyof T]: ModelValue<T[P]>;
337
272
  };
338
- 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;
339
- declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<ValueOf<T["json"]>>>;
340
- 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;
341
- declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>>;
342
- declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice> = prismicT.Slice<string, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
273
+ 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<{
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 extends string ? P : string> : T["config"]["choices"][P] extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice<P extends string ? P : string> : never;
275
+ }>, 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;
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
+ }>>;
279
+ 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;
280
+ declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>, State>;
281
+ declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice, SliceType = string> = prismicT.Slice<SliceType, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
343
282
  declare type SharedSliceModelValue<T extends prismicT.SharedSliceModel> = prismicT.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<T["variations"]>>>;
344
283
  declare type SharedSliceModelVariationValue<T extends prismicT.SharedSliceModelVariation> = prismicT.SharedSlice<string, prismicT.SharedSliceVariation<T["id"], ModelValueMap<T["primary"]>, ModelValueMap<T["items"]>>>;
345
284
 
@@ -365,7 +304,7 @@ declare type MockRestApiQueryConfig<Document extends prismicT.PrismicDocument =
365
304
  page?: number;
366
305
  pageSize?: number;
367
306
  } & MockRestApiConfig;
368
- 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>;
369
308
 
370
309
  declare type MockRestApiTagsConfig = MockRestApiConfig;
371
310
  declare const tags: (config?: MockRestApiTagsConfig) => prismicT.Tags<string>;
@@ -399,80 +338,26 @@ declare const boolean: (config?: MockBooleanModelConfig) => prismicT.CustomTypeM
399
338
  declare type MockColorModelConfig = MockModelConfig;
400
339
  declare const color: (config?: MockColorModelConfig) => prismicT.CustomTypeModelColorField;
401
340
 
402
- declare type MockContentRelationshipModelConfig = {
403
- constrainCustomTypes?: boolean;
404
- constrainTags?: boolean;
341
+ declare type MockContentRelationshipModelConfig<CustomTypeIDs extends string = string, Tags extends string = string> = {
342
+ customTypeIDs?: readonly CustomTypeIDs[];
343
+ tags?: readonly Tags[];
405
344
  } & MockModelConfig;
406
- 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>;
407
346
 
408
- declare type MockRichTextModelConfig<WithMultipleBlocks extends boolean = boolean> = {
409
- withMultipleBlocks?: WithMultipleBlocks;
410
- } & MockModelConfig;
411
- declare const richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
412
-
413
- declare type MockLinkModel<AllowTargetBlank extends boolean = boolean> = prismicT.CustomTypeModelLinkField & {
414
- config: AllowTargetBlank extends true ? {
415
- allowTargetBlank: true;
416
- } : {
417
- allowTargetBlank?: undefined;
418
- };
419
- };
420
- declare type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {
421
- allowTargetBlank?: AllowTargetBlank;
422
- } & MockModelConfig;
423
- declare const link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => MockLinkModel<AllowTargetBlank>;
424
-
425
- declare const mockModelFns: {
426
- readonly boolean: (config?: MockModelConfig) => prismicT.CustomTypeModelBooleanField;
427
- readonly color: (config?: MockModelConfig) => prismicT.CustomTypeModelColorField;
428
- readonly contentRelationship: (config?: MockContentRelationshipModelConfig) => prismicT.CustomTypeModelContentRelationshipField;
429
- readonly date: (config?: MockModelConfig) => prismicT.CustomTypeModelDateField;
430
- readonly embed: (config?: MockModelConfig) => prismicT.CustomTypeModelEmbedField;
431
- readonly geoPoint: (config?: MockModelConfig) => prismicT.CustomTypeModelGeoPointField;
432
- readonly image: (config?: {
433
- withConstraint?: boolean | undefined;
434
- thumbnailsCount?: number | undefined;
435
- } & MockModelConfig) => prismicT.CustomTypeModelImageField;
436
- readonly integrationFields: (config?: MockModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
437
- readonly keyText: (config?: MockModelConfig) => prismicT.CustomTypeModelKeyTextField;
438
- readonly link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => prismicT.CustomTypeModelLinkField & {
439
- config: AllowTargetBlank extends true ? {
440
- allowTargetBlank: true;
441
- } : {
442
- allowTargetBlank?: undefined;
443
- };
444
- };
445
- readonly linkToMedia: (config?: MockModelConfig) => prismicT.CustomTypeModelLinkToMediaField;
446
- readonly number: (config?: MockModelConfig) => prismicT.CustomTypeModelNumberField;
447
- readonly richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
448
- readonly select: (config?: {
449
- optionsCount?: number | undefined;
450
- withDefaultValue?: boolean | undefined;
451
- } & MockModelConfig) => prismicT.CustomTypeModelSelectField<string, string>;
452
- readonly timestamp: (config?: MockModelConfig) => prismicT.CustomTypeModelTimestampField;
453
- readonly title: (config?: MockModelConfig) => prismicT.CustomTypeModelRichTextSingleField;
454
- };
455
- declare type MockModelFns = typeof mockModelFns;
456
- declare type BuildMockGroupFieldMapConfig = {
457
- configs?: {
458
- [P in keyof MockModelFns]?: {
459
- count?: number;
460
- config?: Parameters<MockModelFns[P]>[0];
461
- };
462
- };
463
- } & MockModelConfig;
464
-
465
- declare type MockCustomTypeModelConfig = {
466
- tabsCount?: number;
467
- withUID?: boolean;
468
- 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;
469
352
  } & ({
470
- withSliceZones?: false;
353
+ fields?: Definition;
354
+ tabs?: never;
471
355
  } | {
472
- withSliceZones: true;
473
- withSharedSlices?: boolean;
356
+ tabs?: Definition;
357
+ fields?: never;
474
358
  }) & MockModelConfig;
475
- 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>;
476
361
 
477
362
  declare type MockDateModelConfig = MockModelConfig;
478
363
  declare const date: (config?: MockDateModelConfig) => prismicT.CustomTypeModelDateField;
@@ -483,57 +368,81 @@ declare const embed: (config?: MockEmbedModelConfig) => prismicT.CustomTypeModel
483
368
  declare type MockGeoPointModelConfig = MockModelConfig;
484
369
  declare const geoPoint: (config?: MockGeoPointModelConfig) => prismicT.CustomTypeModelGeoPointField;
485
370
 
486
- declare type MockGroupModelConfig = BuildMockGroupFieldMapConfig & MockModelConfig;
487
- 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>;
488
375
 
489
- declare type MockImageModelConfig = {
376
+ declare type MockImageModelConfig<ThumbnailNames extends string = string> = {
490
377
  withConstraint?: boolean;
491
- thumbnailsCount?: number;
378
+ thumbnailNames?: readonly ThumbnailNames[];
492
379
  } & MockModelConfig;
493
- declare const image: (config?: MockImageModelConfig) => prismicT.CustomTypeModelImageField;
380
+ declare const image: <ThumbnailNames extends string = string>(config?: MockImageModelConfig<ThumbnailNames>) => prismicT.CustomTypeModelImageField<ThumbnailNames>;
494
381
 
495
- declare type MockIntegrationFieldsModelConfig = MockModelConfig;
382
+ declare type MockIntegrationFieldsModelConfig = {
383
+ catalog?: string;
384
+ } & MockModelConfig;
496
385
  declare const integrationFields: (config?: MockIntegrationFieldsModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
497
386
 
498
387
  declare type MockKeyTextModelConfig = MockModelConfig;
499
388
  declare const keyText: (config?: MockKeyTextModelConfig) => prismicT.CustomTypeModelKeyTextField;
500
389
 
390
+ declare type MockLinkModel<AllowTargetBlank extends boolean = boolean> = prismicT.CustomTypeModelLinkField & {
391
+ config: AllowTargetBlank extends true ? {
392
+ allowTargetBlank: true;
393
+ } : {
394
+ allowTargetBlank?: undefined;
395
+ };
396
+ };
397
+ declare type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {
398
+ allowTargetBlank?: AllowTargetBlank;
399
+ } & MockModelConfig;
400
+ declare const link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => MockLinkModel<AllowTargetBlank>;
401
+
501
402
  declare type MockLinkTomediaModelConfig = MockModelConfig;
502
403
  declare const linkToMedia: (config?: MockLinkTomediaModelConfig) => prismicT.CustomTypeModelLinkToMediaField;
503
404
 
504
405
  declare type MockNumberModelConfig = MockModelConfig;
505
406
  declare const number: (config?: MockNumberModelConfig) => prismicT.CustomTypeModelNumberField;
506
407
 
507
- declare type MockSelectModelConfig = {
508
- optionsCount?: number;
509
- withDefaultValue?: boolean;
408
+ declare type MockRichTextModelConfig<WithMultipleBlocks extends boolean = boolean> = {
409
+ withMultipleBlocks?: WithMultipleBlocks;
510
410
  } & MockModelConfig;
511
- declare const select: (config?: MockSelectModelConfig) => prismicT.CustomTypeModelSelectField;
411
+ declare const richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
512
412
 
513
- declare type MockSharedSliceVariationModelConfig = {
514
- primaryFieldConfig?: BuildMockGroupFieldMapConfig;
515
- itemsFieldConfig?: BuildMockGroupFieldMapConfig;
413
+ declare type MockSelectModelConfig<Option extends string = string, DefaultOption extends Option = Option> = {
414
+ options?: Option[];
415
+ defaultValue?: DefaultOption;
516
416
  } & MockModelConfig;
517
- declare const sharedSliceVariation: (config?: MockSharedSliceVariationModelConfig) => prismicT.SharedSliceModelVariation;
417
+ declare const select: <Option extends string, DefaultOption extends Option>(config?: MockSelectModelConfig<Option, DefaultOption>) => prismicT.CustomTypeModelSelectField<Option, DefaultOption>;
518
418
 
519
- declare type MockSharedSliceModelConfig = {
520
- variationsCount?: number;
521
- } & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig;
522
- declare const sharedSlice: (config?: MockSharedSliceModelConfig) => prismicT.SharedSliceModel;
419
+ declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = {
420
+ id?: string;
421
+ name?: string;
422
+ variations?: Variation[];
423
+ } & MockModelConfig;
424
+ declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>;
523
425
 
524
426
  declare const sharedSliceChoice: () => prismicT.CustomTypeModelSharedSlice;
525
427
 
526
- declare type MockSliceModelConfig = {
527
- repeatFieldConfig?: BuildMockGroupFieldMapConfig;
528
- nonRepeatFieldConfig?: BuildMockGroupFieldMapConfig;
428
+ declare type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends GroupFieldModelMap = GroupFieldModelMap, ItemsFields extends GroupFieldModelMap = GroupFieldModelMap> = {
429
+ id?: ID;
430
+ name?: string;
431
+ primaryFields?: PrimaryFields;
432
+ itemsFields?: ItemsFields;
529
433
  } & MockModelConfig;
530
- declare const slice: (config?: MockSliceModelConfig) => prismicT.CustomTypeModelSlice;
434
+ declare const sharedSliceVariation: <ID extends string, PrimaryFields extends GroupFieldModelMap, ItemsFields extends GroupFieldModelMap>(config?: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>) => prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
531
435
 
532
- declare type MockSliceZoneModelConfig = {
533
- choicesCount?: number;
534
- withSharedSlices?: boolean;
436
+ declare type MockSliceModelConfig<NonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap, RepeatFields extends GroupFieldModelMap = GroupFieldModelMap> = {
437
+ nonRepeatFields?: NonRepeatFields;
438
+ repeatFields?: RepeatFields;
535
439
  } & MockModelConfig;
536
- declare const sliceZone: (config?: MockSliceZoneModelConfig) => prismicT.CustomTypeModelSliceZoneField;
440
+ declare const slice: <NonRepeatFields extends GroupFieldModelMap, RepeatFields extends GroupFieldModelMap>(config?: MockSliceModelConfig<NonRepeatFields, RepeatFields>) => prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
441
+
442
+ declare type MockSliceZoneModelConfig<Slices extends Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice> = Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice>> = {
443
+ choices?: Slices;
444
+ } & MockModelConfig;
445
+ 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>;
537
446
 
538
447
  declare type MockTimestampModelConfig = MockModelConfig;
539
448
  declare const timestamp: (config?: MockTimestampModelConfig) => prismicT.CustomTypeModelTimestampField;
@@ -544,6 +453,9 @@ declare const title: (config?: MockTitleModelConfig) => prismicT.CustomTypeModel
544
453
  declare type MockUIDModelConfig = MockModelConfig;
545
454
  declare const uid: (config?: MockUIDModelConfig) => prismicT.CustomTypeModelUIDField;
546
455
 
456
+ declare type BuildMockGroupFieldMapConfig = MockModelConfig;
457
+ declare const buildMockGroupFieldMap: (config?: BuildMockGroupFieldMapConfig) => GroupFieldModelMap;
458
+
547
459
  declare const index_boolean: typeof boolean;
548
460
  declare const index_color: typeof color;
549
461
  declare const index_contentRelationship: typeof contentRelationship;
@@ -568,6 +480,7 @@ declare const index_sliceZone: typeof sliceZone;
568
480
  declare const index_timestamp: typeof timestamp;
569
481
  declare const index_title: typeof title;
570
482
  declare const index_uid: typeof uid;
483
+ declare const index_buildMockGroupFieldMap: typeof buildMockGroupFieldMap;
571
484
  declare namespace index {
572
485
  export {
573
486
  index_boolean as boolean,
@@ -594,6 +507,7 @@ declare namespace index {
594
507
  index_timestamp as timestamp,
595
508
  index_title as title,
596
509
  index_uid as uid,
510
+ index_buildMockGroupFieldMap as buildMockGroupFieldMap,
597
511
  };
598
512
  }
599
513