"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const ga4_functions_1 = require("../ga4-functions");
const ga4_properties_1 = require("../ga4-properties");
const action = {
    title: 'Add to Cart',
    description: 'This event signifies that an item was added to a cart for purchase.',
    defaultSubscription: 'type = "track" and event = "Product Added"',
    platform: 'web',
    fields: {
        user_id: ga4_properties_1.user_id,
        currency: ga4_properties_1.currency,
        items: {
            ...ga4_properties_1.items_single_products,
            required: true
        },
        value: ga4_properties_1.value,
        user_properties: ga4_properties_1.user_properties,
        params: ga4_properties_1.params
    },
    perform: (gtag, { payload }) => {
        ga4_functions_1.updateUser(payload.user_id, payload.user_properties, gtag);
        gtag('event', 'add_to_cart', {
            currency: payload.currency,
            value: payload.value,
            items: payload.items,
            ...payload.params
        });
    }
};
exports.default = action;
//# sourceMappingURL=index.js.map