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