@codecademy/gamut
72.3.072.3.1-alpha.f273fd.0
CTAContainer.tsx+
CTAContainer.tsxNew file+33
Index: CTAContainer.tsx
===================================================================
--- CTAContainer.tsx
+++ CTAContainer.tsx
@@ -0,0 +1,33 @@
+import { FlexBox, FlexBoxProps } from '@codecademy/gamut';
+import React from 'react';
+
+export type CTAContainerProps = FlexBoxProps;
+
+/**
+ * CTAContainer
+ *
+ * Layout wrapper for the Teams landing page CTA banner. Wraps `FlexBox` so
+ * its children are spaced with a consistent gap, and sits above the page's
+ * background pattern via `position: relative` + `zIndex`.
+ *
+ * All styling is expressed through Gamut system props (no raw CSS):
+ * - `gap`: 12px space between children (`system.flex`)
+ * - `bg`: semantic background token, adapts to light/dark ColorMode (`system.color`)
+ * - `borderRadius`: 8px corners (`system.border`)
+ * - `position` / `zIndex`: lifts the container above the background pattern (`system.positioning`)
+ */
+export const CTAContainer: React.FC<CTAContainerProps> = ({
+ children,
+ ...props
+}) => (
+ <FlexBox
+ gap={12}
+ bg="background-primary"
+ borderRadius={8}
+ position="relative"
+ zIndex={2}
+ {...props}
+ >
+ {children}
+ </FlexBox>
+);