@relyio/sdk 0.5.0 → 0.7.0

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 (37) hide show
  1. package/CHANGELOG.md +540 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{chunk-HAQELDZN.cjs → chunk-72UK5U7T.cjs} +70 -60
  4. package/dist/{chunk-5AZUUV5B.js → chunk-GYHAVYND.js} +1086 -494
  5. package/dist/{chunk-I3ESNANB.js → chunk-H6IBQSMM.js} +2 -2
  6. package/dist/{chunk-HT6NFRM2.cjs → chunk-TZL374LS.cjs} +2 -2
  7. package/dist/{chunk-CIRT6TVT.cjs → chunk-VH2DE7HZ.cjs} +1088 -497
  8. package/dist/{chunk-XY5KFEFY.js → chunk-YEJUMW4X.js} +70 -60
  9. package/dist/client/index.cjs +4 -3
  10. package/dist/client/index.d.cts +4 -4
  11. package/dist/client/index.d.ts +4 -4
  12. package/dist/client/index.js +2 -1
  13. package/dist/{index-C5mRBb6t.d.cts → define-content-type-DiVpbwNs.d.cts} +1629 -665
  14. package/dist/{index-mXUx2H99.d.ts → define-content-type-DiVpbwNs.d.ts} +1629 -665
  15. package/dist/{define-schema-DzYXk4HL.d.ts → define-schema-C-5an28C.d.ts} +211 -429
  16. package/dist/{define-schema-2xbHgtK-.d.cts → define-schema-D7MButVt.d.cts} +211 -429
  17. package/dist/{index-Dzo-upNS.d.ts → index-1G97sNA8.d.ts} +677 -296
  18. package/dist/index-BOQIHnsh.d.ts +818 -0
  19. package/dist/index-DbsTUw3Q.d.cts +818 -0
  20. package/dist/{index-BozPz4n1.d.cts → index-M0X45k7J.d.cts} +677 -296
  21. package/dist/index.cjs +180 -103
  22. package/dist/index.d.cts +307 -32
  23. package/dist/index.d.ts +307 -32
  24. package/dist/index.js +95 -8
  25. package/dist/schema/index.cjs +35 -35
  26. package/dist/schema/index.d.cts +21 -15
  27. package/dist/schema/index.d.ts +21 -15
  28. package/dist/schema/index.js +1 -1
  29. package/dist/types/index.d.cts +2 -2
  30. package/dist/types/index.d.ts +2 -2
  31. package/dist/utils/index.cjs +19 -19
  32. package/dist/utils/index.d.cts +10 -1
  33. package/dist/utils/index.d.ts +10 -1
  34. package/dist/utils/index.js +1 -1
  35. package/package.json +4 -3
  36. package/dist/define-content-type-CBfnTWSS.d.cts +0 -716
  37. package/dist/define-content-type-CBfnTWSS.d.ts +0 -716
@@ -1,145 +1,145 @@
1
1
  'use strict';
2
2
 
3
- var chunkHAQELDZN_cjs = require('../chunk-HAQELDZN.cjs');
3
+ var chunk72UK5U7T_cjs = require('../chunk-72UK5U7T.cjs');
4
4
  require('../chunk-MWMSFIWN.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "BUILT_IN_ROLES", {
9
9
  enumerable: true,
10
- get: function () { return chunkHAQELDZN_cjs.BUILT_IN_ROLES; }
10
+ get: function () { return chunk72UK5U7T_cjs.BUILT_IN_ROLES; }
11
11
  });
12
12
  Object.defineProperty(exports, "BUILT_IN_ROLE_ACTIONS", {
13
13
  enumerable: true,
14
- get: function () { return chunkHAQELDZN_cjs.BUILT_IN_ROLE_ACTIONS; }
14
+ get: function () { return chunk72UK5U7T_cjs.BUILT_IN_ROLE_ACTIONS; }
15
15
  });
16
16
  Object.defineProperty(exports, "ROLE_ACTIONS", {
17
17
  enumerable: true,
18
- get: function () { return chunkHAQELDZN_cjs.ROLE_ACTIONS; }
18
+ get: function () { return chunk72UK5U7T_cjs.ROLE_ACTIONS; }
19
19
  });
20
20
  Object.defineProperty(exports, "buildFallbackChain", {
21
21
  enumerable: true,
22
- get: function () { return chunkHAQELDZN_cjs.buildFallbackChain; }
22
+ get: function () { return chunk72UK5U7T_cjs.buildFallbackChain; }
23
23
  });
24
24
  Object.defineProperty(exports, "defineAssetType", {
25
25
  enumerable: true,
26
- get: function () { return chunkHAQELDZN_cjs.defineAssetType; }
26
+ get: function () { return chunk72UK5U7T_cjs.defineAssetType; }
27
27
  });
28
28
  Object.defineProperty(exports, "defineComponent", {
29
29
  enumerable: true,
30
- get: function () { return chunkHAQELDZN_cjs.defineComponent; }
30
+ get: function () { return chunk72UK5U7T_cjs.defineComponent; }
31
31
  });
32
32
  Object.defineProperty(exports, "defineContentType", {
33
33
  enumerable: true,
34
- get: function () { return chunkHAQELDZN_cjs.defineContentType; }
34
+ get: function () { return chunk72UK5U7T_cjs.defineContentType; }
35
35
  });
36
36
  Object.defineProperty(exports, "defineContentTypeWorkflow", {
37
37
  enumerable: true,
38
- get: function () { return chunkHAQELDZN_cjs.defineContentTypeWorkflow; }
38
+ get: function () { return chunk72UK5U7T_cjs.defineContentTypeWorkflow; }
39
39
  });
40
40
  Object.defineProperty(exports, "defineLocale", {
41
41
  enumerable: true,
42
- get: function () { return chunkHAQELDZN_cjs.defineLocale; }
42
+ get: function () { return chunk72UK5U7T_cjs.defineLocale; }
43
43
  });
44
44
  Object.defineProperty(exports, "defineQuery", {
45
45
  enumerable: true,
46
- get: function () { return chunkHAQELDZN_cjs.defineQuery; }
46
+ get: function () { return chunk72UK5U7T_cjs.defineQuery; }
47
47
  });
48
48
  Object.defineProperty(exports, "defineRole", {
49
49
  enumerable: true,
50
- get: function () { return chunkHAQELDZN_cjs.defineRole; }
50
+ get: function () { return chunk72UK5U7T_cjs.defineRole; }
51
51
  });
52
52
  Object.defineProperty(exports, "defineSchema", {
53
53
  enumerable: true,
54
- get: function () { return chunkHAQELDZN_cjs.defineSchema; }
54
+ get: function () { return chunk72UK5U7T_cjs.defineSchema; }
55
55
  });
56
56
  Object.defineProperty(exports, "defineSettingsGroup", {
57
57
  enumerable: true,
58
- get: function () { return chunkHAQELDZN_cjs.defineSettingsGroup; }
58
+ get: function () { return chunk72UK5U7T_cjs.defineSettingsGroup; }
59
59
  });
60
60
  Object.defineProperty(exports, "defineSingleton", {
61
61
  enumerable: true,
62
- get: function () { return chunkHAQELDZN_cjs.defineSingleton; }
62
+ get: function () { return chunk72UK5U7T_cjs.defineSingleton; }
63
63
  });
64
64
  Object.defineProperty(exports, "defineSingletonContentType", {
65
65
  enumerable: true,
66
- get: function () { return chunkHAQELDZN_cjs.defineSingletonContentType; }
66
+ get: function () { return chunk72UK5U7T_cjs.defineSingletonContentType; }
67
67
  });
68
68
  Object.defineProperty(exports, "defineView", {
69
69
  enumerable: true,
70
- get: function () { return chunkHAQELDZN_cjs.defineView; }
70
+ get: function () { return chunk72UK5U7T_cjs.defineView; }
71
71
  });
72
72
  Object.defineProperty(exports, "defineWorkflow", {
73
73
  enumerable: true,
74
- get: function () { return chunkHAQELDZN_cjs.defineWorkflow; }
74
+ get: function () { return chunk72UK5U7T_cjs.defineWorkflow; }
75
75
  });
76
76
  Object.defineProperty(exports, "defineWorkflowStage", {
77
77
  enumerable: true,
78
- get: function () { return chunkHAQELDZN_cjs.defineWorkflowStage; }
78
+ get: function () { return chunk72UK5U7T_cjs.defineWorkflowStage; }
79
79
  });
80
80
  Object.defineProperty(exports, "fields", {
81
81
  enumerable: true,
82
- get: function () { return chunkHAQELDZN_cjs.fields; }
82
+ get: function () { return chunk72UK5U7T_cjs.fields; }
83
83
  });
84
84
  Object.defineProperty(exports, "fieldset", {
85
85
  enumerable: true,
86
- get: function () { return chunkHAQELDZN_cjs.fieldset; }
86
+ get: function () { return chunk72UK5U7T_cjs.fieldset; }
87
87
  });
88
88
  Object.defineProperty(exports, "findDefaultLocale", {
89
89
  enumerable: true,
90
- get: function () { return chunkHAQELDZN_cjs.findDefaultLocale; }
90
+ get: function () { return chunk72UK5U7T_cjs.findDefaultLocale; }
91
91
  });
92
92
  Object.defineProperty(exports, "findWorkflowStage", {
93
93
  enumerable: true,
94
- get: function () { return chunkHAQELDZN_cjs.findWorkflowStage; }
94
+ get: function () { return chunk72UK5U7T_cjs.findWorkflowStage; }
95
95
  });
96
96
  Object.defineProperty(exports, "getActiveLocales", {
97
97
  enumerable: true,
98
- get: function () { return chunkHAQELDZN_cjs.getActiveLocales; }
98
+ get: function () { return chunk72UK5U7T_cjs.getActiveLocales; }
99
99
  });
100
100
  Object.defineProperty(exports, "getBuiltInRoleActions", {
101
101
  enumerable: true,
102
- get: function () { return chunkHAQELDZN_cjs.getBuiltInRoleActions; }
102
+ get: function () { return chunk72UK5U7T_cjs.getBuiltInRoleActions; }
103
103
  });
104
104
  Object.defineProperty(exports, "getFirstWorkflowStage", {
105
105
  enumerable: true,
106
- get: function () { return chunkHAQELDZN_cjs.getFirstWorkflowStage; }
106
+ get: function () { return chunk72UK5U7T_cjs.getFirstWorkflowStage; }
107
107
  });
108
108
  Object.defineProperty(exports, "getLocaleCodes", {
109
109
  enumerable: true,
110
- get: function () { return chunkHAQELDZN_cjs.getLocaleCodes; }
110
+ get: function () { return chunk72UK5U7T_cjs.getLocaleCodes; }
111
111
  });
112
112
  Object.defineProperty(exports, "getNextWorkflowStage", {
113
113
  enumerable: true,
114
- get: function () { return chunkHAQELDZN_cjs.getNextWorkflowStage; }
114
+ get: function () { return chunk72UK5U7T_cjs.getNextWorkflowStage; }
115
115
  });
116
116
  Object.defineProperty(exports, "getWorkflowStageIds", {
117
117
  enumerable: true,
118
- get: function () { return chunkHAQELDZN_cjs.getWorkflowStageIds; }
118
+ get: function () { return chunk72UK5U7T_cjs.getWorkflowStageIds; }
119
119
  });
120
120
  Object.defineProperty(exports, "isBuiltInRole", {
121
121
  enumerable: true,
122
- get: function () { return chunkHAQELDZN_cjs.isBuiltInRole; }
122
+ get: function () { return chunk72UK5U7T_cjs.isBuiltInRole; }
123
123
  });
124
124
  Object.defineProperty(exports, "isFinalWorkflowStage", {
125
125
  enumerable: true,
126
- get: function () { return chunkHAQELDZN_cjs.isFinalWorkflowStage; }
126
+ get: function () { return chunk72UK5U7T_cjs.isFinalWorkflowStage; }
127
127
  });
128
128
  Object.defineProperty(exports, "isLocaleDefinition", {
129
129
  enumerable: true,
130
- get: function () { return chunkHAQELDZN_cjs.isLocaleDefinition; }
130
+ get: function () { return chunk72UK5U7T_cjs.isLocaleDefinition; }
131
131
  });
132
132
  Object.defineProperty(exports, "isRoleDefinition", {
133
133
  enumerable: true,
134
- get: function () { return chunkHAQELDZN_cjs.isRoleDefinition; }
134
+ get: function () { return chunk72UK5U7T_cjs.isRoleDefinition; }
135
135
  });
136
136
  Object.defineProperty(exports, "isWorkflowDefinition", {
137
137
  enumerable: true,
138
- get: function () { return chunkHAQELDZN_cjs.isWorkflowDefinition; }
138
+ get: function () { return chunk72UK5U7T_cjs.isWorkflowDefinition; }
139
139
  });
140
140
  Object.defineProperty(exports, "isWorkflowStageDefinition", {
141
141
  enumerable: true,
142
- get: function () { return chunkHAQELDZN_cjs.isWorkflowStageDefinition; }
142
+ get: function () { return chunk72UK5U7T_cjs.isWorkflowStageDefinition; }
143
143
  });
144
144
  //# sourceMappingURL=index.cjs.map
145
145
  //# sourceMappingURL=index.cjs.map
@@ -1,12 +1,16 @@
1
- export { ax as AggregateBlock, am as AllScopeConfig, G as AssetTypeConfig, H as AssetTypeConfigWithFields, J as AssetTypeConfigWithFieldsets, K as AssetTypeDefinition, a8 as BUILT_IN_ROLES, aa as BUILT_IN_ROLE_ACTIONS, ab as BuiltInRole, aI as CachePolicy, aJ as CachePolicyObject, C as ComponentConfig, v as ComponentDefinition, w as ComponentMetadata, x as ComponentReusabilityMetadata, y as ComponentValidationMetadata, aj as ContentTypeScopeConfig, ak as ContentTypesScopeConfig, al as EntryTypeScopeConfig, aw as FetchBlock, ae as FieldVisibility, O as FileKindConfig, a3 as FileScanConfig, a2 as FileUploadConfig, aH as FilterDefinition, X as ImageExifConfig, Q as ImageFitMode, N as ImageKindConfig, R as ImageOutputFormat, W as ImageSourceConfig, P as ImageTransform, U as ImageUploadConfig, aF as IncludeDefinition, aL as IncludeSubQueries, aK as IncludeSubQuery, M as InferAssetType, aR as InferQueryParams, aQ as InferQueryResponse, E as InferSettingsGroup, t as InferSingleton, I as InferSingletonContentType, o as LocaleDefinition, L as LocaleOptions, aM as Parameterizable, aP as QueryCardinality, au as QueryConfig, av as QueryDefinition, aN as QueryParameter, aO as QueryParameterType, a9 as ROLE_ACTIONS, ad as ResourcePermission, ac as RoleAction, af as RoleConfig, ag as RoleDefinition, h as SchemaAssetTypeNames, S as SchemaConfig, b as SchemaContentTypeNames, a as SchemaDefinition, f as SchemaLocaleCodes, e as SchemaQueryNames, g as SchemaSettingsGroupNames, c as SchemaSingletonNames, ay as SearchBlock, aG as SelectMapping, A as SettingsGroupConfig, B as SettingsGroupDefinition, D as SettingsGroupMetadata, az as SimilarBlock, r as SingletonContentTypeDefinition, s as SingletonMetadata, aD as SortCondition, aE as SortDirection, T as TextDirection, Y as VariantDefinition, $ as VideoCaptionsConfig, a0 as VideoDownloadConfig, V as VideoKindConfig, _ as VideoPosterConfig, Z as VideoUploadConfig, a1 as VideoWatermarkConfig, ar as ViewConfig, as as ViewDefinition, aq as ViewFilter, ao as ViewFilterCondition, ap as ViewFilterGroup, an as ViewFilterOperator, ai as ViewScopeConfig, aA as WhereCondition, aC as WhereOperator, aB as WhereValue, n as buildFallbackChain, F as defineAssetType, u as defineComponent, i as defineLocale, at as defineQuery, a4 as defineRole, d as defineSchema, z as defineSettingsGroup, q as defineSingleton, p as defineSingletonContentType, ah as defineView, l as findDefaultLocale, m as getActiveLocales, a7 as getBuiltInRoleActions, k as getLocaleCodes, a6 as isBuiltInRole, j as isLocaleDefinition, a5 as isRoleDefinition } from '../define-schema-2xbHgtK-.cjs';
2
- import { F as FieldUIConfig, a as FieldAIConfig, b as FieldRule, L as LocalizationConfig, S as ShortTextConfig, c as FieldDefinition, d as LongTextConfig, R as RichTextConfig, e as SlugConfig, U as UrlConfig, E as EmailConfig, I as IntegerConfig, D as DecimalConfig, B as BooleanConfig, f as EnumConfig, g as DateConfig, h as DateTimeConfig, i as ReferenceConfig, T as TagsConfig, j as ListConfig, A as AIConfig, k as AllFieldTypes, l as AnyFieldDefinition, m as AssetAIConfig, n as BaseFieldConfig, C as ComponentFieldType, o as FieldType, p as ReadOnlyRule, q as RequirementRule, r as RuleCondition, s as RuleConditions, V as ValidationRule, t as VisibilityRule } from '../define-content-type-CBfnTWSS.cjs';
3
- export { x as ContentTypeConfig, y as ContentTypeConfigWithFields, z as ContentTypeConfigWithFieldsets, G as ContentTypeDefinition, a5 as ContentTypeWorkflowConfig, H as EntryMetadata, w as Fieldset, J as InferContentType, K as LocalePublicationFields, a0 as WorkflowAutoAssign, a3 as WorkflowConfig, a4 as WorkflowDefinition, $ as WorkflowEscalation, a1 as WorkflowStageConfig, a2 as WorkflowStageDefinition, u as defineContentType, O as defineContentTypeWorkflow, M as defineWorkflow, N as defineWorkflowStage, v as fieldset, X as findWorkflowStage, Z as getFirstWorkflowStage, Y as getNextWorkflowStage, W as getWorkflowStageIds, _ as isFinalWorkflowStage, P as isWorkflowDefinition, Q as isWorkflowStageDefinition } from '../define-content-type-CBfnTWSS.cjs';
1
+ export { aa as AggregateBlock, X as AllScopeConfig, F as BUILT_IN_ROLES, G as BUILT_IN_ROLE_ACTIONS, H as BuiltInRole, ao as CachePolicy, ap as CachePolicyObject, C as ComponentConfig, s as ComponentDefinition, t as ComponentMetadata, u as ComponentReusabilityMetadata, v as ComponentValidationMetadata, Q as ContentTypeScopeConfig, U as ContentTypesScopeConfig, W as EntryTypeScopeConfig, a9 as FetchBlock, M as FieldVisibility, an as FilterDefinition, a8 as FullTextSearch, af as HavingOperator, aj as IncludeDefinition, ak as IncludeRelationship, al as IncludeSelection, ar as IncludeSubQueries, aq as IncludeSubQuery, ax as InferQueryParams, aw as InferQueryResponse, I as InferSettingsGroup, q as LocaleDefinition, L as LocaleOptions, as as Parameterizable, av as QueryCardinality, a5 as QueryConfig, a6 as QueryDefinition, at as QueryParameter, au as QueryParameterType, ag as QueryScalar, a7 as QueryType, R as ROLE_ACTIONS, K as ResourcePermission, J as RoleAction, N as RoleConfig, O as RoleDefinition, h as SchemaAssetTypeNames, S as SchemaConfig, b as SchemaContentTypeNames, a as SchemaDefinition, i as SchemaEntry, j as SchemaEntryOf, f as SchemaLocaleCodes, e as SchemaQueryNames, g as SchemaSettingsGroupNames, c as SchemaSingletonNames, ab as SearchBlock, am as SelectMapping, x as SettingsGroupConfig, y as SettingsGroupDefinition, z as SettingsGroupMetadata, ah as SortCondition, ai as SortDirection, T as TextDirection, a2 as ViewConfig, a3 as ViewDefinition, a1 as ViewFilter, $ as ViewFilterCondition, a0 as ViewFilterGroup, Y as ViewFilterOperator, _ as ViewFilterRelativeDate, Z as ViewFilterValue, V as ViewScopeConfig, ac as WhereCondition, ae as WhereOperator, ad as WhereValue, p as buildFallbackChain, r as defineComponent, k as defineLocale, a4 as defineQuery, A as defineRole, d as defineSchema, w as defineSettingsGroup, P as defineView, n as findDefaultLocale, o as getActiveLocales, E as getBuiltInRoleActions, m as getLocaleCodes, D as isBuiltInRole, l as isLocaleDefinition, B as isRoleDefinition } from '../define-schema-D7MButVt.cjs';
2
+ import { F as FieldUIConfig, a as FieldAIConfig, b as FieldRule, L as LocalizationConfig, S as ShortTextConfig, c as FieldDefinition, d as LongTextConfig, R as RichTextConfig, e as SlugConfig, U as UrlConfig, E as EmailConfig, I as IntegerConfig, D as DecimalConfig, B as BooleanConfig, f as EnumConfig, g as DateConfig, h as DateTimeConfig, i as ReferenceConfig, T as TagsConfig, A as AnyFieldDefinition, j as ListConfig, C as ComponentFieldConfig, k as AIConfig, l as AllFieldTypes, m as AssetAIConfig, n as BaseFieldConfig, o as ComponentFieldType, p as FieldType, q as ReadOnlyRule, r as RequirementRule, s as RuleCondition, t as RuleConditions, V as ValidationRule, u as VisibilityRule } from '../define-content-type-DiVpbwNs.cjs';
3
+ export { a5 as AssetTypeConfig, a6 as AssetTypeConfigWithFields, a7 as AssetTypeConfigWithFieldsets, a8 as AssetTypeConfigWithoutFields, a9 as AssetTypeDefinition, M as ContentTypeConfig, N as ContentTypeConfigWithFields, O as ContentTypeConfigWithFieldsets, P as ContentTypeDefinition, aI as ContentTypeWorkflowConfig, y as DeclaredFields, Q as EntryMetadata, v as FieldSchemaContext, w as FieldValue, x as FieldValues, K as Fieldset, ad as FileKindConfig, ar as FileScanConfig, aq as FileUploadConfig, aj as ImageExifConfig, af as ImageFitMode, ab as ImageKindConfig, ag as ImageOutputFormat, ai as ImageSourceConfig, ae as ImageTransform, ah as ImageUploadConfig, aa as InferAssetType, W as InferContentType, a3 as InferSingleton, a2 as InferSingletonContentType, X as LocalePublicationFields, _ as SingletonConfigWithFields, $ as SingletonConfigWithFieldsets, a0 as SingletonContentTypeDefinition, a1 as SingletonMetadata, G as UnresolvedComponent, z as UnresolvedEntry, ak as VariantDefinition, an as VideoCaptionsConfig, ao as VideoDownloadConfig, ac as VideoKindConfig, am as VideoPosterConfig, al as VideoUploadConfig, ap as VideoWatermarkConfig, aD as WorkflowAutoAssign, aG as WorkflowConfig, aH as WorkflowDefinition, aC as WorkflowEscalation, aE as WorkflowStageConfig, aF as WorkflowStageDefinition, a4 as defineAssetType, H as defineContentType, au as defineContentTypeWorkflow, Z as defineSingleton, Y as defineSingletonContentType, as as defineWorkflow, at as defineWorkflowStage, J as fieldset, ay as findWorkflowStage, aA as getFirstWorkflowStage, az as getNextWorkflowStage, ax as getWorkflowStageIds, aB as isFinalWorkflowStage, av as isWorkflowDefinition, aw as isWorkflowStageDefinition } from '../define-content-type-DiVpbwNs.cjs';
4
4
 
5
5
  /**
6
6
  * Field builders for defining schema fields
7
7
  * Matches the @relyio/schema FieldSchema structure
8
8
  *
9
- * All builders are generic over the ID to preserve literal types for type inference.
9
+ * All builders are generic over the ID to preserve literal types for type inference. `enum`,
10
+ * `reference` and `list` are generic over the parts of their config a read's type depends on too —
11
+ * the option values, the targets, `multi` and the subfields — each through a type parameter with a
12
+ * primitive or field constraint, which is what keeps a literal from widening without a `const`
13
+ * type parameter (the package supports TypeScript 4.9, which has none).
10
14
  */
11
15
 
12
16
  interface FieldOptions<TConfig> {
@@ -37,7 +41,7 @@ declare function shortText<TId extends string>(id: TId, options?: FieldOptions<S
37
41
  declare function longText<TId extends string>(id: TId, options?: FieldOptions<LongTextConfig>): FieldDefinition<TId, 'longText', LongTextConfig>;
38
42
  /**
39
43
  * Rich text field with formatting
40
- * @example fields.richText('content', { config: { allowedMarks: ['bold', 'italic'] } })
44
+ * @example fields.richText('content', { config: { allowedFormats: ['bold', 'italic'] } })
41
45
  */
42
46
  declare function richText<TId extends string>(id: TId, options?: FieldOptions<RichTextConfig>): FieldDefinition<TId, 'richText', RichTextConfig>;
43
47
  /**
@@ -81,15 +85,15 @@ declare function boolean<TId extends string>(id: TId, options?: FieldOptions<Boo
81
85
  * }
82
86
  * })
83
87
  */
84
- declare function enumField<TId extends string>(id: TId, options?: FieldOptions<EnumConfig>): FieldDefinition<TId, 'enum', EnumConfig>;
88
+ declare function enumField<TId extends string, TValue extends string = string, TMulti extends boolean = false>(id: TId, options?: FieldOptions<EnumConfig<TValue, TMulti>>): FieldDefinition<TId, 'enum', EnumConfig<TValue, TMulti>>;
85
89
  /**
86
90
  * Date field (no time)
87
91
  * @example fields.date('publishDate', { config: { minDate: '2024-01-01' } })
88
92
  */
89
93
  declare function date<TId extends string>(id: TId, options?: FieldOptions<DateConfig>): FieldDefinition<TId, 'date', DateConfig>;
90
94
  /**
91
- * DateTime field with optional timezone
92
- * @example fields.dateTime('createdAt', { config: { timezone: true } })
95
+ * DateTime field, stored in UTC or in the author's local time
96
+ * @example fields.dateTime('createdAt', { config: { timeZoneHandling: 'UTC' } })
93
97
  */
94
98
  declare function dateTime<TId extends string>(id: TId, options?: FieldOptions<DateTimeConfig>): FieldDefinition<TId, 'dateTime', DateTimeConfig>;
95
99
  /**
@@ -98,7 +102,7 @@ declare function dateTime<TId extends string>(id: TId, options?: FieldOptions<Da
98
102
  * @example fields.reference('relatedItems', { config: { to: ['product', 'service'], multi: true } })
99
103
  * @example fields.reference('heroImage', { config: { to: 'productPhoto' } })
100
104
  */
101
- declare function reference<TId extends string>(id: TId, options?: FieldOptions<ReferenceConfig>): FieldDefinition<TId, 'reference', ReferenceConfig>;
105
+ declare function reference<TId extends string, TTo extends string = string, TMulti extends boolean = false>(id: TId, options?: FieldOptions<ReferenceConfig<TTo, TMulti>>): FieldDefinition<TId, 'reference', ReferenceConfig<TTo, TMulti>>;
102
106
  /**
103
107
  * Tags field (array of strings with autocomplete)
104
108
  * @example fields.tags('keywords', { config: { predefinedTags: ['featured', 'sale'], maxTags: 10 } })
@@ -117,12 +121,13 @@ declare function tags<TId extends string>(id: TId, options?: FieldOptions<TagsCo
117
121
  * }
118
122
  * })
119
123
  */
120
- declare function list<TId extends string>(id: TId, options?: FieldOptions<ListConfig>): FieldDefinition<TId, 'list', ListConfig>;
124
+ declare function list<TId extends string, TSubfields extends readonly AnyFieldDefinition[] = readonly []>(id: TId, options?: FieldOptions<ListConfig<TSubfields>>): FieldDefinition<TId, 'list', ListConfig<TSubfields>>;
121
125
  /**
122
126
  * Component field (reusable field group)
123
127
  * @example fields.component('seo', 'seoMetadata')
128
+ * @example fields.component('seo', 'seoMetadata', { config: { required: true } })
124
129
  */
125
- declare function component<TId extends string, TComponentId extends string>(id: TId, componentId: TComponentId, options?: Omit<FieldOptions<undefined>, 'config'>): FieldDefinition<TId, `component(${TComponentId})`, undefined>;
130
+ declare function component<TId extends string, TComponentId extends string>(id: TId, componentId: TComponentId, options?: FieldOptions<ComponentFieldConfig>): FieldDefinition<TId, `component(${TComponentId})`, ComponentFieldConfig>;
126
131
 
127
132
  /**
128
133
  * Field builders for defining schema fields
@@ -144,6 +149,7 @@ declare const fieldBuilders_AnyFieldDefinition: typeof AnyFieldDefinition;
144
149
  declare const fieldBuilders_AssetAIConfig: typeof AssetAIConfig;
145
150
  declare const fieldBuilders_BaseFieldConfig: typeof BaseFieldConfig;
146
151
  declare const fieldBuilders_BooleanConfig: typeof BooleanConfig;
152
+ declare const fieldBuilders_ComponentFieldConfig: typeof ComponentFieldConfig;
147
153
  declare const fieldBuilders_ComponentFieldType: typeof ComponentFieldType;
148
154
  declare const fieldBuilders_DateConfig: typeof DateConfig;
149
155
  declare const fieldBuilders_DateTimeConfig: typeof DateTimeConfig;
@@ -187,7 +193,7 @@ declare const fieldBuilders_slug: typeof slug;
187
193
  declare const fieldBuilders_tags: typeof tags;
188
194
  declare const fieldBuilders_url: typeof url;
189
195
  declare namespace fieldBuilders {
190
- export { fieldBuilders_AIConfig as AIConfig, fieldBuilders_AllFieldTypes as AllFieldTypes, fieldBuilders_AnyFieldDefinition as AnyFieldDefinition, fieldBuilders_AssetAIConfig as AssetAIConfig, fieldBuilders_BaseFieldConfig as BaseFieldConfig, fieldBuilders_BooleanConfig as BooleanConfig, fieldBuilders_ComponentFieldType as ComponentFieldType, fieldBuilders_DateConfig as DateConfig, fieldBuilders_DateTimeConfig as DateTimeConfig, fieldBuilders_DecimalConfig as DecimalConfig, fieldBuilders_EmailConfig as EmailConfig, fieldBuilders_EnumConfig as EnumConfig, fieldBuilders_FieldAIConfig as FieldAIConfig, fieldBuilders_FieldDefinition as FieldDefinition, fieldBuilders_FieldRule as FieldRule, fieldBuilders_FieldType as FieldType, fieldBuilders_FieldUIConfig as FieldUIConfig, fieldBuilders_IntegerConfig as IntegerConfig, fieldBuilders_ListConfig as ListConfig, fieldBuilders_LocalizationConfig as LocalizationConfig, fieldBuilders_LongTextConfig as LongTextConfig, fieldBuilders_ReadOnlyRule as ReadOnlyRule, fieldBuilders_ReferenceConfig as ReferenceConfig, fieldBuilders_RequirementRule as RequirementRule, fieldBuilders_RichTextConfig as RichTextConfig, fieldBuilders_RuleCondition as RuleCondition, fieldBuilders_RuleConditions as RuleConditions, fieldBuilders_ShortTextConfig as ShortTextConfig, fieldBuilders_SlugConfig as SlugConfig, fieldBuilders_TagsConfig as TagsConfig, fieldBuilders_UrlConfig as UrlConfig, fieldBuilders_ValidationRule as ValidationRule, fieldBuilders_VisibilityRule as VisibilityRule, fieldBuilders_boolean as boolean, fieldBuilders_component as component, fieldBuilders_date as date, fieldBuilders_dateTime as dateTime, fieldBuilders_decimal as decimal, fieldBuilders_email as email, enumField as enum, fieldBuilders_integer as integer, fieldBuilders_list as list, fieldBuilders_longText as longText, fieldBuilders_reference as reference, fieldBuilders_richText as richText, fieldBuilders_shortText as shortText, fieldBuilders_slug as slug, fieldBuilders_tags as tags, fieldBuilders_url as url };
196
+ export { fieldBuilders_AIConfig as AIConfig, fieldBuilders_AllFieldTypes as AllFieldTypes, fieldBuilders_AnyFieldDefinition as AnyFieldDefinition, fieldBuilders_AssetAIConfig as AssetAIConfig, fieldBuilders_BaseFieldConfig as BaseFieldConfig, fieldBuilders_BooleanConfig as BooleanConfig, fieldBuilders_ComponentFieldConfig as ComponentFieldConfig, fieldBuilders_ComponentFieldType as ComponentFieldType, fieldBuilders_DateConfig as DateConfig, fieldBuilders_DateTimeConfig as DateTimeConfig, fieldBuilders_DecimalConfig as DecimalConfig, fieldBuilders_EmailConfig as EmailConfig, fieldBuilders_EnumConfig as EnumConfig, fieldBuilders_FieldAIConfig as FieldAIConfig, fieldBuilders_FieldDefinition as FieldDefinition, fieldBuilders_FieldRule as FieldRule, fieldBuilders_FieldType as FieldType, fieldBuilders_FieldUIConfig as FieldUIConfig, fieldBuilders_IntegerConfig as IntegerConfig, fieldBuilders_ListConfig as ListConfig, fieldBuilders_LocalizationConfig as LocalizationConfig, fieldBuilders_LongTextConfig as LongTextConfig, fieldBuilders_ReadOnlyRule as ReadOnlyRule, fieldBuilders_ReferenceConfig as ReferenceConfig, fieldBuilders_RequirementRule as RequirementRule, fieldBuilders_RichTextConfig as RichTextConfig, fieldBuilders_RuleCondition as RuleCondition, fieldBuilders_RuleConditions as RuleConditions, fieldBuilders_ShortTextConfig as ShortTextConfig, fieldBuilders_SlugConfig as SlugConfig, fieldBuilders_TagsConfig as TagsConfig, fieldBuilders_UrlConfig as UrlConfig, fieldBuilders_ValidationRule as ValidationRule, fieldBuilders_VisibilityRule as VisibilityRule, fieldBuilders_boolean as boolean, fieldBuilders_component as component, fieldBuilders_date as date, fieldBuilders_dateTime as dateTime, fieldBuilders_decimal as decimal, fieldBuilders_email as email, enumField as enum, fieldBuilders_integer as integer, fieldBuilders_list as list, fieldBuilders_longText as longText, fieldBuilders_reference as reference, fieldBuilders_richText as richText, fieldBuilders_shortText as shortText, fieldBuilders_slug as slug, fieldBuilders_tags as tags, fieldBuilders_url as url };
191
197
  }
192
198
 
193
199
  /**
@@ -205,8 +211,8 @@ declare namespace fieldBuilders {
205
211
  * displayName: 'Product',
206
212
  * fields: [
207
213
  * fields.shortText('title', { config: { required: true, maxLength: 200 } }),
208
- * fields.currency('price', { config: { currencyCode: 'USD', min: 0 } }),
209
- * fields.reference('category', { config: { contentType: 'category' } }),
214
+ * fields.decimal('price', { config: { min: 0, decimalPlaces: 2 } }),
215
+ * fields.reference('category', { config: { to: 'category' } }),
210
216
  * ]
211
217
  * })
212
218
  *
@@ -221,4 +227,4 @@ declare namespace fieldBuilders {
221
227
 
222
228
  declare const fields: typeof fieldBuilders;
223
229
 
224
- export { AIConfig, AllFieldTypes, AssetAIConfig, BaseFieldConfig, BooleanConfig, ComponentFieldType, DateConfig, DateTimeConfig, DecimalConfig, EmailConfig, EnumConfig, FieldAIConfig, FieldDefinition, FieldRule, FieldType, FieldUIConfig, IntegerConfig, ListConfig, LocalizationConfig, LongTextConfig, ReadOnlyRule, ReferenceConfig, RequirementRule, RichTextConfig, RuleCondition, RuleConditions, ShortTextConfig, SlugConfig, TagsConfig, UrlConfig, ValidationRule, VisibilityRule, fields };
230
+ export { AIConfig, AllFieldTypes, AssetAIConfig, BaseFieldConfig, BooleanConfig, ComponentFieldConfig, ComponentFieldType, DateConfig, DateTimeConfig, DecimalConfig, EmailConfig, EnumConfig, FieldAIConfig, FieldDefinition, FieldRule, FieldType, FieldUIConfig, IntegerConfig, ListConfig, LocalizationConfig, LongTextConfig, ReadOnlyRule, ReferenceConfig, RequirementRule, RichTextConfig, RuleCondition, RuleConditions, ShortTextConfig, SlugConfig, TagsConfig, UrlConfig, ValidationRule, VisibilityRule, fields };
@@ -1,12 +1,16 @@
1
- export { ax as AggregateBlock, am as AllScopeConfig, G as AssetTypeConfig, H as AssetTypeConfigWithFields, J as AssetTypeConfigWithFieldsets, K as AssetTypeDefinition, a8 as BUILT_IN_ROLES, aa as BUILT_IN_ROLE_ACTIONS, ab as BuiltInRole, aI as CachePolicy, aJ as CachePolicyObject, C as ComponentConfig, v as ComponentDefinition, w as ComponentMetadata, x as ComponentReusabilityMetadata, y as ComponentValidationMetadata, aj as ContentTypeScopeConfig, ak as ContentTypesScopeConfig, al as EntryTypeScopeConfig, aw as FetchBlock, ae as FieldVisibility, O as FileKindConfig, a3 as FileScanConfig, a2 as FileUploadConfig, aH as FilterDefinition, X as ImageExifConfig, Q as ImageFitMode, N as ImageKindConfig, R as ImageOutputFormat, W as ImageSourceConfig, P as ImageTransform, U as ImageUploadConfig, aF as IncludeDefinition, aL as IncludeSubQueries, aK as IncludeSubQuery, M as InferAssetType, aR as InferQueryParams, aQ as InferQueryResponse, E as InferSettingsGroup, t as InferSingleton, I as InferSingletonContentType, o as LocaleDefinition, L as LocaleOptions, aM as Parameterizable, aP as QueryCardinality, au as QueryConfig, av as QueryDefinition, aN as QueryParameter, aO as QueryParameterType, a9 as ROLE_ACTIONS, ad as ResourcePermission, ac as RoleAction, af as RoleConfig, ag as RoleDefinition, h as SchemaAssetTypeNames, S as SchemaConfig, b as SchemaContentTypeNames, a as SchemaDefinition, f as SchemaLocaleCodes, e as SchemaQueryNames, g as SchemaSettingsGroupNames, c as SchemaSingletonNames, ay as SearchBlock, aG as SelectMapping, A as SettingsGroupConfig, B as SettingsGroupDefinition, D as SettingsGroupMetadata, az as SimilarBlock, r as SingletonContentTypeDefinition, s as SingletonMetadata, aD as SortCondition, aE as SortDirection, T as TextDirection, Y as VariantDefinition, $ as VideoCaptionsConfig, a0 as VideoDownloadConfig, V as VideoKindConfig, _ as VideoPosterConfig, Z as VideoUploadConfig, a1 as VideoWatermarkConfig, ar as ViewConfig, as as ViewDefinition, aq as ViewFilter, ao as ViewFilterCondition, ap as ViewFilterGroup, an as ViewFilterOperator, ai as ViewScopeConfig, aA as WhereCondition, aC as WhereOperator, aB as WhereValue, n as buildFallbackChain, F as defineAssetType, u as defineComponent, i as defineLocale, at as defineQuery, a4 as defineRole, d as defineSchema, z as defineSettingsGroup, q as defineSingleton, p as defineSingletonContentType, ah as defineView, l as findDefaultLocale, m as getActiveLocales, a7 as getBuiltInRoleActions, k as getLocaleCodes, a6 as isBuiltInRole, j as isLocaleDefinition, a5 as isRoleDefinition } from '../define-schema-DzYXk4HL.js';
2
- import { F as FieldUIConfig, a as FieldAIConfig, b as FieldRule, L as LocalizationConfig, S as ShortTextConfig, c as FieldDefinition, d as LongTextConfig, R as RichTextConfig, e as SlugConfig, U as UrlConfig, E as EmailConfig, I as IntegerConfig, D as DecimalConfig, B as BooleanConfig, f as EnumConfig, g as DateConfig, h as DateTimeConfig, i as ReferenceConfig, T as TagsConfig, j as ListConfig, A as AIConfig, k as AllFieldTypes, l as AnyFieldDefinition, m as AssetAIConfig, n as BaseFieldConfig, C as ComponentFieldType, o as FieldType, p as ReadOnlyRule, q as RequirementRule, r as RuleCondition, s as RuleConditions, V as ValidationRule, t as VisibilityRule } from '../define-content-type-CBfnTWSS.js';
3
- export { x as ContentTypeConfig, y as ContentTypeConfigWithFields, z as ContentTypeConfigWithFieldsets, G as ContentTypeDefinition, a5 as ContentTypeWorkflowConfig, H as EntryMetadata, w as Fieldset, J as InferContentType, K as LocalePublicationFields, a0 as WorkflowAutoAssign, a3 as WorkflowConfig, a4 as WorkflowDefinition, $ as WorkflowEscalation, a1 as WorkflowStageConfig, a2 as WorkflowStageDefinition, u as defineContentType, O as defineContentTypeWorkflow, M as defineWorkflow, N as defineWorkflowStage, v as fieldset, X as findWorkflowStage, Z as getFirstWorkflowStage, Y as getNextWorkflowStage, W as getWorkflowStageIds, _ as isFinalWorkflowStage, P as isWorkflowDefinition, Q as isWorkflowStageDefinition } from '../define-content-type-CBfnTWSS.js';
1
+ export { aa as AggregateBlock, X as AllScopeConfig, F as BUILT_IN_ROLES, G as BUILT_IN_ROLE_ACTIONS, H as BuiltInRole, ao as CachePolicy, ap as CachePolicyObject, C as ComponentConfig, s as ComponentDefinition, t as ComponentMetadata, u as ComponentReusabilityMetadata, v as ComponentValidationMetadata, Q as ContentTypeScopeConfig, U as ContentTypesScopeConfig, W as EntryTypeScopeConfig, a9 as FetchBlock, M as FieldVisibility, an as FilterDefinition, a8 as FullTextSearch, af as HavingOperator, aj as IncludeDefinition, ak as IncludeRelationship, al as IncludeSelection, ar as IncludeSubQueries, aq as IncludeSubQuery, ax as InferQueryParams, aw as InferQueryResponse, I as InferSettingsGroup, q as LocaleDefinition, L as LocaleOptions, as as Parameterizable, av as QueryCardinality, a5 as QueryConfig, a6 as QueryDefinition, at as QueryParameter, au as QueryParameterType, ag as QueryScalar, a7 as QueryType, R as ROLE_ACTIONS, K as ResourcePermission, J as RoleAction, N as RoleConfig, O as RoleDefinition, h as SchemaAssetTypeNames, S as SchemaConfig, b as SchemaContentTypeNames, a as SchemaDefinition, i as SchemaEntry, j as SchemaEntryOf, f as SchemaLocaleCodes, e as SchemaQueryNames, g as SchemaSettingsGroupNames, c as SchemaSingletonNames, ab as SearchBlock, am as SelectMapping, x as SettingsGroupConfig, y as SettingsGroupDefinition, z as SettingsGroupMetadata, ah as SortCondition, ai as SortDirection, T as TextDirection, a2 as ViewConfig, a3 as ViewDefinition, a1 as ViewFilter, $ as ViewFilterCondition, a0 as ViewFilterGroup, Y as ViewFilterOperator, _ as ViewFilterRelativeDate, Z as ViewFilterValue, V as ViewScopeConfig, ac as WhereCondition, ae as WhereOperator, ad as WhereValue, p as buildFallbackChain, r as defineComponent, k as defineLocale, a4 as defineQuery, A as defineRole, d as defineSchema, w as defineSettingsGroup, P as defineView, n as findDefaultLocale, o as getActiveLocales, E as getBuiltInRoleActions, m as getLocaleCodes, D as isBuiltInRole, l as isLocaleDefinition, B as isRoleDefinition } from '../define-schema-C-5an28C.js';
2
+ import { F as FieldUIConfig, a as FieldAIConfig, b as FieldRule, L as LocalizationConfig, S as ShortTextConfig, c as FieldDefinition, d as LongTextConfig, R as RichTextConfig, e as SlugConfig, U as UrlConfig, E as EmailConfig, I as IntegerConfig, D as DecimalConfig, B as BooleanConfig, f as EnumConfig, g as DateConfig, h as DateTimeConfig, i as ReferenceConfig, T as TagsConfig, A as AnyFieldDefinition, j as ListConfig, C as ComponentFieldConfig, k as AIConfig, l as AllFieldTypes, m as AssetAIConfig, n as BaseFieldConfig, o as ComponentFieldType, p as FieldType, q as ReadOnlyRule, r as RequirementRule, s as RuleCondition, t as RuleConditions, V as ValidationRule, u as VisibilityRule } from '../define-content-type-DiVpbwNs.js';
3
+ export { a5 as AssetTypeConfig, a6 as AssetTypeConfigWithFields, a7 as AssetTypeConfigWithFieldsets, a8 as AssetTypeConfigWithoutFields, a9 as AssetTypeDefinition, M as ContentTypeConfig, N as ContentTypeConfigWithFields, O as ContentTypeConfigWithFieldsets, P as ContentTypeDefinition, aI as ContentTypeWorkflowConfig, y as DeclaredFields, Q as EntryMetadata, v as FieldSchemaContext, w as FieldValue, x as FieldValues, K as Fieldset, ad as FileKindConfig, ar as FileScanConfig, aq as FileUploadConfig, aj as ImageExifConfig, af as ImageFitMode, ab as ImageKindConfig, ag as ImageOutputFormat, ai as ImageSourceConfig, ae as ImageTransform, ah as ImageUploadConfig, aa as InferAssetType, W as InferContentType, a3 as InferSingleton, a2 as InferSingletonContentType, X as LocalePublicationFields, _ as SingletonConfigWithFields, $ as SingletonConfigWithFieldsets, a0 as SingletonContentTypeDefinition, a1 as SingletonMetadata, G as UnresolvedComponent, z as UnresolvedEntry, ak as VariantDefinition, an as VideoCaptionsConfig, ao as VideoDownloadConfig, ac as VideoKindConfig, am as VideoPosterConfig, al as VideoUploadConfig, ap as VideoWatermarkConfig, aD as WorkflowAutoAssign, aG as WorkflowConfig, aH as WorkflowDefinition, aC as WorkflowEscalation, aE as WorkflowStageConfig, aF as WorkflowStageDefinition, a4 as defineAssetType, H as defineContentType, au as defineContentTypeWorkflow, Z as defineSingleton, Y as defineSingletonContentType, as as defineWorkflow, at as defineWorkflowStage, J as fieldset, ay as findWorkflowStage, aA as getFirstWorkflowStage, az as getNextWorkflowStage, ax as getWorkflowStageIds, aB as isFinalWorkflowStage, av as isWorkflowDefinition, aw as isWorkflowStageDefinition } from '../define-content-type-DiVpbwNs.js';
4
4
 
5
5
  /**
6
6
  * Field builders for defining schema fields
7
7
  * Matches the @relyio/schema FieldSchema structure
8
8
  *
9
- * All builders are generic over the ID to preserve literal types for type inference.
9
+ * All builders are generic over the ID to preserve literal types for type inference. `enum`,
10
+ * `reference` and `list` are generic over the parts of their config a read's type depends on too —
11
+ * the option values, the targets, `multi` and the subfields — each through a type parameter with a
12
+ * primitive or field constraint, which is what keeps a literal from widening without a `const`
13
+ * type parameter (the package supports TypeScript 4.9, which has none).
10
14
  */
11
15
 
12
16
  interface FieldOptions<TConfig> {
@@ -37,7 +41,7 @@ declare function shortText<TId extends string>(id: TId, options?: FieldOptions<S
37
41
  declare function longText<TId extends string>(id: TId, options?: FieldOptions<LongTextConfig>): FieldDefinition<TId, 'longText', LongTextConfig>;
38
42
  /**
39
43
  * Rich text field with formatting
40
- * @example fields.richText('content', { config: { allowedMarks: ['bold', 'italic'] } })
44
+ * @example fields.richText('content', { config: { allowedFormats: ['bold', 'italic'] } })
41
45
  */
42
46
  declare function richText<TId extends string>(id: TId, options?: FieldOptions<RichTextConfig>): FieldDefinition<TId, 'richText', RichTextConfig>;
43
47
  /**
@@ -81,15 +85,15 @@ declare function boolean<TId extends string>(id: TId, options?: FieldOptions<Boo
81
85
  * }
82
86
  * })
83
87
  */
84
- declare function enumField<TId extends string>(id: TId, options?: FieldOptions<EnumConfig>): FieldDefinition<TId, 'enum', EnumConfig>;
88
+ declare function enumField<TId extends string, TValue extends string = string, TMulti extends boolean = false>(id: TId, options?: FieldOptions<EnumConfig<TValue, TMulti>>): FieldDefinition<TId, 'enum', EnumConfig<TValue, TMulti>>;
85
89
  /**
86
90
  * Date field (no time)
87
91
  * @example fields.date('publishDate', { config: { minDate: '2024-01-01' } })
88
92
  */
89
93
  declare function date<TId extends string>(id: TId, options?: FieldOptions<DateConfig>): FieldDefinition<TId, 'date', DateConfig>;
90
94
  /**
91
- * DateTime field with optional timezone
92
- * @example fields.dateTime('createdAt', { config: { timezone: true } })
95
+ * DateTime field, stored in UTC or in the author's local time
96
+ * @example fields.dateTime('createdAt', { config: { timeZoneHandling: 'UTC' } })
93
97
  */
94
98
  declare function dateTime<TId extends string>(id: TId, options?: FieldOptions<DateTimeConfig>): FieldDefinition<TId, 'dateTime', DateTimeConfig>;
95
99
  /**
@@ -98,7 +102,7 @@ declare function dateTime<TId extends string>(id: TId, options?: FieldOptions<Da
98
102
  * @example fields.reference('relatedItems', { config: { to: ['product', 'service'], multi: true } })
99
103
  * @example fields.reference('heroImage', { config: { to: 'productPhoto' } })
100
104
  */
101
- declare function reference<TId extends string>(id: TId, options?: FieldOptions<ReferenceConfig>): FieldDefinition<TId, 'reference', ReferenceConfig>;
105
+ declare function reference<TId extends string, TTo extends string = string, TMulti extends boolean = false>(id: TId, options?: FieldOptions<ReferenceConfig<TTo, TMulti>>): FieldDefinition<TId, 'reference', ReferenceConfig<TTo, TMulti>>;
102
106
  /**
103
107
  * Tags field (array of strings with autocomplete)
104
108
  * @example fields.tags('keywords', { config: { predefinedTags: ['featured', 'sale'], maxTags: 10 } })
@@ -117,12 +121,13 @@ declare function tags<TId extends string>(id: TId, options?: FieldOptions<TagsCo
117
121
  * }
118
122
  * })
119
123
  */
120
- declare function list<TId extends string>(id: TId, options?: FieldOptions<ListConfig>): FieldDefinition<TId, 'list', ListConfig>;
124
+ declare function list<TId extends string, TSubfields extends readonly AnyFieldDefinition[] = readonly []>(id: TId, options?: FieldOptions<ListConfig<TSubfields>>): FieldDefinition<TId, 'list', ListConfig<TSubfields>>;
121
125
  /**
122
126
  * Component field (reusable field group)
123
127
  * @example fields.component('seo', 'seoMetadata')
128
+ * @example fields.component('seo', 'seoMetadata', { config: { required: true } })
124
129
  */
125
- declare function component<TId extends string, TComponentId extends string>(id: TId, componentId: TComponentId, options?: Omit<FieldOptions<undefined>, 'config'>): FieldDefinition<TId, `component(${TComponentId})`, undefined>;
130
+ declare function component<TId extends string, TComponentId extends string>(id: TId, componentId: TComponentId, options?: FieldOptions<ComponentFieldConfig>): FieldDefinition<TId, `component(${TComponentId})`, ComponentFieldConfig>;
126
131
 
127
132
  /**
128
133
  * Field builders for defining schema fields
@@ -144,6 +149,7 @@ declare const fieldBuilders_AnyFieldDefinition: typeof AnyFieldDefinition;
144
149
  declare const fieldBuilders_AssetAIConfig: typeof AssetAIConfig;
145
150
  declare const fieldBuilders_BaseFieldConfig: typeof BaseFieldConfig;
146
151
  declare const fieldBuilders_BooleanConfig: typeof BooleanConfig;
152
+ declare const fieldBuilders_ComponentFieldConfig: typeof ComponentFieldConfig;
147
153
  declare const fieldBuilders_ComponentFieldType: typeof ComponentFieldType;
148
154
  declare const fieldBuilders_DateConfig: typeof DateConfig;
149
155
  declare const fieldBuilders_DateTimeConfig: typeof DateTimeConfig;
@@ -187,7 +193,7 @@ declare const fieldBuilders_slug: typeof slug;
187
193
  declare const fieldBuilders_tags: typeof tags;
188
194
  declare const fieldBuilders_url: typeof url;
189
195
  declare namespace fieldBuilders {
190
- export { fieldBuilders_AIConfig as AIConfig, fieldBuilders_AllFieldTypes as AllFieldTypes, fieldBuilders_AnyFieldDefinition as AnyFieldDefinition, fieldBuilders_AssetAIConfig as AssetAIConfig, fieldBuilders_BaseFieldConfig as BaseFieldConfig, fieldBuilders_BooleanConfig as BooleanConfig, fieldBuilders_ComponentFieldType as ComponentFieldType, fieldBuilders_DateConfig as DateConfig, fieldBuilders_DateTimeConfig as DateTimeConfig, fieldBuilders_DecimalConfig as DecimalConfig, fieldBuilders_EmailConfig as EmailConfig, fieldBuilders_EnumConfig as EnumConfig, fieldBuilders_FieldAIConfig as FieldAIConfig, fieldBuilders_FieldDefinition as FieldDefinition, fieldBuilders_FieldRule as FieldRule, fieldBuilders_FieldType as FieldType, fieldBuilders_FieldUIConfig as FieldUIConfig, fieldBuilders_IntegerConfig as IntegerConfig, fieldBuilders_ListConfig as ListConfig, fieldBuilders_LocalizationConfig as LocalizationConfig, fieldBuilders_LongTextConfig as LongTextConfig, fieldBuilders_ReadOnlyRule as ReadOnlyRule, fieldBuilders_ReferenceConfig as ReferenceConfig, fieldBuilders_RequirementRule as RequirementRule, fieldBuilders_RichTextConfig as RichTextConfig, fieldBuilders_RuleCondition as RuleCondition, fieldBuilders_RuleConditions as RuleConditions, fieldBuilders_ShortTextConfig as ShortTextConfig, fieldBuilders_SlugConfig as SlugConfig, fieldBuilders_TagsConfig as TagsConfig, fieldBuilders_UrlConfig as UrlConfig, fieldBuilders_ValidationRule as ValidationRule, fieldBuilders_VisibilityRule as VisibilityRule, fieldBuilders_boolean as boolean, fieldBuilders_component as component, fieldBuilders_date as date, fieldBuilders_dateTime as dateTime, fieldBuilders_decimal as decimal, fieldBuilders_email as email, enumField as enum, fieldBuilders_integer as integer, fieldBuilders_list as list, fieldBuilders_longText as longText, fieldBuilders_reference as reference, fieldBuilders_richText as richText, fieldBuilders_shortText as shortText, fieldBuilders_slug as slug, fieldBuilders_tags as tags, fieldBuilders_url as url };
196
+ export { fieldBuilders_AIConfig as AIConfig, fieldBuilders_AllFieldTypes as AllFieldTypes, fieldBuilders_AnyFieldDefinition as AnyFieldDefinition, fieldBuilders_AssetAIConfig as AssetAIConfig, fieldBuilders_BaseFieldConfig as BaseFieldConfig, fieldBuilders_BooleanConfig as BooleanConfig, fieldBuilders_ComponentFieldConfig as ComponentFieldConfig, fieldBuilders_ComponentFieldType as ComponentFieldType, fieldBuilders_DateConfig as DateConfig, fieldBuilders_DateTimeConfig as DateTimeConfig, fieldBuilders_DecimalConfig as DecimalConfig, fieldBuilders_EmailConfig as EmailConfig, fieldBuilders_EnumConfig as EnumConfig, fieldBuilders_FieldAIConfig as FieldAIConfig, fieldBuilders_FieldDefinition as FieldDefinition, fieldBuilders_FieldRule as FieldRule, fieldBuilders_FieldType as FieldType, fieldBuilders_FieldUIConfig as FieldUIConfig, fieldBuilders_IntegerConfig as IntegerConfig, fieldBuilders_ListConfig as ListConfig, fieldBuilders_LocalizationConfig as LocalizationConfig, fieldBuilders_LongTextConfig as LongTextConfig, fieldBuilders_ReadOnlyRule as ReadOnlyRule, fieldBuilders_ReferenceConfig as ReferenceConfig, fieldBuilders_RequirementRule as RequirementRule, fieldBuilders_RichTextConfig as RichTextConfig, fieldBuilders_RuleCondition as RuleCondition, fieldBuilders_RuleConditions as RuleConditions, fieldBuilders_ShortTextConfig as ShortTextConfig, fieldBuilders_SlugConfig as SlugConfig, fieldBuilders_TagsConfig as TagsConfig, fieldBuilders_UrlConfig as UrlConfig, fieldBuilders_ValidationRule as ValidationRule, fieldBuilders_VisibilityRule as VisibilityRule, fieldBuilders_boolean as boolean, fieldBuilders_component as component, fieldBuilders_date as date, fieldBuilders_dateTime as dateTime, fieldBuilders_decimal as decimal, fieldBuilders_email as email, enumField as enum, fieldBuilders_integer as integer, fieldBuilders_list as list, fieldBuilders_longText as longText, fieldBuilders_reference as reference, fieldBuilders_richText as richText, fieldBuilders_shortText as shortText, fieldBuilders_slug as slug, fieldBuilders_tags as tags, fieldBuilders_url as url };
191
197
  }
192
198
 
193
199
  /**
@@ -205,8 +211,8 @@ declare namespace fieldBuilders {
205
211
  * displayName: 'Product',
206
212
  * fields: [
207
213
  * fields.shortText('title', { config: { required: true, maxLength: 200 } }),
208
- * fields.currency('price', { config: { currencyCode: 'USD', min: 0 } }),
209
- * fields.reference('category', { config: { contentType: 'category' } }),
214
+ * fields.decimal('price', { config: { min: 0, decimalPlaces: 2 } }),
215
+ * fields.reference('category', { config: { to: 'category' } }),
210
216
  * ]
211
217
  * })
212
218
  *
@@ -221,4 +227,4 @@ declare namespace fieldBuilders {
221
227
 
222
228
  declare const fields: typeof fieldBuilders;
223
229
 
224
- export { AIConfig, AllFieldTypes, AssetAIConfig, BaseFieldConfig, BooleanConfig, ComponentFieldType, DateConfig, DateTimeConfig, DecimalConfig, EmailConfig, EnumConfig, FieldAIConfig, FieldDefinition, FieldRule, FieldType, FieldUIConfig, IntegerConfig, ListConfig, LocalizationConfig, LongTextConfig, ReadOnlyRule, ReferenceConfig, RequirementRule, RichTextConfig, RuleCondition, RuleConditions, ShortTextConfig, SlugConfig, TagsConfig, UrlConfig, ValidationRule, VisibilityRule, fields };
230
+ export { AIConfig, AllFieldTypes, AssetAIConfig, BaseFieldConfig, BooleanConfig, ComponentFieldConfig, ComponentFieldType, DateConfig, DateTimeConfig, DecimalConfig, EmailConfig, EnumConfig, FieldAIConfig, FieldDefinition, FieldRule, FieldType, FieldUIConfig, IntegerConfig, ListConfig, LocalizationConfig, LongTextConfig, ReadOnlyRule, ReferenceConfig, RequirementRule, RichTextConfig, RuleCondition, RuleConditions, ShortTextConfig, SlugConfig, TagsConfig, UrlConfig, ValidationRule, VisibilityRule, fields };
@@ -1,4 +1,4 @@
1
- export { BUILT_IN_ROLES, BUILT_IN_ROLE_ACTIONS, ROLE_ACTIONS, buildFallbackChain, defineAssetType, defineComponent, defineContentType, defineContentTypeWorkflow, defineLocale, defineQuery, defineRole, defineSchema, defineSettingsGroup, defineSingleton, defineSingletonContentType, defineView, defineWorkflow, defineWorkflowStage, fields, fieldset, findDefaultLocale, findWorkflowStage, getActiveLocales, getBuiltInRoleActions, getFirstWorkflowStage, getLocaleCodes, getNextWorkflowStage, getWorkflowStageIds, isBuiltInRole, isFinalWorkflowStage, isLocaleDefinition, isRoleDefinition, isWorkflowDefinition, isWorkflowStageDefinition } from '../chunk-XY5KFEFY.js';
1
+ export { BUILT_IN_ROLES, BUILT_IN_ROLE_ACTIONS, ROLE_ACTIONS, buildFallbackChain, defineAssetType, defineComponent, defineContentType, defineContentTypeWorkflow, defineLocale, defineQuery, defineRole, defineSchema, defineSettingsGroup, defineSingleton, defineSingletonContentType, defineView, defineWorkflow, defineWorkflowStage, fields, fieldset, findDefaultLocale, findWorkflowStage, getActiveLocales, getBuiltInRoleActions, getFirstWorkflowStage, getLocaleCodes, getNextWorkflowStage, getWorkflowStageIds, isBuiltInRole, isFinalWorkflowStage, isLocaleDefinition, isRoleDefinition, isWorkflowDefinition, isWorkflowStageDefinition } from '../chunk-YEJUMW4X.js';
2
2
  import '../chunk-XQ4QHWZE.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export { t as ApiResponse, B as BaseContent, q as CacheConfig, v as CacheStrategy, g as ContentQueryResult, k as ContentTypeSchema, C as CreateInput, j as CustomQuery, D as DebugConfig, E as Environment, T as FieldDefinition, l as FieldOptions, F as FieldTypeName, L as LogLevel, P as PerformanceMetrics, Q as QueryOptions, r as RealtimeConfig, o as RealtimeEvent, n as RealtimeEventType, R as RelyIOConfig, s as RequestConfig, u as RetryConfig, i as SettingsGroup, h as SingletonContent, f as SortOptions, p as SubscriptionOptions, U as UpdateInput, V as ValidationRule, w as ValidationViolation, d as WhereClause, e as WhereOperator } from '../index-C5mRBb6t.cjs';
2
- import '../define-content-type-CBfnTWSS.cjs';
1
+ export { v as ApiResponse, B as BaseContent, s as CacheConfig, x as CacheStrategy, j as ContentQueryResult, n as ContentTypeSchema, C as CreateInput, l as CustomQuery, D as DebugConfig, E as Environment, K as FieldDefinition, o as FieldOptions, F as FieldTypeName, L as LogLevel, P as PerformanceMetrics, Q as QueryOptions, t as RealtimeConfig, q as RealtimeEvent, p as RealtimeEventType, R as RelyIOConfig, u as RequestConfig, w as RetryConfig, k as SingletonContent, i as SortOptions, r as SubscriptionOptions, U as UpdateInput, V as ValidationRule, y as ValidationViolation, g as WhereClause, f as WhereFieldCondition, h as WhereOperator, e as WhereScalar } from '../index-DbsTUw3Q.cjs';
2
+ import '../define-content-type-DiVpbwNs.cjs';
@@ -1,2 +1,2 @@
1
- export { t as ApiResponse, B as BaseContent, q as CacheConfig, v as CacheStrategy, g as ContentQueryResult, k as ContentTypeSchema, C as CreateInput, j as CustomQuery, D as DebugConfig, E as Environment, T as FieldDefinition, l as FieldOptions, F as FieldTypeName, L as LogLevel, P as PerformanceMetrics, Q as QueryOptions, r as RealtimeConfig, o as RealtimeEvent, n as RealtimeEventType, R as RelyIOConfig, s as RequestConfig, u as RetryConfig, i as SettingsGroup, h as SingletonContent, f as SortOptions, p as SubscriptionOptions, U as UpdateInput, V as ValidationRule, w as ValidationViolation, d as WhereClause, e as WhereOperator } from '../index-mXUx2H99.js';
2
- import '../define-content-type-CBfnTWSS.js';
1
+ export { v as ApiResponse, B as BaseContent, s as CacheConfig, x as CacheStrategy, j as ContentQueryResult, n as ContentTypeSchema, C as CreateInput, l as CustomQuery, D as DebugConfig, E as Environment, K as FieldDefinition, o as FieldOptions, F as FieldTypeName, L as LogLevel, P as PerformanceMetrics, Q as QueryOptions, t as RealtimeConfig, q as RealtimeEvent, p as RealtimeEventType, R as RelyIOConfig, u as RequestConfig, w as RetryConfig, k as SingletonContent, i as SortOptions, r as SubscriptionOptions, U as UpdateInput, V as ValidationRule, y as ValidationViolation, g as WhereClause, f as WhereFieldCondition, h as WhereOperator, e as WhereScalar } from '../index-BOQIHnsh.js';
2
+ import '../define-content-type-DiVpbwNs.js';
@@ -1,81 +1,81 @@
1
1
  'use strict';
2
2
 
3
- var chunkHT6NFRM2_cjs = require('../chunk-HT6NFRM2.cjs');
3
+ var chunkTZL374LS_cjs = require('../chunk-TZL374LS.cjs');
4
4
  require('../chunk-MWMSFIWN.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "camelToSnake", {
9
9
  enumerable: true,
10
- get: function () { return chunkHT6NFRM2_cjs.camelToSnake; }
10
+ get: function () { return chunkTZL374LS_cjs.camelToSnake; }
11
11
  });
12
12
  Object.defineProperty(exports, "createDeferred", {
13
13
  enumerable: true,
14
- get: function () { return chunkHT6NFRM2_cjs.createDeferred; }
14
+ get: function () { return chunkTZL374LS_cjs.createDeferred; }
15
15
  });
16
16
  Object.defineProperty(exports, "debounce", {
17
17
  enumerable: true,
18
- get: function () { return chunkHT6NFRM2_cjs.debounce; }
18
+ get: function () { return chunkTZL374LS_cjs.debounce; }
19
19
  });
20
20
  Object.defineProperty(exports, "deepClone", {
21
21
  enumerable: true,
22
- get: function () { return chunkHT6NFRM2_cjs.deepClone; }
22
+ get: function () { return chunkTZL374LS_cjs.deepClone; }
23
23
  });
24
24
  Object.defineProperty(exports, "generateId", {
25
25
  enumerable: true,
26
- get: function () { return chunkHT6NFRM2_cjs.generateId; }
26
+ get: function () { return chunkTZL374LS_cjs.generateId; }
27
27
  });
28
28
  Object.defineProperty(exports, "isBrowser", {
29
29
  enumerable: true,
30
- get: function () { return chunkHT6NFRM2_cjs.isBrowser; }
30
+ get: function () { return chunkTZL374LS_cjs.isBrowser; }
31
31
  });
32
32
  Object.defineProperty(exports, "isNode", {
33
33
  enumerable: true,
34
- get: function () { return chunkHT6NFRM2_cjs.isNode; }
34
+ get: function () { return chunkTZL374LS_cjs.isNode; }
35
35
  });
36
36
  Object.defineProperty(exports, "isPlainObject", {
37
37
  enumerable: true,
38
- get: function () { return chunkHT6NFRM2_cjs.isPlainObject; }
38
+ get: function () { return chunkTZL374LS_cjs.isPlainObject; }
39
39
  });
40
40
  Object.defineProperty(exports, "isValidEmail", {
41
41
  enumerable: true,
42
- get: function () { return chunkHT6NFRM2_cjs.isValidEmail; }
42
+ get: function () { return chunkTZL374LS_cjs.isValidEmail; }
43
43
  });
44
44
  Object.defineProperty(exports, "isValidUrl", {
45
45
  enumerable: true,
46
- get: function () { return chunkHT6NFRM2_cjs.isValidUrl; }
46
+ get: function () { return chunkTZL374LS_cjs.isValidUrl; }
47
47
  });
48
48
  Object.defineProperty(exports, "mergeDeep", {
49
49
  enumerable: true,
50
- get: function () { return chunkHT6NFRM2_cjs.mergeDeep; }
50
+ get: function () { return chunkTZL374LS_cjs.mergeDeep; }
51
51
  });
52
52
  Object.defineProperty(exports, "omit", {
53
53
  enumerable: true,
54
- get: function () { return chunkHT6NFRM2_cjs.omit; }
54
+ get: function () { return chunkTZL374LS_cjs.omit; }
55
55
  });
56
56
  Object.defineProperty(exports, "pick", {
57
57
  enumerable: true,
58
- get: function () { return chunkHT6NFRM2_cjs.pick; }
58
+ get: function () { return chunkTZL374LS_cjs.pick; }
59
59
  });
60
60
  Object.defineProperty(exports, "retry", {
61
61
  enumerable: true,
62
- get: function () { return chunkHT6NFRM2_cjs.retry; }
62
+ get: function () { return chunkTZL374LS_cjs.retry; }
63
63
  });
64
64
  Object.defineProperty(exports, "sleep", {
65
65
  enumerable: true,
66
- get: function () { return chunkHT6NFRM2_cjs.sleep; }
66
+ get: function () { return chunkTZL374LS_cjs.sleep; }
67
67
  });
68
68
  Object.defineProperty(exports, "snakeToCamel", {
69
69
  enumerable: true,
70
- get: function () { return chunkHT6NFRM2_cjs.snakeToCamel; }
70
+ get: function () { return chunkTZL374LS_cjs.snakeToCamel; }
71
71
  });
72
72
  Object.defineProperty(exports, "throttle", {
73
73
  enumerable: true,
74
- get: function () { return chunkHT6NFRM2_cjs.throttle; }
74
+ get: function () { return chunkTZL374LS_cjs.throttle; }
75
75
  });
76
76
  Object.defineProperty(exports, "toSafeString", {
77
77
  enumerable: true,
78
- get: function () { return chunkHT6NFRM2_cjs.toSafeString; }
78
+ get: function () { return chunkTZL374LS_cjs.toSafeString; }
79
79
  });
80
80
  //# sourceMappingURL=index.cjs.map
81
81
  //# sourceMappingURL=index.cjs.map
@@ -2,7 +2,16 @@
2
2
  * Utility functions for the RelyIO SDK
3
3
  */
4
4
  /**
5
- * Check if code is running in a browser environment
5
+ * Whether code is running in a browser page: a global `window` that has a `document`.
6
+ *
7
+ * The one definition. The HTTP client asks it for its `User-Agent`, `credentials` mode, CORS hook
8
+ * and forbidden-header filter, `@relyio/react`'s `live` for its refusal and the preview toolbar for
9
+ * its mount check, so none of them can disagree. A `window` alone is not enough: Deno 1.x's global
10
+ * object is a `window` with no `document`, and it is a server runtime. A Web Worker has neither and
11
+ * is not a page either.
12
+ *
13
+ * This is the one file under `packages/customer` where `typeof window` is written; the
14
+ * `browser-check` lint fence refuses it anywhere else in a customer package (REL-1409).
6
15
  */
7
16
  declare function isBrowser(): boolean;
8
17
  /**
@@ -2,7 +2,16 @@
2
2
  * Utility functions for the RelyIO SDK
3
3
  */
4
4
  /**
5
- * Check if code is running in a browser environment
5
+ * Whether code is running in a browser page: a global `window` that has a `document`.
6
+ *
7
+ * The one definition. The HTTP client asks it for its `User-Agent`, `credentials` mode, CORS hook
8
+ * and forbidden-header filter, `@relyio/react`'s `live` for its refusal and the preview toolbar for
9
+ * its mount check, so none of them can disagree. A `window` alone is not enough: Deno 1.x's global
10
+ * object is a `window` with no `document`, and it is a server runtime. A Web Worker has neither and
11
+ * is not a page either.
12
+ *
13
+ * This is the one file under `packages/customer` where `typeof window` is written; the
14
+ * `browser-check` lint fence refuses it anywhere else in a customer package (REL-1409).
6
15
  */
7
16
  declare function isBrowser(): boolean;
8
17
  /**