@nascentdigital/funnel-core 4.4.4
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.
- package/dist/app/AppConfig.d.ts +41 -0
- package/dist/app/AppConfig.js +93 -0
- package/dist/app/BrandConfig.d.ts +13 -0
- package/dist/app/BrandConfig.js +2 -0
- package/dist/app/FeaturesConfig.d.ts +6 -0
- package/dist/app/FeaturesConfig.js +2 -0
- package/dist/app/RegionsConfig.d.ts +43 -0
- package/dist/app/RegionsConfig.js +113 -0
- package/dist/app/UIConfig.d.ts +4 -0
- package/dist/app/UIConfig.js +2 -0
- package/dist/app/index.d.ts +5 -0
- package/dist/app/index.js +21 -0
- package/dist/consent/ConsentCategory.d.ts +12 -0
- package/dist/consent/ConsentCategory.js +28 -0
- package/dist/consent/ConsentService.d.ts +15 -0
- package/dist/consent/ConsentService.js +37 -0
- package/dist/consent/index.d.ts +2 -0
- package/dist/consent/index.js +18 -0
- package/dist/errors/IsometricError.d.ts +19 -0
- package/dist/errors/IsometricError.js +30 -0
- package/dist/errors/IsometricErrorModule.d.ts +11 -0
- package/dist/errors/IsometricErrorModule.js +2 -0
- package/dist/errors/IsometricErrorUtils.d.ts +9 -0
- package/dist/errors/IsometricErrorUtils.js +85 -0
- package/dist/errors/SerializedIsometricError.d.ts +10 -0
- package/dist/errors/SerializedIsometricError.js +15 -0
- package/dist/errors/api/ApiError.d.ts +15 -0
- package/dist/errors/api/ApiError.js +23 -0
- package/dist/errors/api/ApiErrors.d.ts +7 -0
- package/dist/errors/api/ApiErrors.js +67 -0
- package/dist/errors/api/ArgumentError.d.ts +7 -0
- package/dist/errors/api/ArgumentError.js +18 -0
- package/dist/errors/api/ConcurrencyError.d.ts +4 -0
- package/dist/errors/api/ConcurrencyError.js +11 -0
- package/dist/errors/api/ConflictError.d.ts +4 -0
- package/dist/errors/api/ConflictError.js +11 -0
- package/dist/errors/api/DependencyError.d.ts +4 -0
- package/dist/errors/api/DependencyError.js +11 -0
- package/dist/errors/api/IllegalStateError.d.ts +4 -0
- package/dist/errors/api/IllegalStateError.js +11 -0
- package/dist/errors/api/InvalidOperationError.d.ts +4 -0
- package/dist/errors/api/InvalidOperationError.js +11 -0
- package/dist/errors/api/NotAuthenticatedError.d.ts +4 -0
- package/dist/errors/api/NotAuthenticatedError.js +11 -0
- package/dist/errors/api/NotAuthorizedError.d.ts +4 -0
- package/dist/errors/api/NotAuthorizedError.js +11 -0
- package/dist/errors/api/NotAvailableError.d.ts +4 -0
- package/dist/errors/api/NotAvailableError.js +11 -0
- package/dist/errors/api/NotFoundError.d.ts +4 -0
- package/dist/errors/api/NotFoundError.js +11 -0
- package/dist/errors/api/NotImplementedError.d.ts +4 -0
- package/dist/errors/api/NotImplementedError.js +11 -0
- package/dist/errors/api/OfflineError.d.ts +4 -0
- package/dist/errors/api/OfflineError.js +11 -0
- package/dist/errors/api/RangeError.d.ts +4 -0
- package/dist/errors/api/RangeError.js +11 -0
- package/dist/errors/api/ServerError.d.ts +4 -0
- package/dist/errors/api/ServerError.js +11 -0
- package/dist/errors/api/TimeoutError.d.ts +4 -0
- package/dist/errors/api/TimeoutError.js +11 -0
- package/dist/errors/api/index.d.ts +16 -0
- package/dist/errors/api/index.js +32 -0
- package/dist/errors/index.d.ts +5 -0
- package/dist/errors/index.js +26 -0
- package/dist/forms/FormModel.d.ts +47 -0
- package/dist/forms/FormModel.js +149 -0
- package/dist/forms/Forms.d.ts +15 -0
- package/dist/forms/Forms.js +35 -0
- package/dist/forms/IFormService.d.ts +6 -0
- package/dist/forms/IFormService.js +2 -0
- package/dist/forms/TranslateSchema.d.ts +8 -0
- package/dist/forms/TranslateSchema.js +2 -0
- package/dist/forms/index.d.ts +4 -0
- package/dist/forms/index.js +20 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +49 -0
- package/dist/regionalization/Country.d.ts +266 -0
- package/dist/regionalization/Country.js +338 -0
- package/dist/regionalization/Language.d.ts +199 -0
- package/dist/regionalization/Language.js +237 -0
- package/dist/regionalization/Locale.d.ts +28 -0
- package/dist/regionalization/Locale.js +49 -0
- package/dist/regionalization/Localized.d.ts +10 -0
- package/dist/regionalization/Localized.js +36 -0
- package/dist/regionalization/LocalizedCopy.d.ts +9 -0
- package/dist/regionalization/LocalizedCopy.js +26 -0
- package/dist/regionalization/Regionalization.d.ts +50 -0
- package/dist/regionalization/Regionalization.js +260 -0
- package/dist/regionalization/Regions.d.ts +2 -0
- package/dist/regionalization/Regions.js +2 -0
- package/dist/regionalization/index.d.ts +7 -0
- package/dist/regionalization/index.js +23 -0
- package/dist/schema/Asset.d.ts +23 -0
- package/dist/schema/Asset.js +36 -0
- package/dist/schema/AssetScope.d.ts +75 -0
- package/dist/schema/AssetScope.js +146 -0
- package/dist/schema/Block.d.ts +105 -0
- package/dist/schema/Block.js +122 -0
- package/dist/schema/ChangeSet.d.ts +108 -0
- package/dist/schema/ChangeSet.js +187 -0
- package/dist/schema/Collection.d.ts +197 -0
- package/dist/schema/Collection.js +165 -0
- package/dist/schema/CollectionModel.d.ts +30 -0
- package/dist/schema/CollectionModel.js +383 -0
- package/dist/schema/CollectionSnapshot.d.ts +11 -0
- package/dist/schema/CollectionSnapshot.js +12 -0
- package/dist/schema/Fields.d.ts +31 -0
- package/dist/schema/Fields.js +21 -0
- package/dist/schema/Form.d.ts +31 -0
- package/dist/schema/Form.js +23 -0
- package/dist/schema/LinkedCollectionModel.d.ts +9 -0
- package/dist/schema/LinkedCollectionModel.js +19 -0
- package/dist/schema/LinkedData.d.ts +44 -0
- package/dist/schema/LinkedData.js +288 -0
- package/dist/schema/LinkedPageModel.d.ts +11 -0
- package/dist/schema/LinkedPageModel.js +26 -0
- package/dist/schema/Optional.d.ts +23 -0
- package/dist/schema/Optional.js +34 -0
- package/dist/schema/Page.d.ts +299 -0
- package/dist/schema/Page.js +244 -0
- package/dist/schema/PageModel.d.ts +58 -0
- package/dist/schema/PageModel.js +881 -0
- package/dist/schema/PageQuery.d.ts +60 -0
- package/dist/schema/PageQuery.js +116 -0
- package/dist/schema/PageRoute.d.ts +7 -0
- package/dist/schema/PageRoute.js +48 -0
- package/dist/schema/PageSnapshot.d.ts +11 -0
- package/dist/schema/PageSnapshot.js +12 -0
- package/dist/schema/Section.d.ts +71 -0
- package/dist/schema/Section.js +35 -0
- package/dist/schema/Seo.d.ts +13 -0
- package/dist/schema/Seo.js +25 -0
- package/dist/schema/Site.d.ts +40 -0
- package/dist/schema/Site.js +87 -0
- package/dist/schema/SiteModel.d.ts +5 -0
- package/dist/schema/SiteModel.js +10 -0
- package/dist/schema/Tag.d.ts +28 -0
- package/dist/schema/Tag.js +59 -0
- package/dist/schema/TagGroup.d.ts +26 -0
- package/dist/schema/TagGroup.js +64 -0
- package/dist/schema/field/Field.d.ts +179 -0
- package/dist/schema/field/Field.js +309 -0
- package/dist/schema/field/base/AssetField.d.ts +148 -0
- package/dist/schema/field/base/AssetField.js +206 -0
- package/dist/schema/field/base/BooleanField.d.ts +21 -0
- package/dist/schema/field/base/BooleanField.js +38 -0
- package/dist/schema/field/base/CollectionField.d.ts +34 -0
- package/dist/schema/field/base/CollectionField.js +85 -0
- package/dist/schema/field/base/DateField.d.ts +21 -0
- package/dist/schema/field/base/DateField.js +37 -0
- package/dist/schema/field/base/DynamicPagesField.d.ts +36 -0
- package/dist/schema/field/base/DynamicPagesField.js +50 -0
- package/dist/schema/field/base/EmbeddedVideoField.d.ts +45 -0
- package/dist/schema/field/base/EmbeddedVideoField.js +176 -0
- package/dist/schema/field/base/EnumField.d.ts +40 -0
- package/dist/schema/field/base/EnumField.js +131 -0
- package/dist/schema/field/base/FormField.d.ts +25 -0
- package/dist/schema/field/base/FormField.js +48 -0
- package/dist/schema/field/base/LinkField.d.ts +103 -0
- package/dist/schema/field/base/LinkField.js +201 -0
- package/dist/schema/field/base/PageField.d.ts +46 -0
- package/dist/schema/field/base/PageField.js +83 -0
- package/dist/schema/field/base/RichTextField.d.ts +71 -0
- package/dist/schema/field/base/RichTextField.js +196 -0
- package/dist/schema/field/base/TextField.d.ts +33 -0
- package/dist/schema/field/base/TextField.js +86 -0
- package/dist/schema/field/base/TimestampField.d.ts +25 -0
- package/dist/schema/field/base/TimestampField.js +41 -0
- package/dist/schema/field/base/index.d.ts +13 -0
- package/dist/schema/field/base/index.js +29 -0
- package/dist/schema/field/composite/ListField.d.ts +47 -0
- package/dist/schema/field/composite/ListField.js +107 -0
- package/dist/schema/field/composite/ObjectField.d.ts +56 -0
- package/dist/schema/field/composite/ObjectField.js +19 -0
- package/dist/schema/field/composite/index.d.ts +2 -0
- package/dist/schema/field/composite/index.js +18 -0
- package/dist/schema/field/index.d.ts +3 -0
- package/dist/schema/field/index.js +19 -0
- package/dist/schema/index.d.ts +25 -0
- package/dist/schema/index.js +41 -0
- package/dist/services/EventBus.d.ts +17 -0
- package/dist/services/EventBus.js +37 -0
- package/dist/services/humanVerification/IHumanVerification.d.ts +8 -0
- package/dist/services/humanVerification/IHumanVerification.js +2 -0
- package/dist/services/humanVerification/index.d.ts +1 -0
- package/dist/services/humanVerification/index.js +17 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.js +19 -0
- package/dist/services/leadGen/Contact.d.ts +40 -0
- package/dist/services/leadGen/Contact.js +38 -0
- package/dist/services/leadGen/ILeadGen.d.ts +16 -0
- package/dist/services/leadGen/ILeadGen.js +2 -0
- package/dist/services/leadGen/index.d.ts +2 -0
- package/dist/services/leadGen/index.js +18 -0
- package/dist/types/BoxedValue.d.ts +3 -0
- package/dist/types/BoxedValue.js +2 -0
- package/dist/types/Callback.d.ts +9 -0
- package/dist/types/Callback.js +2 -0
- package/dist/types/DateString.d.ts +35 -0
- package/dist/types/DateString.js +172 -0
- package/dist/types/FilterConditionally.d.ts +3 -0
- package/dist/types/FilterConditionally.js +2 -0
- package/dist/types/MaybeConditionalValue.d.ts +8 -0
- package/dist/types/MaybeConditionalValue.js +12 -0
- package/dist/types/Ordinal.d.ts +17 -0
- package/dist/types/Ordinal.js +38 -0
- package/dist/types/OverridableStringUnion.d.ts +2 -0
- package/dist/types/OverridableStringUnion.js +2 -0
- package/dist/types/PartialBy.d.ts +1 -0
- package/dist/types/PartialBy.js +2 -0
- package/dist/types/PickData.d.ts +6 -0
- package/dist/types/PickData.js +2 -0
- package/dist/types/Provider.d.ts +4 -0
- package/dist/types/Provider.js +2 -0
- package/dist/types/RequiredBy.d.ts +1 -0
- package/dist/types/RequiredBy.js +2 -0
- package/dist/types/Result.d.ts +16 -0
- package/dist/types/Result.js +2 -0
- package/dist/types/Timestamp.d.ts +17 -0
- package/dist/types/Timestamp.js +57 -0
- package/dist/types/Transform.d.ts +4 -0
- package/dist/types/Transform.js +2 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.js +30 -0
- package/dist/ui/Accessible.d.ts +5 -0
- package/dist/ui/Accessible.js +15 -0
- package/dist/ui/BlockThemes.d.ts +19 -0
- package/dist/ui/BlockThemes.js +29 -0
- package/dist/ui/ColorMode.d.ts +12 -0
- package/dist/ui/ColorMode.js +49 -0
- package/dist/ui/File.d.ts +43 -0
- package/dist/ui/File.js +55 -0
- package/dist/ui/FileType.d.ts +8 -0
- package/dist/ui/FileType.js +48 -0
- package/dist/ui/ImageSource.d.ts +12 -0
- package/dist/ui/ImageSource.js +48 -0
- package/dist/ui/MimeType.d.ts +28 -0
- package/dist/ui/MimeType.js +110 -0
- package/dist/ui/Placement.d.ts +21 -0
- package/dist/ui/Placement.js +135 -0
- package/dist/ui/Position.d.ts +6 -0
- package/dist/ui/Position.js +42 -0
- package/dist/ui/Selector.d.ts +6 -0
- package/dist/ui/Selector.js +23 -0
- package/dist/ui/SemanticColor.d.ts +8 -0
- package/dist/ui/SemanticColor.js +237 -0
- package/dist/ui/Visual.d.ts +24 -0
- package/dist/ui/Visual.js +66 -0
- package/dist/ui/block-layout/BlockLayout.d.ts +99 -0
- package/dist/ui/block-layout/BlockLayout.js +286 -0
- package/dist/ui/block-layout/index.d.ts +1 -0
- package/dist/ui/block-layout/index.js +17 -0
- package/dist/ui/browser/BlurHasher.d.ts +13 -0
- package/dist/ui/browser/BlurHasher.js +76 -0
- package/dist/ui/browser/Browser.d.ts +107 -0
- package/dist/ui/browser/Browser.js +313 -0
- package/dist/ui/browser/ImageProxy.d.ts +30 -0
- package/dist/ui/browser/ImageProxy.js +132 -0
- package/dist/ui/browser/InputEvent.d.ts +13 -0
- package/dist/ui/browser/InputEvent.js +2 -0
- package/dist/ui/browser/SVGProxy.d.ts +9 -0
- package/dist/ui/browser/SVGProxy.js +59 -0
- package/dist/ui/browser/VideoProxy.d.ts +42 -0
- package/dist/ui/browser/VideoProxy.js +235 -0
- package/dist/ui/browser/index.d.ts +6 -0
- package/dist/ui/browser/index.js +22 -0
- package/dist/ui/fields/Field.d.ts +80 -0
- package/dist/ui/fields/Field.js +298 -0
- package/dist/ui/fields/FieldList.d.ts +80 -0
- package/dist/ui/fields/FieldList.js +421 -0
- package/dist/ui/fields/FieldListValidator.d.ts +9 -0
- package/dist/ui/fields/FieldListValidator.js +37 -0
- package/dist/ui/fields/FieldModel.d.ts +15 -0
- package/dist/ui/fields/FieldModel.js +28 -0
- package/dist/ui/fields/FieldSerializer.d.ts +13 -0
- package/dist/ui/fields/FieldSerializer.js +71 -0
- package/dist/ui/fields/FieldValidator.d.ts +19 -0
- package/dist/ui/fields/FieldValidator.js +98 -0
- package/dist/ui/fields/ObjectField.d.ts +75 -0
- package/dist/ui/fields/ObjectField.js +288 -0
- package/dist/ui/fields/errors.json +44 -0
- package/dist/ui/fields/index.d.ts +7 -0
- package/dist/ui/fields/index.js +23 -0
- package/dist/ui/fields/validators/AssetValidator.d.ts +9 -0
- package/dist/ui/fields/validators/AssetValidator.js +25 -0
- package/dist/ui/fields/validators/DateValidator.d.ts +9 -0
- package/dist/ui/fields/validators/DateValidator.js +41 -0
- package/dist/ui/fields/validators/EnumValidator.d.ts +10 -0
- package/dist/ui/fields/validators/EnumValidator.js +77 -0
- package/dist/ui/fields/validators/GenericValidator.d.ts +6 -0
- package/dist/ui/fields/validators/GenericValidator.js +22 -0
- package/dist/ui/fields/validators/LinkValidator.d.ts +9 -0
- package/dist/ui/fields/validators/LinkValidator.js +146 -0
- package/dist/ui/fields/validators/RichTextValidator.d.ts +6 -0
- package/dist/ui/fields/validators/RichTextValidator.js +35 -0
- package/dist/ui/fields/validators/TextValidator.d.ts +10 -0
- package/dist/ui/fields/validators/TextValidator.js +138 -0
- package/dist/ui/fields/validators/TimestampValidator.d.ts +9 -0
- package/dist/ui/fields/validators/TimestampValidator.js +41 -0
- package/dist/ui/fields/validators/ValidatorHelper.d.ts +23 -0
- package/dist/ui/fields/validators/ValidatorHelper.js +55 -0
- package/dist/ui/fields/validators/index.d.ts +8 -0
- package/dist/ui/fields/validators/index.js +24 -0
- package/dist/ui/geometry/AspectRatio.d.ts +27 -0
- package/dist/ui/geometry/AspectRatio.js +77 -0
- package/dist/ui/geometry/Bounds.d.ts +4 -0
- package/dist/ui/geometry/Bounds.js +11 -0
- package/dist/ui/geometry/Frame.d.ts +3 -0
- package/dist/ui/geometry/Frame.js +2 -0
- package/dist/ui/geometry/Insets.d.ts +14 -0
- package/dist/ui/geometry/Insets.js +14 -0
- package/dist/ui/geometry/PixelSize.d.ts +1 -0
- package/dist/ui/geometry/PixelSize.js +2 -0
- package/dist/ui/geometry/Point.d.ts +7 -0
- package/dist/ui/geometry/Point.js +15 -0
- package/dist/ui/geometry/Rect.d.ts +19 -0
- package/dist/ui/geometry/Rect.js +68 -0
- package/dist/ui/geometry/ScreenSize.d.ts +1 -0
- package/dist/ui/geometry/ScreenSize.js +2 -0
- package/dist/ui/geometry/Size.d.ts +7 -0
- package/dist/ui/geometry/Size.js +9 -0
- package/dist/ui/geometry/index.d.ts +9 -0
- package/dist/ui/geometry/index.js +25 -0
- package/dist/ui/index.d.ts +18 -0
- package/dist/ui/index.js +34 -0
- package/dist/ui/responsive/Breakpoint.d.ts +8 -0
- package/dist/ui/responsive/Breakpoint.js +24 -0
- package/dist/ui/responsive/BreakpointObserver.d.ts +16 -0
- package/dist/ui/responsive/BreakpointObserver.js +104 -0
- package/dist/ui/responsive/Breakpoints.d.ts +5 -0
- package/dist/ui/responsive/Breakpoints.js +15 -0
- package/dist/ui/responsive/ResponsiveValue.d.ts +7 -0
- package/dist/ui/responsive/ResponsiveValue.js +26 -0
- package/dist/ui/responsive/index.d.ts +4 -0
- package/dist/ui/responsive/index.js +20 -0
- package/dist/ui/richtext/LexicalUtils.d.ts +31 -0
- package/dist/ui/richtext/LexicalUtils.js +314 -0
- package/dist/ui/richtext/StyledTextNode.d.ts +33 -0
- package/dist/ui/richtext/StyledTextNode.js +101 -0
- package/dist/ui/richtext/index.d.ts +2 -0
- package/dist/ui/richtext/index.js +18 -0
- package/dist/utils/ArrayUtils.d.ts +17 -0
- package/dist/utils/ArrayUtils.js +66 -0
- package/dist/utils/ByteSize.d.ts +19 -0
- package/dist/utils/ByteSize.js +33 -0
- package/dist/utils/DateUtils.d.ts +15 -0
- package/dist/utils/DateUtils.js +100 -0
- package/dist/utils/Deferral.d.ts +28 -0
- package/dist/utils/Deferral.js +107 -0
- package/dist/utils/Duration.d.ts +7 -0
- package/dist/utils/Duration.js +35 -0
- package/dist/utils/Fn.d.ts +14 -0
- package/dist/utils/Fn.js +52 -0
- package/dist/utils/ObjectUtils.d.ts +89 -0
- package/dist/utils/ObjectUtils.js +159 -0
- package/dist/utils/Random.d.ts +15 -0
- package/dist/utils/Random.js +72 -0
- package/dist/utils/StringUtils.d.ts +10 -0
- package/dist/utils/StringUtils.js +51 -0
- package/dist/utils/UrlUtils.d.ts +22 -0
- package/dist/utils/UrlUtils.js +119 -0
- package/dist/utils/Value.d.ts +23 -0
- package/dist/utils/Value.js +122 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.js +28 -0
- package/dist/utils/isDefined.d.ts +1 -0
- package/dist/utils/isDefined.js +6 -0
- package/package.json +64 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TagGroup = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const Tag_1 = require("./Tag");
|
|
6
|
+
// schema
|
|
7
|
+
class TagGroup {
|
|
8
|
+
constructor(args) {
|
|
9
|
+
// throw if id isn't valid
|
|
10
|
+
Tag_1.Tag.validateComponent(args.id, 'TagGroup.id');
|
|
11
|
+
// initialize instance variables
|
|
12
|
+
this.id = args.id;
|
|
13
|
+
this.name = args.name;
|
|
14
|
+
this.tags = Object.entries(args.tags)
|
|
15
|
+
.reduce((tags, [tagIdRaw, name]) => {
|
|
16
|
+
// bind tag
|
|
17
|
+
const tagId = tagIdRaw;
|
|
18
|
+
tags[tagId] = new Tag_1.Tag({
|
|
19
|
+
groupId: args.id,
|
|
20
|
+
id: tagId,
|
|
21
|
+
name
|
|
22
|
+
});
|
|
23
|
+
// keep reducing
|
|
24
|
+
return tags;
|
|
25
|
+
}, {});
|
|
26
|
+
}
|
|
27
|
+
get tagIds() {
|
|
28
|
+
return Object.values(this.tags).map(tag => tag.id);
|
|
29
|
+
}
|
|
30
|
+
get(tagId) {
|
|
31
|
+
return this.tags[tagId];
|
|
32
|
+
}
|
|
33
|
+
extract(...tagIds) {
|
|
34
|
+
const { tags } = this;
|
|
35
|
+
return tagIds.map(tagId => tags[tagId])
|
|
36
|
+
.filter(utils_1.Value.isDefined);
|
|
37
|
+
}
|
|
38
|
+
map(mapper) {
|
|
39
|
+
return Object.values(this.tags).map(mapper);
|
|
40
|
+
}
|
|
41
|
+
parse(data) {
|
|
42
|
+
const { id, tags } = this;
|
|
43
|
+
return data
|
|
44
|
+
.map(tagData => {
|
|
45
|
+
// skip if it's not valid
|
|
46
|
+
const components = Tag_1.Tag.Data.parse(tagData);
|
|
47
|
+
if (!components) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
// or if it's not this group
|
|
51
|
+
const { tagGroupId, tagId } = components;
|
|
52
|
+
if (tagGroupId !== id) {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
// otherwise, return tag (if it exists)
|
|
56
|
+
return tags[tagId];
|
|
57
|
+
})
|
|
58
|
+
.filter(utils_1.Value.isDefined);
|
|
59
|
+
}
|
|
60
|
+
static create(args) {
|
|
61
|
+
return new TagGroup(args);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.TagGroup = TagGroup;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type { RequiredBy } from '../../types';
|
|
2
|
+
import { Collection as CollectionType } from '../Collection';
|
|
3
|
+
import { Optional } from '../Optional';
|
|
4
|
+
import type { Page as PageType } from '../Page';
|
|
5
|
+
import { AssetField, BooleanField, CollectionField, DateField, DynamicPagesField, EmbeddedVideoField, EnumField, FormField, LinkField, ListField, ObjectField, PageField, RichTextField, TextField, TimestampField } from './';
|
|
6
|
+
export declare abstract class Field<TChild extends Field.Type = Field.Type> {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly hint?: string;
|
|
9
|
+
readonly description?: string;
|
|
10
|
+
readonly required: boolean;
|
|
11
|
+
protected constructor(args: Field.ConstructorArgs);
|
|
12
|
+
optional(): Optional<TChild>;
|
|
13
|
+
unwrap(): this;
|
|
14
|
+
abstract modify(args: Field.ModifyArgs): TChild;
|
|
15
|
+
rename(name: string): TChild;
|
|
16
|
+
require(): TChild;
|
|
17
|
+
}
|
|
18
|
+
export declare namespace Field {
|
|
19
|
+
type ConstructorArgs = {
|
|
20
|
+
name: string;
|
|
21
|
+
hint?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
required?: boolean;
|
|
24
|
+
};
|
|
25
|
+
type ModifyArgs = Partial<ConstructorArgs>;
|
|
26
|
+
type Type = Type.Simple | Type.Composite;
|
|
27
|
+
namespace Type {
|
|
28
|
+
type Id = Simple.Id | Composite.Id;
|
|
29
|
+
type Simple = Simple.NonAggregate | Simple.Aggregate;
|
|
30
|
+
namespace Simple {
|
|
31
|
+
type Id = Simple['type'];
|
|
32
|
+
type Text = TextField | RichTextField | EnumField;
|
|
33
|
+
type Complex = LinkField | FormField | EmbeddedVideoField | AssetField | CollectionField | PageField;
|
|
34
|
+
type Ref = AssetField | PageField;
|
|
35
|
+
type MaybeRef = CollectionField;
|
|
36
|
+
type NonAggregate = Text | BooleanField | DateField | TimestampField | DynamicPagesField;
|
|
37
|
+
type NonRef = NonAggregate | LinkField | FormField | EmbeddedVideoField;
|
|
38
|
+
type Configuration = Text | BooleanField;
|
|
39
|
+
type Aggregate = Complex | Ref;
|
|
40
|
+
namespace Aggregate {
|
|
41
|
+
function filter(field: Type): field is Aggregate;
|
|
42
|
+
}
|
|
43
|
+
function filter(field: Type): field is Simple;
|
|
44
|
+
}
|
|
45
|
+
type Composite = ListField | ObjectField;
|
|
46
|
+
namespace Composite {
|
|
47
|
+
type Id = Composite['type'];
|
|
48
|
+
function filter(field: Type): field is Composite;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
type Value<T extends Type = Type> = T extends Type.Simple ? Value.ForSimpleType<T> : T extends Type.Composite ? Value.ForCompositeType<T> : never;
|
|
52
|
+
namespace Value {
|
|
53
|
+
type ForSimpleType<T extends Type.Simple> = T extends TextField ? TextField.Value : T extends RichTextField ? RichTextField.Value : T extends EnumField ? EnumField.Value<T> : T extends BooleanField ? BooleanField.Value : T extends DateField ? DateField.Value : T extends DynamicPagesField ? DynamicPagesField.Value : T extends TimestampField ? TimestampField.Value : T extends LinkField ? LinkField.Value : T extends FormField ? FormField.Value : T extends EmbeddedVideoField ? EmbeddedVideoField.Value : T extends AssetField<infer F> ? AssetField.Value<F> : T extends CollectionField<infer C> ? CollectionField.Value<C> : T extends PageField<infer S> ? PageField.Value<S> : 'invalid type';
|
|
54
|
+
type ForSimpleRefType<T extends Type.Simple.MaybeRef> = T extends CollectionField ? CollectionField.Value.ForRef : 'invalid type';
|
|
55
|
+
type ForSimpleInlineType<T extends Type.Simple.MaybeRef> = T extends CollectionField ? CollectionField.Value.ForInline : 'invalid type';
|
|
56
|
+
type ForCompositeType<T extends Type.Composite> = T extends ObjectField ? ObjectField.Value<T> : T extends ListField ? ListField.Value<T> : 'invalid type';
|
|
57
|
+
type ForOptionalType<T extends Optional.Maybe<Type>> = T extends Optional<any> ? Value<T['schema']> | undefined : T extends Type ? Value<T> : 'invalid type';
|
|
58
|
+
}
|
|
59
|
+
type LinkedValue<T extends Type = Type> = T extends Type.Simple ? LinkedValue.ForSimpleType<T> : T extends Type.Composite ? LinkedValue.ForCompositeType<T> : never;
|
|
60
|
+
namespace LinkedValue {
|
|
61
|
+
type ForSimpleType<T extends Type.Simple> = T extends TextField ? TextField.Value : T extends RichTextField ? RichTextField.Value : T extends EnumField ? EnumField.Value<T> : T extends BooleanField ? BooleanField.Value : T extends DateField ? DateField.Value : T extends DynamicPagesField ? DynamicPagesField.LinkedValue : T extends TimestampField ? TimestampField.Value : T extends LinkField ? LinkField.LinkedValue : T extends FormField ? FormField.Value : T extends EmbeddedVideoField ? EmbeddedVideoField.Value : T extends AssetField<infer F> ? F : T extends CollectionField<infer C> ? CollectionField.LinkedValue<C> : T extends PageField<infer S> ? PageField.LinkedValue<S> : 'invalid type';
|
|
62
|
+
type ForCompositeType<T extends Type.Composite> = T extends ObjectField ? ObjectField.LinkedValue<T> : T extends ListField ? ListField.LinkedValue<T> : 'invalid type';
|
|
63
|
+
type ForOptionalType<T extends Optional.Maybe<Type>> = T extends Optional<any> ? LinkedValue<T['schema']> | undefined : T extends Type ? LinkedValue<T> : 'invalid type';
|
|
64
|
+
}
|
|
65
|
+
type Data<T extends Type = Type> = T extends Type.Simple ? T extends Type.Simple.MaybeRef ? Data.ForSimpleMaybeRefType<T> | Data.ForSimpleMaybeInlineType<T> : T extends Type.Simple.Ref ? Data.ForSimpleRefType<T> : Data.ForSimpleType<T> : T extends Type.Composite ? Data.ForCompositeType<T> : never;
|
|
66
|
+
namespace Data {
|
|
67
|
+
type ForSimpleMaybeRefType<T extends Type.Simple.MaybeRef> = {
|
|
68
|
+
__ref: T['type'];
|
|
69
|
+
type: T['type'];
|
|
70
|
+
value: Value.ForSimpleRefType<T>;
|
|
71
|
+
};
|
|
72
|
+
type ForSimpleMaybeInlineType<T extends Type.Simple.MaybeRef> = {
|
|
73
|
+
type: T['type'];
|
|
74
|
+
value: Value.ForSimpleInlineType<T>;
|
|
75
|
+
};
|
|
76
|
+
type ForSimpleRefType<T extends Type.Simple.Ref> = {
|
|
77
|
+
__ref: T['type'];
|
|
78
|
+
type: T['type'];
|
|
79
|
+
value: Value.ForSimpleType<T>;
|
|
80
|
+
};
|
|
81
|
+
type ForSimpleType<T extends Type.Simple> = {
|
|
82
|
+
type: T['type'];
|
|
83
|
+
value: Value.ForSimpleType<T>;
|
|
84
|
+
};
|
|
85
|
+
namespace ForSimpleType {
|
|
86
|
+
function toValue<T extends Type.Simple.NonRef>(data?: Data.ForSimpleType<T>): Value.ForSimpleType<T> | undefined;
|
|
87
|
+
function fromValue<T extends Type.Simple.NonRef>(schema: T, value?: Value.ForSimpleType<T>): Data.ForSimpleType<T>;
|
|
88
|
+
}
|
|
89
|
+
type ForCompositeType<T extends Type.Composite> = {
|
|
90
|
+
type: T['type'];
|
|
91
|
+
value: Value.ForCompositeType<T>;
|
|
92
|
+
};
|
|
93
|
+
type ForOptionalType<T extends Optional.Maybe<Type>> = T extends Optional<any> ? Data<Optional.InnerType<T>> | undefined : T extends Type ? Data<T> : never;
|
|
94
|
+
function isTextField(data: Field.Data | undefined): data is Field.Data<TextField>;
|
|
95
|
+
function getText(data: Field.Data | undefined): string | undefined;
|
|
96
|
+
namespace InternalLink {
|
|
97
|
+
type Link = {
|
|
98
|
+
type: LinkField['type'];
|
|
99
|
+
value: LinkField.Value.Internal;
|
|
100
|
+
};
|
|
101
|
+
function filter(value: any): value is Link;
|
|
102
|
+
function getId(link: Link): PageType.Id;
|
|
103
|
+
}
|
|
104
|
+
type DynamicPages = {
|
|
105
|
+
type: DynamicPagesField['type'];
|
|
106
|
+
value: DynamicPagesField.Value;
|
|
107
|
+
};
|
|
108
|
+
namespace DynamicPages {
|
|
109
|
+
function filter(value: any): value is DynamicPages;
|
|
110
|
+
}
|
|
111
|
+
namespace Collection {
|
|
112
|
+
type Ref = Data.ForSimpleMaybeRefType<CollectionField>;
|
|
113
|
+
namespace Ref {
|
|
114
|
+
function filter(value: any): value is Ref;
|
|
115
|
+
function getId(collection: Ref): CollectionType.Id;
|
|
116
|
+
}
|
|
117
|
+
type Inline = Data.ForSimpleMaybeInlineType<CollectionField>;
|
|
118
|
+
namespace Inline {
|
|
119
|
+
function filter(value: any): value is Inline;
|
|
120
|
+
function getId(collection: Ref): CollectionType.Id;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
type Page = Data<PageField>;
|
|
124
|
+
namespace Page {
|
|
125
|
+
function filter(value: any): value is Page;
|
|
126
|
+
function getId(page: Page): PageType.Id;
|
|
127
|
+
}
|
|
128
|
+
function newValue<T extends TextField | RichTextField | ListField>(type: Data<T>['type']): Data<T>;
|
|
129
|
+
}
|
|
130
|
+
type LinkedData<T extends Type = Type> = T extends Type.Simple ? LinkedData.ForSimpleType<T> : T extends Type.Composite ? LinkedData.ForCompositeType<T> : never;
|
|
131
|
+
namespace LinkedData {
|
|
132
|
+
type ForSimpleType<T extends Type.Simple> = {
|
|
133
|
+
type: T['type'];
|
|
134
|
+
value: LinkedValue.ForSimpleType<T>;
|
|
135
|
+
};
|
|
136
|
+
type ForCompositeType<T extends Type.Composite> = {
|
|
137
|
+
type: T['type'];
|
|
138
|
+
value: LinkedValue.ForCompositeType<T>;
|
|
139
|
+
};
|
|
140
|
+
type ForOptionalType<T extends Optional.Maybe<Type>> = T extends Optional<any> ? LinkedData<Optional.InnerType<T>> | undefined : T extends Type ? LinkedData<T> : never;
|
|
141
|
+
}
|
|
142
|
+
const text: (args: TextField.ConstructorArgs) => TextField;
|
|
143
|
+
const exactText: (args: RequiredBy<Omit<TextField.ConstructorArgs, "semantics" | "regex">, "exact">) => TextField;
|
|
144
|
+
const slug: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
145
|
+
const uri: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
146
|
+
const url: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
147
|
+
const email: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
148
|
+
const phone: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
149
|
+
const phoneIntl: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
150
|
+
const password: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
151
|
+
const passwordInput: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
152
|
+
const integer: (args: Omit<TextField.ConstructorArgs, "semantics" | "regex">) => TextField;
|
|
153
|
+
const richtext: (args: RichTextField.ConstructorArgs) => RichTextField;
|
|
154
|
+
const enumeration: <T extends EnumField.Options>(args: EnumField.ConstructorArgs<T>) => EnumField<T>;
|
|
155
|
+
const boolean: (args: BooleanField.ConstructorArgs) => BooleanField;
|
|
156
|
+
const date: (args: DateField.ConstructorArgs) => DateField;
|
|
157
|
+
const timestamp: (args: TimestampField.ConstructorArgs) => TimestampField;
|
|
158
|
+
const link: ({ internal, allowExternal, allowEmail, allowPhone, ...args }: LinkField.ConstructorArgs) => LinkField;
|
|
159
|
+
const internalLink: ({ pageTypes, ...args }: ConstructorArgs & Partial<LinkField.InternalArgs>) => LinkField;
|
|
160
|
+
const externalLink: (args: ConstructorArgs) => LinkField;
|
|
161
|
+
const navigationalLink: (args: ConstructorArgs & Partial<LinkField.InternalArgs<string> & LinkField.ExternalArgs>) => LinkField;
|
|
162
|
+
const emailLink: (args: ConstructorArgs) => LinkField;
|
|
163
|
+
const phoneLink: (args: ConstructorArgs) => LinkField;
|
|
164
|
+
const dynamicPages: (args: DynamicPagesField.ConstructorArgs) => DynamicPagesField;
|
|
165
|
+
const form: (args: FormField.ConstructorArgs) => FormField;
|
|
166
|
+
const embeddedVideo: (args: EmbeddedVideoField.ConstructorArgs) => EmbeddedVideoField;
|
|
167
|
+
const media: <T extends AssetField.LinkedValue>(args: AssetField.ConstructorArgs<T>) => AssetField<T>;
|
|
168
|
+
const visual: ({ mimeTypes, tags, ...args }: AssetField.ConstructorArgs.ForVisual) => AssetField<AssetField.LinkedValue.Visual>;
|
|
169
|
+
const image: ({ mimeTypes, tags, ...args }: AssetField.ConstructorArgs.ForImage) => AssetField<AssetField.LinkedValue.Image>;
|
|
170
|
+
const svg: ({ tags, ...args }: Omit<AssetField.ConstructorArgs.ForImage, "mimeTypes">) => AssetField<AssetField.LinkedValue.Image>;
|
|
171
|
+
const logo: (args: Omit<AssetField.ConstructorArgs.ForImage, "mimeTypes" | "tags">) => AssetField<AssetField.LinkedValue.Image>;
|
|
172
|
+
const video: ({ mimeTypes, tags, ...args }: AssetField.ConstructorArgs.ForVideo) => AssetField<AssetField.LinkedValue.Video>;
|
|
173
|
+
const collection: <T extends CollectionType>(args: CollectionField.ConstructorArgs<T>) => CollectionField<T>;
|
|
174
|
+
const page: (args: Omit<PageField.ConstructorArgs, "scope">) => PageField<"full">;
|
|
175
|
+
const pagePreview: (args: Omit<PageField.ConstructorArgs, "scope">) => PageField<"preview">;
|
|
176
|
+
const pageLink: (args: Omit<PageField.ConstructorArgs, "scope">) => PageField<"link">;
|
|
177
|
+
const object: <T extends ObjectField.Content>(args: ObjectField.ConstructorArgs<T>) => ObjectField<T>;
|
|
178
|
+
const list: <T extends ListField.Content>(args: ListField.ConstructorArgs<T>) => ListField<T>;
|
|
179
|
+
}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.Field = void 0;
|
|
15
|
+
const errors_1 = require("../../errors");
|
|
16
|
+
const MimeType_1 = require("../../ui/MimeType");
|
|
17
|
+
const LexicalUtils_1 = require("../../ui/richtext/LexicalUtils");
|
|
18
|
+
const Optional_1 = require("../Optional");
|
|
19
|
+
const _1 = require("./");
|
|
20
|
+
// class
|
|
21
|
+
class Field {
|
|
22
|
+
constructor(args) {
|
|
23
|
+
var _a;
|
|
24
|
+
// initialize instance variables
|
|
25
|
+
this.name = args.name;
|
|
26
|
+
this.hint = args.hint;
|
|
27
|
+
this.description = args.description;
|
|
28
|
+
this.required = (_a = args.required) !== null && _a !== void 0 ? _a : true;
|
|
29
|
+
}
|
|
30
|
+
optional() {
|
|
31
|
+
return new Optional_1.Optional(this);
|
|
32
|
+
}
|
|
33
|
+
unwrap() {
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
rename(name) {
|
|
37
|
+
return this.modify({ name });
|
|
38
|
+
}
|
|
39
|
+
require() {
|
|
40
|
+
return this.modify({ required: true });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.Field = Field;
|
|
44
|
+
// extension
|
|
45
|
+
(function (Field) {
|
|
46
|
+
let Type;
|
|
47
|
+
(function (Type) {
|
|
48
|
+
let Simple;
|
|
49
|
+
(function (Simple) {
|
|
50
|
+
let Aggregate;
|
|
51
|
+
(function (Aggregate) {
|
|
52
|
+
function filter(field) {
|
|
53
|
+
switch (field.type) {
|
|
54
|
+
case 'link':
|
|
55
|
+
case 'form':
|
|
56
|
+
case 'embedded.video':
|
|
57
|
+
case 'asset':
|
|
58
|
+
case 'collection':
|
|
59
|
+
case 'page':
|
|
60
|
+
return true;
|
|
61
|
+
default:
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
Aggregate.filter = filter;
|
|
66
|
+
})(Aggregate = Simple.Aggregate || (Simple.Aggregate = {}));
|
|
67
|
+
// helpers
|
|
68
|
+
function filter(field) {
|
|
69
|
+
switch (field.type) {
|
|
70
|
+
case 'text':
|
|
71
|
+
case 'richtext':
|
|
72
|
+
case 'enum':
|
|
73
|
+
case 'boolean':
|
|
74
|
+
case 'date':
|
|
75
|
+
case 'timestamp':
|
|
76
|
+
case 'link':
|
|
77
|
+
case 'form':
|
|
78
|
+
case 'embedded.video':
|
|
79
|
+
case 'asset':
|
|
80
|
+
case 'collection':
|
|
81
|
+
case 'page':
|
|
82
|
+
return true;
|
|
83
|
+
default:
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
Simple.filter = filter;
|
|
88
|
+
})(Simple = Type.Simple || (Type.Simple = {}));
|
|
89
|
+
let Composite;
|
|
90
|
+
(function (Composite) {
|
|
91
|
+
// helpers
|
|
92
|
+
function filter(field) {
|
|
93
|
+
switch (field.type) {
|
|
94
|
+
case 'object':
|
|
95
|
+
case 'list':
|
|
96
|
+
return true;
|
|
97
|
+
default:
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
Composite.filter = filter;
|
|
102
|
+
})(Composite = Type.Composite || (Type.Composite = {}));
|
|
103
|
+
})(Type = Field.Type || (Field.Type = {}));
|
|
104
|
+
let Data;
|
|
105
|
+
(function (Data) {
|
|
106
|
+
let ForSimpleType;
|
|
107
|
+
(function (ForSimpleType) {
|
|
108
|
+
function toValue(data) {
|
|
109
|
+
return data === null || data === void 0 ? void 0 : data.value;
|
|
110
|
+
}
|
|
111
|
+
ForSimpleType.toValue = toValue;
|
|
112
|
+
function fromValue(schema, value) {
|
|
113
|
+
return {
|
|
114
|
+
type: schema.type,
|
|
115
|
+
value: value
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
ForSimpleType.fromValue = fromValue;
|
|
119
|
+
})(ForSimpleType = Data.ForSimpleType || (Data.ForSimpleType = {}));
|
|
120
|
+
// text
|
|
121
|
+
function isTextField(data) {
|
|
122
|
+
return (data === null || data === void 0 ? void 0 : data.type) === 'text';
|
|
123
|
+
}
|
|
124
|
+
Data.isTextField = isTextField;
|
|
125
|
+
function getText(data) {
|
|
126
|
+
var _a, _b, _c;
|
|
127
|
+
switch (data === null || data === void 0 ? void 0 : data.type) {
|
|
128
|
+
case 'text':
|
|
129
|
+
return _1.TextField.Value.fromData(data);
|
|
130
|
+
case 'enum':
|
|
131
|
+
return _1.EnumField.Value.fromData(data);
|
|
132
|
+
case 'richtext':
|
|
133
|
+
return ((_c = LexicalUtils_1.LexicalUtils.rootToString((_b = (_a = data === null || data === void 0 ? void 0 : data.value) === null || _a === void 0 ? void 0 : _a.editorState) === null || _b === void 0 ? void 0 : _b.root)) === null || _c === void 0 ? void 0 : _c.trim()) || undefined;
|
|
134
|
+
default:
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
Data.getText = getText;
|
|
139
|
+
// link (internal)
|
|
140
|
+
let InternalLink;
|
|
141
|
+
(function (InternalLink) {
|
|
142
|
+
// guard
|
|
143
|
+
function filter(value) {
|
|
144
|
+
return !!value
|
|
145
|
+
&& typeof value === 'object'
|
|
146
|
+
&& !Array.isArray(value)
|
|
147
|
+
&& 'type' in value
|
|
148
|
+
&& value.type === 'link'
|
|
149
|
+
&& 'value' in value
|
|
150
|
+
&& _1.LinkField.Value.Internal.filter(value.value);
|
|
151
|
+
}
|
|
152
|
+
InternalLink.filter = filter;
|
|
153
|
+
// helpers
|
|
154
|
+
function getId(link) {
|
|
155
|
+
return link.value.page.value.id;
|
|
156
|
+
}
|
|
157
|
+
InternalLink.getId = getId;
|
|
158
|
+
})(InternalLink = Data.InternalLink || (Data.InternalLink = {}));
|
|
159
|
+
let DynamicPages;
|
|
160
|
+
(function (DynamicPages) {
|
|
161
|
+
// guard
|
|
162
|
+
function filter(value) {
|
|
163
|
+
return !!value
|
|
164
|
+
&& typeof value === 'object'
|
|
165
|
+
&& !Array.isArray(value)
|
|
166
|
+
&& 'type' in value
|
|
167
|
+
&& value.type === 'dynamic.pages'
|
|
168
|
+
&& 'value' in value;
|
|
169
|
+
}
|
|
170
|
+
DynamicPages.filter = filter;
|
|
171
|
+
})(DynamicPages = Data.DynamicPages || (Data.DynamicPages = {}));
|
|
172
|
+
// collection ref
|
|
173
|
+
let Collection;
|
|
174
|
+
(function (Collection) {
|
|
175
|
+
let Ref;
|
|
176
|
+
(function (Ref) {
|
|
177
|
+
// guard
|
|
178
|
+
function filter(value) {
|
|
179
|
+
return !!value
|
|
180
|
+
&& typeof value === 'object'
|
|
181
|
+
&& !Array.isArray(value)
|
|
182
|
+
&& 'type' in value
|
|
183
|
+
&& value.type === 'collection'
|
|
184
|
+
&& '__ref' in value
|
|
185
|
+
&& value.__ref === 'collection'
|
|
186
|
+
&& 'value' in value
|
|
187
|
+
&& _1.CollectionField.Value.ForRef.filter(value.value);
|
|
188
|
+
}
|
|
189
|
+
Ref.filter = filter;
|
|
190
|
+
// helpers
|
|
191
|
+
function getId(collection) {
|
|
192
|
+
return collection.value.id;
|
|
193
|
+
}
|
|
194
|
+
Ref.getId = getId;
|
|
195
|
+
})(Ref = Collection.Ref || (Collection.Ref = {}));
|
|
196
|
+
let Inline;
|
|
197
|
+
(function (Inline) {
|
|
198
|
+
// guard
|
|
199
|
+
function filter(value) {
|
|
200
|
+
return !!value
|
|
201
|
+
&& typeof value === 'object'
|
|
202
|
+
&& !Array.isArray(value)
|
|
203
|
+
&& 'type' in value
|
|
204
|
+
&& value.type === 'collection'
|
|
205
|
+
&& !('__ref' in value)
|
|
206
|
+
&& 'value' in value
|
|
207
|
+
&& _1.CollectionField.Value.ForInline.filter(value.value);
|
|
208
|
+
}
|
|
209
|
+
Inline.filter = filter;
|
|
210
|
+
// helpers
|
|
211
|
+
function getId(collection) {
|
|
212
|
+
return collection.value.id;
|
|
213
|
+
}
|
|
214
|
+
Inline.getId = getId;
|
|
215
|
+
})(Inline = Collection.Inline || (Collection.Inline = {}));
|
|
216
|
+
})(Collection = Data.Collection || (Data.Collection = {}));
|
|
217
|
+
let Page;
|
|
218
|
+
(function (Page) {
|
|
219
|
+
// guard
|
|
220
|
+
function filter(value) {
|
|
221
|
+
return !!value
|
|
222
|
+
&& typeof value === 'object'
|
|
223
|
+
&& !Array.isArray(value)
|
|
224
|
+
&& 'type' in value
|
|
225
|
+
&& value.type === 'page'
|
|
226
|
+
&& '__ref' in value
|
|
227
|
+
&& value.__ref === 'page'
|
|
228
|
+
&& 'value' in value
|
|
229
|
+
&& _1.PageField.Value.filter(value.value);
|
|
230
|
+
}
|
|
231
|
+
Page.filter = filter;
|
|
232
|
+
// helpers
|
|
233
|
+
function getId(page) {
|
|
234
|
+
return page.value.id;
|
|
235
|
+
}
|
|
236
|
+
Page.getId = getId;
|
|
237
|
+
})(Page = Data.Page || (Data.Page = {}));
|
|
238
|
+
// factories
|
|
239
|
+
function newValue(type) {
|
|
240
|
+
// create value
|
|
241
|
+
switch (type) {
|
|
242
|
+
case 'text':
|
|
243
|
+
case 'richtext':
|
|
244
|
+
return { type, value: '' };
|
|
245
|
+
case 'list':
|
|
246
|
+
return { type, value: [] };
|
|
247
|
+
default:
|
|
248
|
+
throw new errors_1.NotImplementedError(`No support for creating default "${type}" field data`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
Data.newValue = newValue;
|
|
252
|
+
})(Data = Field.Data || (Field.Data = {}));
|
|
253
|
+
// factories
|
|
254
|
+
Field.text = (args) => new _1.TextField(args);
|
|
255
|
+
Field.exactText = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'short' }));
|
|
256
|
+
Field.slug = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'slug' }));
|
|
257
|
+
Field.uri = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'uri' }));
|
|
258
|
+
Field.url = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'url' }));
|
|
259
|
+
Field.email = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'email', minLength: 5, maxLength: 128 }));
|
|
260
|
+
Field.phone = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'phone' }));
|
|
261
|
+
Field.phoneIntl = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'phone-intl' }));
|
|
262
|
+
Field.password = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'password' }));
|
|
263
|
+
Field.passwordInput = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'password-input' }));
|
|
264
|
+
Field.integer = (args) => new _1.TextField(Object.assign(Object.assign({}, args), { semantics: 'integer' }));
|
|
265
|
+
Field.richtext = (args) => new _1.RichTextField(args);
|
|
266
|
+
Field.enumeration = (args) => new _1.EnumField(args);
|
|
267
|
+
Field.boolean = (args) => new _1.BooleanField(args);
|
|
268
|
+
Field.date = (args) => new _1.DateField(args);
|
|
269
|
+
Field.timestamp = (args) => new _1.TimestampField(args);
|
|
270
|
+
Field.link = (_a) => {
|
|
271
|
+
var { internal = { pageTypes: 'all' }, allowExternal = true, allowEmail = true, allowPhone = true } = _a, args = __rest(_a, ["internal", "allowExternal", "allowEmail", "allowPhone"]);
|
|
272
|
+
return new _1.LinkField(Object.assign({ internal, allowExternal, allowEmail, allowPhone }, args));
|
|
273
|
+
};
|
|
274
|
+
Field.internalLink = (_a) => {
|
|
275
|
+
var { pageTypes } = _a, args = __rest(_a, ["pageTypes"]);
|
|
276
|
+
return new _1.LinkField(Object.assign({ internal: { pageTypes: pageTypes !== null && pageTypes !== void 0 ? pageTypes : 'all' } }, args));
|
|
277
|
+
};
|
|
278
|
+
Field.externalLink = (args) => new _1.LinkField(Object.assign(Object.assign({}, args), { allowExternal: true }));
|
|
279
|
+
Field.navigationalLink = (args) => new _1.LinkField(Object.assign({ internal: { pageTypes: 'all' }, allowExternal: true }, args));
|
|
280
|
+
Field.emailLink = (args) => new _1.LinkField(Object.assign(Object.assign({}, args), { allowEmail: true }));
|
|
281
|
+
Field.phoneLink = (args) => new _1.LinkField(Object.assign(Object.assign({}, args), { allowPhone: true }));
|
|
282
|
+
Field.dynamicPages = (args) => new _1.DynamicPagesField(args);
|
|
283
|
+
Field.form = (args) => new _1.FormField(args);
|
|
284
|
+
Field.embeddedVideo = (args) => new _1.EmbeddedVideoField(Object.assign({}, args));
|
|
285
|
+
Field.media = (args) => new _1.AssetField(args);
|
|
286
|
+
Field.visual = (_a) => {
|
|
287
|
+
var { mimeTypes = [...MimeType_1.MimeType.image, ...MimeType_1.MimeType.video], tags } = _a, args = __rest(_a, ["mimeTypes", "tags"]);
|
|
288
|
+
return new _1.AssetField(Object.assign(Object.assign({}, args), { mimeTypes, tags: _1.AssetField.Tags.parse(tags) }));
|
|
289
|
+
};
|
|
290
|
+
Field.image = (_a) => {
|
|
291
|
+
var { mimeTypes = MimeType_1.MimeType.image, tags } = _a, args = __rest(_a, ["mimeTypes", "tags"]);
|
|
292
|
+
return new _1.AssetField(Object.assign(Object.assign({}, args), { mimeTypes, tags: _1.AssetField.Tags.Image.parse(tags) }));
|
|
293
|
+
};
|
|
294
|
+
Field.svg = (_a) => {
|
|
295
|
+
var { tags } = _a, args = __rest(_a, ["tags"]);
|
|
296
|
+
return new _1.AssetField(Object.assign(Object.assign({}, args), { mimeTypes: ['image/svg+xml'], tags: _1.AssetField.Tags.Image.parse(tags) }));
|
|
297
|
+
};
|
|
298
|
+
Field.logo = (args) => new _1.AssetField(Object.assign(Object.assign({}, args), { mimeTypes: ['image/webp', 'image/png', 'image/svg+xml'], tags: _1.AssetField.Tags.Image.parse(['logo', 'brand']) }));
|
|
299
|
+
Field.video = (_a) => {
|
|
300
|
+
var { mimeTypes = MimeType_1.MimeType.video, tags } = _a, args = __rest(_a, ["mimeTypes", "tags"]);
|
|
301
|
+
return new _1.AssetField(Object.assign(Object.assign({}, args), { mimeTypes, tags: _1.AssetField.Tags.Video.parse(tags) }));
|
|
302
|
+
};
|
|
303
|
+
Field.collection = (args) => new _1.CollectionField(args);
|
|
304
|
+
Field.page = (args) => new _1.PageField(Object.assign(Object.assign({}, args), { scope: 'full' }));
|
|
305
|
+
Field.pagePreview = (args) => new _1.PageField(Object.assign(Object.assign({}, args), { scope: 'preview' }));
|
|
306
|
+
Field.pageLink = (args) => new _1.PageField(Object.assign(Object.assign({}, args), { scope: 'link' }));
|
|
307
|
+
Field.object = (args) => new _1.ObjectField(args);
|
|
308
|
+
Field.list = (args) => new _1.ListField(args);
|
|
309
|
+
})(Field || (exports.Field = Field = {}));
|