diff --git a/packages/ui/src/components/ConfigureSSO/elements/Step.tsx b/packages/ui/src/components/ConfigureSSO/elements/Step.tsx index 22471d05357..f675394a50c 100644 --- a/packages/ui/src/components/ConfigureSSO/elements/Step.tsx +++ b/packages/ui/src/components/ConfigureSSO/elements/Step.tsx @@ -54,11 +54,11 @@ const Header = ({ title, description, children }: StepHeaderProps): JSX.Element })} > ({ gap: theme.space.$4 })} > - ({ gap: theme.space.$1x5, minWidth: 0 })}> + ({ gap: theme.space.$2, minWidth: 0 })}> ({ color: theme.colors.$colorForeground, fontSize: theme.fontSizes.$lg })} diff --git a/packages/ui/src/components/ConfigureSSO/steps/SelectProviderStep.tsx b/packages/ui/src/components/ConfigureSSO/steps/SelectProviderStep.tsx index 5cf9fb888b8..cf9d01387c2 100644 --- a/packages/ui/src/components/ConfigureSSO/steps/SelectProviderStep.tsx +++ b/packages/ui/src/components/ConfigureSSO/steps/SelectProviderStep.tsx @@ -1,4 +1,6 @@ -import { descriptors, Flow, Text } from '@/customizables'; +import type { PropsWithChildren } from 'react'; + +import { Box, Col, descriptors, Flow, Grid, SimpleButton, Text } from '@/customizables'; import { Step } from '../elements/Step'; import { useWizard } from '../elements/Wizard'; @@ -18,8 +20,42 @@ export const SelectProviderStep = (): JSX.Element => { /> - - UI goes here + ({ gap: theme.space.$5 })}> + ({ gap: theme.space.$1x5 })}> + ({ color: theme.colors.$colorForeground })} + > + Select your identity provider + + + ({ color: theme.colors.$colorMutedForeground })} + > + We'll guide you through the detailed setup process next. + + + + ({ gap: theme.space.$3 })}> + ({ color: theme.colors.$colorForeground })} + > + SAML + + + + Okta Workforce + Custom SAML Provider + + @@ -37,3 +73,53 @@ export const SelectProviderStep = (): JSX.Element => { ); }; + +type ProviderCardProps = PropsWithChildren<{ + isSelected?: boolean; + onClick?: () => void; +}>; + +const ProviderCard = ({ isSelected, onClick, children }: ProviderCardProps): JSX.Element => { + return ( + ({ + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + gap: theme.space.$2, + height: theme.sizes.$32, + padding: theme.space.$1x5, + backgroundColor: theme.colors.$colorBackground, + ...(isSelected + ? { + boxShadow: `0 0 0 4px ${theme.colors.$colorRing}`, + } + : {}), + })} + > + {/* TODO: add provider icons */} + ({ + width: theme.sizes.$8, + height: theme.sizes.$8, + borderRadius: theme.radii.$md, + backgroundColor: theme.colors.$primary500, + })} + /> + + ({ color: theme.colors.$colorForeground })} + > + {children} + + + ); +};