"use strict";

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

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

var CheckoutVoucherType = _base.ComponentTypeFactory.create('CheckoutVoucher', {
  cardStyles: _base.FieldTypeFactory.list({
    of: {
      smallImage: _base.FieldTypeFactory.image({
        required: true
      }),
      image: _base.FieldTypeFactory.image({
        required: true
      })
    }
  }),
  cards: _base.FieldTypeFactory.list({
    of: {
      productId: _base.FieldTypeFactory.text({
        required: true
      }),
      amount: _base.FieldTypeFactory.text({
        required: true
      })
    }
  }),
  priceCurrency: _base.FieldTypeFactory.text({
    required: true
  }),
  defaultSelectedCardId: _base.FieldTypeFactory.text({
    required: false
  }),
  defaultSelectedStyleId: _base.FieldTypeFactory.text({
    required: true
  }),
  hasOptionalMessage: _base.FieldTypeFactory["boolean"]({
    defaultValue: true
  }),
  hasRecipientDetails: _base.FieldTypeFactory["boolean"]({
    defaultValue: false
  }),
  hasCustomAmount: _base.FieldTypeFactory["boolean"]({
    defaultValue: true
  }),
  labels: {
    title: _base.FieldTypeFactory.text({
      required: true
    }),
    subtitle: _base.FieldTypeFactory.text({
      required: true
    }),
    bottomText: _base.FieldTypeFactory.html({
      required: true
    }),
    chooseAmount: _base.FieldTypeFactory.text({
      required: true,
      label: 'Choose Amount Label'
    }),
    chooseStyle: _base.FieldTypeFactory.text({
      required: true,
      label: 'Choose Style Label'
    }),
    optionalMessageInput: _base.FieldTypeFactory.text({
      required: true,
      label: 'Optional Message Input Label'
    }),
    optionalMessageInputHelper: _base.FieldTypeFactory.text({
      required: true,
      label: 'Optional Message Input Helper'
    }),
    submitLabel: _base.FieldTypeFactory.text({
      required: true,
      label: 'Submit Button Label'
    }),
    fieldIsRequired: _base.FieldTypeFactory.text({
      required: true,
      label: 'Field Is Required Error Message'
    }),
    emailIsInvalid: _base.FieldTypeFactory.text({
      required: true,
      label: 'Email Is Invalid Error Message'
    }),
    recipientFormLabel: _base.FieldTypeFactory.text({
      required: true,
      label: 'Recipient Form Label'
    }),
    firstNameLabel: _base.FieldTypeFactory.text({
      required: true,
      label: 'First Name Label'
    }),
    lastNameLabel: _base.FieldTypeFactory.text({
      required: true,
      label: 'Last Name Label'
    }),
    emailLabel: _base.FieldTypeFactory.text({
      required: true,
      label: 'Email Label'
    }),
    customAmountLabel: _base.FieldTypeFactory.text({
      required: false,
      label: 'Choose a custom amount'
    }),
    customAmountPlaceholder: _base.FieldTypeFactory.text({
      required: false,
      label: 'Value between 1 and 100000'
    })
  }
});

exports.CheckoutVoucherType = CheckoutVoucherType;
//# sourceMappingURL=checkoutVoucher.type.js.map