@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
@@ -2,12 +2,15 @@ import * as prismicT from '@prismicio/types';
2
2
 
3
3
  declare type IterableElement<TargetIterable> = TargetIterable extends Iterable<infer ElementType> ? ElementType : TargetIterable extends AsyncIterable<infer ElementType> ? ElementType : never;
4
4
  declare type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
5
- declare type Seed = string | number | number[];
5
+ declare type Seed = string | number;
6
6
  declare type PrismicModel = prismicT.CustomTypeModel | prismicT.CustomTypeModelField | prismicT.CustomTypeModelSlice | prismicT.SharedSliceModel | prismicT.SharedSliceModelVariation;
7
7
  declare type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
8
8
  seed?: Seed;
9
9
  model?: Model;
10
10
  };
11
+ declare type MockValueStateConfig<State extends prismicT.FieldState = prismicT.FieldState> = {
12
+ state?: State;
13
+ };
11
14
  declare type CustomTypeModelStructuredTextField = prismicT.CustomTypeModelRichTextField | prismicT.CustomTypeModelTitleField;
12
15
  declare type MockRichTextValueConfig$1<Model extends CustomTypeModelStructuredTextField = CustomTypeModelStructuredTextField> = {
13
16
  seed?: Seed;
@@ -16,11 +19,15 @@ declare type MockRichTextValueConfig$1<Model extends CustomTypeModelStructuredTe
16
19
  declare type ModelValueMap<T extends Record<string, prismicT.CustomTypeModelField>> = {
17
20
  [P in keyof T]: ModelValue<T[P]>;
18
21
  };
19
- 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;
20
- declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<ValueOf<T["json"]>>>;
21
- 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;
22
- declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>>;
23
- declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice> = prismicT.Slice<string, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
22
+ declare type ModelValue<T extends PrismicModel, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModel ? CustomTypeModelValue<T> : T extends prismicT.CustomTypeModelUIDField ? prismicT.PrismicDocument["uid"] : T extends prismicT.CustomTypeModelFieldForGroup ? CustomTypeModelFieldForGroupValue<T, State> : T extends prismicT.CustomTypeModelGroupField ? CustomTypeModelGroupFieldValue<T, State> : T extends prismicT.CustomTypeModelSliceZoneField ? prismicT.SliceZone<ValueOf<{
23
+ [P in keyof T["config"]["choices"] as P extends string ? P : never]: T["config"]["choices"][P] extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T["config"]["choices"][P], P extends string ? P : string> : T["config"]["choices"][P] extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice<P extends string ? P : string> : never;
24
+ }>, State> : T extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T> : T extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice : T extends prismicT.SharedSliceModel ? SharedSliceModelValue<T> : T extends prismicT.SharedSliceModelVariation ? SharedSliceModelVariationValue<T> : never;
25
+ declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<{
26
+ [P in keyof ValueOf<T["json"]> as ValueOf<T["json"]>[P]["type"] extends typeof prismicT.CustomTypeModelFieldType.UID ? never : P]: ValueOf<T["json"]>[P];
27
+ }>>;
28
+ declare type CustomTypeModelFieldForGroupValue<T extends prismicT.CustomTypeModelFieldForGroup, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModelBooleanField ? prismicT.BooleanField : T extends prismicT.CustomTypeModelColorField ? prismicT.ColorField<State> : T extends prismicT.CustomTypeModelTitleField ? prismicT.TitleField<State> : T extends prismicT.CustomTypeModelRichTextField ? prismicT.RichTextField<State> : T extends prismicT.CustomTypeModelImageField ? prismicT.ImageField<string | null, State> : T extends prismicT.CustomTypeModelLinkField ? prismicT.LinkField<string, string, never, State> : T extends prismicT.CustomTypeModelLinkToMediaField ? prismicT.LinkToMediaField<State> : T extends prismicT.CustomTypeModelContentRelationshipField ? prismicT.RelationField<string, string, never, State> : T extends prismicT.CustomTypeModelDateField ? prismicT.DateField<State> : T extends prismicT.CustomTypeModelTimestampField ? prismicT.TimestampField<State> : T extends prismicT.CustomTypeModelNumberField ? prismicT.NumberField<State> : T extends prismicT.CustomTypeModelKeyTextField ? prismicT.KeyTextField<State> : T extends prismicT.CustomTypeModelSelectField ? prismicT.SelectField<string, State> : T extends prismicT.CustomTypeModelEmbedField ? prismicT.EmbedField<prismicT.AnyOEmbed & prismicT.OEmbedExtra, State> : T extends prismicT.CustomTypeModelGeoPointField ? prismicT.GeoPointField<State> : T extends prismicT.CustomTypeModelIntegrationFieldsField ? prismicT.IntegrationFields<unknown, State> : never;
29
+ declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>, State>;
30
+ declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice, SliceType = string> = prismicT.Slice<SliceType, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
24
31
  declare type SharedSliceModelValue<T extends prismicT.SharedSliceModel> = prismicT.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<T["variations"]>>>;
25
32
  declare type SharedSliceModelVariationValue<T extends prismicT.SharedSliceModelVariation> = prismicT.SharedSlice<string, prismicT.SharedSliceVariation<T["id"], ModelValueMap<T["primary"]>, ModelValueMap<T["items"]>>>;
26
33
 
@@ -54,89 +61,73 @@ declare type MockCustomTypeValueConfig<Model extends prismicT.CustomTypeModel =
54
61
  alternateLanguages?: prismicT.PrismicDocument[];
55
62
  configs?: ValueForModelMapConfigs;
56
63
  } & MockValueConfig<Model>;
57
- declare const customType: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model>;
64
+ declare const customType: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
58
65
 
59
- declare type MockColorValueConfig<Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField> = MockValueConfig<Model>;
60
- declare const color: (config?: MockColorValueConfig) => prismicT.ColorField;
66
+ declare type MockColorValueConfig<Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
67
+ declare const color: <Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = "filled">(config?: MockColorValueConfig<Model, State>) => prismicT.ColorField<State>;
61
68
 
62
- declare type MockContentRelationshipValueConfig<IsFilled extends boolean = boolean, Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField> = {
63
- isFilled?: IsFilled;
69
+ declare type MockContentRelationshipValueConfig<Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField, State extends prismicT.FieldState = prismicT.FieldState> = {
64
70
  /**
65
71
  * A list of potential documents to which the field can be linked.
66
72
  */
67
73
  linkableDocuments?: prismicT.PrismicDocument[];
68
- } & MockValueConfig<Model>;
69
- declare type MockContentRelationshipValue<IsFilled extends boolean = boolean> = IsFilled extends true ? prismicT.FilledLinkToDocumentField : prismicT.EmptyLinkField<prismicT.LinkType.Document>;
70
- declare const contentRelationship: <IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField>(config?: MockContentRelationshipValueConfig<IsFilled, Model>) => MockContentRelationshipValue<IsFilled>;
74
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
75
+ declare const contentRelationship: <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>;
71
76
 
72
- declare type MockTimestampValueConfig<Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField> = {
77
+ declare type MockTimestampValueConfig<Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = prismicT.FieldState> = {
73
78
  after?: Date;
74
79
  before?: Date;
75
- } & MockValueConfig<Model>;
76
- declare const timestamp: (config?: MockTimestampValueConfig) => prismicT.TimestampField;
80
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
81
+ declare const timestamp: <Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = "filled">(config?: MockTimestampValueConfig<Model, State>) => prismicT.TimestampField<State>;
77
82
 
78
- declare type MockDateValueConfig<Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField> = Pick<MockTimestampValueConfig, "after" | "before"> & MockValueConfig<Model>;
79
- declare const date: (config?: MockDateValueConfig) => prismicT.DateField;
83
+ declare type MockDateValueConfig<Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = prismicT.FieldState> = Pick<MockTimestampValueConfig, "after" | "before"> & MockValueConfig<Model> & MockValueStateConfig<State>;
84
+ declare const date: <Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = "filled">(config?: MockDateValueConfig<Model, State>) => prismicT.DateField<State>;
80
85
 
81
- declare type MockEmbedValueConfig<Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField> = MockValueConfig<Model>;
82
- declare const embed: (config?: MockEmbedValueConfig) => prismicT.EmbedField;
86
+ declare type MockEmbedValueConfig<Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, Data extends prismicT.AnyOEmbed = prismicT.AnyOEmbed, State extends prismicT.FieldState = prismicT.FieldState> = {
87
+ url?: string;
88
+ html?: string;
89
+ data?: Data;
90
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
91
+ declare const embed: <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>;
83
92
 
84
- declare type MockGeoPointValueConfig<Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField> = MockValueConfig<Model>;
85
- declare const geoPoint: (config?: MockGeoPointValueConfig) => prismicT.GeoPointField;
93
+ declare type MockGeoPointValueConfig<Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
94
+ declare const geoPoint: <Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = "filled">(config?: MockGeoPointValueConfig<Model, State>) => prismicT.GeoPointField<State>;
86
95
 
87
- declare const patterns$5: {
88
- readonly short: {
89
- readonly minItems: 1;
90
- readonly maxItems: 3;
91
- };
92
- readonly medium: {
93
- readonly minItems: 3;
94
- readonly maxItems: 6;
95
- };
96
- readonly long: {
97
- readonly minItems: 6;
98
- readonly maxItems: 12;
99
- };
100
- };
101
- declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField> = {
102
- pattern?: keyof typeof patterns$5;
96
+ declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = {
97
+ itemsCount?: State extends "empty" ? 0 : number;
103
98
  configs?: ValueForModelMapConfigs;
104
- } & MockValueConfig<Model>;
105
- declare const group: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockGroupValueConfig<Model>) => ModelValue<Model>;
99
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
100
+ declare const group: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>, State extends prismicT.FieldState = "filled">(config?: MockGroupValueConfig<Model, State>) => ModelValue<Model, State>;
106
101
 
107
- declare type MockImageValueConfig<Model extends prismicT.CustomTypeModelImageField = prismicT.CustomTypeModelImageField> = MockValueConfig<Model>;
108
- declare const image: (config?: MockImageValueConfig) => prismicT.ImageField;
102
+ declare type MockImageValueConfig<Model extends prismicT.CustomTypeModelImageField = prismicT.CustomTypeModelImageField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
103
+ declare const image: <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]; };
109
104
 
110
- declare type MockIntegrationFieldsValueConfig<Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob extends unknown = unknown> = {
105
+ declare type MockIntegrationFieldsValueConfig<Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob = unknown, State extends prismicT.FieldState = prismicT.FieldState> = {
111
106
  data?: Blob;
112
- } & MockValueConfig<Model>;
113
- declare const integrationFields: <Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob_1 extends unknown = unknown>(config?: MockIntegrationFieldsValueConfig<Model, Blob_1>) => prismicT.IntegrationFields<Blob_1>;
107
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
108
+ declare const integrationFields: <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>;
114
109
 
115
- declare type MockKeyTextValueConfig<Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField> = MockValueConfig<Model>;
116
- declare const keyText: (config?: MockKeyTextValueConfig) => prismicT.KeyTextField;
110
+ declare type MockKeyTextValueConfig<Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
111
+ declare const keyText: <Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = "filled">(config?: MockKeyTextValueConfig<Model, State>) => prismicT.KeyTextField<State>;
117
112
 
118
- declare type MockLinkValueConfig<LinkType extends prismicT.LinkType = prismicT.LinkType, IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField> = {
113
+ 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> = {
119
114
  type?: LinkType;
120
- isFilled?: IsFilled;
121
115
  withTargetBlank?: Model["config"]["allowTargetBlank"] extends undefined ? false : boolean;
122
116
  /**
123
117
  * A list of potential documents to which the field can be linked.
124
118
  */
125
- linkableDocuments?: LinkType extends prismicT.LinkType.Document ? prismicT.PrismicDocument[] : never;
126
- } & MockValueConfig<Model>;
127
- 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>;
128
- declare const link: <LinkType extends prismicT.LinkType = prismicT.LinkType, IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField>(config?: MockLinkValueConfig<LinkType, IsFilled, Model>) => MockLinkValue<LinkType, IsFilled>;
119
+ linkableDocuments?: LinkType extends typeof prismicT.LinkType.Document ? prismicT.PrismicDocument[] : never;
120
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
121
+ 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;
122
+ declare const link: <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>;
129
123
 
130
- declare type MockLinkToMediaValueConfig<IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField> = {
131
- isFilled?: IsFilled;
132
- } & MockValueConfig<Model>;
133
- declare type MockLinkToMediaValue<IsFilled extends boolean = true> = IsFilled extends true ? prismicT.FilledLinkToMediaField : prismicT.EmptyLinkField<prismicT.LinkType.Media>;
134
- declare const linkToMedia: <IsFilled extends boolean = true, Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField>(config?: MockLinkToMediaValueConfig<IsFilled, Model>) => MockLinkToMediaValue<IsFilled>;
124
+ declare type MockLinkToMediaValueConfig<Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
125
+ declare const linkToMedia: <Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = "filled">(config?: MockLinkToMediaValueConfig<Model, State>) => prismicT.LinkToMediaField<State>;
135
126
 
136
- declare type MockNumberValueConfig<Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField> = MockValueConfig<Model>;
137
- declare const number: (config?: MockNumberValueConfig) => prismicT.NumberField;
127
+ declare type MockNumberValueConfig<Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
128
+ declare const number: <Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = "filled">(config?: MockNumberValueConfig<Model, State>) => prismicT.NumberField<State>;
138
129
 
139
- declare const patterns$4: {
130
+ declare const patterns$1: {
140
131
  readonly short: {
141
132
  readonly blockCountMin: 1;
142
133
  readonly blockCountMax: 2;
@@ -151,91 +142,41 @@ declare const patterns$4: {
151
142
  };
152
143
  };
153
144
  declare type MockRichTextValueConfig = {
154
- pattern?: keyof typeof patterns$4;
145
+ pattern?: keyof typeof patterns$1;
155
146
  } & MockRichTextValueConfig$1<prismicT.CustomTypeModelRichTextField>;
156
147
  declare const richText: (config?: MockRichTextValueConfig) => prismicT.RichTextField;
157
148
 
158
- declare type MockSelectValueConfig<Model extends prismicT.CustomTypeModelSelectField = prismicT.CustomTypeModelSelectField> = MockValueConfig<Model>;
159
- declare const select: (config?: MockSelectValueConfig) => prismicT.SelectField;
149
+ declare type MockSelectValueConfig<Model extends prismicT.CustomTypeModelSelectField = prismicT.CustomTypeModelSelectField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
150
+ declare const select: <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>;
160
151
 
161
- declare const patterns$3: {
162
- readonly none: {
163
- readonly minItems: 0;
164
- readonly maxItems: 0;
165
- };
166
- readonly short: {
167
- readonly minItems: 1;
168
- readonly maxItems: 3;
169
- };
170
- readonly medium: {
171
- readonly minItems: 3;
172
- readonly maxItems: 6;
173
- };
174
- readonly long: {
175
- readonly minItems: 6;
176
- readonly maxItems: 12;
177
- };
178
- };
179
152
  declare type MockSliceValueConfig<Model extends prismicT.CustomTypeModelSlice = prismicT.CustomTypeModelSlice> = {
180
153
  type?: string;
181
154
  label?: string | null;
182
- pattern?: keyof typeof patterns$3;
155
+ itemsCount?: number;
183
156
  primaryFieldConfigs?: ValueForModelMapConfigs;
184
157
  itemsFieldConfigs?: ValueForModelMapConfigs;
185
158
  } & MockValueConfig<Model>;
186
- declare const slice: <Model extends prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSliceValueConfig<Model>) => ModelValue<Model>;
159
+ declare const slice: <Model extends prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
187
160
 
188
- declare const patterns$2: {
189
- readonly short: {
190
- readonly minItems: 1;
191
- readonly maxItems: 3;
192
- };
193
- readonly medium: {
194
- readonly minItems: 3;
195
- readonly maxItems: 6;
196
- };
197
- readonly long: {
198
- readonly minItems: 6;
199
- readonly maxItems: 12;
200
- };
201
- };
202
- declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField> = {
161
+ declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField, State extends prismicT.FieldState = prismicT.FieldState> = {
203
162
  sharedSliceModels?: prismicT.SharedSliceModel[];
204
- pattern?: keyof typeof patterns$2;
163
+ itemsCount?: State extends "empty" ? 0 : number;
205
164
  primaryFieldConfigs?: ValueForModelMapConfigs;
206
165
  itemsFieldConfigs?: ValueForModelMapConfigs;
207
- } & MockValueConfig<Model>;
208
- declare const sliceZone: <Model extends prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>> = prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>>(config?: MockSliceZoneValueConfig<Model>) => ModelValue<Model>;
166
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
167
+ declare const sliceZone: <Model extends prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>> = prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
209
168
 
210
- declare const patterns$1: {
211
- readonly none: {
212
- readonly minItems: 0;
213
- readonly maxItems: 0;
214
- };
215
- readonly short: {
216
- readonly minItems: 1;
217
- readonly maxItems: 3;
218
- };
219
- readonly medium: {
220
- readonly minItems: 3;
221
- readonly maxItems: 6;
222
- };
223
- readonly long: {
224
- readonly minItems: 6;
225
- readonly maxItems: 12;
226
- };
227
- };
228
169
  declare type MockSharedSliceVariationValueConfig<Model extends prismicT.SharedSliceModelVariation = prismicT.SharedSliceModelVariation> = {
229
170
  type?: string;
230
171
  label?: string;
231
- pattern?: keyof typeof patterns$1;
172
+ itemsCount?: number;
232
173
  primaryFieldConfigs?: ValueForModelMapConfigs;
233
174
  itemsFieldConfigs?: ValueForModelMapConfigs;
234
175
  } & MockValueConfig<Model>;
235
- declare const sharedSliceVariation: <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>;
176
+ declare const sharedSliceVariation: <Model extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
236
177
 
237
- declare type MockSharedSliceValueConfig<Model extends prismicT.SharedSliceModel = prismicT.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "pattern" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
238
- declare const sharedSlice: <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>;
178
+ declare type MockSharedSliceValueConfig<Model extends prismicT.SharedSliceModel = prismicT.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "itemsCount" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
179
+ declare const sharedSlice: <Model extends prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>> = prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>>(config?: MockSharedSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
239
180
 
240
181
  declare const patterns: {
241
182
  readonly short: {
@@ -255,12 +196,13 @@ declare type MockRichTextHeadingValueConfig = {
255
196
  pattern?: keyof typeof patterns;
256
197
  } & MockRichTextValueConfig$1;
257
198
 
258
- declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField> = {
199
+ declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField, State extends prismicT.FieldState = prismicT.FieldState> = {
259
200
  pattern?: MockRichTextHeadingValueConfig["pattern"];
260
- } & MockValueConfig<Model>;
261
- declare const title: (config?: MockTitleValueConfig) => prismicT.TitleField;
201
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
202
+ declare const title: <Model extends prismicT.CustomTypeModelRichTextSingleField = prismicT.CustomTypeModelRichTextSingleField, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockTitleValueConfig<Model, State>) => prismicT.TitleField<State>;
262
203
 
263
204
  declare type MockUIDValueConfig<Model extends prismicT.CustomTypeModelUIDField = prismicT.CustomTypeModelUIDField> = MockValueConfig<Model>;
264
- declare const uid: (config?: MockUIDValueConfig) => prismicT.PrismicDocument["uid"];
205
+ declare const uid: (config?: MockUIDValueConfig) => NonNullable<prismicT.PrismicDocument["uid"]>;
265
206
 
266
207
  export { MockBooleanValueConfig, MockColorValueConfig, MockContentRelationshipValueConfig, MockCustomTypeValueConfig, MockDateValueConfig, MockCustomTypeValueConfig as MockDocumentValueConfig, MockEmbedValueConfig, MockGeoPointValueConfig, MockGroupValueConfig, MockImageValueConfig, MockIntegrationFieldsValueConfig, MockKeyTextValueConfig, MockLinkToMediaValueConfig, MockLinkValueConfig, MockNumberValueConfig, MockRichTextValueConfig, MockSelectValueConfig, MockSharedSliceValueConfig, MockSharedSliceVariationValueConfig, MockSliceValueConfig, MockSliceZoneValueConfig, MockTimestampValueConfig, MockTitleValueConfig, MockUIDValueConfig, boolean, color, contentRelationship, customType, date, customType as document, embed, geoPoint, group, image, integrationFields, keyText, link, linkToMedia, number, richText, select, sharedSlice, sharedSliceVariation, slice, sliceZone, timestamp, title, uid };
208
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}