@clickhouse/click-ui 0.6.2-rc2 → 0.6.2-rc3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -54,7 +54,9 @@ const FlyoutContent = styledComponents.styled(RadixDialog.DialogContent).withCon
|
|
|
54
54
|
position: ${$strategy};
|
|
55
55
|
height: ${$strategy === "relative" ? "100%" : "auto"};
|
|
56
56
|
padding: 0 ${theme.click.flyout.space[$type].x};
|
|
57
|
-
|
|
57
|
+
/* Section spacing comes from the separators' own margins (Separator size), not a
|
|
58
|
+
container gap. A gap here would stack on those margins and double the spacing. */
|
|
59
|
+
gap: 0;
|
|
58
60
|
box-shadow: ${$hasShadow === false ? "none" : theme.click.flyout.shadow[$align === "start" ? "reverse" : "default"]};
|
|
59
61
|
border-${$align === "start" ? "right" : "left"}: 1px solid ${theme.click.flyout.color.stroke.default};
|
|
60
62
|
background: ${theme.click.flyout.color.background.default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { styled, keyframes } from 'styled-components';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type {\n FlyoutProps,\n FlyoutTriggerProps,\n FlyoutContentProps,\n FlyoutHeaderProps,\n FlyoutFooterProps,\n FlyoutSizeType,\n FlyoutStrategy,\n FlyoutType,\n FlyoutAlignmentType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n return (\n <Dialog\n modal={modal}\n {...props}\n />\n );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n return (\n <DialogTrigger asChild>\n <div {...props}>{children}</div>\n </DialogTrigger>\n );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst animationWidth = () =>\n keyframes({\n from: { width: 0 },\n to: { width: 'fit-content' },\n });\n\nconst FlyoutContent = styled(DialogContent)<{\n $size?: FlyoutSizeType;\n $type?: FlyoutType;\n $strategy: FlyoutStrategy;\n $width?: string;\n $align: FlyoutAlignmentType;\n $hasShadow?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n top: 0;\n bottom: 0;\n width: fit-content;\n --flyout-width: ${({ theme, $size = 'default', $width }) =>\n $width || theme.click.flyout.size[$size].width};\n animation: ${animationWidth} 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n ${({ theme, $strategy, $type = 'default', $align, $hasShadow = true }) => `\n ${$align === 'start' ? 'left' : 'right'}: 0;\n max-width: 100%;\n position: ${$strategy};\n height: ${$strategy === 'relative' ? '100%' : 'auto'};\n padding: 0 ${theme.click.flyout.space[$type].x};\n gap: ${theme.click.flyout.space[$type].gap};\n box-shadow: ${\n $hasShadow === false\n ? 'none'\n : theme.click.flyout.shadow[$align === 'start' ? 'reverse' : 'default']\n };\n border-${$align === 'start' ? 'right' : 'left'}: 1px solid ${\n theme.click.flyout.color.stroke.default\n };\n background: ${theme.click.flyout.color.background.default};\n\n @media (max-width: 1024px) {\n ${\n $strategy === 'relative'\n ? `\n position: absolute !important;`\n : ''\n }\n overflow: hidden;\n transform: ${\n $align === 'start'\n ? 'translateX(calc(50px - 100%))'\n : 'translateX(calc(100% - 50px))'\n };\n transition: 0.3s ease-in-out;\n &:hover,\n &.active,\n &:focus-within {\n transform: translateX(0);\n ${$align === 'start' ? 'right' : 'left'}: auto;\n }\n }\n `}\n`;\nconst FlyoutContainer = styled.div`\n display: flex;\n gap: 0;\n width: var(--flyout-width);\n max-width: 100%;\n flex-flow: column nowrap;\n gap: inherit;\n`;\n\nconst Content = ({\n showOverlay = false,\n children,\n container,\n strategy = 'relative',\n size,\n type = 'default',\n closeOnInteractOutside = false,\n width,\n align = 'end',\n hasShadow = true,\n onInteractOutside,\n ...props\n}: FlyoutContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DialogPortal container={portalContainer}>\n {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n <FlyoutContent\n $size={size}\n $type={type}\n $strategy={strategy}\n onInteractOutside={e => {\n if (!closeOnInteractOutside) {\n e.preventDefault();\n }\n if (typeof onInteractOutside === 'function') {\n onInteractOutside(e);\n }\n }}\n $width={width}\n $align={align}\n $hasShadow={hasShadow}\n {...props}\n >\n {children}\n </FlyoutContent>\n </DialogPortal>\n );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst FlyoutElement = styled(Container)<{\n $type?: FlyoutType;\n}>`\n max-width: 100%;\n max-width: -webkit-fill-available;\n max-width: fill-available;\n max-width: stretch;\n ${({ theme, $type = 'default' }) => `\n gap: ${theme.click.flyout.space[$type].gap};\n padding: 0 ${theme.click.flyout.space[$type].content.x};\n `}\n`;\n\ninterface ElementProps extends Omit<\n ContainerProps,\n 'component' | 'padding' | 'gap' | 'orientation'\n> {\n type?: FlyoutType;\n}\n\nconst Element = ({ type, ...props }: ElementProps) => (\n <FlyoutElement\n orientation=\"vertical\"\n padding=\"none\"\n gap=\"none\"\n $type={type}\n {...props}\n />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst FlyoutHeaderContainer = styled(Container)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[$type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[$type].content['column-gap']};\n padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};\n `}\n`;\n\nconst FlyoutTitle = styled(DialogTitle)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.title.default};\n font: ${theme.click.flyout.typography[$type].title.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst FlyoutDescription = styled(DialogDescription)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.description.default};\n font: ${theme.click.flyout.typography[$type].description.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst Header = ({\n title,\n description,\n type,\n children,\n showClose = true,\n showSeparator = true,\n ...props\n}: FlyoutHeaderProps) => {\n if (children) {\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n padding=\"none\"\n gap=\"none\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n {children}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n }\n\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n <FlyoutTitle $type={type}>{title}</FlyoutTitle>\n {description && (\n <FlyoutDescription $type={type}>{description}</FlyoutDescription>\n )}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\nconst FlyoutBody = styled(Container)<{ $align?: FlyoutAlign }>`\n width: var(--flyout-width);\n max-width: 100%;\n margin-top: ${({ $align = 'default' }) => ($align === 'top' ? '-1rem' : 0)};\n`;\n\ninterface BodyProps extends ContainerProps {\n align?: FlyoutAlign;\n}\n\nconst Body = ({ align, ...props }: BodyProps) => (\n <FlyoutBody\n overflow=\"auto\"\n orientation=\"vertical\"\n grow=\"1\"\n $align={align}\n {...props}\n />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst FlyoutFooter = styled(Container)<{\n type?: FlyoutType;\n}>`\n ${({ theme, type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[type].content['column-gap']};\n padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};\n `}\n`;\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n children?: never;\n}\n\nconst FlyoutClose = ({\n children,\n ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n return (\n <DialogClose asChild>\n {children ?? (\n <Button\n type=\"secondary\"\n {...props}\n />\n )}\n </DialogClose>\n );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst FooterContainer = styled(Container)`\n width: var(--flyout-width);\n max-width: 100%;\n`;\n\nconst Footer = (props: FlyoutFooterProps) => {\n return (\n <FooterContainer\n gap=\"none\"\n orientation=\"vertical\"\n alignItems=\"end\"\n >\n <Separator size=\"xs\" />\n <FlyoutFooter\n justifyContent=\"end\"\n gap=\"none\"\n padding=\"none\"\n isResponsive={false}\n wrap=\"wrap\"\n {...props}\n />\n </FooterContainer>\n );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\nconst CustomCodeBlock = styled(CodeBlock)`\n display: flex;\n height: 100%;\n pre {\n flex: 1;\n overflow-wrap: break-word;\n code {\n display: inline-block;\n max-width: calc(100% - 1rem);\n }\n }\n`;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n language?: string;\n statement: string;\n showLineNumbers?: boolean;\n showWrapButton?: boolean;\n wrapLines?: boolean;\n onCopy?: (value: string) => void | Promise<void>;\n onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n statement,\n language,\n wrapLines,\n showLineNumbers,\n showWrapButton,\n onCopy,\n onCopyError,\n ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n return (\n <Element\n fillHeight\n {...props}\n >\n <CustomCodeBlock\n wrapLines={wrapLines}\n language={language}\n showLineNumbers={showLineNumbers}\n showWrapButton={showWrapButton}\n onCopy={onCopy}\n onCopyError={onCopyError}\n >\n {statement}\n </CustomCodeBlock>\n <Spacer size=\"xs\" />\n </Element>\n );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["Flyout","modal","props","jsx","Dialog","Trigger","children","DialogTrigger","displayName","animationWidth","keyframes","from","width","to","FlyoutContent","styled","DialogContent","withConfig","componentId","theme","$size","$width","click","flyout","size","$strategy","$type","$align","$hasShadow","space","x","gap","shadow","color","stroke","default","background","FlyoutContainer","div","Content","showOverlay","container","strategy","type","closeOnInteractOutside","align","hasShadow","onInteractOutside","portalContainer","useResolvedPortalContainer","jsxs","DialogPortal","DialogOverlay","e","preventDefault","FlyoutElement","Container","content","Element","FlyoutHeaderContainer","y","FlyoutTitle","DialogTitle","title","typography","FlyoutDescription","DialogDescription","description","Header","showClose","showSeparator","DialogClose","CrossButton","Icon","Separator","FlyoutBody","Body","FlyoutFooter","FlyoutClose","Button","Close","FooterContainer","Footer","CustomCodeBlock","CodeBlock","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError","Spacer"],"mappings":";;;;;;;;;;;;;;;;AAkCO,MAAMA,SAASA,CAAC;AAAA,EAAEC,KAAAA,GAAQ,KAAA;AAAA,EAAO,GAAGC;AAAmB,CAAA,KAAM;AAClE,EAAA,uBACEC,cAAA,CAACC,kBAAA,EAAA,EACC,KAAA,EACA,GAAIF,KAAAA,EAAM,CAAA;AAGhB;AAEA,MAAMG,UAAUA,CAAC;AAAA,EAAEC,QAAAA;AAAAA,EAAU,GAAGJ;AAA0B,CAAA,KAAM;AAC9D,EAAA,uBACEC,cAAA,CAACI,6BAAc,OAAA,EAAO,IAAA,EACpB,yCAAC,KAAA,EAAA,EAAI,GAAIL,KAAAA,EAAQI,QAAAA,EAAS,CAAA,EAC5B,CAAA;AAEJ,CAAA;AACAD,OAAAA,CAAQG,WAAAA,GAAc,gBAAA;AACtBR,MAAAA,CAAOK,OAAAA,GAAUA,OAAAA;AAEjB,MAAMI,cAAAA,GAAiBA,MACrBC,0BAAAA,CAAU;AAAA,EACRC,IAAAA,EAAM;AAAA,IAAEC,KAAAA,EAAO;AAAA,GAAE;AAAA,EACjBC,EAAAA,EAAI;AAAA,IAAED,KAAAA,EAAO;AAAA;AACf,CAAC,CAAA;AAEH,MAAME,aAAAA,GAAgBC,uBAAAA,CAAOC,yBAAa,CAAA,CAACC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,EAAA,CAAA,wHAAA,EAAA,eAAA,6CAAA,EAAA,EAAA,GAevB,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOC,KAAAA,GAAQ,SAAA;AAAA,EAAWC;AAAO,CAAA,KACpDA,MAAAA,IAAUF,MAAMG,KAAAA,CAAMC,MAAAA,CAAOC,KAAKJ,KAAK,CAAA,CAAER,KAAAA,EAC9BH,cAAAA,EACX,CAAC;AAAA,EAAEU,KAAAA;AAAAA,EAAOM,SAAAA;AAAAA,EAAWC,KAAAA,GAAQ,SAAA;AAAA,EAAWC,MAAAA;AAAAA,EAAQC,UAAAA,GAAa;AAAK,CAAA,KAAM;AAAA,IAAA,EACtED,MAAAA,KAAW,OAAA,GAAU,MAAA,GAAS,OAAO,CAAA;AAAA;AAAA,cAAA,EAE3BF,SAAS,CAAA;AAAA,YAAA,EACXA,SAAAA,KAAc,UAAA,GAAa,MAAA,GAAS,MAAM,CAAA;AAAA,eAAA,EACvCN,MAAMG,KAAAA,CAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,EAAEI,CAAC,CAAA;AAAA,SAAA,EACvCX,MAAMG,KAAAA,CAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,EAAEK,GAAG,CAAA;AAAA,gBAAA,EAExCH,UAAAA,KAAe,KAAA,GACX,MAAA,GACAT,KAAAA,CAAMG,KAAAA,CAAMC,MAAAA,CAAOS,MAAAA,CAAOL,MAAAA,KAAW,OAAA,GAAU,SAAA,GAAY,SAAS,CAAC,CAAA;AAAA,WAAA,EAElEA,MAAAA,KAAW,OAAA,GAAU,OAAA,GAAU,MAAM,CAAA,YAAA,EAC5CR,MAAMG,KAAAA,CAAMC,MAAAA,CAAOU,KAAAA,CAAMC,MAAAA,CAAOC,OAAO,CAAA;AAAA,gBAAA,EAE3BhB,KAAAA,CAAMG,KAAAA,CAAMC,MAAAA,CAAOU,KAAAA,CAAMG,WAAWD,OAAO,CAAA;;AAAA;AAAA,MAAA,EAIrDV,cAAc,UAAA,GACV;AAAA,0CAAA,CAAA,GAEA,EAAE;AAAA;AAAA,iBAAA,EAINE,MAAAA,KAAW,OAAA,GACP,+BAAA,GACA,+BAA+B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAA,EAOjCA,MAAAA,KAAW,OAAA,GAAU,OAAA,GAAU,MAAM,CAAA;AAAA;AAAA;AAAA,EAAA,CAG5C,CAAA;AAEH,MAAMU,eAAAA,GAAkBtB,uBAAAA,CAAOuB,GAAAA,CAAGrB,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,kGAAA,CAAA,CAAA;AASlC,MAAMqB,UAAUA,CAAC;AAAA,EACfC,WAAAA,GAAc,KAAA;AAAA,EACdlC,QAAAA;AAAAA,EACAmC,SAAAA;AAAAA,EACAC,QAAAA,GAAW,UAAA;AAAA,EACXlB,IAAAA;AAAAA,EACAmB,IAAAA,GAAO,SAAA;AAAA,EACPC,sBAAAA,GAAyB,KAAA;AAAA,EACzBhC,KAAAA;AAAAA,EACAiC,KAAAA,GAAQ,KAAA;AAAA,EACRC,SAAAA,GAAY,IAAA;AAAA,EACZC,iBAAAA;AAAAA,EACA,GAAG7C;AACe,CAAA,KAAM;AACxB,EAAA,MAAM8C,eAAAA,GAAkBC,yCAA2BR,SAAS,CAAA;AAE5D,EAAA,uBACES,eAAA,CAACC,wBAAA,EAAA,EAAa,SAAA,EAAWH,eAAAA,EACtBR,QAAAA,EAAAA;AAAAA,IAAAA,WAAAA,oBAAerC,cAAA,CAACiD,yBAAA,EAAA,EAAc,SAAA,EAAU,eAAA,EAAe,CAAA;AAAA,oBACxDjD,cAAA,CAAC,iBACC,KAAA,EAAOqB,IAAAA,EACP,OAAOmB,IAAAA,EACP,SAAA,EAAWD,QAAAA,EACX,iBAAA,EAAmBW,CAAAA,CAAAA,KAAK;AACtB,MAAA,IAAI,CAACT,sBAAAA,EAAwB;AAC3BS,QAAAA,CAAAA,CAAEC,cAAAA,EAAe;AAAA,MACnB;AACA,MAAA,IAAI,OAAOP,sBAAsB,UAAA,EAAY;AAC3CA,QAAAA,iBAAAA,CAAkBM,CAAC,CAAA;AAAA,MACrB;AAAA,IACF,CAAA,EACA,QAAQzC,KAAAA,EACR,MAAA,EAAQiC,OACR,UAAA,EAAYC,SAAAA,EACZ,GAAI5C,KAAAA,EAEHI,QAAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ,CAAA;AACAiC,OAAAA,CAAQ/B,WAAAA,GAAc,gBAAA;AACtBR,MAAAA,CAAOuC,OAAAA,GAAUA,OAAAA;AAEjB,MAAMgB,aAAAA,GAAgBxC,uBAAAA,CAAOyC,mBAAS,CAAA,CAACvC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,6FAAA,EAAA,EAAA,GAOnC,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOO,KAAAA,GAAQ;AAAU,CAAA,KAAM;AAAA,SAAA,EAC3BP,MAAMG,KAAAA,CAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,EAAEK,GAAG,CAAA;AAAA,eAAA,EAC7BZ,MAAMG,KAAAA,CAAMC,MAAAA,CAAOM,MAAMH,KAAK,CAAA,CAAE+B,QAAQ3B,CAAC,CAAA;AAAA,EAAA,CACvD,CAAA;AAUH,MAAM4B,UAAUA,CAAC;AAAA,EAAEf,IAAAA;AAAAA,EAAM,GAAGzC;AAAoB,CAAA,qBAC9CC,cAAA,CAAC,aAAA,EAAA,EACC,WAAA,EAAY,UAAA,EACZ,OAAA,EAAQ,MAAA,EACR,GAAA,EAAI,MAAA,EACJ,KAAA,EAAOwC,IAAAA,EACP,GAAIzC,KAAAA,EAAM,CAAA;AAIdwD,OAAAA,CAAQlD,WAAAA,GAAc,gBAAA;AACtBR,MAAAA,CAAO0D,OAAAA,GAAUA,OAAAA;AAEjB,MAAMC,qBAAAA,GAAwB5C,uBAAAA,CAAOyC,mBAAS,CAAA,CAACvC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GAG3C,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOO,KAAAA,GAAQ;AAAU,CAAA,KAAM;AAAA,aAAA,EACvBP,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,CAAA,CAAE+B,OAAAA,CAAQ,SAAS,CAAC,CAAA;AAAA,gBAAA,EAC/CtC,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,CAAA,CAAE+B,OAAAA,CAAQ,YAAY,CAAC,CAAA;AAAA,aAAA,EACxDtC,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,CAAA,CAAEkC,CAAC,CAAA,CAAA,EAAIzC,KAAAA,CAAMG,KAAAA,CAAMC,MAAAA,CAAOM,MAAMH,KAAK,CAAA,CAAEkC,CAAC,CAAA,GAAA,EAAMzC,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMH,KAAK,CAAA,CAAEkC,CAAC,CAAA;AAAA,EAAA,CACzH,CAAA;AAGH,MAAMC,WAAAA,GAAc9C,uBAAAA,CAAO+C,uBAAW,CAAA,CAAC7C,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GAGnC,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOO,KAAAA,GAAQ;AAAU,CAAA,KAAM;AAAA,WAAA,EACzBP,KAAAA,CAAMG,KAAAA,CAAMC,MAAAA,CAAOU,KAAAA,CAAM8B,MAAM5B,OAAO,CAAA;AAAA,UAAA,EACvChB,MAAMG,KAAAA,CAAMC,MAAAA,CAAOyC,WAAWtC,KAAK,CAAA,CAAEqC,MAAM5B,OAAO,CAAA;AAAA;AAAA;AAAA,EAAA,CAG3D,CAAA;AAGH,MAAM8B,iBAAAA,GAAoBlD,uBAAAA,CAAOmD,6BAAiB,CAAA,CAACjD,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GAG/C,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOO,KAAAA,GAAQ;AAAU,CAAA,KAAM;AAAA,WAAA,EACzBP,KAAAA,CAAMG,KAAAA,CAAMC,MAAAA,CAAOU,KAAAA,CAAMkC,YAAYhC,OAAO,CAAA;AAAA,UAAA,EAC7ChB,MAAMG,KAAAA,CAAMC,MAAAA,CAAOyC,WAAWtC,KAAK,CAAA,CAAEyC,YAAYhC,OAAO,CAAA;AAAA;AAAA;AAAA,EAAA,CAGjE,CAAA;AAGH,MAAMiC,SAASA,CAAC;AAAA,EACdL,KAAAA;AAAAA,EACAI,WAAAA;AAAAA,EACAxB,IAAAA;AAAAA,EACArC,QAAAA;AAAAA,EACA+D,SAAAA,GAAY,IAAA;AAAA,EACZC,aAAAA,GAAgB,IAAA;AAAA,EAChB,GAAGpE;AACc,CAAA,KAAM;AACvB,EAAA,IAAII,QAAAA,EAAU;AACZ,IAAA,uCACG,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA4C,eAAA,CAAC,yBACC,KAAA,EAAOP,IAAAA,EACP,cAAA,EAAe,eAAA,EACf,YAAW,OAAA,EACX,OAAA,EAAQ,MAAA,EACR,GAAA,EAAI,QACJ,SAAA,EAAW,KAAA,EACX,YAAA,EAAc,KAAA,EACd,GAAIzC,KAAAA,EAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAACqD,mBAAA,EAAA,EACC,SAAQ,MAAA,EACR,GAAA,EAAI,QACJ,WAAA,EAAY,UAAA,EACZ,IAAA,EAAK,GAAA,EAEJlD,QAAAA,EACH,CAAA;AAAA,QACC+D,6BACClE,cAAA,CAACoE,uBAAA,EAAA,EAAY,SAAO,IAAA,EAClB,QAAA,kBAAApE,cAAA,CAACqE,2BAAY,aAAA,EAAY,yBAAA,EACvB,yCAACC,SAAA,EAAA,EACC,IAAA,EAAK,SACL,IAAA,EAAM9B,IAAAA,KAAS,WAAW,IAAA,GAAO,IAAA,EAAK,GAE1C,CAAA,EACF;AAAA,OAAA,EAEJ,CAAA;AAAA,MACC2B,iCACCnE,cAAA,CAACuE,mBAAA,EAAA,EACC,aAAA,EAAY,yBAAA,EACZ,MAAK,IAAA,EAAI;AAAA,KAAA,EAGf,CAAA;AAAA,EAEJ;AAEA,EAAA,uCACG,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAxB,eAAA,CAAC,qBAAA,EAAA,EACC,KAAA,EAAOP,IAAAA,EACP,cAAA,EAAe,eAAA,EACf,UAAA,EAAW,OAAA,EACX,SAAA,EAAW,KAAA,EACX,YAAA,EAAc,KAAA,EACd,GAAIzC,KAAAA,EAEJ,QAAA,EAAA;AAAA,sBAAAgD,eAAA,CAACM,mBAAA,EAAA,EACC,SAAQ,MAAA,EACR,GAAA,EAAI,QACJ,WAAA,EAAY,UAAA,EACZ,MAAK,GAAA,EAEL,QAAA,EAAA;AAAA,wBAAArD,cAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAOwC,IAAAA,EAAOoB,QAAAA,EAAAA,KAAAA,EAAM,CAAA;AAAA,QAChCI,WAAAA,oBACChE,cAAA,CAAC,iBAAA,EAAA,EAAkB,KAAA,EAAOwC,MAAOwB,QAAAA,EAAAA,WAAAA,EAAY;AAAA,OAAA,EAEjD,CAAA;AAAA,MACCE,6BACClE,cAAA,CAACoE,uBAAA,EAAA,EAAY,SAAO,IAAA,EAClB,QAAA,kBAAApE,cAAA,CAACqE,2BAAY,aAAA,EAAY,yBAAA,EACvB,yCAACC,SAAA,EAAA,EACC,IAAA,EAAK,SACL,IAAA,EAAM9B,IAAAA,KAAS,WAAW,IAAA,GAAO,IAAA,EAAK,GAE1C,CAAA,EACF;AAAA,KAAA,EAEJ,CAAA;AAAA,IACC2B,iCACCnE,cAAA,CAACuE,mBAAA,EAAA,EACC,aAAA,EAAY,yBAAA,EACZ,MAAK,IAAA,EAAI;AAAA,GAAA,EAGf,CAAA;AAEJ,CAAA;AACAN,MAAAA,CAAO5D,WAAAA,GAAc,eAAA;AACrBR,MAAAA,CAAOoE,MAAAA,GAASA,MAAAA;AAGhB,MAAMO,UAAAA,GAAa5D,uBAAAA,CAAOyC,mBAAS,CAAA,CAACvC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,sDAAA,EAAA,GAAA,GAGpB,CAAC;AAAA,EAAES,MAAAA,GAAS;AAAU,CAAA,KAAOA,MAAAA,KAAW,KAAA,GAAQ,OAAA,GAAU,CAAE,CAAA;AAO5E,MAAMiD,OAAOA,CAAC;AAAA,EAAE/B,KAAAA;AAAAA,EAAO,GAAG3C;AAAiB,CAAA,qBACzCC,cAAA,CAAC,UAAA,EAAA,EACC,QAAA,EAAS,MAAA,EACT,WAAA,EAAY,UAAA,EACZ,IAAA,EAAK,GAAA,EACL,MAAA,EAAQ0C,KAAAA,EACR,GAAI3C,KAAAA,EAAM,CAAA;AAId0E,IAAAA,CAAKpE,WAAAA,GAAc,aAAA;AACnBR,MAAAA,CAAO4E,IAAAA,GAAOA,IAAAA;AAEd,MAAMC,YAAAA,GAAe9D,uBAAAA,CAAOyC,mBAAS,CAAA,CAACvC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GAGlC,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOwB,IAAAA,GAAO;AAAU,CAAA,KAAM;AAAA,aAAA,EACtBxB,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMc,IAAI,CAAA,CAAEc,OAAAA,CAAQ,SAAS,CAAC,CAAA;AAAA,gBAAA,EAC9CtC,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMc,IAAI,CAAA,CAAEc,OAAAA,CAAQ,YAAY,CAAC,CAAA;AAAA,aAAA,EACvDtC,KAAAA,CAAMG,KAAAA,CAAMC,MAAAA,CAAOM,KAAAA,CAAMc,IAAI,CAAA,CAAEiB,CAAC,CAAA,CAAA,EAAIzC,KAAAA,CAAMG,MAAMC,MAAAA,CAAOM,KAAAA,CAAMc,IAAI,CAAA,CAAEc,QAAQ3B,CAAC,CAAA;AAAA,EAAA,CACxF,CAAA;AAOH,MAAMgD,cAAcA,CAAC;AAAA,EACnBxE,QAAAA;AAAAA,EACA,GAAGJ;AACyC,CAAA,KAAM;AAClD,EAAA,uBACEC,cAAA,CAACoE,uBAAA,EAAA,EAAY,OAAA,EAAO,IAAA,EACjBjE,QAAAA,EAAAA,QAAAA,oBACCH,cAAA,CAAC4E,aAAA,EAAA,EACC,IAAA,EAAK,WAAA,EACL,GAAI7E,KAAAA,EAAM,CAAA,EAGhB,CAAA;AAEJ,CAAA;AACA4E,WAAAA,CAAYtE,WAAAA,GAAc,cAAA;AAC1BR,MAAAA,CAAOgF,KAAAA,GAAQF,WAAAA;AAEf,MAAMG,eAAAA,GAAkBlE,uBAAAA,CAAOyC,mBAAS,CAAA,CAACvC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,2CAAA,CAAA,CAAA;AAKzC,MAAMgE,MAAAA,GAASA,CAAChF,KAAAA,KAA6B;AAC3C,EAAA,uCACG,eAAA,EAAA,EACC,GAAA,EAAI,QACJ,WAAA,EAAY,UAAA,EACZ,YAAW,KAAA,EAEX,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACuE,mBAAA,EAAA,EAAU,MAAK,IAAA,EAAI,CAAA;AAAA,oBACpBvE,cAAA,CAAC,YAAA,EAAA,EACC,cAAA,EAAe,KAAA,EACf,GAAA,EAAI,MAAA,EACJ,OAAA,EAAQ,MAAA,EACR,YAAA,EAAc,KAAA,EACd,IAAA,EAAK,MAAA,EACL,GAAID,KAAAA,EAAM;AAAA,GAAA,EAEd,CAAA;AAEJ,CAAA;AACAgF,MAAAA,CAAO1E,WAAAA,GAAc,eAAA;AACrBR,MAAAA,CAAOkF,MAAAA,GAASA,MAAAA;AAEhB,MAAMC,eAAAA,GAAkBpE,uBAAAA,CAAOqE,mBAAS,CAAA,CAACnE,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,uHAAA,CAAA,CAAA;AAsBzC,MAAMmE,kBAAkBA,CAAC;AAAA,EACvBC,SAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACA,GAAG1F;AACgC,CAAA,KAAM;AACzC,EAAA,uBACEgD,eAAA,CAAC,OAAA,EAAA,EACC,UAAA,EAAU,IAAA,EACV,GAAIhD,KAAAA,EAEJ,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,mBACC,SAAA,EACA,QAAA,EACA,iBACA,cAAA,EACA,MAAA,EACA,aAECmF,QAAAA,EAAAA,SAAAA,EACH,CAAA;AAAA,oBACAnF,cAAA,CAAC0F,aAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAI;AAAA,GAAA,EACnB,CAAA;AAEJ,CAAA;AAEA7F,MAAAA,CAAOoF,SAAAA,GAAYC,eAAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { styled, keyframes } from 'styled-components';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type {\n FlyoutProps,\n FlyoutTriggerProps,\n FlyoutContentProps,\n FlyoutHeaderProps,\n FlyoutFooterProps,\n FlyoutSizeType,\n FlyoutStrategy,\n FlyoutType,\n FlyoutAlignmentType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n return (\n <Dialog\n modal={modal}\n {...props}\n />\n );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n return (\n <DialogTrigger asChild>\n <div {...props}>{children}</div>\n </DialogTrigger>\n );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst animationWidth = () =>\n keyframes({\n from: { width: 0 },\n to: { width: 'fit-content' },\n });\n\nconst FlyoutContent = styled(DialogContent)<{\n $size?: FlyoutSizeType;\n $type?: FlyoutType;\n $strategy: FlyoutStrategy;\n $width?: string;\n $align: FlyoutAlignmentType;\n $hasShadow?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n top: 0;\n bottom: 0;\n width: fit-content;\n --flyout-width: ${({ theme, $size = 'default', $width }) =>\n $width || theme.click.flyout.size[$size].width};\n animation: ${animationWidth} 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n ${({ theme, $strategy, $type = 'default', $align, $hasShadow = true }) => `\n ${$align === 'start' ? 'left' : 'right'}: 0;\n max-width: 100%;\n position: ${$strategy};\n height: ${$strategy === 'relative' ? '100%' : 'auto'};\n padding: 0 ${theme.click.flyout.space[$type].x};\n /* Section spacing comes from the separators' own margins (Separator size), not a\n container gap. A gap here would stack on those margins and double the spacing. */\n gap: 0;\n box-shadow: ${\n $hasShadow === false\n ? 'none'\n : theme.click.flyout.shadow[$align === 'start' ? 'reverse' : 'default']\n };\n border-${$align === 'start' ? 'right' : 'left'}: 1px solid ${\n theme.click.flyout.color.stroke.default\n };\n background: ${theme.click.flyout.color.background.default};\n\n @media (max-width: 1024px) {\n ${\n $strategy === 'relative'\n ? `\n position: absolute !important;`\n : ''\n }\n overflow: hidden;\n transform: ${\n $align === 'start'\n ? 'translateX(calc(50px - 100%))'\n : 'translateX(calc(100% - 50px))'\n };\n transition: 0.3s ease-in-out;\n &:hover,\n &.active,\n &:focus-within {\n transform: translateX(0);\n ${$align === 'start' ? 'right' : 'left'}: auto;\n }\n }\n `}\n`;\nconst FlyoutContainer = styled.div`\n display: flex;\n gap: 0;\n width: var(--flyout-width);\n max-width: 100%;\n flex-flow: column nowrap;\n gap: inherit;\n`;\n\nconst Content = ({\n showOverlay = false,\n children,\n container,\n strategy = 'relative',\n size,\n type = 'default',\n closeOnInteractOutside = false,\n width,\n align = 'end',\n hasShadow = true,\n onInteractOutside,\n ...props\n}: FlyoutContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DialogPortal container={portalContainer}>\n {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n <FlyoutContent\n $size={size}\n $type={type}\n $strategy={strategy}\n onInteractOutside={e => {\n if (!closeOnInteractOutside) {\n e.preventDefault();\n }\n if (typeof onInteractOutside === 'function') {\n onInteractOutside(e);\n }\n }}\n $width={width}\n $align={align}\n $hasShadow={hasShadow}\n {...props}\n >\n {children}\n </FlyoutContent>\n </DialogPortal>\n );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst FlyoutElement = styled(Container)<{\n $type?: FlyoutType;\n}>`\n max-width: 100%;\n max-width: -webkit-fill-available;\n max-width: fill-available;\n max-width: stretch;\n ${({ theme, $type = 'default' }) => `\n gap: ${theme.click.flyout.space[$type].gap};\n padding: 0 ${theme.click.flyout.space[$type].content.x};\n `}\n`;\n\ninterface ElementProps extends Omit<\n ContainerProps,\n 'component' | 'padding' | 'gap' | 'orientation'\n> {\n type?: FlyoutType;\n}\n\nconst Element = ({ type, ...props }: ElementProps) => (\n <FlyoutElement\n orientation=\"vertical\"\n padding=\"none\"\n gap=\"none\"\n $type={type}\n {...props}\n />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst FlyoutHeaderContainer = styled(Container)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[$type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[$type].content['column-gap']};\n padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};\n `}\n`;\n\nconst FlyoutTitle = styled(DialogTitle)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.title.default};\n font: ${theme.click.flyout.typography[$type].title.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst FlyoutDescription = styled(DialogDescription)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.description.default};\n font: ${theme.click.flyout.typography[$type].description.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst Header = ({\n title,\n description,\n type,\n children,\n showClose = true,\n showSeparator = true,\n ...props\n}: FlyoutHeaderProps) => {\n if (children) {\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n padding=\"none\"\n gap=\"none\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n {children}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n }\n\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n <FlyoutTitle $type={type}>{title}</FlyoutTitle>\n {description && (\n <FlyoutDescription $type={type}>{description}</FlyoutDescription>\n )}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\nconst FlyoutBody = styled(Container)<{ $align?: FlyoutAlign }>`\n width: var(--flyout-width);\n max-width: 100%;\n margin-top: ${({ $align = 'default' }) => ($align === 'top' ? '-1rem' : 0)};\n`;\n\ninterface BodyProps extends ContainerProps {\n align?: FlyoutAlign;\n}\n\nconst Body = ({ align, ...props }: BodyProps) => (\n <FlyoutBody\n overflow=\"auto\"\n orientation=\"vertical\"\n grow=\"1\"\n $align={align}\n {...props}\n />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst FlyoutFooter = styled(Container)<{\n type?: FlyoutType;\n}>`\n ${({ theme, type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[type].content['column-gap']};\n padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};\n `}\n`;\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n children?: never;\n}\n\nconst FlyoutClose = ({\n children,\n ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n return (\n <DialogClose asChild>\n {children ?? (\n <Button\n type=\"secondary\"\n {...props}\n />\n )}\n </DialogClose>\n );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst FooterContainer = styled(Container)`\n width: var(--flyout-width);\n max-width: 100%;\n`;\n\nconst Footer = (props: FlyoutFooterProps) => {\n return (\n <FooterContainer\n gap=\"none\"\n orientation=\"vertical\"\n alignItems=\"end\"\n >\n <Separator size=\"xs\" />\n <FlyoutFooter\n justifyContent=\"end\"\n gap=\"none\"\n padding=\"none\"\n isResponsive={false}\n wrap=\"wrap\"\n {...props}\n />\n </FooterContainer>\n );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\nconst CustomCodeBlock = styled(CodeBlock)`\n display: flex;\n height: 100%;\n pre {\n flex: 1;\n overflow-wrap: break-word;\n code {\n display: inline-block;\n max-width: calc(100% - 1rem);\n }\n }\n`;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n language?: string;\n statement: string;\n showLineNumbers?: boolean;\n showWrapButton?: boolean;\n wrapLines?: boolean;\n onCopy?: (value: string) => void | Promise<void>;\n onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n statement,\n language,\n wrapLines,\n showLineNumbers,\n showWrapButton,\n onCopy,\n onCopyError,\n ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n return (\n <Element\n fillHeight\n {...props}\n >\n <CustomCodeBlock\n wrapLines={wrapLines}\n language={language}\n showLineNumbers={showLineNumbers}\n showWrapButton={showWrapButton}\n onCopy={onCopy}\n onCopyError={onCopyError}\n >\n {statement}\n </CustomCodeBlock>\n <Spacer size=\"xs\" />\n </Element>\n );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["Flyout","modal","props","jsx","Dialog","Trigger","children","DialogTrigger","displayName","animationWidth","keyframes","from","width","to","FlyoutContent","styled","DialogContent","withConfig","componentId","theme","$size","$width","click","flyout","size","$strategy","$type","$align","$hasShadow","space","x","shadow","color","stroke","default","background","FlyoutContainer","div","Content","showOverlay","container","strategy","type","closeOnInteractOutside","align","hasShadow","onInteractOutside","portalContainer","useResolvedPortalContainer","jsxs","DialogPortal","DialogOverlay","e","preventDefault","FlyoutElement","Container","gap","content","Element","FlyoutHeaderContainer","y","FlyoutTitle","DialogTitle","title","typography","FlyoutDescription","DialogDescription","description","Header","showClose","showSeparator","DialogClose","CrossButton","Icon","Separator","FlyoutBody","Body","FlyoutFooter","FlyoutClose","Button","Close","FooterContainer","Footer","CustomCodeBlock","CodeBlock","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError","Spacer"],"mappings":"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"}
|
|
@@ -50,7 +50,9 @@ const FlyoutContent = styled(DialogContent).withConfig({
|
|
|
50
50
|
position: ${$strategy};
|
|
51
51
|
height: ${$strategy === "relative" ? "100%" : "auto"};
|
|
52
52
|
padding: 0 ${theme.click.flyout.space[$type].x};
|
|
53
|
-
|
|
53
|
+
/* Section spacing comes from the separators' own margins (Separator size), not a
|
|
54
|
+
container gap. A gap here would stack on those margins and double the spacing. */
|
|
55
|
+
gap: 0;
|
|
54
56
|
box-shadow: ${$hasShadow === false ? "none" : theme.click.flyout.shadow[$align === "start" ? "reverse" : "default"]};
|
|
55
57
|
border-${$align === "start" ? "right" : "left"}: 1px solid ${theme.click.flyout.color.stroke.default};
|
|
56
58
|
background: ${theme.click.flyout.color.background.default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { styled, keyframes } from 'styled-components';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type {\n FlyoutProps,\n FlyoutTriggerProps,\n FlyoutContentProps,\n FlyoutHeaderProps,\n FlyoutFooterProps,\n FlyoutSizeType,\n FlyoutStrategy,\n FlyoutType,\n FlyoutAlignmentType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n return (\n <Dialog\n modal={modal}\n {...props}\n />\n );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n return (\n <DialogTrigger asChild>\n <div {...props}>{children}</div>\n </DialogTrigger>\n );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst animationWidth = () =>\n keyframes({\n from: { width: 0 },\n to: { width: 'fit-content' },\n });\n\nconst FlyoutContent = styled(DialogContent)<{\n $size?: FlyoutSizeType;\n $type?: FlyoutType;\n $strategy: FlyoutStrategy;\n $width?: string;\n $align: FlyoutAlignmentType;\n $hasShadow?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n top: 0;\n bottom: 0;\n width: fit-content;\n --flyout-width: ${({ theme, $size = 'default', $width }) =>\n $width || theme.click.flyout.size[$size].width};\n animation: ${animationWidth} 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n ${({ theme, $strategy, $type = 'default', $align, $hasShadow = true }) => `\n ${$align === 'start' ? 'left' : 'right'}: 0;\n max-width: 100%;\n position: ${$strategy};\n height: ${$strategy === 'relative' ? '100%' : 'auto'};\n padding: 0 ${theme.click.flyout.space[$type].x};\n gap: ${theme.click.flyout.space[$type].gap};\n box-shadow: ${\n $hasShadow === false\n ? 'none'\n : theme.click.flyout.shadow[$align === 'start' ? 'reverse' : 'default']\n };\n border-${$align === 'start' ? 'right' : 'left'}: 1px solid ${\n theme.click.flyout.color.stroke.default\n };\n background: ${theme.click.flyout.color.background.default};\n\n @media (max-width: 1024px) {\n ${\n $strategy === 'relative'\n ? `\n position: absolute !important;`\n : ''\n }\n overflow: hidden;\n transform: ${\n $align === 'start'\n ? 'translateX(calc(50px - 100%))'\n : 'translateX(calc(100% - 50px))'\n };\n transition: 0.3s ease-in-out;\n &:hover,\n &.active,\n &:focus-within {\n transform: translateX(0);\n ${$align === 'start' ? 'right' : 'left'}: auto;\n }\n }\n `}\n`;\nconst FlyoutContainer = styled.div`\n display: flex;\n gap: 0;\n width: var(--flyout-width);\n max-width: 100%;\n flex-flow: column nowrap;\n gap: inherit;\n`;\n\nconst Content = ({\n showOverlay = false,\n children,\n container,\n strategy = 'relative',\n size,\n type = 'default',\n closeOnInteractOutside = false,\n width,\n align = 'end',\n hasShadow = true,\n onInteractOutside,\n ...props\n}: FlyoutContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DialogPortal container={portalContainer}>\n {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n <FlyoutContent\n $size={size}\n $type={type}\n $strategy={strategy}\n onInteractOutside={e => {\n if (!closeOnInteractOutside) {\n e.preventDefault();\n }\n if (typeof onInteractOutside === 'function') {\n onInteractOutside(e);\n }\n }}\n $width={width}\n $align={align}\n $hasShadow={hasShadow}\n {...props}\n >\n {children}\n </FlyoutContent>\n </DialogPortal>\n );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst FlyoutElement = styled(Container)<{\n $type?: FlyoutType;\n}>`\n max-width: 100%;\n max-width: -webkit-fill-available;\n max-width: fill-available;\n max-width: stretch;\n ${({ theme, $type = 'default' }) => `\n gap: ${theme.click.flyout.space[$type].gap};\n padding: 0 ${theme.click.flyout.space[$type].content.x};\n `}\n`;\n\ninterface ElementProps extends Omit<\n ContainerProps,\n 'component' | 'padding' | 'gap' | 'orientation'\n> {\n type?: FlyoutType;\n}\n\nconst Element = ({ type, ...props }: ElementProps) => (\n <FlyoutElement\n orientation=\"vertical\"\n padding=\"none\"\n gap=\"none\"\n $type={type}\n {...props}\n />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst FlyoutHeaderContainer = styled(Container)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[$type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[$type].content['column-gap']};\n padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};\n `}\n`;\n\nconst FlyoutTitle = styled(DialogTitle)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.title.default};\n font: ${theme.click.flyout.typography[$type].title.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst FlyoutDescription = styled(DialogDescription)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.description.default};\n font: ${theme.click.flyout.typography[$type].description.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst Header = ({\n title,\n description,\n type,\n children,\n showClose = true,\n showSeparator = true,\n ...props\n}: FlyoutHeaderProps) => {\n if (children) {\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n padding=\"none\"\n gap=\"none\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n {children}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n }\n\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n <FlyoutTitle $type={type}>{title}</FlyoutTitle>\n {description && (\n <FlyoutDescription $type={type}>{description}</FlyoutDescription>\n )}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\nconst FlyoutBody = styled(Container)<{ $align?: FlyoutAlign }>`\n width: var(--flyout-width);\n max-width: 100%;\n margin-top: ${({ $align = 'default' }) => ($align === 'top' ? '-1rem' : 0)};\n`;\n\ninterface BodyProps extends ContainerProps {\n align?: FlyoutAlign;\n}\n\nconst Body = ({ align, ...props }: BodyProps) => (\n <FlyoutBody\n overflow=\"auto\"\n orientation=\"vertical\"\n grow=\"1\"\n $align={align}\n {...props}\n />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst FlyoutFooter = styled(Container)<{\n type?: FlyoutType;\n}>`\n ${({ theme, type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[type].content['column-gap']};\n padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};\n `}\n`;\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n children?: never;\n}\n\nconst FlyoutClose = ({\n children,\n ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n return (\n <DialogClose asChild>\n {children ?? (\n <Button\n type=\"secondary\"\n {...props}\n />\n )}\n </DialogClose>\n );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst FooterContainer = styled(Container)`\n width: var(--flyout-width);\n max-width: 100%;\n`;\n\nconst Footer = (props: FlyoutFooterProps) => {\n return (\n <FooterContainer\n gap=\"none\"\n orientation=\"vertical\"\n alignItems=\"end\"\n >\n <Separator size=\"xs\" />\n <FlyoutFooter\n justifyContent=\"end\"\n gap=\"none\"\n padding=\"none\"\n isResponsive={false}\n wrap=\"wrap\"\n {...props}\n />\n </FooterContainer>\n );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\nconst CustomCodeBlock = styled(CodeBlock)`\n display: flex;\n height: 100%;\n pre {\n flex: 1;\n overflow-wrap: break-word;\n code {\n display: inline-block;\n max-width: calc(100% - 1rem);\n }\n }\n`;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n language?: string;\n statement: string;\n showLineNumbers?: boolean;\n showWrapButton?: boolean;\n wrapLines?: boolean;\n onCopy?: (value: string) => void | Promise<void>;\n onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n statement,\n language,\n wrapLines,\n showLineNumbers,\n showWrapButton,\n onCopy,\n onCopyError,\n ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n return (\n <Element\n fillHeight\n {...props}\n >\n <CustomCodeBlock\n wrapLines={wrapLines}\n language={language}\n showLineNumbers={showLineNumbers}\n showWrapButton={showWrapButton}\n onCopy={onCopy}\n onCopyError={onCopyError}\n >\n {statement}\n </CustomCodeBlock>\n <Spacer size=\"xs\" />\n </Element>\n );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["Flyout","modal","props","Trigger","children","displayName","animationWidth","keyframes","from","width","to","FlyoutContent","styled","DialogContent","withConfig","componentId","theme","$size","$width","click","flyout","size","$strategy","$type","$align","$hasShadow","space","x","gap","shadow","color","stroke","default","background","FlyoutContainer","div","Content","showOverlay","container","strategy","type","closeOnInteractOutside","align","hasShadow","onInteractOutside","portalContainer","useResolvedPortalContainer","e","preventDefault","FlyoutElement","Container","content","Element","FlyoutHeaderContainer","y","FlyoutTitle","DialogTitle","title","typography","FlyoutDescription","DialogDescription","description","Header","showClose","showSeparator","Icon","FlyoutBody","Body","FlyoutFooter","FlyoutClose","Close","FooterContainer","Footer","CustomCodeBlock","CodeBlock","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { styled, keyframes } from 'styled-components';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type {\n FlyoutProps,\n FlyoutTriggerProps,\n FlyoutContentProps,\n FlyoutHeaderProps,\n FlyoutFooterProps,\n FlyoutSizeType,\n FlyoutStrategy,\n FlyoutType,\n FlyoutAlignmentType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n return (\n <Dialog\n modal={modal}\n {...props}\n />\n );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n return (\n <DialogTrigger asChild>\n <div {...props}>{children}</div>\n </DialogTrigger>\n );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst animationWidth = () =>\n keyframes({\n from: { width: 0 },\n to: { width: 'fit-content' },\n });\n\nconst FlyoutContent = styled(DialogContent)<{\n $size?: FlyoutSizeType;\n $type?: FlyoutType;\n $strategy: FlyoutStrategy;\n $width?: string;\n $align: FlyoutAlignmentType;\n $hasShadow?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n top: 0;\n bottom: 0;\n width: fit-content;\n --flyout-width: ${({ theme, $size = 'default', $width }) =>\n $width || theme.click.flyout.size[$size].width};\n animation: ${animationWidth} 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n ${({ theme, $strategy, $type = 'default', $align, $hasShadow = true }) => `\n ${$align === 'start' ? 'left' : 'right'}: 0;\n max-width: 100%;\n position: ${$strategy};\n height: ${$strategy === 'relative' ? '100%' : 'auto'};\n padding: 0 ${theme.click.flyout.space[$type].x};\n /* Section spacing comes from the separators' own margins (Separator size), not a\n container gap. A gap here would stack on those margins and double the spacing. */\n gap: 0;\n box-shadow: ${\n $hasShadow === false\n ? 'none'\n : theme.click.flyout.shadow[$align === 'start' ? 'reverse' : 'default']\n };\n border-${$align === 'start' ? 'right' : 'left'}: 1px solid ${\n theme.click.flyout.color.stroke.default\n };\n background: ${theme.click.flyout.color.background.default};\n\n @media (max-width: 1024px) {\n ${\n $strategy === 'relative'\n ? `\n position: absolute !important;`\n : ''\n }\n overflow: hidden;\n transform: ${\n $align === 'start'\n ? 'translateX(calc(50px - 100%))'\n : 'translateX(calc(100% - 50px))'\n };\n transition: 0.3s ease-in-out;\n &:hover,\n &.active,\n &:focus-within {\n transform: translateX(0);\n ${$align === 'start' ? 'right' : 'left'}: auto;\n }\n }\n `}\n`;\nconst FlyoutContainer = styled.div`\n display: flex;\n gap: 0;\n width: var(--flyout-width);\n max-width: 100%;\n flex-flow: column nowrap;\n gap: inherit;\n`;\n\nconst Content = ({\n showOverlay = false,\n children,\n container,\n strategy = 'relative',\n size,\n type = 'default',\n closeOnInteractOutside = false,\n width,\n align = 'end',\n hasShadow = true,\n onInteractOutside,\n ...props\n}: FlyoutContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DialogPortal container={portalContainer}>\n {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n <FlyoutContent\n $size={size}\n $type={type}\n $strategy={strategy}\n onInteractOutside={e => {\n if (!closeOnInteractOutside) {\n e.preventDefault();\n }\n if (typeof onInteractOutside === 'function') {\n onInteractOutside(e);\n }\n }}\n $width={width}\n $align={align}\n $hasShadow={hasShadow}\n {...props}\n >\n {children}\n </FlyoutContent>\n </DialogPortal>\n );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst FlyoutElement = styled(Container)<{\n $type?: FlyoutType;\n}>`\n max-width: 100%;\n max-width: -webkit-fill-available;\n max-width: fill-available;\n max-width: stretch;\n ${({ theme, $type = 'default' }) => `\n gap: ${theme.click.flyout.space[$type].gap};\n padding: 0 ${theme.click.flyout.space[$type].content.x};\n `}\n`;\n\ninterface ElementProps extends Omit<\n ContainerProps,\n 'component' | 'padding' | 'gap' | 'orientation'\n> {\n type?: FlyoutType;\n}\n\nconst Element = ({ type, ...props }: ElementProps) => (\n <FlyoutElement\n orientation=\"vertical\"\n padding=\"none\"\n gap=\"none\"\n $type={type}\n {...props}\n />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst FlyoutHeaderContainer = styled(Container)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[$type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[$type].content['column-gap']};\n padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};\n `}\n`;\n\nconst FlyoutTitle = styled(DialogTitle)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.title.default};\n font: ${theme.click.flyout.typography[$type].title.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst FlyoutDescription = styled(DialogDescription)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.description.default};\n font: ${theme.click.flyout.typography[$type].description.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst Header = ({\n title,\n description,\n type,\n children,\n showClose = true,\n showSeparator = true,\n ...props\n}: FlyoutHeaderProps) => {\n if (children) {\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n padding=\"none\"\n gap=\"none\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n {children}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n }\n\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n <FlyoutTitle $type={type}>{title}</FlyoutTitle>\n {description && (\n <FlyoutDescription $type={type}>{description}</FlyoutDescription>\n )}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\nconst FlyoutBody = styled(Container)<{ $align?: FlyoutAlign }>`\n width: var(--flyout-width);\n max-width: 100%;\n margin-top: ${({ $align = 'default' }) => ($align === 'top' ? '-1rem' : 0)};\n`;\n\ninterface BodyProps extends ContainerProps {\n align?: FlyoutAlign;\n}\n\nconst Body = ({ align, ...props }: BodyProps) => (\n <FlyoutBody\n overflow=\"auto\"\n orientation=\"vertical\"\n grow=\"1\"\n $align={align}\n {...props}\n />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst FlyoutFooter = styled(Container)<{\n type?: FlyoutType;\n}>`\n ${({ theme, type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[type].content['column-gap']};\n padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};\n `}\n`;\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n children?: never;\n}\n\nconst FlyoutClose = ({\n children,\n ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n return (\n <DialogClose asChild>\n {children ?? (\n <Button\n type=\"secondary\"\n {...props}\n />\n )}\n </DialogClose>\n );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst FooterContainer = styled(Container)`\n width: var(--flyout-width);\n max-width: 100%;\n`;\n\nconst Footer = (props: FlyoutFooterProps) => {\n return (\n <FooterContainer\n gap=\"none\"\n orientation=\"vertical\"\n alignItems=\"end\"\n >\n <Separator size=\"xs\" />\n <FlyoutFooter\n justifyContent=\"end\"\n gap=\"none\"\n padding=\"none\"\n isResponsive={false}\n wrap=\"wrap\"\n {...props}\n />\n </FooterContainer>\n );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\nconst CustomCodeBlock = styled(CodeBlock)`\n display: flex;\n height: 100%;\n pre {\n flex: 1;\n overflow-wrap: break-word;\n code {\n display: inline-block;\n max-width: calc(100% - 1rem);\n }\n }\n`;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n language?: string;\n statement: string;\n showLineNumbers?: boolean;\n showWrapButton?: boolean;\n wrapLines?: boolean;\n onCopy?: (value: string) => void | Promise<void>;\n onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n statement,\n language,\n wrapLines,\n showLineNumbers,\n showWrapButton,\n onCopy,\n onCopyError,\n ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n return (\n <Element\n fillHeight\n {...props}\n >\n <CustomCodeBlock\n wrapLines={wrapLines}\n language={language}\n showLineNumbers={showLineNumbers}\n showWrapButton={showWrapButton}\n onCopy={onCopy}\n onCopyError={onCopyError}\n >\n {statement}\n </CustomCodeBlock>\n <Spacer size=\"xs\" />\n </Element>\n );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["Flyout","modal","props","Trigger","children","displayName","animationWidth","keyframes","from","width","to","FlyoutContent","styled","DialogContent","withConfig","componentId","theme","$size","$width","click","flyout","size","$strategy","$type","$align","$hasShadow","space","x","shadow","color","stroke","default","background","FlyoutContainer","div","Content","showOverlay","container","strategy","type","closeOnInteractOutside","align","hasShadow","onInteractOutside","portalContainer","useResolvedPortalContainer","e","preventDefault","FlyoutElement","Container","gap","content","Element","FlyoutHeaderContainer","y","FlyoutTitle","DialogTitle","title","typography","FlyoutDescription","DialogDescription","description","Header","showClose","showSeparator","Icon","FlyoutBody","Body","FlyoutFooter","FlyoutClose","Close","FooterContainer","Footer","CustomCodeBlock","CodeBlock","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError"],"mappings":"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"}
|