@revenuecat/purchases-ui-js
Version:
Web components for Paywalls. Powered by RevenueCat
21 lines (20 loc) • 978 B
JavaScript
import { prefixObject, stringifyStyles } from "../../utils/style-utils";
export function getPurchaseButtonStyles({ stack, zStackChildStyles, }) {
// Get the width of the inner stack to adjust to the outer button wrapper
const width = stack.size.width.type === "fill" ? "100%" : "fit-content";
// Prefix zStack child styles with purchase-button to prevent class overlap conflicts
const prefixedObject = prefixObject(zStackChildStyles || {}, "purchase-button");
// Define set of variables to be assigned to the purchase button
// Define width as an inline style
const assignedVariables = {
position: "var(--purchase-button-position, relative)",
inset: "var(--purchase-button-inset, 0)",
transform: "var(--purchase-button-transform, initial)",
width,
};
const purchaseButtonInlineStyles = stringifyStyles({
...prefixedObject,
...assignedVariables,
});
return purchaseButtonInlineStyles;
}