"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HeroBlock = exports.HeroBlockProps = exports.HeroBlockBackground = exports.HeroBlockButton = void 0;
const tslib_1 = require("tslib");
const pick_1 = tslib_1.__importDefault(require("lodash/pick.js"));
const common_1 = require("../../gravity-blocks/schema/validators/common.js");
const schema_1 = require("../../sub-blocks/Content/schema.js");
exports.HeroBlockButton = {
    type: 'object',
    additionalProperties: false,
    required: ['text', 'url'],
    properties: (0, pick_1.default)(common_1.ButtonProps, ['text', 'url', 'theme', 'primary', 'size', 'extraProps']),
};
exports.HeroBlockBackground = {
    type: 'object',
    additionalProperties: false,
    required: [],
    properties: {
        ...(0, pick_1.default)(common_1.MediaProps, ['image', 'video', 'parallax', 'height', 'ratio', 'previewImg']),
        color: {
            type: 'string',
        },
    },
};
exports.HeroBlockProps = {
    ...(0, pick_1.default)(schema_1.ContentBase, ['title', 'text', 'list', 'additionalInfo', 'links', 'theme']),
    breadcrumbs: common_1.HeaderBreadcrumbsProps,
    overtitle: {
        type: 'string',
        contentType: 'text',
    },
    buttons: {
        type: 'array',
        items: (0, common_1.withTheme)(exports.HeroBlockButton),
    },
    media: (0, common_1.withTheme)({
        type: 'object',
        additionalProperties: false,
        required: [],
        properties: {
            ...common_1.MediaProps,
            roundCorners: {
                type: 'boolean',
            },
        },
    }),
    fullWidth: {
        type: 'boolean',
    },
    verticalOffset: {
        type: 'string',
        enum: ['s', 'm', 'l', 'xl'],
    },
    background: (0, common_1.withTheme)(exports.HeroBlockBackground),
};
exports.HeroBlock = {
    'hero-block': {
        additionalProperties: false,
        required: ['title'],
        properties: {
            ...common_1.BlockBaseProps,
            ...exports.HeroBlockProps,
        },
    },
};
//# sourceMappingURL=schema.js.map
