"use strict";

exports.__esModule = true;
exports.Templates = void 0;

var _lib = require("@sentecacommerce-theme/lib");

var _banner = require("../components/Banner/banner.type");

var _inverted = require("../components/Banner/templateData/inverted");

var _caption = require("../components/Caption/caption.type");

var _default = require("../components/Caption/templateData/default");

var _cookieConsent = require("../components/CookieConsent/cookieConsent.type");

var _default2 = require("../components/CookieConsent/templateData/default");

var _element = require("../components/Element/element.type");

var _footer = require("../components/Footer/footer.type");

var _default3 = require("../components/Footer/templateData/default");

var _listingPage = require("../components/ListingPage/listingPage.type");

var _merchMenu = require("../components/MerchMenu/merchMenu.type");

var _default4 = require("../components/MerchMenu/templateData/default");

var _default5 = require("../components/Navbar/templateData/default");

var _navbar = require("../components/Navbar/navbar.type");

var _slidingCTA = require("../components/SlidingCTA/slidingCTA.type");

var _default6 = require("../components/SlidingCTA/templateData/default");

var _stores = require("../components/Stores/stores.type");

var _default7 = require("../components/Stores/templateData/default");

var _subscribeToNewsletter = require("../components/SubscribeToNewsletter/subscribeToNewsletter.type");

var _default8 = require("../components/SubscribeToNewsletter/templateData/default");

var _blogPage = require("../components/BlogPage/blogPage.type");

var _brands = require("../components/Brands/brands.type");

var _listingBanner = require("../components/ListingBanner/listingBanner.type");

var _listingBanner2 = require("../components/ListingBanner/listingBanner.props");

var sortOptions = [{
  key: 'defaultSort',
  label: 'По подразбиране'
}, {
  key: 'price-asc',
  label: 'Цена възх.'
}, {
  key: 'price-desc',
  label: 'Цена низх.'
}, {
  key: 'discount-asc',
  label: 'Отстъпка възх.'
}, {
  key: 'discount-desc',
  label: 'Отстъпка низх.'
}];
var defaultSortKey = 'defaultSort';
var Templates = {
  BannerTemplate: _banner.BannerType.addTemplate('InvertedBanner', _inverted.data),
  CaptionTemplate: _caption.CaptionType.addTemplate('Caption', _default.data),
  CookieConsentTemplate: _cookieConsent.CookieConsentType.addTemplate('CookieConsent', _default2.data),
  ElementTemplate: {
    container: _element.ElementType.addTemplate('Container', {
      className: 'container'
    }),
    containerFluid: _element.ElementType.addTemplate('Container fluid', {
      className: 'container-fluid'
    }),
    row: _element.ElementType.addTemplate('Row', {
      className: 'row'
    }),
    col: _element.ElementType.addTemplate('Col', {
      className: 'col'
    }),
    hideOnDesktop: _element.ElementType.addTemplate('Hide On Desktop', {
      className: 'd-md-none'
    }),
    hideOnMobile: _element.ElementType.addTemplate('Hide On Mobile', {
      className: 'd-none d-md-block'
    })
  },
  BlogPageTemplate: _blogPage.BlogPageType.addTemplate('BlogPage', {
    labels: {
      title: 'Блог',
      noPosts: 'Няма намерени публикации',
      readMore: 'Прочети още'
    }
  }),
  Brands: _brands.BrandsType.addTemplate('Brands', {
    defaultTopBrandsImage: 'https://content.sportmaster.dk/sites/default/files/sm_popular_brands/adidas_brand.jpg',
    findBrands: 'Намери марки',
    popularBrandsTitle: 'Популярни марки'
  }),
  FooterTemplate: _footer.FooterType.addTemplate('Footer', _default3.data),
  ListingTemplate: {
    Category: _listingPage.ListingPageType.addTemplate('Category', {
      seoAggregates: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'subCategories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      categoryTreeConfig: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'categories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      sortOptions: sortOptions,
      defaultSortKey: defaultSortKey,
      aggregates: [{
        label: 'Размери',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.size',
        filterDefinition: 'attr.size',
        order: 0,
        component: _lib.ComponentTypeEnum.Dropdown
      }, {
        label: 'Цена',
        aggregationType: _lib.AggregationTypeEnum.Stats,
        aggregationDefinition: 'price:*-*',
        filterDefinition: 'price',
        order: 1,
        component: _lib.ComponentTypeEnum.RangeSlider
      }, {
        label: 'Марки',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'brands',
        filterDefinition: 'brand',
        order: 2,
        component: _lib.ComponentTypeEnum.Autocomplete
      }, {
        label: 'Цвят',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.color',
        filterDefinition: 'attr.color',
        order: 3,
        component: _lib.ComponentTypeEnum.Color
      }, {
        label: 'Пол',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.sex',
        filterDefinition: 'attr.sex',
        order: 3,
        component: _lib.ComponentTypeEnum.Checkbox
      }, {
        label: 'Спорт',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.sport',
        filterDefinition: 'attr.sport',
        order: 4,
        component: _lib.ComponentTypeEnum.Checkbox
      }, {
        label: 'Модел',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.model',
        filterDefinition: 'attr.model',
        order: 5,
        component: _lib.ComponentTypeEnum.Autocomplete
      }],
      labels: {
        noMatchingItems: 'Няма намерени съответстващи продукти',
        seeMore: 'Виж повече',
        seeLess: 'Виж по-малко',
        resetAll: 'Нулиране на всички',
        clearAllFilters: 'Изчистване на всички филтри',
        filters: 'Филтри',
        showResults: 'Покажи :results: резултата',
        show: 'Покажи',
        results: 'Резултати',
        sortBy: 'Сортирай по'
      },
      productsPerPage: 60
    }),
    CategoryWithAttribute: _listingPage.ListingPageType.addTemplate('CategoryWithAttribute', {
      seoAggregates: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'subCategories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      categoryTreeConfig: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'categories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      sortOptions: sortOptions,
      defaultSortKey: defaultSortKey,
      aggregates: [{
        label: 'Размери',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.size',
        filterDefinition: 'attr.size',
        order: 0,
        component: _lib.ComponentTypeEnum.Dropdown
      }, {
        label: 'Цена',
        aggregationType: _lib.AggregationTypeEnum.Stats,
        aggregationDefinition: 'price:*-*',
        filterDefinition: 'price',
        order: 1,
        component: _lib.ComponentTypeEnum.RangeSlider
      }, {
        label: 'Марки',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'brands',
        filterDefinition: 'brand',
        order: 2,
        component: _lib.ComponentTypeEnum.Autocomplete
      }, {
        label: 'Цвят',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.color',
        filterDefinition: 'attr.color',
        order: 3,
        component: _lib.ComponentTypeEnum.Color
      }, {
        label: 'Спорт',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.sport',
        filterDefinition: 'attr.sport',
        order: 4,
        component: _lib.ComponentTypeEnum.Checkbox
      }, {
        label: 'Модел',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.model',
        filterDefinition: 'attr.model',
        order: 5,
        component: _lib.ComponentTypeEnum.Autocomplete
      }],
      labels: {
        noMatchingItems: 'Няма намерени съответстващи продукти',
        seeMore: 'Виж повече',
        seeLess: 'Виж по-малко',
        resetAll: 'Нулиране на всички',
        clearAllFilters: 'Изчистване на всички филтри',
        filters: 'Филтри',
        showResults: 'Покажи :results: резултата',
        show: 'Покажи',
        results: 'Резултати',
        sortBy: 'Сортирай по'
      },
      productsPerPage: 60
    }),
    Brand: _listingPage.ListingPageType.addTemplate('Brand', {
      seoAggregates: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'subBrands',
        filterDefinition: 'brand',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      categoryTreeConfig: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'categories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      sortOptions: sortOptions,
      defaultSortKey: defaultSortKey,
      aggregates: [{
        label: 'Размери',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.size',
        filterDefinition: 'attr.size',
        order: 0,
        component: _lib.ComponentTypeEnum.Dropdown
      }, {
        label: 'Цена',
        aggregationType: _lib.AggregationTypeEnum.Stats,
        aggregationDefinition: 'price:*-*',
        filterDefinition: 'price',
        order: 1,
        component: _lib.ComponentTypeEnum.RangeSlider
      }, {
        label: 'Цвят',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.color',
        filterDefinition: 'attr.color',
        order: 2,
        component: _lib.ComponentTypeEnum.Color
      }, {
        label: 'Пол',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.sex',
        filterDefinition: 'attr.sex',
        order: 3,
        component: _lib.ComponentTypeEnum.Checkbox
      }],
      labels: {
        noMatchingItems: 'Няма намерени съответстващи продукти',
        seeMore: 'Виж повече',
        seeLess: 'Виж по-малко',
        resetAll: 'Нулиране на всички',
        clearAllFilters: 'Изчистване на всички филтри',
        filters: 'Филтри',
        showResults: 'Покажи :results: резултата',
        show: 'Покажи',
        results: 'Резултати',
        sortBy: 'Сортирай по'
      },
      productsPerPage: 60
    }),
    View: _listingPage.ListingPageType.addTemplate('View', {
      sortOptions: sortOptions,
      defaultSortKey: defaultSortKey,
      categoryTreeConfig: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'categories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      labels: {
        noMatchingItems: 'Няма съвпадащи продукти',
        seeMore: 'Виж повече',
        seeLess: 'Виж по-малко',
        resetAll: 'Нулиране на всички',
        clearAllFilters: 'Изчистване на всички филтри',
        filters: 'Филтри',
        showResults: 'Покажи резултати',
        show: 'Покажи',
        results: 'Резултати',
        sortBy: 'Сортирай по'
      },
      productsPerPage: 60
    }),
    Collection: _listingPage.ListingPageType.addTemplate('Collection', {
      sortOptions: sortOptions,
      defaultSortKey: defaultSortKey,
      labels: {
        noMatchingItems: 'Няма съвпадащи продукти',
        seeMore: 'Виж повече',
        seeLess: 'Виж по-малко',
        resetAll: 'Нулиране всички',
        clearAllFilters: 'Изчистване на всички филтри',
        filters: 'Филтри',
        showResults: 'Покажи резултати',
        show: 'Покажи',
        results: 'Резултати',
        sortBy: 'Сортирай по'
      },
      productsPerPage: 60
    }),
    Search: _listingPage.ListingPageType.addTemplate('Search', {
      sortOptions: sortOptions,
      defaultSortKey: defaultSortKey,
      categoryTreeConfig: {
        label: 'Категории',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'categories',
        filterDefinition: 'category',
        component: _lib.ComponentTypeEnum.TextWithLink,
        order: 0
      },
      aggregates: [{
        label: 'Размери',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.size',
        filterDefinition: 'attr.size',
        order: 0,
        component: _lib.ComponentTypeEnum.Dropdown
      }, {
        label: 'Цена',
        aggregationType: _lib.AggregationTypeEnum.Stats,
        aggregationDefinition: 'price:*-*',
        filterDefinition: 'price',
        order: 1,
        component: _lib.ComponentTypeEnum.RangeSlider
      }, {
        label: 'Марки',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'brands',
        filterDefinition: 'brand',
        order: 2,
        component: _lib.ComponentTypeEnum.Autocomplete
      }, {
        label: 'Цвят',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.color',
        filterDefinition: 'attr.color',
        order: 3,
        component: _lib.ComponentTypeEnum.Color
      }, {
        label: 'Пол',
        aggregationType: _lib.AggregationTypeEnum.Terms,
        aggregationDefinition: 'attr.sex',
        filterDefinition: 'attr.sex',
        order: 4,
        component: _lib.ComponentTypeEnum.Checkbox
      }],
      labels: {
        noMatchingItems: 'Няма намерени съответстващи продукти',
        seeMore: 'Виж повече',
        seeLess: 'Виж по-малко',
        resetAll: 'Нулиране на всички',
        clearAllFilters: 'Изчистване на всички филтри',
        filters: 'Филтри',
        showResults: 'Покажи :results: резултата',
        show: 'Покажи',
        results: 'Резултати',
        sortBy: 'Сортирай по'
      },
      productsPerPage: 60
    })
  },
  MerchMenuTemplate: _merchMenu.MerchMenuType.addTemplate('MerchMenu', _default4.data),
  NavbarTemplate: _navbar.NavbarType.addTemplate('Navbar', _default5.data),
  SlidingCTATemplate: _slidingCTA.SlidingCTAType.addTemplate('SlidingCTA', _default6.data),
  StoreListTemplate: _stores.StoresType.addTemplate('ListOfStores', _default7.data),
  SubscribeToNewsletterTemplate: _subscribeToNewsletter.SubscribeToNewsletterType.addTemplate('SubscribeToNewsletter', _default8.data),
  ListingBanners: {
    AdidasBanner: _listingBanner.ListingBannerType.addTemplate('Adidas Shoes', {
      fitImage: _listingBanner2.FitImageEnum.Cover,
      alt: 'Adidas Banner',
      link: '/adidas-7/b',
      size: {
        mobile: _listingBanner2.ListingBannerSizeEnum.Two,
        desktop: _listingBanner2.ListingBannerSizeEnum.Two
      },
      mobileImage: 'https://staging.sportdepot-contents.com/platform/media/sd-category-banners-originals-60ee97675fa875001130a39a.webp',
      desktopImage: 'https://staging.sportdepot-contents.com/platform/media/sd-category-banners-originals-60ee97675fa875001130a39a.webp'
    })
  }
};
exports.Templates = Templates;
//# sourceMappingURL=index.js.map