import {__, CouponsPlus} from "../../../globals"
import {ComponentMeta} from "../../ComponentsMeta"
import {iconWithClassName} from "../../IconWithClassName"
import {CardRenderer, CardRendererContext} from "../../CardRenderers";
import {usingTestableOptions} from "../CardHelpers"
import {ComponentCategory} from "../../components";
import {CustomFieldComputedValue, customFieldFieldsMap, CustomFieldOptions} from "./CustomField";
export type CheckoutFieldOptions = CustomFieldOptions
const type = CouponsPlus?.components?.conditions?.CheckoutField?.type || 'CheckoutField'
export const CheckoutFieldMeta: ComponentMeta = {
id: type,
type: 'conditions',
category: ComponentCategory.Checkout,
icon: iconWithClassName(({className, context}) => {
if (context === 'card') {
// solid
return
}
// outline
return
}),
// @ts-ignore
fieldsMap: customFieldFieldsMap
}
export const CheckoutFieldRenderer: CardRenderer = {
type,
icon: CheckoutFieldMeta.icon!,
prefix: '*',
example: __('Field: Number of seats: Minimum 10'),
AboveComputedValue: usingTestableOptions(({}, {context}) => {
if ((['tier-base', 'tier-subchild'] as CardRendererContext[]).includes(context)) {
return false
}
return __('Required Checkout Field');
}),
ComputedValue: CustomFieldComputedValue,
}