@gravity-ui/page-constructor 3.3.0 → 3.5.0-alpha.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.
- package/CHANGELOG.md +0 -20
- package/README.md +0 -2
- package/build/cjs/blocks/Banner/schema.d.ts +21 -63
- package/build/cjs/blocks/CardLayout/schema.d.ts +4 -10
- package/build/cjs/blocks/Companies/schema.d.ts +2 -5
- package/build/cjs/blocks/ContentLayout/ContentLayout.js +2 -3
- package/build/cjs/blocks/ContentLayout/schema.d.ts +61 -107
- package/build/cjs/blocks/ContentLayout/schema.js +18 -23
- package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +4 -31
- package/build/cjs/blocks/ExtendedFeatures/schema.js +3 -2
- package/build/cjs/blocks/FilterBlock/schema.d.ts +5 -13
- package/build/cjs/blocks/FilterBlock/schema.js +2 -13
- package/build/cjs/blocks/Header/Header.css +7 -6
- package/build/cjs/blocks/Header/schema.d.ts +36 -92
- package/build/cjs/blocks/Header/schema.js +0 -1
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +53 -48
- package/build/cjs/blocks/HeaderSlider/schema.js +1 -3
- package/build/cjs/blocks/Icons/schema.d.ts +1 -3
- package/build/cjs/blocks/Icons/schema.js +1 -2
- package/build/cjs/blocks/Info/schema.d.ts +8 -19
- package/build/cjs/blocks/Map/schema.d.ts +6 -17
- package/build/cjs/blocks/Media/schema.d.ts +152 -204
- package/build/cjs/blocks/Media/schema.js +1 -1
- package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +8 -22
- package/build/cjs/blocks/PromoFeaturesBlock/schema.js +0 -1
- package/build/cjs/blocks/Questions/schema.d.ts +3 -7
- package/build/cjs/blocks/Slider/schema.d.ts +18 -13
- package/build/cjs/blocks/Slider/schema.js +5 -4
- package/build/cjs/blocks/Table/schema.d.ts +2 -5
- package/build/cjs/blocks/Table/schema.js +2 -12
- package/build/cjs/blocks/Tabs/schema.d.ts +16 -43
- package/build/cjs/components/BlockBase/BlockBase.js +2 -2
- package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
- package/build/cjs/components/Image/schema.d.ts +0 -1
- package/build/cjs/components/Image/schema.js +2 -3
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
- package/build/cjs/customization/BlockDecoration.d.ts +1 -1
- package/build/cjs/customization/BlockDecoration.js +6 -5
- package/build/cjs/editor/{components → Components}/AddBlock/AddBlock.css +7 -0
- package/build/cjs/editor/Components/AddBlock/AddBlock.d.ts +7 -0
- package/build/cjs/editor/{components → Components}/AddBlock/AddBlock.js +2 -2
- package/build/cjs/editor/Components/EditBlock/EditBlock.d.ts +4 -0
- package/build/cjs/editor/Components/EditBlock/EditBlock.js +32 -0
- package/build/cjs/editor/Containers/Editor.d.ts +2 -0
- package/build/cjs/editor/Containers/Editor.js +24 -0
- package/build/cjs/editor/index.d.ts +1 -1
- package/build/cjs/editor/index.js +1 -1
- package/build/cjs/editor/store/index.d.ts +11 -8
- package/build/cjs/editor/store/index.js +15 -61
- package/build/cjs/editor/store/reducer.d.ts +9 -17
- package/build/cjs/editor/store/reducer.js +31 -14
- package/build/cjs/editor/store/utils.d.ts +0 -1
- package/build/cjs/editor/store/utils.js +1 -3
- package/build/cjs/editor/types/index.d.ts +9 -11
- package/build/cjs/editor/utils/index.d.ts +3 -4
- package/build/cjs/editor/utils/index.js +4 -6
- package/build/cjs/grid/Col/Col.d.ts +1 -1
- package/build/cjs/models/constructor-items/blocks.d.ts +8 -13
- package/build/cjs/models/constructor.d.ts +2 -2
- package/build/cjs/models/customization.d.ts +8 -3
- package/build/cjs/models/navigation.d.ts +0 -1
- package/build/cjs/navigation/components/Header/Header.css +0 -2
- package/build/cjs/navigation/components/Header/Header.js +4 -15
- package/build/cjs/navigation/schema.d.ts +0 -1
- package/build/cjs/schema/index.d.ts +228 -9
- package/build/cjs/schema/index.js +46 -8
- package/build/cjs/schema/validators/common.d.ts +27 -71
- package/build/cjs/schema/validators/common.js +17 -50
- package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +5 -12
- package/build/cjs/sub-blocks/BasicCard/schema.d.ts +3 -8
- package/build/cjs/sub-blocks/Content/schema.d.ts +6 -14
- package/build/cjs/sub-blocks/Content/schema.js +1 -9
- package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +9 -23
- package/build/cjs/sub-blocks/MediaCard/schema.d.ts +6 -16
- package/build/cjs/sub-blocks/PriceDetailed/schema.d.ts +0 -1
- package/build/cjs/sub-blocks/PriceDetailed/schema.js +1 -5
- package/build/cjs/sub-blocks/Quote/schema.d.ts +2 -6
- package/build/cjs/text-transform/utils.js +6 -1
- package/build/esm/blocks/Banner/schema.d.ts +21 -63
- package/build/esm/blocks/CardLayout/schema.d.ts +4 -10
- package/build/esm/blocks/Companies/schema.d.ts +2 -5
- package/build/esm/blocks/ContentLayout/ContentLayout.js +2 -3
- package/build/esm/blocks/ContentLayout/schema.d.ts +61 -107
- package/build/esm/blocks/ContentLayout/schema.js +18 -23
- package/build/esm/blocks/ExtendedFeatures/schema.d.ts +4 -31
- package/build/esm/blocks/ExtendedFeatures/schema.js +4 -3
- package/build/esm/blocks/FilterBlock/schema.d.ts +5 -13
- package/build/esm/blocks/FilterBlock/schema.js +2 -13
- package/build/esm/blocks/Header/Header.css +7 -6
- package/build/esm/blocks/Header/schema.d.ts +36 -92
- package/build/esm/blocks/Header/schema.js +0 -1
- package/build/esm/blocks/HeaderSlider/schema.d.ts +53 -48
- package/build/esm/blocks/HeaderSlider/schema.js +1 -2
- package/build/esm/blocks/Icons/schema.d.ts +1 -3
- package/build/esm/blocks/Icons/schema.js +1 -2
- package/build/esm/blocks/Info/schema.d.ts +8 -19
- package/build/esm/blocks/Map/schema.d.ts +6 -17
- package/build/esm/blocks/Media/schema.d.ts +152 -204
- package/build/esm/blocks/Media/schema.js +2 -2
- package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +8 -22
- package/build/esm/blocks/PromoFeaturesBlock/schema.js +0 -1
- package/build/esm/blocks/Questions/schema.d.ts +3 -7
- package/build/esm/blocks/Slider/schema.d.ts +18 -13
- package/build/esm/blocks/Slider/schema.js +5 -4
- package/build/esm/blocks/Table/schema.d.ts +2 -5
- package/build/esm/blocks/Table/schema.js +2 -12
- package/build/esm/blocks/Tabs/schema.d.ts +16 -43
- package/build/esm/components/BlockBase/BlockBase.js +2 -2
- package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
- package/build/esm/components/Image/schema.d.ts +0 -1
- package/build/esm/components/Image/schema.js +2 -3
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
- package/build/esm/customization/BlockDecoration.d.ts +1 -1
- package/build/esm/customization/BlockDecoration.js +6 -6
- package/build/esm/editor/{components → Components}/AddBlock/AddBlock.css +7 -0
- package/build/esm/editor/Components/AddBlock/AddBlock.d.ts +8 -0
- package/build/esm/editor/{components → Components}/AddBlock/AddBlock.js +2 -2
- package/build/esm/editor/Components/EditBlock/EditBlock.d.ts +5 -0
- package/build/esm/editor/Components/EditBlock/EditBlock.js +30 -0
- package/build/esm/editor/Containers/Editor.d.ts +2 -0
- package/build/esm/editor/Containers/Editor.js +20 -0
- package/build/esm/editor/index.d.ts +1 -1
- package/build/esm/editor/index.js +1 -1
- package/build/esm/editor/store/index.d.ts +11 -8
- package/build/esm/editor/store/index.js +17 -63
- package/build/esm/editor/store/reducer.d.ts +9 -17
- package/build/esm/editor/store/reducer.js +29 -12
- package/build/esm/editor/store/utils.d.ts +0 -1
- package/build/esm/editor/store/utils.js +0 -1
- package/build/esm/editor/types/index.d.ts +9 -11
- package/build/esm/editor/utils/index.d.ts +3 -4
- package/build/esm/editor/utils/index.js +3 -4
- package/build/esm/grid/Col/Col.d.ts +1 -1
- package/build/esm/models/constructor-items/blocks.d.ts +8 -13
- package/build/esm/models/constructor.d.ts +2 -2
- package/build/esm/models/customization.d.ts +8 -3
- package/build/esm/models/navigation.d.ts +0 -1
- package/build/esm/navigation/components/Header/Header.css +0 -2
- package/build/esm/navigation/components/Header/Header.js +5 -16
- package/build/esm/navigation/schema.d.ts +0 -1
- package/build/esm/schema/index.d.ts +228 -9
- package/build/esm/schema/index.js +42 -4
- package/build/esm/schema/validators/common.d.ts +27 -71
- package/build/esm/schema/validators/common.js +16 -49
- package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +5 -12
- package/build/esm/sub-blocks/BasicCard/schema.d.ts +3 -8
- package/build/esm/sub-blocks/Content/schema.d.ts +6 -14
- package/build/esm/sub-blocks/Content/schema.js +1 -9
- package/build/esm/sub-blocks/LayoutItem/schema.d.ts +9 -23
- package/build/esm/sub-blocks/MediaCard/schema.d.ts +6 -16
- package/build/esm/sub-blocks/PriceDetailed/schema.d.ts +0 -1
- package/build/esm/sub-blocks/PriceDetailed/schema.js +1 -5
- package/build/esm/sub-blocks/Quote/schema.d.ts +2 -6
- package/build/esm/text-transform/utils.js +6 -1
- package/package.json +4 -5
- package/server/models/constructor-items/blocks.d.ts +8 -13
- package/server/models/constructor.d.ts +2 -2
- package/server/models/customization.d.ts +8 -3
- package/server/models/navigation.d.ts +0 -1
- package/server/text-transform/utils.js +6 -1
- package/build/cjs/editor/components/AddBlock/AddBlock.d.ts +0 -7
- package/build/cjs/editor/components/BlockForm/BlockForm.d.ts +0 -12
- package/build/cjs/editor/components/BlockForm/BlockForm.js +0 -26
- package/build/cjs/editor/components/EditBlock/EditBlock.d.ts +0 -13
- package/build/cjs/editor/components/EditBlock/EditBlock.js +0 -44
- package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.css +0 -27
- package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.d.ts +0 -13
- package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +0 -35
- package/build/cjs/editor/components/ErrorBoundary/i18n/en.json +0 -4
- package/build/cjs/editor/components/ErrorBoundary/i18n/index.d.ts +0 -2
- package/build/cjs/editor/components/ErrorBoundary/i18n/index.js +0 -8
- package/build/cjs/editor/components/ErrorBoundary/i18n/ru.json +0 -4
- package/build/cjs/editor/components/PagePropsForm/PagePropsForm.d.ts +0 -10
- package/build/cjs/editor/components/PagePropsForm/PagePropsForm.js +0 -17
- package/build/cjs/editor/containers/Editor/Editor.css +0 -28
- package/build/cjs/editor/containers/Editor/Editor.d.ts +0 -2
- package/build/cjs/editor/containers/Editor/Editor.js +0 -37
- package/build/cjs/editor/containers/Form/Form.css +0 -94
- package/build/cjs/editor/containers/Form/Form.d.ts +0 -11
- package/build/cjs/editor/containers/Form/Form.js +0 -47
- package/build/cjs/editor/containers/Form/dynamic-form-custom.css +0 -0
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +0 -27
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.d.ts +0 -19
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +0 -72
- package/build/cjs/editor/dynamic-forms-custom/config.d.ts +0 -2
- package/build/cjs/editor/dynamic-forms-custom/config.js +0 -13
- package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.d.ts +0 -12
- package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +0 -75
- package/build/cjs/editor/dynamic-forms-custom/parser/detect.d.ts +0 -9
- package/build/cjs/editor/dynamic-forms-custom/parser/detect.js +0 -36
- package/build/cjs/editor/dynamic-forms-custom/parser/index.d.ts +0 -28
- package/build/cjs/editor/dynamic-forms-custom/parser/index.js +0 -188
- package/build/cjs/editor/dynamic-forms-custom/parser/types.d.ts +0 -29
- package/build/cjs/editor/dynamic-forms-custom/parser/types.js +0 -2
- package/build/cjs/editor/dynamic-forms-custom/parser/views.d.ts +0 -37
- package/build/cjs/editor/dynamic-forms-custom/parser/views.js +0 -46
- package/build/cjs/editor/hooks/useFormSpec.d.ts +0 -2
- package/build/cjs/editor/hooks/useFormSpec.js +0 -13
- package/build/cjs/schema/constants.d.ts +0 -908
- package/build/cjs/schema/constants.js +0 -42
- package/build/esm/editor/components/AddBlock/AddBlock.d.ts +0 -8
- package/build/esm/editor/components/BlockForm/BlockForm.d.ts +0 -12
- package/build/esm/editor/components/BlockForm/BlockForm.js +0 -23
- package/build/esm/editor/components/EditBlock/EditBlock.d.ts +0 -14
- package/build/esm/editor/components/EditBlock/EditBlock.js +0 -41
- package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.css +0 -27
- package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.d.ts +0 -14
- package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +0 -31
- package/build/esm/editor/components/ErrorBoundary/i18n/en.json +0 -4
- package/build/esm/editor/components/ErrorBoundary/i18n/index.d.ts +0 -2
- package/build/esm/editor/components/ErrorBoundary/i18n/index.js +0 -5
- package/build/esm/editor/components/ErrorBoundary/i18n/ru.json +0 -4
- package/build/esm/editor/components/PagePropsForm/PagePropsForm.d.ts +0 -10
- package/build/esm/editor/components/PagePropsForm/PagePropsForm.js +0 -13
- package/build/esm/editor/containers/Editor/Editor.css +0 -28
- package/build/esm/editor/containers/Editor/Editor.d.ts +0 -3
- package/build/esm/editor/containers/Editor/Editor.js +0 -34
- package/build/esm/editor/containers/Form/Form.css +0 -94
- package/build/esm/editor/containers/Form/Form.d.ts +0 -12
- package/build/esm/editor/containers/Form/Form.js +0 -45
- package/build/esm/editor/containers/Form/dynamic-form-custom.css +0 -0
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +0 -27
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.d.ts +0 -20
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +0 -68
- package/build/esm/editor/dynamic-forms-custom/config.d.ts +0 -2
- package/build/esm/editor/dynamic-forms-custom/config.js +0 -9
- package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.d.ts +0 -12
- package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +0 -69
- package/build/esm/editor/dynamic-forms-custom/parser/detect.d.ts +0 -9
- package/build/esm/editor/dynamic-forms-custom/parser/detect.js +0 -32
- package/build/esm/editor/dynamic-forms-custom/parser/index.d.ts +0 -28
- package/build/esm/editor/dynamic-forms-custom/parser/index.js +0 -186
- package/build/esm/editor/dynamic-forms-custom/parser/types.d.ts +0 -29
- package/build/esm/editor/dynamic-forms-custom/parser/types.js +0 -1
- package/build/esm/editor/dynamic-forms-custom/parser/views.d.ts +0 -37
- package/build/esm/editor/dynamic-forms-custom/parser/views.js +0 -39
- package/build/esm/editor/hooks/useFormSpec.d.ts +0 -2
- package/build/esm/editor/hooks/useFormSpec.js +0 -9
- package/build/esm/schema/constants.d.ts +0 -908
- package/build/esm/schema/constants.js +0 -39
- /package/build/cjs/editor/{components → Components}/EditBlock/EditBlock.css +0 -0
- /package/build/esm/editor/{components → Components}/EditBlock/EditBlock.css +0 -0
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
export declare const ContentBase: {
|
|
2
2
|
title: {
|
|
3
3
|
oneOf: ({
|
|
4
|
-
type: string;
|
|
5
|
-
contentType: string;
|
|
6
|
-
optionName: string;
|
|
7
|
-
} | {
|
|
8
|
-
optionName: string;
|
|
9
4
|
type: string;
|
|
10
5
|
additionalProperties: boolean;
|
|
11
6
|
required: string[];
|
|
@@ -25,13 +20,14 @@ export declare const ContentBase: {
|
|
|
25
20
|
type: string;
|
|
26
21
|
};
|
|
27
22
|
};
|
|
28
|
-
|
|
23
|
+
} | {
|
|
24
|
+
type: string;
|
|
25
|
+
contentType: string;
|
|
29
26
|
})[];
|
|
30
27
|
};
|
|
31
28
|
text: {
|
|
32
29
|
type: string;
|
|
33
30
|
contentType: string;
|
|
34
|
-
inputType: string;
|
|
35
31
|
};
|
|
36
32
|
additionalInfo: {
|
|
37
33
|
type: string;
|
|
@@ -78,11 +74,6 @@ export declare const ContentBlock: {
|
|
|
78
74
|
};
|
|
79
75
|
title: {
|
|
80
76
|
oneOf: ({
|
|
81
|
-
type: string;
|
|
82
|
-
contentType: string;
|
|
83
|
-
optionName: string;
|
|
84
|
-
} | {
|
|
85
|
-
optionName: string;
|
|
86
77
|
type: string;
|
|
87
78
|
additionalProperties: boolean;
|
|
88
79
|
required: string[];
|
|
@@ -102,13 +93,14 @@ export declare const ContentBlock: {
|
|
|
102
93
|
type: string;
|
|
103
94
|
};
|
|
104
95
|
};
|
|
105
|
-
|
|
96
|
+
} | {
|
|
97
|
+
type: string;
|
|
98
|
+
contentType: string;
|
|
106
99
|
})[];
|
|
107
100
|
};
|
|
108
101
|
text: {
|
|
109
102
|
type: string;
|
|
110
103
|
contentType: string;
|
|
111
|
-
inputType: string;
|
|
112
104
|
};
|
|
113
105
|
additionalInfo: {
|
|
114
106
|
type: string;
|
|
@@ -2,19 +2,11 @@ import { ButtonBlock, LinkProps, TitleProps, containerSizesArray, contentSizes,
|
|
|
2
2
|
import { filteredArray } from '../../schema/validators/utils';
|
|
3
3
|
export const ContentBase = {
|
|
4
4
|
title: {
|
|
5
|
-
oneOf: [
|
|
6
|
-
{
|
|
7
|
-
type: 'string',
|
|
8
|
-
contentType: 'text',
|
|
9
|
-
optionName: 'text',
|
|
10
|
-
},
|
|
11
|
-
Object.assign(Object.assign({}, TitleProps), { optionName: 'options' }),
|
|
12
|
-
],
|
|
5
|
+
oneOf: [{ type: 'string', contentType: 'text' }, TitleProps],
|
|
13
6
|
},
|
|
14
7
|
text: {
|
|
15
8
|
type: 'string',
|
|
16
9
|
contentType: 'yfm',
|
|
17
|
-
inputType: 'textarea',
|
|
18
10
|
},
|
|
19
11
|
additionalInfo: {
|
|
20
12
|
type: 'string',
|
|
@@ -8,8 +8,7 @@ export declare const LayoutItem: {
|
|
|
8
8
|
type: string;
|
|
9
9
|
};
|
|
10
10
|
image: {
|
|
11
|
-
|
|
12
|
-
optionName: string;
|
|
11
|
+
anyOf: ({
|
|
13
12
|
oneOf: ({
|
|
14
13
|
type: string;
|
|
15
14
|
properties: {
|
|
@@ -20,10 +19,7 @@ export declare const LayoutItem: {
|
|
|
20
19
|
} | {
|
|
21
20
|
type: string;
|
|
22
21
|
pattern: string;
|
|
23
|
-
optionName: string;
|
|
24
22
|
})[];
|
|
25
|
-
type?: undefined;
|
|
26
|
-
items?: undefined;
|
|
27
23
|
} | {
|
|
28
24
|
type: string;
|
|
29
25
|
items: {
|
|
@@ -37,10 +33,8 @@ export declare const LayoutItem: {
|
|
|
37
33
|
} | {
|
|
38
34
|
type: string;
|
|
39
35
|
pattern: string;
|
|
40
|
-
optionName: string;
|
|
41
36
|
})[];
|
|
42
37
|
};
|
|
43
|
-
optionName: string;
|
|
44
38
|
})[];
|
|
45
39
|
};
|
|
46
40
|
video: {
|
|
@@ -55,8 +49,7 @@ export declare const LayoutItem: {
|
|
|
55
49
|
};
|
|
56
50
|
};
|
|
57
51
|
loop: {
|
|
58
|
-
|
|
59
|
-
optionName: string;
|
|
52
|
+
anyOf: ({
|
|
60
53
|
type: string;
|
|
61
54
|
additionalProperties: boolean;
|
|
62
55
|
required: string[];
|
|
@@ -70,7 +63,6 @@ export declare const LayoutItem: {
|
|
|
70
63
|
};
|
|
71
64
|
} | {
|
|
72
65
|
type: string;
|
|
73
|
-
optionName: string;
|
|
74
66
|
})[];
|
|
75
67
|
};
|
|
76
68
|
type: {
|
|
@@ -80,13 +72,13 @@ export declare const LayoutItem: {
|
|
|
80
72
|
muted: {
|
|
81
73
|
type: string;
|
|
82
74
|
};
|
|
83
|
-
|
|
75
|
+
playing: {
|
|
84
76
|
type: string;
|
|
85
77
|
};
|
|
86
78
|
elapsedTime: {
|
|
87
79
|
type: string;
|
|
88
80
|
};
|
|
89
|
-
|
|
81
|
+
playIcon: {
|
|
90
82
|
type: string;
|
|
91
83
|
additionalProperties: boolean;
|
|
92
84
|
properties: {
|
|
@@ -124,10 +116,6 @@ export declare const LayoutItem: {
|
|
|
124
116
|
};
|
|
125
117
|
dataLens: {
|
|
126
118
|
oneOf: ({
|
|
127
|
-
type: string;
|
|
128
|
-
optionName: string;
|
|
129
|
-
} | {
|
|
130
|
-
optionName: string;
|
|
131
119
|
type: string;
|
|
132
120
|
additionalProperties: boolean;
|
|
133
121
|
required: string[];
|
|
@@ -140,6 +128,8 @@ export declare const LayoutItem: {
|
|
|
140
128
|
enum: string[];
|
|
141
129
|
};
|
|
142
130
|
};
|
|
131
|
+
} | {
|
|
132
|
+
type: string;
|
|
143
133
|
})[];
|
|
144
134
|
};
|
|
145
135
|
fullscreen: {
|
|
@@ -227,11 +217,6 @@ export declare const LayoutItem: {
|
|
|
227
217
|
content: Partial<{
|
|
228
218
|
title: {
|
|
229
219
|
oneOf: ({
|
|
230
|
-
type: string;
|
|
231
|
-
contentType: string;
|
|
232
|
-
optionName: string;
|
|
233
|
-
} | {
|
|
234
|
-
optionName: string;
|
|
235
220
|
type: string;
|
|
236
221
|
additionalProperties: boolean;
|
|
237
222
|
required: string[];
|
|
@@ -251,13 +236,14 @@ export declare const LayoutItem: {
|
|
|
251
236
|
type: string;
|
|
252
237
|
};
|
|
253
238
|
};
|
|
254
|
-
|
|
239
|
+
} | {
|
|
240
|
+
type: string;
|
|
241
|
+
contentType: string;
|
|
255
242
|
})[];
|
|
256
243
|
};
|
|
257
244
|
text: {
|
|
258
245
|
type: string;
|
|
259
246
|
contentType: string;
|
|
260
|
-
inputType: string;
|
|
261
247
|
};
|
|
262
248
|
additionalInfo: {
|
|
263
249
|
type: string;
|
|
@@ -10,8 +10,7 @@ export declare const MediaCardBlock: {
|
|
|
10
10
|
type: string;
|
|
11
11
|
};
|
|
12
12
|
image: {
|
|
13
|
-
|
|
14
|
-
optionName: string;
|
|
13
|
+
anyOf: ({
|
|
15
14
|
oneOf: ({
|
|
16
15
|
type: string;
|
|
17
16
|
properties: {
|
|
@@ -22,10 +21,7 @@ export declare const MediaCardBlock: {
|
|
|
22
21
|
} | {
|
|
23
22
|
type: string;
|
|
24
23
|
pattern: string;
|
|
25
|
-
optionName: string;
|
|
26
24
|
})[];
|
|
27
|
-
type?: undefined;
|
|
28
|
-
items?: undefined;
|
|
29
25
|
} | {
|
|
30
26
|
type: string;
|
|
31
27
|
items: {
|
|
@@ -39,10 +35,8 @@ export declare const MediaCardBlock: {
|
|
|
39
35
|
} | {
|
|
40
36
|
type: string;
|
|
41
37
|
pattern: string;
|
|
42
|
-
optionName: string;
|
|
43
38
|
})[];
|
|
44
39
|
};
|
|
45
|
-
optionName: string;
|
|
46
40
|
})[];
|
|
47
41
|
};
|
|
48
42
|
video: {
|
|
@@ -57,8 +51,7 @@ export declare const MediaCardBlock: {
|
|
|
57
51
|
};
|
|
58
52
|
};
|
|
59
53
|
loop: {
|
|
60
|
-
|
|
61
|
-
optionName: string;
|
|
54
|
+
anyOf: ({
|
|
62
55
|
type: string;
|
|
63
56
|
additionalProperties: boolean;
|
|
64
57
|
required: string[];
|
|
@@ -72,7 +65,6 @@ export declare const MediaCardBlock: {
|
|
|
72
65
|
};
|
|
73
66
|
} | {
|
|
74
67
|
type: string;
|
|
75
|
-
optionName: string;
|
|
76
68
|
})[];
|
|
77
69
|
};
|
|
78
70
|
type: {
|
|
@@ -82,13 +74,13 @@ export declare const MediaCardBlock: {
|
|
|
82
74
|
muted: {
|
|
83
75
|
type: string;
|
|
84
76
|
};
|
|
85
|
-
|
|
77
|
+
playing: {
|
|
86
78
|
type: string;
|
|
87
79
|
};
|
|
88
80
|
elapsedTime: {
|
|
89
81
|
type: string;
|
|
90
82
|
};
|
|
91
|
-
|
|
83
|
+
playIcon: {
|
|
92
84
|
type: string;
|
|
93
85
|
additionalProperties: boolean;
|
|
94
86
|
properties: {
|
|
@@ -126,10 +118,6 @@ export declare const MediaCardBlock: {
|
|
|
126
118
|
};
|
|
127
119
|
dataLens: {
|
|
128
120
|
oneOf: ({
|
|
129
|
-
type: string;
|
|
130
|
-
optionName: string;
|
|
131
|
-
} | {
|
|
132
|
-
optionName: string;
|
|
133
121
|
type: string;
|
|
134
122
|
additionalProperties: boolean;
|
|
135
123
|
required: string[];
|
|
@@ -142,6 +130,8 @@ export declare const MediaCardBlock: {
|
|
|
142
130
|
enum: string[];
|
|
143
131
|
};
|
|
144
132
|
};
|
|
133
|
+
} | {
|
|
134
|
+
type: string;
|
|
145
135
|
})[];
|
|
146
136
|
};
|
|
147
137
|
fullscreen: {
|
|
@@ -124,10 +124,7 @@ const PriceDetailsListProps = {
|
|
|
124
124
|
};
|
|
125
125
|
const PriceDetailsProps = {
|
|
126
126
|
items: {
|
|
127
|
-
|
|
128
|
-
Object.assign(Object.assign({}, filteredArray(Object.assign({}, PriceDetailsListProps))), { optionName: 'marked-list' }),
|
|
129
|
-
Object.assign(Object.assign({}, filteredArray(Object.assign({}, PriceDetailsSettingsProps))), { optionName: 'settings' }),
|
|
130
|
-
],
|
|
127
|
+
anyOf: [filteredArray(PriceDetailsListProps), filteredArray(PriceDetailsSettingsProps)],
|
|
131
128
|
},
|
|
132
129
|
};
|
|
133
130
|
const PriceItem = {
|
|
@@ -143,7 +140,6 @@ export const PriceDetailedBlock = {
|
|
|
143
140
|
properties: Object.assign(Object.assign(Object.assign({}, BaseProps), AnimatableProps), { items: filteredArray(PriceItem), description: PriceDetailedDescriptionProps, details: PriceDetailedDetailsProps, priceType: {
|
|
144
141
|
type: 'string',
|
|
145
142
|
enum: PriceDetailedDetailsType,
|
|
146
|
-
default: 'settings',
|
|
147
143
|
}, numberGroupItems: {
|
|
148
144
|
type: 'number',
|
|
149
145
|
enum: [3, 4, 5],
|
|
@@ -8,7 +8,7 @@ export declare const Quote: {
|
|
|
8
8
|
contentType: string;
|
|
9
9
|
};
|
|
10
10
|
image: {
|
|
11
|
-
oneOf: (
|
|
11
|
+
oneOf: ({
|
|
12
12
|
oneOf: ({
|
|
13
13
|
type: string;
|
|
14
14
|
properties: {
|
|
@@ -19,16 +19,12 @@ export declare const Quote: {
|
|
|
19
19
|
} | {
|
|
20
20
|
type: string;
|
|
21
21
|
pattern: string;
|
|
22
|
-
optionName: string;
|
|
23
22
|
})[];
|
|
24
|
-
}
|
|
25
|
-
optionName: string;
|
|
26
|
-
}) | {
|
|
23
|
+
} | {
|
|
27
24
|
type: string;
|
|
28
25
|
additionalProperties: boolean;
|
|
29
26
|
required: import("../..").Theme[];
|
|
30
27
|
properties: {};
|
|
31
|
-
optionName: string;
|
|
32
28
|
})[];
|
|
33
29
|
};
|
|
34
30
|
logo: {
|
|
@@ -23,7 +23,12 @@ export const DEFAULT_ALLOWED_TAGS = [
|
|
|
23
23
|
];
|
|
24
24
|
export const typografConfig = {
|
|
25
25
|
enabled: ['common/nbsp/afterNumber', 'common/nbsp/afterParagraphMark'],
|
|
26
|
-
disabled: [
|
|
26
|
+
disabled: [
|
|
27
|
+
'common/symbols/cf',
|
|
28
|
+
'ru/other/phone-number',
|
|
29
|
+
'common/space/afterColon',
|
|
30
|
+
'common/space/afterSemicolon',
|
|
31
|
+
],
|
|
27
32
|
};
|
|
28
33
|
export const sanitizeStripOptions = {
|
|
29
34
|
allowedTags: [],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/page-constructor",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-alpha.0",
|
|
4
4
|
"description": "Gravity UI Page Constructor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -48,10 +48,8 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@gravity-ui/i18n": "^1.0.0",
|
|
50
50
|
"bem-cn-lite": "^4.0.0",
|
|
51
|
-
"final-form": "^4.20.9",
|
|
52
51
|
"github-buttons": "2.23.0",
|
|
53
52
|
"lodash": "^4.17.21",
|
|
54
|
-
"react-final-form": "^6.5.9",
|
|
55
53
|
"react-player": "^2.9.0",
|
|
56
54
|
"react-slick": "^0.28.1",
|
|
57
55
|
"react-spring": "^9.3.0",
|
|
@@ -71,7 +69,6 @@
|
|
|
71
69
|
"@commitlint/cli": "^17.1.2",
|
|
72
70
|
"@commitlint/config-conventional": "^17.1.0",
|
|
73
71
|
"@doc-tools/transform": "2.12.0",
|
|
74
|
-
"@gravity-ui/dynamic-forms": "^1.7.1",
|
|
75
72
|
"@gravity-ui/eslint-config": "^2.0.0",
|
|
76
73
|
"@gravity-ui/icons": "^2.1.0",
|
|
77
74
|
"@gravity-ui/prettier-config": "^1.0.1",
|
|
@@ -88,7 +85,6 @@
|
|
|
88
85
|
"@testing-library/react": "^13.4.0",
|
|
89
86
|
"@testing-library/user-event": "^14.4.3",
|
|
90
87
|
"@types/jest": "^29.2.4",
|
|
91
|
-
"@types/json-schema": "^7.0.12",
|
|
92
88
|
"@types/lodash": "^4.14.176",
|
|
93
89
|
"@types/react": "^18.0.27",
|
|
94
90
|
"@types/react-dom": "^18.0.10",
|
|
@@ -143,5 +139,8 @@
|
|
|
143
139
|
"*.{json,yaml,yml,md}": [
|
|
144
140
|
"prettier --write"
|
|
145
141
|
]
|
|
142
|
+
},
|
|
143
|
+
"publishConfig": {
|
|
144
|
+
"tag": "alpha"
|
|
146
145
|
}
|
|
147
146
|
}
|
|
@@ -30,7 +30,6 @@ export interface Childable {
|
|
|
30
30
|
children?: SubBlock[];
|
|
31
31
|
}
|
|
32
32
|
export interface BlockBaseProps {
|
|
33
|
-
type: BlockType;
|
|
34
33
|
index?: number;
|
|
35
34
|
anchor?: AnchorProps;
|
|
36
35
|
visible?: GridColumnSize;
|
|
@@ -245,18 +244,14 @@ export interface IconsBlockProps {
|
|
|
245
244
|
src: string;
|
|
246
245
|
}[];
|
|
247
246
|
}
|
|
248
|
-
interface
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* @deprecated Use params on top level instead
|
|
258
|
-
*/
|
|
259
|
-
properties?: ContentLayoutBlockParams;
|
|
247
|
+
export interface ContentLayoutBlockProps {
|
|
248
|
+
properties?: {
|
|
249
|
+
size?: ContentSize;
|
|
250
|
+
background?: BackgroundImageProps;
|
|
251
|
+
centered?: boolean;
|
|
252
|
+
theme?: ContentTheme;
|
|
253
|
+
textWidth?: ContentTextSize;
|
|
254
|
+
};
|
|
260
255
|
textContent: ContentBlockProps;
|
|
261
256
|
fileContent?: FileLinkProps[];
|
|
262
257
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import { Animatable, Block,
|
|
2
|
+
import { Animatable, Block, BlockDecoratorProps, ConstructorItem, ThemedMediaProps, WithChildren } from './';
|
|
3
3
|
export interface PageData {
|
|
4
4
|
content: PageContent;
|
|
5
5
|
}
|
|
@@ -41,7 +41,7 @@ export interface CustomConfig {
|
|
|
41
41
|
headers?: CustomItems;
|
|
42
42
|
loadable?: LoadableConfig;
|
|
43
43
|
decorators?: {
|
|
44
|
-
block?: ((props:
|
|
44
|
+
block?: ((props: BlockDecoratorProps) => React.ReactElement)[];
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
export {};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export interface BlockDecorationProps extends PropsWithChildren {
|
|
3
|
+
id: string | number;
|
|
4
|
+
}
|
|
5
|
+
export interface BlockDecoratorProps extends PropsWithChildren {
|
|
6
|
+
id: string | number;
|
|
7
|
+
isHeader?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type BlockDecorator = (props: BlockDecoratorProps) => React.ReactElement;
|
|
@@ -39,7 +39,12 @@ exports.DEFAULT_ALLOWED_TAGS = [
|
|
|
39
39
|
];
|
|
40
40
|
exports.typografConfig = {
|
|
41
41
|
enabled: ['common/nbsp/afterNumber', 'common/nbsp/afterParagraphMark'],
|
|
42
|
-
disabled: [
|
|
42
|
+
disabled: [
|
|
43
|
+
'common/symbols/cf',
|
|
44
|
+
'ru/other/phone-number',
|
|
45
|
+
'common/space/afterColon',
|
|
46
|
+
'common/space/afterSemicolon',
|
|
47
|
+
],
|
|
43
48
|
};
|
|
44
49
|
exports.sanitizeStripOptions = {
|
|
45
50
|
allowedTags: [],
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { Block, ClassNameProps } from '../../../models';
|
|
3
|
-
export interface AddBlockProps extends ClassNameProps {
|
|
4
|
-
onAdd: (data: Block) => void;
|
|
5
|
-
}
|
|
6
|
-
declare const AddBlock: ({ onAdd, className }: PropsWithChildren<AddBlockProps>) => JSX.Element;
|
|
7
|
-
export default AddBlock;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Block } from '../../../models';
|
|
3
|
-
import { CustomSpec } from '../../dynamic-forms-custom/parser/types';
|
|
4
|
-
interface BlockFormProps {
|
|
5
|
-
data: Block;
|
|
6
|
-
spec: CustomSpec;
|
|
7
|
-
onChange: (data: Block) => void;
|
|
8
|
-
onSelect: () => void;
|
|
9
|
-
active?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare const BlockForm: React.MemoExoticComponent<({ data: { type, ...content }, onChange, onSelect, active, spec: specRaw }: BlockFormProps) => JSX.Element>;
|
|
12
|
-
export {};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlockForm = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
|
|
7
|
-
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
8
|
-
const react_final_form_1 = require("react-final-form");
|
|
9
|
-
const config_1 = require("../../dynamic-forms-custom/config");
|
|
10
|
-
exports.BlockForm = (0, react_1.memo)((_a) => {
|
|
11
|
-
var _b = _a.data, { type } = _b, content = tslib_1.__rest(_b, ["type"]), { onChange, onSelect, active, spec: specRaw } = _a;
|
|
12
|
-
// get initial values only at first render, then the form manages data
|
|
13
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14
|
-
const initialValues = (0, react_1.useMemo)(() => ({ content }), []);
|
|
15
|
-
const spec = (0, react_1.useMemo)(() => (Object.assign(Object.assign({}, specRaw), { viewSpec: Object.assign(Object.assign({}, specRaw.viewSpec), { layoutOpen: active }) })), [specRaw, active]);
|
|
16
|
-
return (react_1.default.createElement(react_final_form_1.Form, { initialValues: initialValues, onSubmit: lodash_1.default.noop }, () => (react_1.default.createElement("div", { onClick: () => {
|
|
17
|
-
if (!active) {
|
|
18
|
-
onSelect();
|
|
19
|
-
}
|
|
20
|
-
} },
|
|
21
|
-
react_1.default.createElement(react_final_form_1.FormSpy, { onChange: ({ values }) => onChange(Object.assign({ type }, values.content)), subscription: { values: true } }),
|
|
22
|
-
react_1.default.createElement(dynamic_forms_1.DynamicField, { name: "content",
|
|
23
|
-
// there is no way other way to manage with form open/close state now
|
|
24
|
-
key: String(active), spec: spec, config: config_1.dynamicConfig })))));
|
|
25
|
-
});
|
|
26
|
-
exports.BlockForm.displayName = 'BlockForm';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { EditBlockProps } from '../../types';
|
|
3
|
-
export declare enum EditBlockControls {
|
|
4
|
-
Up = "up",
|
|
5
|
-
Down = "down",
|
|
6
|
-
Copy = "copy",
|
|
7
|
-
Delete = "delete"
|
|
8
|
-
}
|
|
9
|
-
export type EditBlockActions = {
|
|
10
|
-
[key in EditBlockControls]?: () => void;
|
|
11
|
-
};
|
|
12
|
-
declare const _default: React.MemoExoticComponent<({ actions, isActive, onSelect, isHeader, children }: EditBlockProps) => JSX.Element>;
|
|
13
|
-
export default _default;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EditBlockControls = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
const icons_1 = require("@gravity-ui/icons");
|
|
7
|
-
const utils_1 = require("../../../utils");
|
|
8
|
-
const b = (0, utils_1.block)('edit-block');
|
|
9
|
-
var EditBlockControls;
|
|
10
|
-
(function (EditBlockControls) {
|
|
11
|
-
EditBlockControls["Up"] = "up";
|
|
12
|
-
EditBlockControls["Down"] = "down";
|
|
13
|
-
EditBlockControls["Copy"] = "copy";
|
|
14
|
-
EditBlockControls["Delete"] = "delete";
|
|
15
|
-
})(EditBlockControls = exports.EditBlockControls || (exports.EditBlockControls = {}));
|
|
16
|
-
const actionsOrder = [
|
|
17
|
-
EditBlockControls.Up,
|
|
18
|
-
EditBlockControls.Down,
|
|
19
|
-
EditBlockControls.Copy,
|
|
20
|
-
EditBlockControls.Delete,
|
|
21
|
-
];
|
|
22
|
-
const editBlockControlsIcons = {
|
|
23
|
-
[EditBlockControls.Up]: icons_1.ChevronUp,
|
|
24
|
-
[EditBlockControls.Down]: icons_1.ChevronDown,
|
|
25
|
-
[EditBlockControls.Copy]: icons_1.Copy,
|
|
26
|
-
[EditBlockControls.Delete]: icons_1.TrashBin,
|
|
27
|
-
};
|
|
28
|
-
const EditBlock = ({ actions, isActive, onSelect, isHeader, children }) => {
|
|
29
|
-
const ref = (0, react_1.useRef)(null);
|
|
30
|
-
(0, react_1.useEffect)(() => {
|
|
31
|
-
if (isActive && ref.current) {
|
|
32
|
-
//TODO: add behavior 'smooth' after addiiton of dynamic form layout open/close managing support
|
|
33
|
-
ref.current.scrollIntoView({ block: 'center' });
|
|
34
|
-
}
|
|
35
|
-
}, [isActive]);
|
|
36
|
-
return (react_1.default.createElement("div", { className: b(), onClick: onSelect, ref: ref },
|
|
37
|
-
react_1.default.createElement("div", { className: b('controls', { active: isActive, isHeader }) }, isActive && (react_1.default.createElement("div", { className: b('controls-content'), onClick: (e) => e.stopPropagation() }, actionsOrder.map((action) => {
|
|
38
|
-
const Icon = editBlockControlsIcons[action];
|
|
39
|
-
return actions[action] ? (react_1.default.createElement("div", { key: action, className: b('control'), onClick: actions[action] },
|
|
40
|
-
react_1.default.createElement(Icon, null))) : null;
|
|
41
|
-
})))),
|
|
42
|
-
children));
|
|
43
|
-
};
|
|
44
|
-
exports.default = react_1.default.memo(EditBlock);
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/* use this for style redefinitions to awoid problems with
|
|
2
|
-
unpredictable css rules order in build */
|
|
3
|
-
.pc-error-boundary__container {
|
|
4
|
-
display: flex;
|
|
5
|
-
width: 100%;
|
|
6
|
-
padding: 32px;
|
|
7
|
-
background-color: var(--yc-color-base-background);
|
|
8
|
-
border-radius: var(--pc-border-radius);
|
|
9
|
-
box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.06), 0px 4px 24px rgba(0, 0, 0, 0.06);
|
|
10
|
-
}
|
|
11
|
-
.pc-error-boundary__header {
|
|
12
|
-
margin-top: 0;
|
|
13
|
-
}
|
|
14
|
-
.pc-error-boundary__error {
|
|
15
|
-
display: block;
|
|
16
|
-
color: var(--yc-color-text-danger);
|
|
17
|
-
max-height: 160px;
|
|
18
|
-
overflow: auto;
|
|
19
|
-
}
|
|
20
|
-
.pc-error-boundary__image {
|
|
21
|
-
flex: 0 0 auto;
|
|
22
|
-
width: 200px;
|
|
23
|
-
height: 200px;
|
|
24
|
-
background-repeat: no-repeat;
|
|
25
|
-
background-size: contain;
|
|
26
|
-
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIj48c3R5bGU+LnN0MHtmaWxsOiNlY2YyZjl9LnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMyZWU1YzA7c3Ryb2tlLXdpZHRoOjQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwfS5zdDJ7ZmlsbDojMDA3Y2U5fS5zdDN7ZmlsbDojMDAyMzZifS5zdDR7ZmlsbDojMDBlNmM1fS5zdDExe2ZpbGw6I2ZmNDY0NX0uc3QxNXtmaWxsOm5vbmU7c3Ryb2tlOiMyZWU1YzA7c3Ryb2tlLXdpZHRoOjMuNzI1MjtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTB9LnN0MTUsLnN0MTZ7c3Ryb2tlLWxpbmVjYXA6cm91bmR9LnN0MTYsLnN0MTd7ZmlsbDpub25lO3N0cm9rZTojMDA3Y2U5O3N0cm9rZS13aWR0aDo0O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMH0uc3QxOHtmaWxsOiNmYzB9PC9zdHlsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTMxLjcgMjkzLjdoMjM1LjJWMTc5LjRjMC05LjEtNy40LTE2LjUtMTYuNS0xNi41SDEzMS43djEzMC44eiIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xODguMyAyOTUuNEg3MS43VjU1LjJjMC0xMi41IDEwLjEtMTcuNyAyMi42LTE3LjdoOTR2MjU3Ljl6TTIzMS4zIDI0Ny4zaDg5Ljh2LTIyMGMwLTEwLjQtOC41LTE0LjgtMTguOS0xNC44aC03MC45djIzNC44eiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNiAxNDkuOWgxMi43YzYuOSAwIDEyLjQgNi4yIDEyLjQgMTMuN3Y1OS41TTI4NC42IDE5Ni45aDYuNGMzLjUgMCA2LjMgMi4yIDYuMyA5Ljd2NjMuNSIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yODQuNiAxMTYuN0gzMDVjOS40IDAgMTcgNy42IDE3IDE3djkwLjEiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjg0LjYgODcuNmgyNi42YzEyLjYgMCAyMi44IDEwLjIgMjIuOCAyMi44djEyMy4xTTE3Ni40IDY2LjRoMTA3Ljl2MTA3LjlIMTc2LjR6TTE3Ni40IDE3NC4zaDEwNy45djEwNy45SDE3Ni40eiIvPjxwYXRoIGNsYXNzPSJzdDE1IiBkPSJNMjIxLjkgNzkuMWg0OS40TTIyMS45IDg3LjZoMzAuOE0yMjEuOSA5Ni4yaDQ5LjQiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTAiIGN5PSI3OS4xIiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTguNiIgY3k9Ijc5LjEiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjIwNy4yIiBjeT0iNzkuMSIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTkwIiBjeT0iODcuNiIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTk4LjYiIGN5PSI4Ny42IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9Ijg3LjYiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5MCIgY3k9Ijk2LjIiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iOTYuMiIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMjA3LjIiIGN5PSI5Ni4yIiByPSIyLjEiLz48cGF0aCBjbGFzcz0ic3QxNSIgZD0iTTIyMS45IDExMS4zaDQ5LjRNMjIxLjkgMTE5LjloNDkuNE0yMjEuOSAxMjguNWg0MS40Ii8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTkwIiBjeT0iMTExLjMiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iMTExLjMiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjIwNy4yIiBjeT0iMTExLjMiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5MCIgY3k9IjExOS45IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTguNiIgY3k9IjExOS45IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9IjExOS45IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTAiIGN5PSIxMjguNSIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTk4LjYiIGN5PSIxMjguNSIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMjA3LjIiIGN5PSIxMjguNSIgcj0iMi4xIi8+PHBhdGggY2xhc3M9InN0MTUiIGQ9Ik0yMjEuOSAxNDMuNWg0OS40TTIyMS45IDE1Mi4xaDQ5LjRNMjIxLjkgMTYwLjdoNDkuNCIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5MCIgY3k9IjE0My41IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTguNiIgY3k9IjE0My41IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9IjE0My41IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTAiIGN5PSIxNTIuMSIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTk4LjYiIGN5PSIxNTIuMSIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMjA3LjIiIGN5PSIxNTIuMSIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTkwIiBjeT0iMTYwLjciIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iMTYwLjciIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjIwNy4yIiBjeT0iMTYwLjciIHI9IjIuMSIvPjxnPjxwYXRoIGNsYXNzPSJzdDE1IiBkPSJNMjIxLjkgMTg3LjRoNDkuNE0yMjEuOSAxOTUuOWgzMC44TTIyMS45IDIwNC41aDQ5LjQiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTAiIGN5PSIxODcuNCIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTk4LjYiIGN5PSIxODcuNCIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMjA3LjIiIGN5PSIxODcuNCIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTkwIiBjeT0iMTk1LjkiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iMTk1LjkiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjIwNy4yIiBjeT0iMTk1LjkiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5MCIgY3k9IjIwNC41IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTguNiIgY3k9IjIwNC41IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9IjIwNC41IiByPSIyLjEiLz48cGF0aCBjbGFzcz0ic3QxNSIgZD0iTTIyMS45IDIxOS42aDQ5LjRNMjIxLjkgMjI4LjJoNDkuNE0yMjEuOSAyMzYuOGg0MS40Ii8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTkwIiBjeT0iMjE5LjYiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iMjE5LjYiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjIwNy4yIiBjeT0iMjE5LjYiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5MCIgY3k9IjIyOC4yIiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTguNiIgY3k9IjIyOC4yIiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9IjIyOC4yIiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTAiIGN5PSIyMzYuOCIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTk4LjYiIGN5PSIyMzYuOCIgcj0iMi4xIi8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMjA3LjIiIGN5PSIyMzYuOCIgcj0iMi4xIi8+PHBhdGggY2xhc3M9InN0MTUiIGQ9Ik0yMjEuOSAyNTEuOGg0OS40TTIyMS45IDI2MC40aDQ5LjRNMjIxLjkgMjY5aDE0Ii8+PGNpcmNsZSBjbGFzcz0ic3Q0IiBjeD0iMTkwIiBjeT0iMjUxLjgiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iMjUxLjgiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjIwNy4yIiBjeT0iMjUxLjgiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5MCIgY3k9IjI2MC40IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTguNiIgY3k9IjI2MC40IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9IjI2MC40IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIxOTAiIGN5PSIyNjkiIHI9IjIuMSIvPjxjaXJjbGUgY2xhc3M9InN0NCIgY3g9IjE5OC42IiBjeT0iMjY5IiByPSIyLjEiLz48Y2lyY2xlIGNsYXNzPSJzdDQiIGN4PSIyMDcuMiIgY3k9IjI2OSIgcj0iMi4xIi8+PC9nPjxnPjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik03Mi44IDE3My4xYy03LjMgMi45LTI3LjkgMTQuNC0yNy45IDI3LjUgMCAzLjcgMi4yIDguMSAxNyA2LjIgMjcuMS0zLjUgNzcuOS0xLjggNzcuOS0xLjhsNTcuOS00LjYtMTI0LjktMjcuM3oiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDcuMiAyMDQuNWw1NS4xLTcuN2MxLjQtLjIgMi42LTIuNSAyLjYtNVY3NC4zYzAtMi41LTIuNy0zLjUtNC4yLTMuMWwtNTMuNSAxOGMtMS4yLjQtMi4yIDIuNi0yLjIgNXYxMDYuNWMtLjEgMi4zLjkgNCAyLjIgMy44eiIvPjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xOTcuOCAyMDAuM2wtOTUuNS0zLjdjLTIuNS0uMS00LjUtMi4yLTQuNS00LjZWNzVjMC0yLjUgMi00LjIgNC41LTMuOUwxOTcuOCA4M2MyLjEuMyAzLjkgMi4zIDMuOSA0LjZ2MTA4LjhjMCAyLjItMS43IDQtMy45IDMuOXoiLz48cGF0aCBjbGFzcz0ic3QxNyIgZD0iTTk3LjkgMTEyLjZsMTAzLjggMTAuNSIvPjxwYXRoIGNsYXNzPSJzdDE2IiBkPSJNMTEzLjMgODUuNmw3NS45IDkuMU0xMTMuMyAxMzAuNWw3NS45IDcuMU0xMTMuMyAxNzIuN2w3NS45IDQuMiIvPjxwYXRoIGNsYXNzPSJzdDE3IiBkPSJNOTYuMSAxNTUuNmwxMDUuNiA3LjJNOTYuMSAxOTUuM2wxMDUuNiAzLjYiLz48L2c+PGc+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQ3LjIgMzI0LjZsNTUuNCA2LjFjMS40LjEgMi42LTEuOSAyLjYtNC40VjIwNS41YzAtMi41LTEuMi00LjUtMi42LTQuNGwtNTUuNCA3LjRjLTEuMi4xLTIuMyAyLjEtMi4zIDQuNHYxMDcuMmMwIDIuNCAxIDQuNCAyLjMgNC41eiIvPjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xOTguOCAzMjYuNWwtOTYuMSA0LjJjLTIuNS4xLTQuNS0xLjktNC41LTQuNFYyMDUuNWMwLTIuNSAyLTQuNSA0LjUtNC40bDk2LjEgNC4yYzIuMi4xIDMuOSAyLjEgMy45IDQuNFYzMjJjLjEgMi40LTEuNyA0LjQtMy45IDQuNXoiLz48cGF0aCBjbGFzcz0ic3QxNyIgZD0iTTk4LjIgMjQ0LjNsMTA0LjYgMi4xTTk2LjQgMjg4LjlsMTA2LjQtMS41Ii8+PHBhdGggY2xhc3M9InN0MTYiIGQ9Ik0xMTMuMyAyMTQuN2w3Ni4xIDNNMTEzLjMgMjU5LjZsNzYuMS45TTExMy4zIDMwMS43bDc2LjEtMiIvPjwvZz48Zz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTUxIDMzNi40bDcwIDcuN2MxLjguMSAzLjMtMi40IDMuMy01LjZWMTg2YzAtMy4yLTEuNS01LjctMy4zLTUuNmwtNzAgOS4zYy0xLjYuMS0yLjggMi42LTIuOCA1LjZ2MTM1LjRjMCAzLjEgMS4zIDUuNiAyLjggNS43eiIvPjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0zNDIuNSAzMzguOGwtMTIxLjMgNS4zYy0zLjEuMS01LjctMi40LTUuNy01LjZWMTg2YzAtMy4yIDIuNS01LjcgNS43LTUuNmwxMjEuMyA1LjNjMi43LjEgNC45IDIuNiA0LjkgNS42djE0MS44YzAgMy4xLTIuMiA1LjYtNC45IDUuN3oiLz48cGF0aCBjbGFzcz0ic3QxNyIgZD0iTTIxNS41IDIzNS4xbDEzMS45IDIuNk0yMTMuMiAyOTEuM2wxMzQuMi0xLjgiLz48cGF0aCBjbGFzcz0ic3QxMSIgZD0iTTIzNC4zIDE5OC40YzAgMS44LTEuMyAzLjMtMyAzLjItMS43LS4xLTMtMS43LTMtMy41czEuNC0zLjMgMy0zLjJjMS42LjEgMyAxLjcgMyAzLjV6Ii8+PHBhdGggY2xhc3M9InN0MTgiIGQ9Ik0yNDggMTk5LjJjMCAxLjgtMS4zIDMuMi0zIDMuMi0xLjYtLjEtMy0xLjYtMy0zLjVzMS4zLTMuMyAzLTMuMmMxLjcuMSAzIDEuNiAzIDMuNXpNMjYxLjQgMTk5LjljMCAxLjgtMS4zIDMuMi0yLjkgMy4xLTEuNi0uMS0yLjktMS42LTIuOS0zLjQgMC0xLjggMS4zLTMuMiAyLjktMy4xIDEuNi4xIDIuOSAxLjYgMi45IDMuNHoiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjc0LjYgMjAwLjZjMCAxLjgtMS4zIDMuMi0yLjggMy4xLTEuNi0uMS0yLjgtMS42LTIuOC0zLjRzMS4zLTMuMiAyLjgtMy4xYzEuNS4xIDIuOCAxLjYgMi44IDMuNHpNMjg3LjUgMjAxLjNjMCAxLjgtMS4yIDMuMi0yLjggMy4xLTEuNS0uMS0yLjgtMS42LTIuOC0zLjRzMS4zLTMuMiAyLjgtMy4xYzEuNS4yIDIuOCAxLjcgMi44IDMuNHpNMzAwLjEgMjAyYzAgMS44LTEuMiAzLjEtMi43IDMtMS41LS4xLTIuNy0xLjYtMi43LTMuMyAwLTEuOCAxLjItMy4xIDIuNy0zIDEuNS4xIDIuNyAxLjYgMi43IDMuM3pNMzEyLjUgMjAyLjdjMCAxLjctMS4yIDMuMS0yLjcgMy0xLjUtLjEtMi43LTEuNi0yLjctMy4zIDAtMS44IDEuMi0zLjEgMi43LTMgMS41LjEgMi43IDEuNiAyLjcgMy4zek0zMjQuNyAyMDMuNGMwIDEuNy0xLjIgMy4xLTIuNiAzLTEuNS0uMS0yLjYtMS41LTIuNi0zLjMgMC0xLjcgMS4yLTMuMSAyLjYtMyAxLjQuMSAyLjYgMS42IDIuNiAzLjN6TTMzNi42IDIwNC4xYzAgMS43LTEuMiAzLTIuNiAzLTEuNC0uMS0yLjYtMS41LTIuNi0zLjIgMC0xLjcgMS4yLTMgMi42LTMgMS41IDAgMi42IDEuNCAyLjYgMy4yeiIvPjxnPjxwYXRoIGNsYXNzPSJzdDExIiBkPSJNMjM0LjMgMjUzLjhjMCAxLjgtMS4zIDMuMy0zIDMuM3MtMy0xLjUtMy0zLjQgMS40LTMuMyAzLTMuMyAzIDEuNSAzIDMuNHpNMjQ4IDI1My45YzAgMS44LTEuMyAzLjMtMyAzLjMtMS42IDAtMy0xLjUtMy0zLjRzMS4zLTMuMyAzLTMuM2MxLjcuMSAzIDEuNiAzIDMuNHoiLz48cGF0aCBjbGFzcz0ic3QxOCIgZD0iTTI2MS40IDI1NC4xYzAgMS44LTEuMyAzLjMtMi45IDMuMi0xLjYgMC0yLjktMS41LTIuOS0zLjNzMS4zLTMuMyAyLjktMy4yYzEuNiAwIDIuOSAxLjUgMi45IDMuM3pNMjc0LjYgMjU0LjNjMCAxLjgtMS4zIDMuMi0yLjggMy4yLTEuNiAwLTIuOC0xLjUtMi44LTMuM3MxLjMtMy4yIDIuOC0zLjJjMS41LjEgMi44IDEuNSAyLjggMy4zek0yODcuNSAyNTQuNWMwIDEuOC0xLjIgMy4yLTIuOCAzLjItMS41IDAtMi44LTEuNS0yLjgtMy4zczEuMy0zLjIgMi44LTMuMmMxLjUuMSAyLjggMS41IDIuOCAzLjN6Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTMwMC4xIDI1NC43YzAgMS44LTEuMiAzLjItMi43IDMuMi0xLjUgMC0yLjctMS41LTIuNy0zLjIgMC0xLjggMS4yLTMuMiAyLjctMy4yIDEuNSAwIDIuNyAxLjQgMi43IDMuMnpNMzEyLjUgMjU0LjljMCAxLjctMS4yIDMuMS0yLjcgMy4xLTEuNSAwLTIuNy0xLjQtMi43LTMuMnMxLjItMy4xIDIuNy0zLjFjMS41IDAgMi43IDEuNCAyLjcgMy4yek0zMjQuNyAyNTVjMCAxLjctMS4yIDMuMS0yLjYgMy4xLTEuNSAwLTIuNi0xLjQtMi42LTMuMiAwLTEuNyAxLjItMy4xIDIuNi0zLjEgMS40LjEgMi42IDEuNSAyLjYgMy4yek0zMzYuNiAyNTUuMmMwIDEuNy0xLjIgMy4xLTIuNiAzLjEtMS40IDAtMi42LTEuNC0yLjYtMy4xIDAtMS43IDEuMi0zLjEgMi42LTMuMSAxLjUgMCAyLjYgMS40IDIuNiAzLjF6Ii8+PC9nPjxnPjxwYXRoIGNsYXNzPSJzdDExIiBkPSJNMjM0LjMgMzA5LjFjMCAxLjgtMS4zIDMuNC0zIDMuNHMtMy0xLjQtMy0zLjMgMS40LTMuNCAzLTMuNCAzIDEuNCAzIDMuM3oiLz48cGF0aCBjbGFzcz0ic3QxOCIgZD0iTTI0OCAzMDguN2MwIDEuOC0xLjMgMy40LTMgMy40LTEuNiAwLTMtMS40LTMtMy4yIDAtMS44IDEuMy0zLjQgMy0zLjQgMS43LS4xIDMgMS40IDMgMy4yek0yNjEuNCAzMDguNGMwIDEuOC0xLjMgMy4zLTIuOSAzLjQtMS42IDAtMi45LTEuNC0yLjktMy4yIDAtMS44IDEuMy0zLjMgMi45LTMuNCAxLjYtLjEgMi45IDEuNCAyLjkgMy4yek0yNzQuNiAzMDhjMCAxLjgtMS4zIDMuMy0yLjggMy4zLTEuNiAwLTIuOC0xLjQtMi44LTMuMnMxLjMtMy4zIDIuOC0zLjNjMS41IDAgMi44IDEuNCAyLjggMy4yeiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yODcuNSAzMDcuN2MwIDEuOC0xLjIgMy4zLTIuOCAzLjMtMS41IDAtMi44LTEuNC0yLjgtMy4xIDAtMS44IDEuMy0zLjMgMi44LTMuMyAxLjUtLjEgMi44IDEuMyAyLjggMy4xek0zMDAuMSAzMDcuM2MwIDEuOC0xLjIgMy4yLTIuNyAzLjMtMS41IDAtMi43LTEuNC0yLjctMy4xIDAtMS44IDEuMi0zLjIgMi43LTMuMyAxLjUgMCAyLjcgMS40IDIuNyAzLjF6TTMxMi41IDMwN2MwIDEuNy0xLjIgMy4yLTIuNyAzLjItMS41IDAtMi43LTEuMy0yLjctMy4xczEuMi0zLjIgMi43LTMuMmMxLjUgMCAyLjcgMS40IDIuNyAzLjF6TTMyNC43IDMwNi43YzAgMS43LTEuMiAzLjItMi42IDMuMi0xLjUgMC0yLjYtMS4zLTIuNi0zLjFzMS4yLTMuMiAyLjYtMy4yYzEuNCAwIDIuNiAxLjMgMi42IDMuMXpNMzM2LjYgMzA2LjNjMCAxLjctMS4yIDMuMS0yLjYgMy4yLTEuNCAwLTIuNi0xLjMtMi42LTNzMS4yLTMuMSAyLjYtMy4yYzEuNSAwIDIuNiAxLjMgMi42IDN6Ii8+PC9nPjwvZz48Zz48cGF0aCBjbGFzcz0ic3QzIiBkPSJNNTkuNCAxMDNjMCAxLjggMS40IDMuMiAzLjEgMi45IDEuNy0uMiAzLjEtMS45IDMuMS0zLjhzLTEuNC0zLjItMy4xLTIuOWMtMS43LjItMy4xIDEuOS0zLjEgMy44ek01OS40IDE0MC41YzAgMS44IDEuNCAzLjIgMy4xIDIuOSAxLjctLjIgMy4xLTEuOSAzLjEtMy44cy0xLjQtMy4yLTMuMS0yLjljLTEuNy4zLTMuMSAyLTMuMSAzLjh6TTU5LjQgMTc4LjFjMCAxLjggMS40IDMuMiAzLjEgMi45IDEuNy0uMiAzLjEtMS45IDMuMS0zLjhzLTEuNC0zLjItMy4xLTIuOWMtMS43LjMtMy4xIDItMy4xIDMuOHoiLz48L2c+PGc+PHBhdGggY2xhc3M9InN0MyIgZD0iTTU5LjQgMjI4LjdjMCAxLjggMS40IDMuMiAzLjEgMi45IDEuNy0uMiAzLjEtMS45IDMuMS0zLjhzLTEuNC0zLjItMy4xLTIuOWMtMS43LjMtMy4xIDItMy4xIDMuOHpNNTkuNCAyNjYuM2MwIDEuOCAxLjQgMy4yIDMuMSAyLjkgMS43LS4yIDMuMS0xLjkgMy4xLTMuOHMtMS40LTMuMi0zLjEtMi45Yy0xLjcuMy0zLjEgMi0zLjEgMy44ek01OS40IDMwMy45YzAgMS44IDEuNCAzLjIgMy4xIDIuOSAxLjctLjIgMy4xLTEuOSAzLjEtMy44cy0xLjQtMy4yLTMuMS0yLjljLTEuNy4zLTMuMSAxLjktMy4xIDMuOHoiLz48L2c+PGc+PHBhdGggY2xhc3M9InN0MyIgZD0iTTE2Mi4zIDIxMy44YzAgMi40IDEuOCA0LjEgNCAzLjggMi4yLS4zIDQuMS0yLjUgNC4xLTQuOXMtMS44LTQuMS00LjEtMy44Yy0yLjIuMy00IDIuNS00IDQuOXpNMTYyLjMgMjYzLjFjMCAyLjQgMS44IDQuMSA0IDMuOCAyLjItLjMgNC4xLTIuNSA0LjEtNC45cy0xLjgtNC4xLTQuMS0zLjhjLTIuMi4zLTQgMi41LTQgNC45ek0xNjIuMyAzMTIuNGMwIDIuNCAxLjggNC4xIDQgMy44IDIuMi0uMyA0LjEtMi41IDQuMS00LjkgMC0yLjQtMS44LTQuMS00LjEtMy44LTIuMi4zLTQgMi41LTQgNC45eiIvPjwvZz48Zz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNjEuNyAxMDIuNmwtMjItMS43Yy0zLjktLjMtNy4yIDIuOC03LjIgNi43djIwNi41Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTYxLjcgMTQwLjFsLTIyLTEuN2MtMy45LS4zLTcuMiAyLjgtNy4yIDYuN3Y5MS44Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTYxLjcgMTc3LjlsLTIyLS44Yy0zLjktLjMtNy4yIDIuOC03LjIgNi43djc2LjEiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNjEuNyAyMjcuOWwtMjIgLjFjLTMuOS0uMy03LjIgMi44LTcuMiA2Ljd2NzYuMSIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik02MS43IDI2NS44bC0yMiAuMWMtMy45LS4zLTcuMiAyLjgtNy4yIDYuN3Y0OC45Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTYxLjcgMzAzLjdsLTIyIC4xYy0zLjktLjMtNy4yIDIuOC03LjIgNi43djE2Ii8+PHBhdGggY2xhc3M9InN0MSIgZD0iTTMyLjUgMzI0LjF2NS43YzAgMy4zLjIgNi41IDMuMSA3LjIgMi44LjcgODMuOCAxMy41IDkwLjUgMTQuNCA2LjcuOSA4LjYtMi40IDguNi01LjlWMjIzLjljMC01LjggNC43LTEwLjUgMTAuNS0xMC42bDIwLjMtLjIiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTM0LjYgMzAyLjZ2LTI5LjJjMC01LjggNC43LTEwLjUgMTAuNS0xMC42bDIwLjMtLjJNMTM0LjYgMzM4LjJWMzIzYzAtNS44IDQuNy0xMC41IDEwLjUtMTAuNmwyMC4zLS4yIi8+PC9nPjwvc3ZnPgo=");
|
|
27
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React, { ErrorInfo, PropsWithChildren } from 'react';
|
|
2
|
-
import { BlockDecorationProps } from '../../../models';
|
|
3
|
-
interface ErrorBoundaryProps extends PropsWithChildren, Partial<BlockDecorationProps> {
|
|
4
|
-
}
|
|
5
|
-
interface ErrorBoundaryState {
|
|
6
|
-
error?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
9
|
-
state: ErrorBoundaryState;
|
|
10
|
-
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
11
|
-
render(): string | number | boolean | React.ReactFragment | JSX.Element | null | undefined;
|
|
12
|
-
}
|
|
13
|
-
export {};
|