"use strict";

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

var _base = require("@sentecacommerce-theme/base");

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

var topNavMenuItemList = _base.FieldTypeFactory.list({
  of: {
    label: _base.FieldTypeFactory.text(),
    url: _base.FieldTypeFactory.text()
  }
});

var topNavItem = {
  label: _base.FieldTypeFactory.text(),
  url: _base.FieldTypeFactory.text(),
  header: _base.FieldTypeFactory.text(),
  icon: _base.FieldTypeFactory.image(),
  menuItems: topNavMenuItemList
};
var SearchLabels = {
  recentSearchesLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  popularSearchesLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  suggestedBrandsLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  suggestedCategoriesLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  promoOffersLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  blogLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  productsLabel: _base.FieldTypeFactory.text({
    required: true
  }),
  blog: {
    blogTitle: _base.FieldTypeFactory.text({
      required: true
    }),
    image: _base.FieldTypeFactory.image({
      required: true
    }),
    description: _base.FieldTypeFactory.text({
      required: true
    }),
    url: _base.FieldTypeFactory.text({
      required: true
    })
  }
};
var languageSelectorOption = {
  icon: _base.FieldTypeFactory.image({
    required: true
  }),
  label: _base.FieldTypeFactory.text({
    required: true
  }),
  prefix: _base.FieldTypeFactory.text({
    required: true
  })
};
var SearchBox = {
  labels: SearchLabels,
  labelsColor: _base.FieldTypeFactory.text({
    required: true
  }),
  textColor: _base.FieldTypeFactory.text({
    required: true
  }),
  priceColor: _base.FieldTypeFactory.text({
    required: true
  }),
  bottomMenu: _base.FieldTypeFactory["enum"]({
    required: true,
    of: [{
      label: 'No Bottom menu',
      value: _navbar.BottomMenuEnum.empty
    }, {
      label: 'Additional products',
      value: _navbar.BottomMenuEnum.moreProducts
    }, {
      label: 'Promotional products',
      value: _navbar.BottomMenuEnum.promo
    }],
    defaultValue: _navbar.BottomMenuEnum.empty
  }),
  withRecent: _base.FieldTypeFactory["boolean"]({
    required: true
  })
};
var Vouchers = {
  label: _base.FieldTypeFactory.text({
    required: true
  }),
  activate: _base.FieldTypeFactory.text({
    required: true
  })
};
var schema = {
  searchBox: SearchBox,
  vouchers: Vouchers,
  isInverted: _base.FieldTypeFactory["boolean"]({
    defaultValue: false
  }),
  defaultFeaturedBrandsImage: _base.FieldTypeFactory.image({
    required: true
  }),
  topNavStrip: {
    items: _base.FieldTypeFactory.list({
      of: topNavItem
    }),
    languageSelector: {
      options: _base.FieldTypeFactory.list({
        of: languageSelectorOption
      })
    },
    profileItems: _base.FieldTypeFactory.list({
      of: topNavItem
    }),
    saluteMessage: _base.FieldTypeFactory.text({
      required: true,
      meta: {
        description: ':name will be replaced with the user name'
      }
    }),
    profileHeader: _base.FieldTypeFactory.text({
      required: true
    })
  },
  mobileMenu: _base.FieldTypeFactory.list({
    of: {
      label: _base.FieldTypeFactory.text({
        required: true
      }),
      link: _base.FieldTypeFactory.text({
        required: true
      }),
      icon: _base.FieldTypeFactory.image({
        required: true
      })
    }
  }),
  labels: {
    featuredBrands: _base.FieldTypeFactory.text({
      required: true
    }),
    seeAllBrands: _base.FieldTypeFactory.text({
      required: true
    })
  }
}; // The definitions part

var NavbarType = _base.ComponentTypeFactory.create('Navbar', schema);

exports.NavbarType = NavbarType;
//# sourceMappingURL=navbar.type.js.map