@prismicio/mock 0.0.6 → 0.0.9

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