const payment = new PaymentJs();
payment.init("$INTEGRATION_KEY", "cc-number", "cc-csc", (payment) => {
var numberFocused = false;
var cvvFocused = false;
var style = {
border: "3px solid gray",
};
var hoverStyle = {
border: "3px solid blue",
};
var focusStyle = {
border: "3px solid green",
};
// Set the initial style
payment.setNumberStyle(style);
payment.setCvvStyle(style);
// Focus events
payment.numberOn("focus", () => {
numberFocused = true;
payment.setNumberStyle(focusStyle);
});
payment.cvvOn("focus", () => {
cvvFocused = true;
payment.setCvvStyle(focusStyle);
});
// Blur events
payment.numberOn("blur", () => {
numberFocused = false;
payment.setNumberStyle(style);
});
payment.cvvOn("blur", () => {
cvvFocused = false;
payment.setCvvStyle(style);
});
// Hover events
payment.numberOn("mouseover", () => {
// Don't override style if element is already focused
if (!numberFocused) {
payment.setNumberStyle(hoverStyle);
}
});
payment.numberOn("mouseout", () => {
// Don't override style if element is already focused
if (!numberFocused) {
payment.setNumberStyle(style);
}
});
payment.cvvOn("mouseover", () => {
// Don't override style if element is already focused
if (!cvvFocused) {
payment.setCvvStyle(hoverStyle);
}
});
payment.cvvOn("mouseout", () => {
// Don't override style if element is already focused
if (!cvvFocused) {
payment.setCvvStyle(style);
}
});
});