@gravity-ui/page-constructor 1.18.1 → 1.19.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 +7 -0
- package/README.md +8 -0
- package/build/cjs/blocks/Map/Map.d.ts +3 -0
- package/build/cjs/blocks/Map/Map.js +15 -0
- package/build/cjs/blocks/Map/schema.d.ts +370 -0
- package/build/cjs/blocks/Map/schema.js +18 -0
- package/build/cjs/blocks/Media/Media.js +5 -27
- package/build/cjs/blocks/Media/schema.d.ts +265 -9
- package/build/cjs/blocks/Media/schema.js +18 -17
- package/build/cjs/blocks/index.d.ts +1 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/components/Map/GoogleMap.d.ts +4 -0
- package/build/cjs/components/Map/GoogleMap.js +42 -0
- package/build/cjs/components/Map/Map.css +20 -0
- package/build/cjs/components/Map/Map.d.ts +3 -0
- package/build/cjs/components/Map/Map.js +21 -0
- package/build/cjs/components/Map/YMap/YMap.d.ts +13 -0
- package/build/cjs/components/Map/YMap/YMap.js +97 -0
- package/build/cjs/components/Map/YMap/YandexMap.d.ts +4 -0
- package/build/cjs/components/Map/YMap/YandexMap.js +72 -0
- package/build/cjs/components/Map/YMap/YandexMapApiLoader.d.ts +11 -0
- package/build/cjs/components/Map/YMap/YandexMapApiLoader.js +37 -0
- package/build/cjs/components/Map/YMap/i18n/en.json +4 -0
- package/build/cjs/components/Map/YMap/i18n/index.d.ts +2 -0
- package/build/cjs/components/Map/YMap/i18n/index.js +8 -0
- package/build/cjs/components/Map/YMap/i18n/ru.json +4 -0
- package/build/cjs/components/Map/helpers.d.ts +1 -0
- package/build/cjs/components/Map/helpers.js +7 -0
- package/build/cjs/{blocks/Media/Media.css → components/MediaBase/MediaBase.css} +15 -14
- package/build/cjs/components/MediaBase/MediaBase.d.ts +13 -0
- package/build/cjs/components/MediaBase/MediaBase.js +39 -0
- package/build/{esm/blocks/Media/MediaContent.css → cjs/components/MediaBase/MediaBaseContent.css} +2 -2
- package/build/cjs/{blocks/Media/MediaContent.js → components/MediaBase/MediaBaseContent.js} +1 -1
- package/build/cjs/constructor-items.d.ts +1 -0
- package/build/cjs/constructor-items.js +1 -0
- package/build/cjs/containers/PageConstructor/Provider.d.ts +2 -0
- package/build/cjs/containers/PageConstructor/Provider.js +3 -1
- package/build/cjs/context/mapsContext/mapsContext.d.ts +22 -0
- package/build/cjs/context/mapsContext/mapsContext.js +20 -0
- package/build/cjs/context/mapsContext/mapsProvider.d.ts +10 -0
- package/build/cjs/context/mapsContext/mapsProvider.js +15 -0
- package/build/cjs/context/mapsContext/useMap.d.ts +2 -0
- package/build/cjs/context/mapsContext/useMap.js +11 -0
- package/build/cjs/internal-typings/global.d.ts +36 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +18 -9
- package/build/cjs/models/constructor-items/blocks.js +1 -0
- package/build/cjs/models/constructor-items/common.d.ts +25 -0
- package/build/cjs/schema/index.js +1 -1
- package/build/cjs/schema/validators/blocks.d.ts +1 -0
- package/build/cjs/schema/validators/blocks.js +1 -0
- package/build/cjs/schema/validators/common.d.ts +91 -0
- package/build/cjs/schema/validators/common.js +46 -1
- package/build/cjs/utils/blocks.d.ts +1 -1
- package/build/cjs/utils/common.d.ts +6 -0
- package/build/cjs/utils/common.js +24 -0
- package/build/cjs/utils/index.d.ts +1 -0
- package/build/cjs/utils/index.js +1 -0
- package/build/esm/blocks/Map/Map.d.ts +3 -0
- package/build/esm/blocks/Map/Map.js +11 -0
- package/build/esm/blocks/Map/schema.d.ts +370 -0
- package/build/esm/blocks/Map/schema.js +15 -0
- package/build/esm/blocks/Media/Media.d.ts +0 -1
- package/build/esm/blocks/Media/Media.js +7 -31
- package/build/esm/blocks/Media/schema.d.ts +265 -9
- package/build/esm/blocks/Media/schema.js +17 -16
- package/build/esm/blocks/index.d.ts +1 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/components/Map/GoogleMap.d.ts +4 -0
- package/build/esm/components/Map/GoogleMap.js +39 -0
- package/build/esm/components/Map/Map.css +20 -0
- package/build/esm/components/Map/Map.d.ts +4 -0
- package/build/esm/components/Map/Map.js +17 -0
- package/build/esm/components/Map/YMap/YMap.d.ts +13 -0
- package/build/esm/components/Map/YMap/YMap.js +93 -0
- package/build/esm/components/Map/YMap/YandexMap.d.ts +4 -0
- package/build/esm/components/Map/YMap/YandexMap.js +69 -0
- package/build/esm/components/Map/YMap/YandexMapApiLoader.d.ts +11 -0
- package/build/esm/components/Map/YMap/YandexMapApiLoader.js +33 -0
- package/build/esm/components/Map/YMap/i18n/en.json +4 -0
- package/build/esm/components/Map/YMap/i18n/index.d.ts +2 -0
- package/build/esm/components/Map/YMap/i18n/index.js +5 -0
- package/build/esm/components/Map/YMap/i18n/ru.json +4 -0
- package/build/esm/components/Map/helpers.d.ts +1 -0
- package/build/esm/components/Map/helpers.js +3 -0
- package/build/esm/{blocks/Media/Media.css → components/MediaBase/MediaBase.css} +15 -14
- package/build/esm/components/MediaBase/MediaBase.d.ts +14 -0
- package/build/esm/components/MediaBase/MediaBase.js +36 -0
- package/build/{cjs/blocks/Media/MediaContent.css → esm/components/MediaBase/MediaBaseContent.css} +2 -2
- package/build/esm/{blocks/Media/MediaContent.d.ts → components/MediaBase/MediaBaseContent.d.ts} +1 -1
- package/build/esm/{blocks/Media/MediaContent.js → components/MediaBase/MediaBaseContent.js} +2 -2
- package/build/esm/constructor-items.d.ts +1 -0
- package/build/esm/constructor-items.js +2 -1
- package/build/esm/containers/PageConstructor/Provider.d.ts +2 -0
- package/build/esm/containers/PageConstructor/Provider.js +3 -1
- package/build/esm/context/mapsContext/mapsContext.d.ts +22 -0
- package/build/esm/context/mapsContext/mapsContext.js +16 -0
- package/build/esm/context/mapsContext/mapsProvider.d.ts +10 -0
- package/build/esm/context/mapsContext/mapsProvider.js +10 -0
- package/build/esm/context/mapsContext/useMap.d.ts +2 -0
- package/build/esm/context/mapsContext/useMap.js +6 -0
- package/build/esm/internal-typings/global.d.ts +36 -0
- package/build/esm/models/constructor-items/blocks.d.ts +18 -9
- package/build/esm/models/constructor-items/blocks.js +1 -0
- package/build/esm/models/constructor-items/common.d.ts +25 -0
- package/build/esm/schema/index.js +2 -2
- package/build/esm/schema/validators/blocks.d.ts +1 -0
- package/build/esm/schema/validators/blocks.js +1 -0
- package/build/esm/schema/validators/common.d.ts +91 -0
- package/build/esm/schema/validators/common.js +45 -0
- package/build/esm/utils/blocks.d.ts +1 -1
- package/build/esm/utils/common.d.ts +6 -0
- package/build/esm/utils/common.js +20 -0
- package/build/esm/utils/index.d.ts +1 -0
- package/build/esm/utils/index.js +1 -0
- package/package.json +1 -1
- package/server/models/constructor-items/blocks.d.ts +18 -9
- package/server/models/constructor-items/blocks.js +1 -0
- package/server/models/constructor-items/common.d.ts +25 -0
- package/server/utils/blocks.d.ts +1 -1
- package/server/utils/common.d.ts +6 -0
- package/server/utils/common.js +24 -0
- package/server/utils/index.d.ts +1 -0
- package/server/utils/index.js +1 -0
- /package/build/cjs/{blocks/Media/MediaContent.d.ts → components/MediaBase/MediaBaseContent.d.ts} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.YMapsApiLoader = exports.MapApiStatus = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
const mapsContext_1 = require("../../../context/mapsContext/mapsContext");
|
|
6
|
+
var MapApiStatus;
|
|
7
|
+
(function (MapApiStatus) {
|
|
8
|
+
MapApiStatus["NotStarted"] = "not_started";
|
|
9
|
+
MapApiStatus["Loading"] = "loading";
|
|
10
|
+
MapApiStatus["Loaded"] = "loaded";
|
|
11
|
+
MapApiStatus["Error"] = "error";
|
|
12
|
+
})(MapApiStatus = exports.MapApiStatus || (exports.MapApiStatus = {}));
|
|
13
|
+
const SCRIPT_ID = 'ymaps-script';
|
|
14
|
+
class YMapsApiLoader {
|
|
15
|
+
static async loadApi(apiKey, scriptSrc, lang, nonce) {
|
|
16
|
+
if (YMapsApiLoader.status === MapApiStatus.Loaded) {
|
|
17
|
+
return Promise.resolve();
|
|
18
|
+
}
|
|
19
|
+
if (YMapsApiLoader.status === MapApiStatus.Loading) {
|
|
20
|
+
await YMapsApiLoader.loader;
|
|
21
|
+
return Promise.resolve();
|
|
22
|
+
}
|
|
23
|
+
YMapsApiLoader.status = MapApiStatus.Loading;
|
|
24
|
+
const csp = nonce ? `csp[style_nonce]=${nonce}` : 'csp=true';
|
|
25
|
+
const src = `${scriptSrc}?apikey=${apiKey}&lang=${mapsContext_1.Maplangs[lang]}&${csp}`;
|
|
26
|
+
YMapsApiLoader.loader = (0, utils_1.loadScript)(src, { id: SCRIPT_ID })
|
|
27
|
+
.then(() => {
|
|
28
|
+
YMapsApiLoader.status = MapApiStatus.Loaded;
|
|
29
|
+
})
|
|
30
|
+
.catch(() => {
|
|
31
|
+
YMapsApiLoader.status = MapApiStatus.Error;
|
|
32
|
+
});
|
|
33
|
+
return this.loader;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.YMapsApiLoader = YMapsApiLoader;
|
|
37
|
+
YMapsApiLoader.status = MapApiStatus.NotStarted;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const registerKeyset_1 = require("../../../../utils/registerKeyset");
|
|
5
|
+
const en_json_1 = tslib_1.__importDefault(require("./en.json"));
|
|
6
|
+
const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
|
|
7
|
+
const COMPONENT = 'Map';
|
|
8
|
+
exports.default = (0, registerKeyset_1.registerKeyset)({ en: en_json_1.default, ru: ru_json_1.default }, COMPONENT);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getMapHeight(width: number, isMobile: boolean): number;
|
|
@@ -1,50 +1,51 @@
|
|
|
1
1
|
/* use this for style redefinitions to awoid problems with
|
|
2
2
|
unpredictable css rules order in build */
|
|
3
|
-
.pc-media-
|
|
3
|
+
.pc-media-base__card img {
|
|
4
4
|
width: 100%;
|
|
5
5
|
}
|
|
6
|
-
.pc-media-
|
|
7
|
-
.pc-media-
|
|
8
|
-
.pc-media-
|
|
6
|
+
.pc-media-base__card img,
|
|
7
|
+
.pc-media-base__card video,
|
|
8
|
+
.pc-media-base__card iframe,
|
|
9
|
+
.pc-media-base__card .pc-map {
|
|
9
10
|
border-radius: var(--pc-border-radius);
|
|
10
11
|
}
|
|
11
|
-
.pc-media-
|
|
12
|
+
.pc-media-base__card_shadow {
|
|
12
13
|
box-shadow: 0 2px 8px var(--pc-color-sfx-shadow), 0 4px 24px var(--pc-color-sfx-shadow);
|
|
13
14
|
overflow-x: hidden;
|
|
14
15
|
border-radius: var(--pc-border-radius);
|
|
15
16
|
}
|
|
16
|
-
.pc-media-
|
|
17
|
+
.pc-media-base__row_reverse {
|
|
17
18
|
flex-direction: row-reverse;
|
|
18
19
|
}
|
|
19
|
-
.pc-media-
|
|
20
|
+
.pc-media-base__row_reverse .pc-media-base__content > * {
|
|
20
21
|
margin-right: 0;
|
|
21
22
|
margin-left: 64px;
|
|
22
23
|
}
|
|
23
|
-
.pc-media-
|
|
24
|
+
.pc-media-base__header {
|
|
24
25
|
margin-bottom: 24px;
|
|
25
26
|
}
|
|
26
27
|
@media (max-width: 769px) {
|
|
27
|
-
.pc-media-
|
|
28
|
+
.pc-media-base__row_reverse {
|
|
28
29
|
flex-direction: row;
|
|
29
30
|
}
|
|
30
|
-
.pc-media-
|
|
31
|
+
.pc-media-base__row_reverse .pc-media-base__content > * {
|
|
31
32
|
margin-left: 0;
|
|
32
33
|
}
|
|
33
|
-
.pc-media-
|
|
34
|
+
.pc-media-base__row_mobile-reverse {
|
|
34
35
|
flex-direction: column-reverse;
|
|
35
36
|
}
|
|
36
|
-
.pc-media-
|
|
37
|
+
.pc-media-base__row_mobile-reverse .pc-media-base__content > * {
|
|
37
38
|
margin-top: 32px;
|
|
38
39
|
padding-bottom: 0;
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
@media (min-width: 769px) {
|
|
42
|
-
.pc-media-
|
|
43
|
+
.pc-media-base.pc-AnimateBlock .pc-media-base__card, .pc-AnimateBlock .pc-media-base .pc-media-base__card {
|
|
43
44
|
position: relative;
|
|
44
45
|
top: 100px;
|
|
45
46
|
opacity: 0;
|
|
46
47
|
}
|
|
47
|
-
.pc-media-
|
|
48
|
+
.pc-media-base.pc-AnimateBlock.animate .pc-media-base__card, .pc-AnimateBlock .pc-media-base.animate .pc-media-base__card {
|
|
48
49
|
top: 0;
|
|
49
50
|
opacity: 1;
|
|
50
51
|
transition: top 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { ReactElement } from 'react';
|
|
2
|
+
import { MediaBaseBlockProps } from '../../models';
|
|
3
|
+
interface MediaBaseProps extends MediaBaseBlockProps {
|
|
4
|
+
children: ReactElement;
|
|
5
|
+
onScroll?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const MediaBase: {
|
|
8
|
+
(props: MediaBaseProps): JSX.Element;
|
|
9
|
+
Card: React.FC<{
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
export default MediaBase;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MediaBase = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
const grid_1 = require("../../grid");
|
|
8
|
+
const AnimateBlock_1 = tslib_1.__importDefault(require("../../components/AnimateBlock/AnimateBlock"));
|
|
9
|
+
const BlockHeader_1 = tslib_1.__importDefault(require("../../components/BlockHeader/BlockHeader"));
|
|
10
|
+
const MediaBaseContent_1 = tslib_1.__importDefault(require("./MediaBaseContent"));
|
|
11
|
+
const b = (0, utils_1.block)('media-base');
|
|
12
|
+
const Card = () => null;
|
|
13
|
+
const MediaBase = (props) => {
|
|
14
|
+
const { children, largeMedia, direction = 'content-media', mobileDirection = 'content-media', animated, mediaOnly, disableShadow = false, onScroll } = props, mediaContentProps = tslib_1.__rest(props, ["children", "largeMedia", "direction", "mobileDirection", "animated", "mediaOnly", "disableShadow", "onScroll"]);
|
|
15
|
+
const { title, description } = mediaContentProps;
|
|
16
|
+
const mediaSizes = (0, react_1.useMemo)(() => {
|
|
17
|
+
return mediaOnly
|
|
18
|
+
? { [grid_1.GridColumnSize.All]: 12 }
|
|
19
|
+
: { [grid_1.GridColumnSize.Md]: largeMedia ? 8 : 6, [grid_1.GridColumnSize.All]: 12 };
|
|
20
|
+
}, [mediaOnly, largeMedia]);
|
|
21
|
+
const contentSizes = (0, react_1.useMemo)(() => {
|
|
22
|
+
return { [grid_1.GridColumnSize.Md]: largeMedia ? 4 : 6, [grid_1.GridColumnSize.All]: 12 };
|
|
23
|
+
}, [largeMedia]);
|
|
24
|
+
const mediaContent = !mediaOnly && react_1.default.createElement(MediaBaseContent_1.default, Object.assign({}, mediaContentProps));
|
|
25
|
+
const card = children.type === Card ? children === null || children === void 0 ? void 0 : children.props.children : null;
|
|
26
|
+
return (react_1.default.createElement(AnimateBlock_1.default, { className: b(), onScroll: onScroll, animate: animated },
|
|
27
|
+
mediaOnly && (react_1.default.createElement(BlockHeader_1.default, { className: b('header'), title: title, description: description })),
|
|
28
|
+
react_1.default.createElement(grid_1.Grid, null,
|
|
29
|
+
react_1.default.createElement(grid_1.Row, { className: b('row', {
|
|
30
|
+
reverse: direction === 'media-content',
|
|
31
|
+
'mobile-reverse': mobileDirection === 'media-content',
|
|
32
|
+
}) },
|
|
33
|
+
react_1.default.createElement(grid_1.Col, { className: b('content'), sizes: contentSizes }, mediaContent),
|
|
34
|
+
card ? (react_1.default.createElement(grid_1.Col, { sizes: mediaSizes },
|
|
35
|
+
react_1.default.createElement("div", { className: b('card', { shadow: !disableShadow }) }, card))) : null))));
|
|
36
|
+
};
|
|
37
|
+
exports.MediaBase = MediaBase;
|
|
38
|
+
exports.MediaBase.Card = Card;
|
|
39
|
+
exports.default = exports.MediaBase;
|
package/build/{esm/blocks/Media/MediaContent.css → cjs/components/MediaBase/MediaBaseContent.css}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
.pc-media-content {
|
|
1
|
+
.pc-media-base-content {
|
|
2
2
|
margin-right: 64px;
|
|
3
3
|
height: 100%;
|
|
4
4
|
align-items: center;
|
|
5
5
|
display: flex;
|
|
6
6
|
}
|
|
7
7
|
@media (max-width: 769px) {
|
|
8
|
-
.pc-media-content {
|
|
8
|
+
.pc-media-base-content {
|
|
9
9
|
margin-right: 0;
|
|
10
10
|
padding-bottom: 32px;
|
|
11
11
|
}
|
|
@@ -4,7 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const sub_blocks_1 = require("../../sub-blocks");
|
|
7
|
-
const b = (0, utils_1.block)('media-content');
|
|
7
|
+
const b = (0, utils_1.block)('media-base-content');
|
|
8
8
|
const MediaContent = (props) => {
|
|
9
9
|
const { title, description, button, links, buttons = [], additionalInfo, size = 'l' } = props;
|
|
10
10
|
const allButtons = button ? [Object.assign(Object.assign({}, button), { size: 'xl' }), ...buttons] : buttons;
|
|
@@ -19,6 +19,7 @@ export declare const blockMap: {
|
|
|
19
19
|
"card-layout-block": ({ title, description, animated, colSizes, children, }: import("./blocks/CardLayout/CardLayout").CardLayoutBlockProps) => JSX.Element;
|
|
20
20
|
"content-layout-block": (props: import("./models").ContentLayoutBlockProps) => JSX.Element;
|
|
21
21
|
"share-block": ({ items, title }: import("./models").ShareBlockProps) => JSX.Element;
|
|
22
|
+
"map-block": ({ map, ...props }: import("./models").MapBlockProps) => JSX.Element;
|
|
22
23
|
};
|
|
23
24
|
export declare const subBlockMap: {
|
|
24
25
|
divider: ({ size, border }: import("./models").DividerProps) => JSX.Element;
|
|
@@ -25,6 +25,7 @@ exports.blockMap = {
|
|
|
25
25
|
[models_1.BlockType.CardLayoutBlock]: blocks_1.CardLayoutBlock,
|
|
26
26
|
[models_1.BlockType.ContentLayoutBlock]: blocks_1.ContentLayoutBlock,
|
|
27
27
|
[models_1.BlockType.ShareBlock]: blocks_1.ShareBlock,
|
|
28
|
+
[models_1.BlockType.MapBlock]: blocks_1.MapBlock,
|
|
28
29
|
};
|
|
29
30
|
exports.subBlockMap = {
|
|
30
31
|
[models_1.SubBlockType.Divider]: sub_blocks_1.Divider,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MetrikaContextProps } from '../../context/metrikaContext';
|
|
2
|
+
import { MapsContextType } from '../../context/mapsContext/mapsContext';
|
|
2
3
|
import { ProjectSettingsContextProps } from '../../context/projectSettingsContext';
|
|
3
4
|
import { SSRContextProps } from '../../context/ssrContext';
|
|
4
5
|
import { LocaleContextProps } from '../../context/localeContext';
|
|
@@ -12,6 +13,7 @@ export interface PageConstructorProviderProps {
|
|
|
12
13
|
metrika?: MetrikaContextProps;
|
|
13
14
|
ssrConfig?: SSRContextProps;
|
|
14
15
|
theme?: ConstructorTheme;
|
|
16
|
+
mapsContext?: MapsContextType;
|
|
15
17
|
projectSettings?: ProjectSettingsContextProps;
|
|
16
18
|
}
|
|
17
19
|
export declare const PageConstructorProvider: (props: WithChildren<PageConstructorProviderProps>) => JSX.Element;
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const metrikaContext_1 = require("../../context/metrikaContext");
|
|
7
7
|
const mobileContext_1 = require("../../context/mobileContext");
|
|
8
|
+
const mapsContext_1 = require("../../context/mapsContext/mapsContext");
|
|
8
9
|
const projectSettingsContext_1 = require("../../context/projectSettingsContext");
|
|
9
10
|
const ssrContext_1 = require("../../context/ssrContext");
|
|
10
11
|
const localeContext_1 = require("../../context/localeContext");
|
|
@@ -12,7 +13,7 @@ const locationContext_1 = require("../../context/locationContext");
|
|
|
12
13
|
const ThemeValueContext_1 = require("../../context/theme/ThemeValueContext");
|
|
13
14
|
const constants_1 = require("../../components/constants");
|
|
14
15
|
const PageConstructorProvider = (props) => {
|
|
15
|
-
const { isMobile, locale = {}, location = {}, metrika = {}, ssrConfig = {}, projectSettings = {}, theme = constants_1.DEFAULT_THEME, children, } = props;
|
|
16
|
+
const { isMobile, mapsContext = mapsContext_1.initialMapValue, locale = {}, location = {}, metrika = {}, ssrConfig = {}, projectSettings = {}, theme = constants_1.DEFAULT_THEME, children, } = props;
|
|
16
17
|
/* eslint-disable react/jsx-key */
|
|
17
18
|
const context = [
|
|
18
19
|
react_1.default.createElement(ThemeValueContext_1.ThemeValueContext.Provider, { value: { themeValue: theme } }),
|
|
@@ -20,6 +21,7 @@ const PageConstructorProvider = (props) => {
|
|
|
20
21
|
react_1.default.createElement(localeContext_1.LocaleContext.Provider, { value: locale }),
|
|
21
22
|
react_1.default.createElement(locationContext_1.LocationContext.Provider, { value: location }),
|
|
22
23
|
react_1.default.createElement(mobileContext_1.MobileContext.Provider, { value: Boolean(isMobile) }),
|
|
24
|
+
react_1.default.createElement(mapsContext_1.MapsContext.Provider, { value: mapsContext }),
|
|
23
25
|
react_1.default.createElement(metrikaContext_1.MetrikaContext.Provider, { value: metrika }),
|
|
24
26
|
react_1.default.createElement(ssrContext_1.SSRContext.Provider, { value: { isServer: ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.isServer } }),
|
|
25
27
|
].reduceRight((prev, provider) => react_1.default.cloneElement(provider, {}, prev), children);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare enum MapType {
|
|
3
|
+
Yandex = "yandex",
|
|
4
|
+
Google = "google"
|
|
5
|
+
}
|
|
6
|
+
export declare const Maplangs: {
|
|
7
|
+
ru: string;
|
|
8
|
+
en: string;
|
|
9
|
+
};
|
|
10
|
+
export interface MapsContextType {
|
|
11
|
+
apiKey: string;
|
|
12
|
+
type: MapType;
|
|
13
|
+
scriptSrc: string;
|
|
14
|
+
nonce?: string;
|
|
15
|
+
setKey?: (newKey: string) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare const initialMapValue: {
|
|
18
|
+
apiKey: string;
|
|
19
|
+
scriptSrc: string;
|
|
20
|
+
type: MapType;
|
|
21
|
+
};
|
|
22
|
+
export declare const MapsContext: React.Context<MapsContextType>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MapsContext = exports.initialMapValue = exports.Maplangs = exports.MapType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var MapType;
|
|
7
|
+
(function (MapType) {
|
|
8
|
+
MapType["Yandex"] = "yandex";
|
|
9
|
+
MapType["Google"] = "google";
|
|
10
|
+
})(MapType = exports.MapType || (exports.MapType = {}));
|
|
11
|
+
exports.Maplangs = {
|
|
12
|
+
ru: 'ru_RU',
|
|
13
|
+
en: 'en_US',
|
|
14
|
+
};
|
|
15
|
+
exports.initialMapValue = {
|
|
16
|
+
apiKey: '',
|
|
17
|
+
scriptSrc: '',
|
|
18
|
+
type: MapType.Yandex,
|
|
19
|
+
};
|
|
20
|
+
exports.MapsContext = react_1.default.createContext(exports.initialMapValue);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
|
+
import { MapType } from './mapsContext';
|
|
3
|
+
interface MapProviderProps {
|
|
4
|
+
type: MapType;
|
|
5
|
+
scriptSrc: string;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const gmapApiKeyIdInLS = "gmap-api-key";
|
|
9
|
+
export declare const MapProvider: React.FC<PropsWithChildren<MapProviderProps>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MapProvider = exports.gmapApiKeyIdInLS = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const mapsContext_1 = require("./mapsContext");
|
|
7
|
+
exports.gmapApiKeyIdInLS = 'gmap-api-key';
|
|
8
|
+
const MapProvider = ({ type = mapsContext_1.MapType.Yandex, scriptSrc, apiKey, children, }) => {
|
|
9
|
+
const initialKeyValue = type === mapsContext_1.MapType.Google
|
|
10
|
+
? apiKey || localStorage.getItem(exports.gmapApiKeyIdInLS) || ''
|
|
11
|
+
: apiKey || '';
|
|
12
|
+
const [currentApiKey, setKey] = (0, react_1.useState)(initialKeyValue);
|
|
13
|
+
return (react_1.default.createElement(mapsContext_1.MapsContext.Provider, { value: { apiKey: currentApiKey, setKey, scriptSrc, type } }, children));
|
|
14
|
+
};
|
|
15
|
+
exports.MapProvider = MapProvider;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useMapApiKey = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const mapsContext_1 = require("./mapsContext");
|
|
7
|
+
function useMapApiKey() {
|
|
8
|
+
const { apiKey, setKey } = react_1.default.useContext(mapsContext_1.MapsContext);
|
|
9
|
+
return [apiKey, setKey];
|
|
10
|
+
}
|
|
11
|
+
exports.useMapApiKey = useMapApiKey;
|
|
@@ -25,6 +25,42 @@ interface Window {
|
|
|
25
25
|
create: (args: CreateFormProps) => unknown;
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
+
ymaps: Ymaps;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare namespace Ymaps {
|
|
32
|
+
export function ready(): Promise;
|
|
33
|
+
|
|
34
|
+
class Promise {
|
|
35
|
+
then(onFulfilled?: Function, onRejected?: Function, onProgress?: Function): Promise;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class Map {
|
|
39
|
+
setCenter: (center: number[]) => void;
|
|
40
|
+
setZoom: (zoom: number) => void;
|
|
41
|
+
geoObjects: {
|
|
42
|
+
add: (object) => void;
|
|
43
|
+
removeAll: () => void;
|
|
44
|
+
get: () => void;
|
|
45
|
+
};
|
|
46
|
+
constructor(element: string, state: MapState);
|
|
47
|
+
destroy(): Promise;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export class GeoObject {
|
|
51
|
+
properties: {
|
|
52
|
+
set: (objectName: string, value: string) => void;
|
|
53
|
+
};
|
|
54
|
+
options: {
|
|
55
|
+
set: (objectName: string, value: string) => void;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export class MapState {
|
|
60
|
+
center: number[];
|
|
61
|
+
controls: string[];
|
|
62
|
+
zoom: number;
|
|
63
|
+
}
|
|
28
64
|
}
|
|
29
65
|
|
|
30
66
|
declare module '*.md';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { BackgroundImageProps, ButtonProps, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, Justify, LinkProps, LinkTheme, MediaDirection, MediaProps, PreviewItemProps, PreviewRatioMediaContent, TextSize, TextTheme, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleProps, LegendTableMarkerType, AnchorProps, TitleBaseProps, Animatable, BlockHeaderProps, ImageDeviceProps } from './common';
|
|
2
|
+
import { BackgroundImageProps, ButtonProps, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, Justify, LinkProps, LinkTheme, MediaDirection, MediaProps, MapProps, PreviewItemProps, PreviewRatioMediaContent, TextSize, TextTheme, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleProps, LegendTableMarkerType, AnchorProps, TitleBaseProps, Animatable, BlockHeaderProps, ImageDeviceProps } from './common';
|
|
3
3
|
import { ThemeSupporting } from '../../utils';
|
|
4
4
|
import { GridColumnSize, GridColumnSizesType } from '../../grid/types';
|
|
5
5
|
import { BannerCardProps, SubBlock } from './sub-blocks';
|
|
@@ -25,7 +25,8 @@ export declare enum BlockType {
|
|
|
25
25
|
IconsBlock = "icons-block",
|
|
26
26
|
CardLayoutBlock = "card-layout-block",
|
|
27
27
|
ContentLayoutBlock = "content-layout-block",
|
|
28
|
-
ShareBlock = "share-block"
|
|
28
|
+
ShareBlock = "share-block",
|
|
29
|
+
MapBlock = "map-block"
|
|
29
30
|
}
|
|
30
31
|
export declare const BlockTypes: BlockType[];
|
|
31
32
|
export declare const HeaderBlockTypes: BlockType[];
|
|
@@ -155,6 +156,13 @@ export interface CompaniesBlockProps extends Animatable {
|
|
|
155
156
|
title: string;
|
|
156
157
|
images: ThemeSupporting<ImageDeviceProps>;
|
|
157
158
|
}
|
|
159
|
+
export interface MediaBaseBlockProps extends Animatable, MediaContentProps {
|
|
160
|
+
direction?: MediaDirection;
|
|
161
|
+
mobileDirection?: MediaDirection;
|
|
162
|
+
largeMedia?: boolean;
|
|
163
|
+
mediaOnly?: boolean;
|
|
164
|
+
disableShadow?: boolean;
|
|
165
|
+
}
|
|
158
166
|
export interface MediaContentProps {
|
|
159
167
|
title: string;
|
|
160
168
|
description?: string;
|
|
@@ -164,13 +172,11 @@ export interface MediaContentProps {
|
|
|
164
172
|
buttons?: ButtonProps[];
|
|
165
173
|
size?: ContentSize;
|
|
166
174
|
}
|
|
167
|
-
export interface MediaBlockProps extends
|
|
175
|
+
export interface MediaBlockProps extends MediaBaseBlockProps {
|
|
168
176
|
media: ThemeSupporting<MediaProps>;
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
mediaOnly?: boolean;
|
|
173
|
-
disableShadow?: boolean;
|
|
177
|
+
}
|
|
178
|
+
export interface MapBlockProps extends MediaBaseBlockProps {
|
|
179
|
+
map: MapProps;
|
|
174
180
|
}
|
|
175
181
|
export interface PreviewBlockProps extends Animatable {
|
|
176
182
|
title: string;
|
|
@@ -317,6 +323,9 @@ export type CompaniesBlockModel = {
|
|
|
317
323
|
export type MediaBlockModel = {
|
|
318
324
|
type: BlockType.MediaBlock;
|
|
319
325
|
} & MediaBlockProps;
|
|
326
|
+
export type MapBlockModel = {
|
|
327
|
+
type: BlockType.MapBlock;
|
|
328
|
+
} & MapBlockProps;
|
|
320
329
|
export type PreviewBlockModel = {
|
|
321
330
|
type: BlockType.PreviewBlock;
|
|
322
331
|
} & PreviewBlockProps;
|
|
@@ -353,6 +362,6 @@ export type ContentLayoutBlockModel = {
|
|
|
353
362
|
export type ShareBLockModel = {
|
|
354
363
|
type: BlockType.ShareBlock;
|
|
355
364
|
} & ShareBlockProps;
|
|
356
|
-
type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel;
|
|
365
|
+
type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel;
|
|
357
366
|
export type Block = BlockModels & BlockBaseProps;
|
|
358
367
|
export {};
|
|
@@ -25,6 +25,7 @@ var BlockType;
|
|
|
25
25
|
BlockType["CardLayoutBlock"] = "card-layout-block";
|
|
26
26
|
BlockType["ContentLayoutBlock"] = "content-layout-block";
|
|
27
27
|
BlockType["ShareBlock"] = "share-block";
|
|
28
|
+
BlockType["MapBlock"] = "map-block";
|
|
28
29
|
})(BlockType = exports.BlockType || (exports.BlockType = {}));
|
|
29
30
|
exports.BlockTypes = Object.values(BlockType);
|
|
30
31
|
exports.HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
|
|
@@ -186,6 +186,31 @@ export interface MediaComponentDataLensProps {
|
|
|
186
186
|
export interface MediaProps extends Animatable, Partial<MediaComponentDataLensProps>, Partial<MediaComponentYoutubeProps>, Partial<MediaComponentImageProps>, Partial<MediaComponentVideoProps> {
|
|
187
187
|
color?: string;
|
|
188
188
|
}
|
|
189
|
+
export type Coordinate = number[];
|
|
190
|
+
export interface MapBaseProps {
|
|
191
|
+
zoom?: number;
|
|
192
|
+
center?: Coordinate;
|
|
193
|
+
}
|
|
194
|
+
export interface GMapProps extends MapBaseProps {
|
|
195
|
+
address: string;
|
|
196
|
+
}
|
|
197
|
+
export interface YMapProps extends MapBaseProps {
|
|
198
|
+
markers: YMapMarker[];
|
|
199
|
+
id: string;
|
|
200
|
+
center: Coordinate;
|
|
201
|
+
}
|
|
202
|
+
export interface YMapMarker {
|
|
203
|
+
address?: string;
|
|
204
|
+
coordinate?: Coordinate;
|
|
205
|
+
label?: YMapMarkerLabel;
|
|
206
|
+
}
|
|
207
|
+
export interface YMapMarkerLabel {
|
|
208
|
+
iconCaption?: string;
|
|
209
|
+
iconContent?: string;
|
|
210
|
+
iconColor?: string;
|
|
211
|
+
preset?: string;
|
|
212
|
+
}
|
|
213
|
+
export type MapProps = GMapProps | YMapProps;
|
|
189
214
|
export type ThemedMediaProps = ThemeSupporting<MediaProps>;
|
|
190
215
|
export interface NewMetrikaGoal {
|
|
191
216
|
name: string;
|
|
@@ -14,7 +14,7 @@ const getBlocksCases = (blocks) => {
|
|
|
14
14
|
exports.getBlocksCases = getBlocksCases;
|
|
15
15
|
function generateDefaultSchema(config) {
|
|
16
16
|
const { cards = {}, blocks = {}, extensions = {} } = config !== null && config !== void 0 ? config : {};
|
|
17
|
-
const blockValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.InfoBlock), blocks_1.SecurityBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.SimpleBlock), blocks_1.LinkTableBlock), blocks_1.PreviewBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock);
|
|
17
|
+
const blockValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.SecurityBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.SimpleBlock), blocks_1.LinkTableBlock), blocks_1.PreviewBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock);
|
|
18
18
|
const cardValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.PartnerBlock), sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.TutorialCard), sub_blocks_1.BackgroundCard), sub_blocks_1.NewsCard), sub_blocks_1.CardWithImage), sub_blocks_1.Quote), sub_blocks_1.BasicCard);
|
|
19
19
|
const constructorBlockSchemaNames = [
|
|
20
20
|
'divider',
|
|
@@ -6,6 +6,7 @@ export * from '../../blocks/Simple/schema';
|
|
|
6
6
|
export * from '../../blocks/Header/schema';
|
|
7
7
|
export * from '../../blocks/Info/schema';
|
|
8
8
|
export * from '../../blocks/Media/schema';
|
|
9
|
+
export * from '../../blocks/Map/schema';
|
|
9
10
|
export * from '../../blocks/Questions/schema';
|
|
10
11
|
export * from '../../blocks/Security/schema';
|
|
11
12
|
export * from '../../blocks/Slider/schema';
|
|
@@ -9,6 +9,7 @@ tslib_1.__exportStar(require("../../blocks/Simple/schema"), exports);
|
|
|
9
9
|
tslib_1.__exportStar(require("../../blocks/Header/schema"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("../../blocks/Info/schema"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("../../blocks/Media/schema"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("../../blocks/Map/schema"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("../../blocks/Questions/schema"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("../../blocks/Security/schema"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("../../blocks/Slider/schema"), exports);
|
|
@@ -863,6 +863,97 @@ export declare const MediaProps: {
|
|
|
863
863
|
})[];
|
|
864
864
|
};
|
|
865
865
|
};
|
|
866
|
+
export declare const YMapMarkerLabel: {
|
|
867
|
+
required: never[];
|
|
868
|
+
iconCaption: {
|
|
869
|
+
type: string;
|
|
870
|
+
};
|
|
871
|
+
iconContent: {
|
|
872
|
+
type: string;
|
|
873
|
+
};
|
|
874
|
+
iconColor: {
|
|
875
|
+
type: string;
|
|
876
|
+
};
|
|
877
|
+
preset: {
|
|
878
|
+
type: string;
|
|
879
|
+
};
|
|
880
|
+
};
|
|
881
|
+
export declare const YMapMarker: {
|
|
882
|
+
required: never[];
|
|
883
|
+
coordinate: {
|
|
884
|
+
type: string;
|
|
885
|
+
items: {
|
|
886
|
+
type: string;
|
|
887
|
+
};
|
|
888
|
+
};
|
|
889
|
+
address: {
|
|
890
|
+
type: string;
|
|
891
|
+
};
|
|
892
|
+
label: {
|
|
893
|
+
required: never[];
|
|
894
|
+
iconCaption: {
|
|
895
|
+
type: string;
|
|
896
|
+
};
|
|
897
|
+
iconContent: {
|
|
898
|
+
type: string;
|
|
899
|
+
};
|
|
900
|
+
iconColor: {
|
|
901
|
+
type: string;
|
|
902
|
+
};
|
|
903
|
+
preset: {
|
|
904
|
+
type: string;
|
|
905
|
+
};
|
|
906
|
+
};
|
|
907
|
+
};
|
|
908
|
+
export declare const MapProps: {
|
|
909
|
+
zoom: {
|
|
910
|
+
type: string;
|
|
911
|
+
};
|
|
912
|
+
center: {
|
|
913
|
+
type: string;
|
|
914
|
+
items: {
|
|
915
|
+
type: string;
|
|
916
|
+
};
|
|
917
|
+
};
|
|
918
|
+
address: {
|
|
919
|
+
type: string;
|
|
920
|
+
};
|
|
921
|
+
id: {
|
|
922
|
+
type: string;
|
|
923
|
+
};
|
|
924
|
+
markers: {
|
|
925
|
+
type: string;
|
|
926
|
+
items: {
|
|
927
|
+
type: {
|
|
928
|
+
required: never[];
|
|
929
|
+
coordinate: {
|
|
930
|
+
type: string;
|
|
931
|
+
items: {
|
|
932
|
+
type: string;
|
|
933
|
+
};
|
|
934
|
+
};
|
|
935
|
+
address: {
|
|
936
|
+
type: string;
|
|
937
|
+
};
|
|
938
|
+
label: {
|
|
939
|
+
required: never[];
|
|
940
|
+
iconCaption: {
|
|
941
|
+
type: string;
|
|
942
|
+
};
|
|
943
|
+
iconContent: {
|
|
944
|
+
type: string;
|
|
945
|
+
};
|
|
946
|
+
iconColor: {
|
|
947
|
+
type: string;
|
|
948
|
+
};
|
|
949
|
+
preset: {
|
|
950
|
+
type: string;
|
|
951
|
+
};
|
|
952
|
+
};
|
|
953
|
+
};
|
|
954
|
+
};
|
|
955
|
+
};
|
|
956
|
+
};
|
|
866
957
|
export declare const CardBase: {
|
|
867
958
|
border: {
|
|
868
959
|
type: string;
|