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

var NavbarType = ComponentTypeFactory.create('Navbar', schema);
export { NavbarType };
//# sourceMappingURL=navbar.type.js.map