UNPKG

265 kBSource Map (JSON)View Raw
1{"version":3,"file":"ui.cjs.development.js","sources":["../src/box/config.tsx","../src/box/index.tsx","../src/button-group/index.tsx","../src/theme/colors.ts","../src/theme/sizes.ts","../src/theme/typography.ts","../src/theme/theme.ts","../src/button/styles.tsx","../src/visually-hidden/index.tsx","../src/spinner/index.tsx","../src/button/index.tsx","../src/flex/index.tsx","../src/utils/index.tsx","../src/hooks/use-controllable.ts","../src/hooks/use-previous.ts","../src/hooks/use-disclosure.ts","../src/hooks/use-latest-ref.ts","../src/hooks/use-event-listener.ts","../src/hooks/use-force-update.ts","../src/hooks/use-id.ts","../src/hooks/use-merge-refs.ts","../src/hooks/use-safe-layout-effect.ts","../src/hooks/use-timeout.ts","../src/theme/colors-utils.ts","../src/theme-provider/index.tsx","../src/hooks/use-theme.ts","../src/hooks/use-media-query.tsx","../src/color-modes/types.ts","../src/color-modes/utils.ts","../src/color-modes/styles.tsx","../src/color-modes/index.tsx","../src/hooks/use-color-mode.ts","../src/highlighter/prism-theme.ts","../src/highlighter/index.tsx","../src/codeblock/index.tsx","../src/css-reset/preflight.tsx","../src/css-reset/index.tsx","../src/form-control/index.tsx","../src/text/index.tsx","../src/form-label/index.tsx","../src/grid/index.tsx","../src/svg/index.tsx","../src/icons/apps-icon.tsx","../src/icons/arrow-icon.tsx","../src/icons/blockchain-icon.tsx","../src/icons/blockstack-icon.tsx","../src/icons/checkmark-icon.tsx","../src/icons/checkmark-circle-icon.tsx","../src/icons/chevron-icon.tsx","../src/icons/connect-logo-icon.tsx","../src/icons/encryption-icon.tsx","../src/icons/exclamation-mark-icon.tsx","../src/icons/exclamation-mark-circle-icon.tsx","../src/icons/eye-icon.tsx","../src/icons/padlock-icon.tsx","../src/icons/plus-circle-icon.tsx","../src/icons/private-icon.tsx","../src/icons/union-line-icon.tsx","../src/icons/close-icon.tsx","../src/icons/external-icon.tsx","../src/icons/failed-icon.tsx","../src/input/styles.tsx","../src/input-addon/index.tsx","../src/input-element/index.tsx","../src/input/index.tsx","../src/input-group/index.tsx","../src/modal/index.tsx","../src/popper/index.tsx","../src/portal/manager.tsx","../src/portal/index.tsx","../src/stack/index.tsx","../src/transition/base.tsx","../src/transition/fade.tsx","../src/transition/scale-fade.tsx","../src/transition/slide.tsx","../src/transition/slide-fade.tsx","../src/toast/toast.tsx","../src/toast/toaster.tsx","../src/toast/toast-context.tsx","../src/tooltip/hooks.tsx","../src/tooltip/index.tsx","../src/use-clipboard/index.tsx","../src/utils/safe-await.ts"],"sourcesContent":["import { system, Config } from 'styled-system';\n\nexport const config: Config = {\n roundedTop: {\n properties: ['borderTopLeftRadius', 'borderTopRightRadius'],\n scale: 'radii',\n },\n roundedBottom: {\n properties: ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n scale: 'radii',\n },\n roundedLeft: {\n properties: ['borderTopLeftRadius', 'borderBottomLeftRadius'],\n scale: 'radii',\n },\n roundedRight: {\n properties: ['borderTopRightRadius', 'borderBottomRightRadius'],\n scale: 'radii',\n },\n roundedTopRight: {\n property: 'borderTopRightRadius',\n scale: 'radii',\n },\n roundedTopLeft: {\n property: 'borderTopLeftRadius',\n scale: 'radii',\n },\n roundedBottomRight: {\n property: 'borderBottomRightRadius',\n scale: 'radii',\n },\n roundedBottomLeft: {\n property: 'borderBottomLeftRadius',\n scale: 'radii',\n },\n rounded: {\n property: 'borderRadius',\n scale: 'radii',\n },\n d: {\n property: 'display',\n },\n w: {\n property: 'width',\n scale: 'sizes',\n },\n minW: {\n property: 'minWidth',\n scale: 'sizes',\n },\n maxW: {\n property: 'maxWidth',\n scale: 'sizes',\n },\n h: {\n property: 'height',\n scale: 'sizes',\n },\n minH: {\n property: 'minHeight',\n scale: 'sizes',\n },\n maxH: {\n property: 'maxHeight',\n scale: 'sizes',\n },\n bgImg: {\n property: 'backgroundImage',\n },\n bgSize: {\n property: 'backgroundSize',\n },\n bgPos: {\n property: 'backgroundPosition',\n },\n bgRepeat: {\n property: 'backgroundRepeat',\n },\n pos: {\n property: 'position',\n },\n flexDir: {\n property: 'flexDirection',\n },\n shadow: {\n property: 'boxShadow',\n scale: 'shadows',\n },\n textDecoration: true,\n overflowX: true,\n overflowY: true,\n textTransform: true,\n animation: true,\n appearance: true,\n transform: true,\n transformOrigin: true,\n visibility: true,\n whiteSpace: true,\n userSelect: true,\n pointerEvents: true,\n wordBreak: true,\n overflowWrap: true,\n textOverflow: true,\n boxSizing: true,\n cursor: true,\n resize: true,\n transition: true,\n listStyleType: true,\n listStylePosition: true,\n listStyleImage: true,\n fill: {\n property: 'fill',\n scale: 'colors',\n },\n stroke: {\n property: 'stroke',\n scale: 'colors',\n },\n objectFit: true,\n objectPosition: true,\n backgroundAttachment: true,\n outline: true,\n};\n\nconfig.bgAttachment = config.backgroundAttachment;\nconfig.textDecor = config.textDecoration;\nconfig.listStylePos = config.listStylePosition;\nconfig.listStyleImg = config.listStyleImage;\n\nconst extraConfig = system(config);\n\nexport default extraConfig;\n\n// Create an issue on @styled-system/css to allow custom alias to be passed to the `css` function\n\ninterface Result {\n [key: string]: any;\n}\n\n// Transform the custom alias to a format that styled-system CSS supports\nconst transformAlias = (prop: string, propValue: any) => {\n const configKeys = Object.keys(config);\n const result: Result = {};\n\n if (configKeys.includes(prop)) {\n const { properties, property } = config[prop] as any;\n if (properties) {\n properties.forEach((_cssProp: string) => (result[_cssProp] = propValue));\n }\n if (property) {\n result[property] = propValue;\n }\n if (config[prop] === true) {\n result[prop] = propValue;\n }\n } else {\n result[prop] = propValue;\n }\n return result;\n};\n\nexport const transformAliasProps = (props: any) => {\n let result = {};\n for (const prop in props) {\n if (typeof props[prop] === 'object' && !Array.isArray(props[prop])) {\n result = { ...result, [prop]: transformAliasProps(props[prop]) };\n } else {\n result = { ...result, ...transformAlias(prop, props[prop]) };\n }\n }\n return result;\n};\n\nexport const extraProps = Object.keys(config);\n","import React, { forwardRef, Ref } from 'react';\nimport { createShouldForwardProp, props } from '@styled-system/should-forward-prop';\nimport styled from 'styled-components';\nimport css from '@styled-system/css';\n\nimport {\n background,\n border,\n color,\n flexbox,\n grid,\n layout,\n position,\n shadow,\n space,\n typography,\n textStyle,\n colorStyle,\n buttonStyle,\n compose,\n} from 'styled-system';\n\nimport extraConfig, { extraProps, transformAliasProps as tx } from './config';\nimport { BoxProps } from './types';\n\nexport * from './types';\n\nexport const systemProps = compose(\n layout,\n color,\n space,\n background,\n border,\n grid,\n position,\n shadow,\n typography,\n flexbox,\n textStyle,\n buttonStyle,\n colorStyle\n);\n\nconst shouldForwardProp = createShouldForwardProp([...props, ...extraProps]);\n\nexport const StyledBox = styled('div').withConfig({\n shouldForwardProp: prop => shouldForwardProp(prop),\n})<BoxProps>`\n ${systemProps};\n ${extraConfig};\n`;\n\n/**\n * The selectors are based on [WAI-ARIA state properties](https://www.w3.org/WAI/PF/aria-1.1/states_and_properties) and common CSS Selectors\n */\nconst hover = '&:hover';\nconst active = '&:active, &[data-active=true]';\nconst focus = '&:focus';\nconst visited = '&:visited';\nconst even = '&:nth-of-type(even)';\nconst odd = '&:nth-of-type(odd)';\nconst disabled =\n '&:disabled, &:disabled:focus, &:disabled:hover, &[aria-disabled=true], &[aria-disabled=true]:focus, &[aria-disabled=true]:hover';\nconst checked = '&[aria-checked=true]';\nconst mixed = '&[aria-checked=mixed]';\nconst selected = '&[aria-selected=true]';\nconst invalid = '&[aria-invalid=true]';\nconst pressed = '&[aria-pressed=true]';\nconst readOnly = '&[aria-readonly=true], &[readonly]';\nconst first = '&:first-of-type';\nconst last = '&:last-of-type';\nconst expanded = '&[aria-expanded=true]';\nconst grabbed = '&[aria-grabbed=true]';\nconst notFirst = '&:not(:first-of-type)';\nconst notLast = '&:not(:last-of-type)';\nconst groupHover = '[role=group]:hover &';\n\nconst BoxWithPseudoStyles = styled(StyledBox)<BoxProps>(\n ({\n _after,\n _focus,\n _selected,\n _focusWithin,\n _hover,\n _invalid,\n _active,\n _disabled,\n _grabbed,\n _pressed,\n _expanded,\n _visited,\n _before,\n _readOnly,\n _first,\n _notFirst,\n _notLast,\n _last,\n _placeholder,\n _checked,\n _groupHover,\n _mixed,\n _odd,\n _even,\n }) => {\n return css({\n [hover]: tx(_hover),\n [focus]: tx(_focus),\n [active]: tx(_active),\n [visited]: tx(_visited),\n [disabled]: tx(_disabled),\n [selected]: tx(_selected),\n [invalid]: tx(_invalid),\n [expanded]: tx(_expanded),\n [grabbed]: tx(_grabbed),\n [readOnly]: tx(_readOnly),\n [first]: tx(_first),\n [notFirst]: tx(_notFirst),\n [notLast]: tx(_notLast),\n [last]: tx(_last),\n [odd]: tx(_odd),\n [even]: tx(_even),\n [mixed]: tx(_mixed),\n [checked]: tx(_checked),\n [pressed]: tx(_pressed),\n [groupHover]: tx(_groupHover),\n '&:before': tx(_before),\n '&:after': tx(_after),\n '&:focus-within': tx(_focusWithin),\n '&::placeholder': tx(_placeholder),\n });\n }\n);\n\nconst Box = forwardRef((props: BoxProps, ref: Ref<HTMLDivElement>) => (\n <BoxWithPseudoStyles ref={ref} {...props} />\n));\n\nBox.displayName = 'Box';\n\nexport { Box };\n","import React, { Children, cloneElement } from 'react';\nimport { Box } from '../box';\nimport { ButtonGroupProps } from './types';\n\nconst ButtonGroup: React.FC<ButtonGroupProps> = ({\n size,\n variantColor,\n variant,\n isAttached,\n spacing = 2,\n children,\n ...rest\n}) => {\n const clones = Children.map(children, (child, index) => {\n const isFirst = index === 0;\n const isLast = index === Children.count(children) - 1;\n\n if (!React.isValidElement(child)) {\n return null;\n }\n\n return cloneElement(child, {\n size: size || child.props.size,\n variantColor: child.props.variantColor || variantColor,\n variant: child.props.variant || variant,\n _focus: { boxShadow: 'outline', zIndex: 1 },\n ...(!isLast && !isAttached && { mr: spacing }),\n ...(isFirst && isAttached && { roundedRight: 0 }),\n ...(isLast && isAttached && { roundedLeft: 0 }),\n ...(!isFirst && !isLast && isAttached && { rounded: 0 }),\n });\n });\n\n return (\n <Box display=\"inline-block\" {...rest}>\n {clones}\n </Box>\n );\n};\n\nButtonGroup.displayName = 'ButtonGroup';\n\nexport { ButtonGroup };\n","const colors = {\n transparent: 'transparent',\n current: 'currentColor',\n black: '#000000',\n white: '#ffffff',\n blue: Object.assign('#3700ff', {\n 100: '#F2F2FF',\n 200: '#E3E5FF',\n 300: '#C5CCFF',\n 400: '#AAB3FF',\n 900: '#5548ff',\n hover: '#3100DC',\n }),\n ink: Object.assign('#0f1117', {\n 50: '#f4f4f5',\n 100: '#F9F9FC',\n 150: '#F4F4F5',\n 200: '#E7E7E8',\n 250: '#C8C8CC',\n 300: '#C8C8CC',\n 400: '#A7A7AD',\n 600: '#677282',\n 900: '#222933',\n }),\n darken: {\n 50: 'rgba(15, 17, 23, 0.05)',\n 100: 'rgba(15, 17, 23, 0.1)',\n 150: 'rgba(15, 17, 23, 0.15)',\n },\n red: '#de0014',\n green: '#00a73e',\n orange: '#f7aa00',\n cyan: '#00d4ff',\n feedback: {},\n};\n\ncolors.feedback = {\n error: colors.red,\n success: colors.green,\n warning: colors.orange,\n info: colors.cyan,\n};\n\nexport default colors;\n","import { SpacingTypes } from './types';\n\nconst containers = {\n 'screen-sm': '640px',\n 'screen-md': '768px',\n 'screen-lg': '1024px',\n 'screen-xl': '1280px',\n};\n\nexport const baseSizes = {\n '0': '0px',\n px: '1px',\n '1': '4px',\n '2': '8px',\n '3': '12px',\n '4': '16px',\n '5': '20px',\n '6': '24px',\n '8': '32px',\n '10': '40px',\n '12': '48px',\n '16': '64px',\n '20': '80px',\n '24': '96px',\n '32': '128px',\n '40': '160px',\n '48': '192px',\n '56': '224px',\n '64': '256px',\n};\n\nexport const namedSpacingUnits = {\n none: baseSizes[0], //0px\n 'extra-tight': baseSizes[1], //4px\n tight: baseSizes[2], //8px\n 'base-tight': baseSizes[3], //12px\n base: baseSizes[4], //16px\n 'base-loose': baseSizes[5], //20px\n loose: baseSizes[6], //24px\n 'extra-loose': baseSizes[8], //32px\n};\n\nexport const space = (spacing: SpacingTypes): SpacingTypes => spacing;\n\nexport const sizes = {\n ...baseSizes,\n containers,\n ...namedSpacingUnits,\n};\n","const typography = {\n letterSpacings: {\n tighter: '-0.02em',\n tight: '-0.01em',\n normal: '0',\n wide: '0.025em',\n wider: '0.05em',\n widest: '0.1em',\n },\n lineHeights: {\n normal: 'normal',\n none: '1',\n shorter: '1.333',\n short: '1.4',\n base: '1.5',\n tall: '1.625',\n taller: '2',\n },\n fontWeights: {\n hairline: 100,\n thin: 200,\n light: 300,\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n extrabold: 800,\n black: 900,\n },\n fonts: {\n heading:\n '\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n body:\n '\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n mono: 'SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace',\n },\n fontSizes: [12, 14, 16, 20, 24, 28, 32, 36, 48, 64, 96, 128],\n};\n\nconst displayLarge = {\n fontWeight: typography.fontWeights.semibold,\n fontSize: typography.fontSizes[4],\n lineHeight: typography.lineHeights.shorter, // 1.333\n letterSpacing: '-0.02em',\n};\nconst displaySmall = {\n fontWeight: typography.fontWeights.medium,\n fontSize: typography.fontSizes[3],\n lineHeight: typography.lineHeights.short, // 1.4\n letterSpacing: '-0.02em',\n};\nconst bodyLarge = {\n fontWeight: typography.fontWeights.normal,\n fontSize: typography.fontSizes[2],\n lineHeight: typography.lineHeights.base, // 1.5 (24)\n letterSpacing: '-0.01em',\n};\nconst bodyLargeMedium = {\n ...bodyLarge,\n fontWeight: typography.fontWeights.medium,\n};\nconst bodySmall = {\n fontWeight: typography.fontWeights.normal,\n fontSize: typography.fontSizes[1],\n lineHeight: typography.lineHeights.short, // 1.4 (19.6)\n letterSpacing: '-0.01em',\n};\nconst bodySmallMedium = {\n ...bodySmall,\n fontWeight: typography.fontWeights.medium,\n};\nconst caption = {\n fontSize: typography.fontSizes[0],\n lineHeight: typography.lineHeights.shorter, // 1.333 (16)\n letterSpacing: '0.00em',\n};\nconst captionMedium = {\n ...bodySmall,\n fontWeight: typography.fontWeights.medium,\n};\n\nexport const textStyles = {\n display: {\n large: displayLarge,\n small: displaySmall,\n },\n body: {\n large: {\n ...bodyLarge,\n medium: bodyLargeMedium,\n },\n small: {\n ...bodySmall,\n medium: bodySmallMedium,\n },\n },\n caption: {\n ...caption,\n medium: captionMedium,\n },\n} as const;\n\nexport type TextStylesLiteral =\n | 'display.large'\n | 'display.small'\n | 'body.large'\n | 'body.large.medium'\n | 'body.small'\n | 'body.small.medium'\n | 'caption'\n | 'caption.medium';\n\nexport default {\n ...typography,\n textStyles,\n};\n","import colors from './colors';\nimport { sizes } from './sizes';\nimport typography from './typography';\nimport { Theme } from './types';\n\nconst space = sizes;\n\nexport const shadows = {\n low: '0px 1px 2px rgba(0, 0, 0, 0.04)',\n mid: '0px 1px 2px rgba(27, 39, 51, 0.04), 0px 4px 8px rgba(27, 39, 51, 0.04)',\n high: '0px 8px 16px rgba(27, 39, 51, 0.08)',\n inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.06)',\n none: 'none',\n focus: '0 0 0 3px rgba(170, 179, 255, 0.75)',\n 'button.secondary': '0px 1px 2px rgba(0, 0, 0, 0.08), 0px 1px 4px rgba(0, 0, 0, 0.08)',\n};\n\ntype Breakpoints = string[] & {\n [key: string]: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n};\n\n// Type must be coerced here to support type `string[]` with custom properties\nconst breakpoints = ['30em', '48em', '62em', '80em'] as Breakpoints;\n// aliases\nbreakpoints.sm = breakpoints[0];\nbreakpoints.md = breakpoints[1];\nbreakpoints.lg = breakpoints[2];\nbreakpoints.xl = breakpoints[3];\n\nconst zIndices: Theme['zIndices'] = {\n hide: -1,\n auto: 'auto',\n '0': 0,\n '10': 10,\n '20': 20,\n '30': 30,\n '40': 40,\n '50': 50,\n '60': 60,\n '70': 70,\n '80': 80,\n};\n\nconst radii = {\n none: '0',\n sm: '0.125rem',\n md: '0.25rem',\n lg: '0.5rem',\n full: '9999px',\n};\n\nconst opacity = {\n '0': '0',\n '20%': '0.2',\n '40%': '0.4',\n '60%': '0.6',\n '80%': '0.8',\n '100%': '1',\n};\n\nconst borders = {\n none: 0,\n '1px': '1px solid',\n '2px': '2px solid',\n '4px': '4px solid',\n};\n\nconst theme: Theme = {\n breakpoints,\n zIndices,\n radii,\n opacity,\n borders,\n colors,\n ...(typography as any),\n sizes,\n shadows,\n space,\n};\n\nexport const transition = 'all 0.2s cubic-bezier(0.23, 1, 0.32, 1)';\n\nexport { theme };\n","import { ButtonModes, ButtonSizes, CustomStyles, ButtonStyles } from './types';\nimport { shadows } from '../theme/theme';\n\nconst baseProps = {\n display: 'inline-flex',\n appearance: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n transition: 'all 250ms',\n userSelect: 'none',\n position: 'relative',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n lineHeight: 'shorter',\n outline: 'none',\n border: '1px solid',\n borderColor: 'transparent',\n};\n\nconst sizes = {\n lg: {\n minHeight: 12,\n minWidth: 9 * 14,\n fontSize: '14px !important',\n px: 5,\n },\n md: {\n minHeight: 10,\n minWidth: 10,\n fontSize: '14px !important',\n px: 4,\n },\n sm: {\n minHeight: 6,\n minWidth: 10,\n fontSize: '11px !important',\n px: 3,\n },\n};\n\nconst unstyledStyle = {\n userSelect: 'inherit',\n bg: 'none',\n border: 0,\n color: 'inherit',\n display: 'inline',\n font: 'inherit',\n lineHeight: 'inherit',\n m: 0,\n p: 0,\n textAlign: 'inherit',\n};\n\nconst linkVariantProps = () => {\n return {\n p: 0,\n height: 'unset',\n lineHeight: 'normal',\n color: 'blue',\n minWidth: 'unset',\n _hover: {\n color: 'blue.hover',\n textDecoration: 'underline',\n },\n _active: {\n textDecoration: 'underline',\n },\n _focus: {\n textDecoration: 'underline',\n },\n _disabled: {\n color: '#A7A7AD',\n },\n };\n};\n\nconst solidVariantProps = ({\n mode,\n customStyles,\n}: {\n mode: ButtonModes;\n customStyles: CustomStyles;\n}) => {\n const style = {\n primary: {\n bg: 'blue',\n color: 'white',\n _hover: {\n cursor: 'pointer',\n },\n _focus: {\n borderColor: 'blue.300',\n boxShadow: shadows.focus,\n },\n _disabled: {\n bg: 'blue.200',\n cursor: 'not-allowed',\n },\n },\n secondary: {\n bg: 'blue.100',\n color: 'blue',\n border: '1px solid',\n borderColor: 'blue.300',\n boxShadow: null,\n _hover: {\n cursor: 'pointer',\n bg: 'blue.200',\n },\n _focus: {\n borderColor: 'blue.300',\n boxShadow: shadows.focus,\n },\n _disabled: {\n bg: 'blue.200',\n cursor: 'not-allowed',\n color: 'white',\n border: 'none',\n },\n },\n tertiary: {\n bg: 'white',\n color: 'blue',\n boxShadow: shadows['button.secondary'],\n _hover: {\n cursor: 'pointer',\n bg: 'white',\n boxShadow: shadows['button.secondary'],\n },\n _focus: {\n borderColor: 'blue.300',\n boxShadow: shadows.focus,\n },\n _disabled: {\n bg: 'white',\n pointerEvents: 'none',\n cursor: 'not-allowed',\n color: 'blue.300',\n },\n },\n };\n\n if (customStyles) {\n return customStyles[mode];\n }\n\n return style[mode];\n};\n\nconst sizeProps = ({ size }: { size: ButtonSizes }) => sizes[size];\n\nconst variantProps = (props: any) => {\n switch (props.variant) {\n case 'solid':\n return solidVariantProps(props);\n case 'link':\n return linkVariantProps();\n case 'unstyled':\n return unstyledStyle;\n default:\n return {};\n }\n};\n\nconst useButtonStyle = (props: ButtonStyles): any => ({\n ...baseProps,\n ...variantProps(props),\n ...sizeProps(props),\n});\n\nexport { useButtonStyle };\n","import styled from 'styled-components';\nimport { Box } from '../box';\n\nconst VisuallyHidden = styled(Box)`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n width: 1px;\n margin: -1px;\n padding: 0px;\n overflow: hidden;\n white-space: nowrap;\n position: absolute;\n`;\n\nexport { VisuallyHidden };\n","import React, { forwardRef } from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { Box } from '../box';\nimport { VisuallyHidden } from '../visually-hidden';\nimport { SpinnerProps, SpinnerSize } from './types';\n\nconst spin = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst StyledBox = styled(Box)`\n animation: ${spin} ${(props: SpinnerProps) => props.speed} linear infinite;\n`;\n\nconst getSize = (size: SpinnerSize): string => {\n switch (size) {\n case 'xs':\n return '0.75rem';\n case 'sm':\n return '1rem';\n case 'md':\n return '1.5rem';\n case 'lg':\n return '2rem';\n case 'xl':\n return '3rem';\n default:\n return size;\n }\n};\n\n/**\n * Spinner is used for indicating a loading state of a component or page.\n *\n * RECOMMENDED: Add `aria-busy=\"true\"` to the component that triggered the loading state while the spinner is shown.\n */\nconst Spinner = forwardRef<any, SpinnerProps>(\n (\n {\n size = 'md',\n label = 'Loading...',\n thickness = '2px',\n speed = '0.85s',\n color,\n emptyColor = 'transparent',\n ...props\n },\n ref\n ) => {\n const _size = getSize(size);\n\n return (\n <StyledBox\n ref={ref}\n display=\"inline-block\"\n borderWidth={thickness}\n borderColor=\"currentColor\"\n borderBottomColor={emptyColor}\n borderLeftColor={emptyColor}\n borderRadius=\"100%\"\n speed={speed}\n color={color}\n size={_size}\n {...props}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </StyledBox>\n );\n }\n);\n\nSpinner.displayName = 'Spinner';\n\nexport { Spinner };\n","import React, { Ref, forwardRef } from 'react';\nimport { PseudoBox } from '../pseudo-box';\nimport { Box } from '../box';\nimport { useButtonStyle } from './styles';\nimport { Spinner } from '../spinner';\nimport { ButtonProps } from './types';\nimport { useHover } from 'use-events';\n\nexport * from './types';\n\nconst HoverChange = ({ isHovered, isDisabled }: { isHovered: boolean; isDisabled: boolean }) => (\n <Box\n borderRadius=\"6px\"\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n left={0}\n top={0}\n bg=\"darken.150\"\n opacity={!isDisabled && isHovered ? 1 : 0}\n zIndex={1}\n transition=\"all 250ms\"\n />\n);\n\nexport const Button = forwardRef<Ref<HTMLDivElement>, ButtonProps>(\n (\n {\n isDisabled,\n isActive,\n children,\n as: Comp,\n mode = 'primary',\n variant = 'solid',\n type,\n size = 'md',\n isLoading,\n loadingText,\n customStyles,\n ...rest\n },\n ref\n ) => {\n const styles = useButtonStyle({\n variant,\n mode,\n size,\n customStyles,\n });\n\n const [hovered, bind] = useHover();\n\n return (\n <PseudoBox\n disabled={isDisabled}\n aria-disabled={isDisabled}\n ref={ref}\n type={type}\n borderRadius=\"6px\"\n fontWeight=\"medium\"\n position=\"relative\"\n data-active={isActive ? 'true' : undefined}\n as={Comp || 'button'}\n {...rest}\n {...styles}\n {...bind}\n >\n <Box\n as=\"span\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"relative\"\n zIndex={5}\n >\n {isLoading && (\n <Spinner\n position={loadingText ? 'relative' : 'absolute'}\n mx={!loadingText ? 'auto' : 'unset'}\n color=\"currentColor\"\n size={size === 'sm' ? 'xs' : 'sm'}\n />\n )}\n {isLoading\n ? <Box ml=\"tight\">{loadingText}</Box> || (\n <Box ml=\"tight\" as=\"span\" opacity={0}>\n {children}\n </Box>\n )\n : children}\n </Box>\n {mode === 'primary' ? (\n <HoverChange isDisabled={isDisabled || false} isHovered={hovered} />\n ) : null}\n </PseudoBox>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import React, { forwardRef } from 'react';\nimport { Box } from '../box';\nimport { FlexProps } from './types';\n\nconst Flex = forwardRef<any, FlexProps>(({ align, justify, wrap, direction, ...rest }, ref) => (\n <Box\n ref={ref}\n display=\"flex\"\n flexDirection={direction}\n alignItems={align}\n justifyContent={justify}\n flexWrap={wrap}\n {...rest}\n />\n));\n\nFlex.displayName = 'Flex';\n\nexport { Flex, FlexProps };\n","import React from 'react';\n\nlet _window: Window | undefined = undefined;\n\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\n\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11.\n */\nexport function getWindow(node?: HTMLElement | null): Window | undefined {\n return node?.ownerDocument?.defaultView ?? _window;\n}\n\n/**\n * Check if we can use the DOM. Useful for SSR purposes\n */\nfunction checkIsBrowser() {\n const _window = getWindow();\n return Boolean(\n // eslint-disable-next-line @typescript-eslint/unbound-method\n typeof _window !== 'undefined' && _window.document && _window.document.createElement\n );\n}\n\nexport const isBrowser = checkIsBrowser();\n\nexport function isFunction(value: any): value is Function {\n return typeof value === 'function';\n}\n\nexport interface CreateContextOptions {\n /**\n * If `true`, React will throw if context is `null` or `undefined`\n * In some cases, you might want to support nested context, so you can set it to `false`\n */\n strict?: boolean;\n /**\n * Error message to throw if the context is `undefined`\n */\n errorMessage?: string;\n /**\n * The display name of the context\n */\n name?: string;\n}\n\ntype CreateContextReturn<T> = [React.Provider<T>, () => T, React.Context<T>];\n\n/**\n * Creates a named context, provider, and hook.\n *\n * @param options create context options\n */\nexport function createContext<ContextType>(options: CreateContextOptions = {}) {\n const {\n strict = true,\n errorMessage = 'useContext must be inside a Provider with a value',\n name,\n } = options;\n\n const Context = React.createContext<ContextType | undefined>(undefined);\n\n Context.displayName = name;\n\n function useContext() {\n const context = React.useContext(Context);\n if (!context && strict) throw new Error(errorMessage);\n return context;\n }\n\n return [Context.Provider, useContext, Context] as CreateContextReturn<ContextType>;\n}\n\n/**\n * Gets only the valid children of a component,\n * and ignores any nullish or falsy child.\n *\n * @param children the children\n */\nexport function getValidChildren(children: React.ReactNode) {\n return React.Children.toArray(children).filter(child =>\n React.isValidElement(child)\n ) as React.ReactElement[];\n}\n\ntype ReactRef<T> = React.Ref<T> | React.RefObject<T> | React.MutableRefObject<T>;\n\n/**\n * Assigns a value to a ref function or object\n *\n * @param ref the ref to assign to\n * @param value the value\n */\nexport function assignRef<T = any>(ref: ReactRef<T> | undefined, value: T) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n return;\n }\n\n try {\n (ref as React.MutableRefObject<T>).current = value;\n } catch (error) {\n throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);\n }\n}\n\n/**\n * Combine multiple React refs into a single ref function.\n * This is used mostly when you need to allow consumers forward refs to\n * internal components\n *\n * @param refs refs to assign to value to\n */\nexport function mergeRefs<T>(...refs: (ReactRef<T> | undefined)[]) {\n return (value: T) => {\n refs.forEach(ref => assignRef(ref, value));\n };\n}\n\nexport function genId(prefix: string) {\n return `${prefix}-${Math.random().toString(32).substr(2, 8)}`;\n}\n\nexport const makeId = (id: string, index: number) => `${id}:${index}`;\n\nconst focusableElList = [\n 'a[href]',\n 'area[href]',\n 'button:not([disabled])',\n 'embed',\n 'iframe',\n 'input:not([disabled])',\n 'object',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '*[tabindex]:not([aria-disabled])',\n '*[contenteditable]',\n];\n\nconst focusableElSelector = focusableElList.join();\n\nexport function getFocusables(element: HTMLElement, keyboardOnly = false) {\n let focusableEls = Array.from(element.querySelectorAll(focusableElSelector));\n\n // filter out elements with display: none\n focusableEls = focusableEls.filter(\n focusableEl => window.getComputedStyle(focusableEl).display !== 'none'\n );\n\n if (keyboardOnly) {\n focusableEls = focusableEls.filter(\n focusableEl => focusableEl.getAttribute('tabindex') !== '-1'\n );\n }\n\n return focusableEls;\n}\n\n/// Evaluate color in theme object\n\nconst colorKeyInTheme = (theme: any, color: string) => color in theme.colors;\n\nconst colorHueValue = (theme: any, color: string) => {\n const hasDot = color.search('.') !== -1;\n if (hasDot) {\n const [colorName, hue] = color.split('.');\n\n if (colorKeyInTheme(theme, colorName)) {\n return theme.colors[colorName][hue];\n }\n }\n return null;\n};\n\nexport const getColorInTheme = (theme: any, color: string) => {\n if (colorKeyInTheme(theme, color)) {\n return theme.colors[color][500];\n }\n\n if (colorHueValue(theme, color)) {\n return colorHueValue(theme, color);\n }\n\n return color;\n};\n\nexport const __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport function runIfFn<T, U>(valueOrFn: T | ((...args: U[]) => T), ...args: U[]): T {\n return isFunction(valueOrFn) ? valueOrFn(...args) : valueOrFn;\n}\n\nexport function warn(options: { condition: boolean; message: string }) {\n if (options.condition && __DEV__) {\n console.warn(options.message);\n }\n}\n\nexport function error(options: { condition: boolean; message: string }) {\n if (options.condition && __DEV__) {\n console.error(options.message);\n }\n}\n\nexport type FunctionArguments<T extends Function> = T extends (...args: infer R) => any ? R : never;\n\nexport function callAllHandlers<T extends (event: any) => void>(...fns: (T | undefined)[]) {\n return function (event: FunctionArguments<T>[0]) {\n fns.some(fn => {\n fn && fn(event);\n return event && event.defaultPrevented;\n });\n };\n}\n\nexport type Merge<T1, T2> = Omit<T1, Extract<keyof T1, keyof T2>> & T2;\n\nexport type SafeMerge<T, P> = P & Omit<T, keyof P>;\n\nexport type UnionStringArray<T extends Readonly<string[]>> = T[number];\n\nexport type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;\n\nexport type As<P = any> = React.ReactType<P>;\n\nexport type AnyFunction<T = any> = (...args: T[]) => any;\n\nexport type Dict<T = any> = Record<string, T>;\n\nexport type ReactNodeOrRenderProp<P> = React.ReactNode | ((props: P) => React.ReactNode);\n\nexport type Booleanish = boolean | 'true' | 'false';\n\nexport type ObjectOrArray<T, K extends keyof any = keyof any> = T[] | Record<K, T>;\n\nexport type StringOrNumber = string | number;\n\n// Number assertions\nexport function isNumber(value: any): value is number {\n return typeof value === 'number';\n}\n\nexport const isNotNumber = (value: any) =>\n typeof value !== 'number' || isNaN(value) || !isFinite(value);\n\nexport function isNumeric(value: any) {\n return value != null && value - parseFloat(value) + 1 >= 0;\n}\n\n// Array assertions\nexport function isArray<T>(value: any): value is T[] {\n return Array.isArray(value);\n}\n\nexport const isEmptyArray = (value: any) => isArray(value) && value.length === 0;\n\n// Generic assertions\nexport const isDefined = (value: any) => typeof value !== 'undefined' && value !== undefined;\n\nexport const isUndefined = (value: any): value is undefined =>\n typeof value === 'undefined' || value === undefined;\n\n// Object assertions\nexport const isObject = (value: any): value is Dict => {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function') && !isArray(value);\n};\n\nexport const isEmptyObject = (value: any) => isObject(value) && Object.keys(value).length === 0;\n\nexport const isNull = (value: any): value is null => value == null;\n\n// String assertions\nexport function isString(value: any): value is string {\n return Object.prototype.toString.call(value) === '[object String]';\n}\n\n// Empty assertions\nexport const isEmpty = (value: any) => {\n if (isArray(value)) return isEmptyArray(value);\n if (isObject(value)) return isEmptyObject(value);\n return value == null || value === '';\n};\n\nexport function omit<T extends Dict, K extends keyof T>(object: T, keys: K[]) {\n const result: Dict = {};\n\n for (const key in object) {\n if (keys.includes(key as any)) continue;\n result[key] = object[key];\n }\n\n return result as Omit<T, K>;\n}\n\nexport function pick<T extends Dict, K extends keyof T>(object: T, keys: K[]) {\n const result = {} as { [P in K]: T[P] };\n for (const key of keys) {\n if (key in object) {\n result[key] = object[key];\n }\n }\n return result;\n}\n\nexport function split<T extends Dict, K extends keyof T>(object: T, keys: K[]) {\n const picked: Dict = {};\n const omitted: Dict = {};\n\n for (const key in object) {\n if (keys.includes(key as T[K])) {\n picked[key] = object[key];\n } else {\n omitted[key] = object[key];\n }\n }\n\n return [picked, omitted] as [{ [P in K]: T[P] }, Omit<T, K>];\n}\n\n/**\n * Get value from a deeply nested object using a string path\n * @param obj - the object\n * @param path - the string path\n * @param fallback\n * @param index\n */\nexport function get(obj: any, path: string | number, fallback?: any, index?: number) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n //@ts-ignore\n path = (path?.split?.('.') ?? [path]) as string;\n for (index = 0; index < path.length; index++) {\n obj = obj ? obj[path[index]] : undefined;\n }\n return obj === undefined ? fallback : obj;\n}\n\n/**\n * Get value from deeply nested object, based on path\n * It returns the path value if not found in object\n *\n * @param path - the string path or value\n * @param scale - the string path or value\n */\nexport function getWithDefault(path: any, scale: any) {\n return get(scale, path, path);\n}\n\nexport function mapResponsive(prop: any, mapper: (val: any) => any) {\n if (isArray(prop)) {\n return prop.map(mapper);\n }\n\n if (isObject(prop)) {\n return Object.keys(prop).reduce((result: Dict, key) => {\n result[key] = mapper(prop[key]);\n return result;\n }, {});\n }\n\n if (prop != null) {\n return mapper(prop);\n }\n\n return null;\n}\n\nexport const startPad = (n: number, z = 2, s = '0') =>\n (n + '').length <= z ? ['', '-'][+(n < 0)] + (s.repeat(z) + Math.abs(n)).slice(-1 * z) : n + '';\n","import { runIfFn, warn } from '../utils';\nimport * as React from 'react';\n\nexport function useControllableProp<T>(propValue: T | undefined, stateValue: T) {\n const { current: isControlled } = React.useRef(propValue !== undefined);\n const value = isControlled && typeof propValue !== 'undefined' ? propValue : stateValue;\n return [isControlled, value] as const;\n}\n\nexport interface UseControllableStateProps<T> {\n /**\n * The value to used in controlled mode\n */\n value?: T;\n /**\n * The initial value to be used, in uncontrolled mode\n */\n defaultValue?: T | (() => T);\n /**\n * The callback fired when the value changes\n */\n onChange?: (nextValue: T) => void;\n /**\n * The condition to update the state\n */\n shouldUpdate?: (prevState: T, state: T) => boolean;\n /**\n * The component name (for warnings)\n */\n name?: string;\n /**\n * A mapping for the props to give more contextual warning messages.\n *\n * In some components `value` might be called `index`, and defaultValue\n * might be called `defaultIndex`, so this map helps us generate\n * contextual warning messages\n */\n propsMap?: {\n value?: string;\n defaultValue?: string;\n onChange?: string;\n };\n}\n\nconst defaultPropsMap = {\n value: 'value',\n defaultValue: 'defaultValue',\n onChange: 'onChange',\n};\n\n/**\n * React hook for using controlling component state.\n * @param props\n */\nexport function useControllableState<T>(props: UseControllableStateProps<T>) {\n const {\n value: valueProp,\n defaultValue,\n onChange,\n shouldUpdate = () => true,\n name = 'Component',\n propsMap = defaultPropsMap,\n } = props;\n\n const [valueState, setValue] = React.useState(defaultValue as T);\n const { current: isControlled } = React.useRef(valueProp !== undefined);\n\n // don't switch from controlled to uncontrolled\n React.useEffect(() => {\n const nextIsControlled = valueProp !== undefined;\n\n const nextMode = nextIsControlled ? 'a controlled' : 'an uncontrolled';\n const mode = isControlled ? 'a controlled' : 'an uncontrolled';\n\n warn({\n condition: isControlled !== nextIsControlled,\n message:\n `Warning: ${name} is changing from ${mode} to ${nextMode} component. ` +\n 'Components should not switch from controlled to uncontrolled (or vice versa). ' +\n `Use the '${propsMap['value']}' with an '${propsMap['onChange']}' handler. ` +\n `If you want an uncontrolled component, remove the ${propsMap['value']} prop and use '${propsMap['defaultValue']}' instead. \"` +\n 'More info: https://fb.me/react-controlled-components',\n });\n }, [valueProp, isControlled, name]);\n\n const { current: _defaultValue } = React.useRef(defaultValue);\n\n React.useEffect(() => {\n warn({\n condition: _defaultValue !== defaultValue,\n message:\n `Warning: A component is changing the default value of an uncontrolled ${name} after being initialized. ` +\n `To suppress this warning opt to use a controlled ${name}.`,\n });\n }, [JSON.stringify(defaultValue)]);\n\n const value = isControlled ? (valueProp as T) : valueState;\n\n const updateValue = React.useCallback(\n (next: React.SetStateAction<T>) => {\n const nextValue = runIfFn(next, value);\n const shouldUpdateState = shouldUpdate(value, nextValue);\n\n if (!shouldUpdateState) return;\n\n if (!isControlled) {\n setValue(next);\n }\n\n onChange?.(nextValue);\n },\n [onChange, shouldUpdate, isControlled, value]\n );\n\n return [value, updateValue] as [T, React.Dispatch<React.SetStateAction<T>>];\n}\n","import * as React from 'react';\n\n/**\n * React hook that tracks previous value\n *\n * @param value the value to track\n */\nexport function usePrevious<T>(value: T) {\n const valueRef = React.useRef<T>();\n\n React.useEffect(() => {\n valueRef.current = value;\n }, [value]);\n\n return valueRef.current as T;\n}\n","import * as React from 'react';\nimport { useControllableProp } from './use-controllable';\nimport { usePrevious } from './use-previous';\n\nexport interface UseDisclosureProps {\n isOpen?: boolean;\n defaultIsOpen?: boolean;\n onClose?(): void;\n onOpen?(): void;\n}\n\nexport function useDisclosure(props: UseDisclosureProps = {}) {\n const { onClose: onCloseProp, onOpen: onOpenProp } = props;\n\n const [isOpenState, setIsOpen] = React.useState(props.defaultIsOpen || false);\n const [isControlled, isOpen] = useControllableProp(props.isOpen, isOpenState);\n\n const prevIsOpen = usePrevious(isOpen);\n\n const onClose = React.useCallback(() => {\n if (!isControlled) {\n setIsOpen(false);\n }\n if (onCloseProp) {\n onCloseProp();\n }\n }, [isControlled, onCloseProp]);\n\n const onOpen = React.useCallback(() => {\n if (!isControlled) {\n setIsOpen(true);\n }\n if (onOpenProp) {\n onOpenProp();\n }\n }, [isControlled, onOpenProp]);\n\n const onToggle = React.useCallback(() => {\n const action = isOpen ? onClose : onOpen;\n action();\n }, [isOpen, onOpen, onClose]);\n\n return {\n isOpen: Boolean(isOpen),\n prevIsOpen: Boolean(prevIsOpen),\n onOpen,\n onClose,\n onToggle,\n isControlled,\n };\n}\n\nexport type UseDisclosureReturn = ReturnType<typeof useDisclosure>;\n","import * as React from 'react';\n\n/**\n * React hook to persist any value between renders,\n * but keeps it up-to-date if it changes.\n *\n * @param value the value or function to persist\n */\nexport function useLatestRef<T>(value: T) {\n const ref = React.useRef(value);\n\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref;\n}\n","import * as React from 'react';\nimport { isBrowser, FunctionArguments } from '../utils';\nimport { useLatestRef } from './use-latest-ref';\n\ntype AddEventListener = FunctionArguments<typeof document.addEventListener>;\n\n/**\n * React hook to manage browser event listeners\n *\n * @param event the event name\n * @param handler the event handler function to execute\n * @param doc the dom environment to execute against (defaults to `document`)\n * @param options the event listener options\n */\nexport function useEventListener(\n event: keyof WindowEventMap,\n handler: (event: any) => void,\n doc: Document | null = isBrowser ? document : null,\n options?: AddEventListener[2]\n) {\n const savedHandler = useLatestRef(handler);\n\n React.useEffect(() => {\n if (!doc) return;\n\n const listener = (event: any) => {\n savedHandler.current(event);\n };\n\n doc.addEventListener(event, listener, options);\n\n return () => {\n doc.removeEventListener(event, listener, options);\n };\n }, [event, doc, options, savedHandler]);\n\n return () => {\n doc?.removeEventListener(event, savedHandler.current, options);\n };\n}\n","import * as React from 'react';\n\n/**\n * React hook for force a component to re-render\n */\nexport function useForceUpdate() {\n const [count, setCount] = React.useState(0);\n return React.useCallback(() => setCount(count + 1), [count]);\n}\n","import { useId as useUID } from '@reach/auto-id';\n\nfunction generatePrefix(prefix: string, id: string) {\n return `${prefix}-${id}`;\n}\n\n/**\n * Reack hook to generate unique id\n *\n * @param idProp the external id passed from the user\n * @param prefix prefix to append before the id\n */\nexport function useId(idProp?: string, prefix?: string) {\n const uuid = useUID() as string;\n const id = idProp ?? uuid;\n return prefix ? generatePrefix(prefix, id) : id;\n}\n\n/**\n * Reack hook to generate ids for use in compound components\n *\n * @param idProp the external id passed from the user\n * @param prefixes array of prefixes to use\n *\n * @example\n *\n * ```js\n * const [buttonId, menuId] = useIds(\"52\", \"button\", \"menu\")\n *\n * // buttonId will be `button-52`\n * // menuId will be `menu-52`\n * ```\n */\nexport function useIds(idProp?: string, ...prefixes: string[]) {\n const id = useId(idProp);\n return prefixes.map(prefix => generatePrefix(prefix, id));\n}\n","import * as React from 'react';\n\ntype ReactRef<T> = React.Ref<T> | React.RefObject<T> | React.MutableRefObject<T>;\n\nexport function assignRef<T = any>(ref: ReactRef<T>, value: T) {\n if (ref == null) return;\n if (typeof ref === 'function') {\n ref(value);\n } else {\n try {\n (ref as React.MutableRefObject<T>).current = value;\n } catch (error) {\n throw new Error(`Cannot assign value \"${value}\" to ref \"${ref}\"`);\n }\n }\n}\n\nexport function useMergeRefs<T>(...refs: (ReactRef<T> | undefined)[]) {\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return (node: T) => {\n refs.forEach(ref => {\n if (ref) assignRef(ref, node);\n });\n };\n }, refs);\n}\n","import * as React from 'react';\nimport { isBrowser } from '../utils';\n\n/**\n * useSafeLayoutEffect enables us to safely call `useLayoutEffect` on the browserpr\n * (for SSR reasons)\n *\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser.\n *\n * @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n */\nexport const useSafeLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;\n","import { useEffect, useState, useRef, useCallback } from 'react';\n\ninterface UseTimeoutProps {\n onTimeout: () => void;\n duration: number;\n}\nexport const useTimeout = ({ onTimeout, duration }: UseTimeoutProps) => {\n const [activated, setActivated] = useState(true);\n const timeoutRef = useRef<number | undefined>();\n\n const stopTimeout = useCallback(() => {\n window.clearTimeout(timeoutRef.current);\n setActivated(false);\n }, []);\n\n useEffect(() => {\n if (activated) {\n timeoutRef.current = window.setTimeout(() => {\n onTimeout();\n }, duration);\n\n return () => {\n stopTimeout();\n };\n }\n return;\n }, [onTimeout, activated, duration, stopTimeout]);\n\n const startTimeout = useCallback(() => {\n setActivated(true);\n }, []);\n\n return {\n stopTimeout,\n startTimeout,\n };\n};\n","import { css } from 'styled-components';\nimport Color from 'color';\n\nexport const get = (color: string, hue: string) => `${color}.${hue}`;\n\nexport const addOpacity = (color: string, opacity: number) =>\n Color(color)\n .fade(1 - opacity)\n .rgb()\n .string();\n\nexport const addWhite = (color: string, opacity: number) => {\n return Color(color).mix(Color('#fff'), opacity).hex();\n};\n\nexport const addBlack = (color: string, opacity: number) =>\n Color(color).mix(Color('#000'), opacity).hex();\n\nexport const isDarkColor = (color: string) => Color(color).isDark();\n\nexport const generateAlphaColors = (color: string) => ({\n 900: addOpacity(color, 0.92),\n 800: addOpacity(color, 0.8),\n 700: addOpacity(color, 0.6),\n 600: addOpacity(color, 0.48),\n 500: addOpacity(color, 0.38),\n 400: addOpacity(color, 0.24),\n 300: addOpacity(color, 0.16),\n 200: addOpacity(color, 0.12),\n 100: addOpacity(color, 0.08),\n 50: addOpacity(color, 0.04),\n});\n\nexport type Emphasis = 'high' | 'medium' | 'low' | 'lowest';\n\nexport const colorEmphasis = (color: string, emphasis: Emphasis) => {\n switch (emphasis) {\n case 'high':\n return color;\n case 'medium':\n return generateAlphaColors(color)[700];\n case 'low':\n return generateAlphaColors(color)[500];\n case 'lowest':\n return generateAlphaColors(color)[300];\n default:\n return undefined;\n }\n};\n\nexport const generateStripe = ({ size = '1rem', color = 'rgba(255, 255, 255, 0.15)' }) => css`\n background-image: linear-gradient(\n 45deg,\n ${color} 25%,\n transparent 25%,\n transparent 50%,\n ${color} 50%,\n ${color} 75%,\n transparent 75%,\n transparent\n );\n background-size: ${size} ${size};\n`;\n","import React from 'react';\nimport { ThemeProvider as StyledComponentsThemeProvider } from 'styled-components';\nimport { theme as defaultTheme, Theme } from '../theme';\n\nexport const ThemeContext = React.createContext(defaultTheme);\n\nconst ThemeProvider: React.FC<{ theme?: Theme; children: any }> = ({\n theme = defaultTheme,\n children,\n}) => <StyledComponentsThemeProvider theme={theme}>{children}</StyledComponentsThemeProvider>;\n\nexport { ThemeProvider };\n","import { useContext } from 'react';\nimport { ThemeContext } from '../theme-provider';\n\nexport const useTheme = () => {\n const theme = useContext(ThemeContext);\n if (theme === undefined) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return theme;\n};\n","import * as React from 'react';\nimport { useSafeLayoutEffect } from '../hooks';\n\nconst isBrowser = typeof window !== 'undefined';\n\nconst isSupported = (api: string) => isBrowser && api in window;\n\n/**\n * React hook that tracks state of a CSS media query\n *\n * @param query the media query to match\n */\nexport function useMediaQuery(query: string) {\n const [matches, setMatches] = React.useState(() => {\n if (!isSupported('matchMedia')) return false;\n return window.matchMedia(query).matches;\n });\n\n useSafeLayoutEffect(() => {\n if (!isSupported('matchMedia')) return;\n\n const mediaQueryList = window.matchMedia(query);\n const listener = () => setMatches(mediaQueryList.matches);\n\n mediaQueryList.addListener(listener);\n\n listener();\n\n return () => {\n mediaQueryList.removeListener(listener);\n };\n }, [query]);\n\n return [matches, setMatches] as const;\n}\n","export enum Color {\n Accent = 'accent',\n Bg = 'bg',\n BgAlt = 'bg-alt',\n BgLight = 'bg-light',\n Invert = 'invert',\n TextHover = 'text-hover',\n TextTitle = 'text-title',\n TextCaption = 'text-caption',\n TextBody = 'text-body',\n InputPlaceholder = 'input-placeholder',\n Border = 'border',\n FeedbackAlert = 'feedback-alert',\n FeedbackError = 'feedback-error',\n FeedbackSuccess = 'feedback-success',\n}\n\nexport type ColorsStringLiteral =\n | 'accent'\n | 'bg'\n | 'bg-alt'\n | 'bg-light'\n | 'invert'\n | 'text-hover'\n | 'text-title'\n | 'text-caption'\n | 'text-body'\n | 'input-placeholder'\n | 'border'\n | 'feedback-alert'\n | 'feedback-error'\n | 'feedback-success';\n\nexport type ColorModeTypes = {\n [key in ColorsStringLiteral]: string;\n};\n\nexport interface ColorModesInterface {\n light: ColorModeTypes;\n dark: ColorModeTypes;\n}\n\nexport type ThemeColorsStringLiteral =\n | 'transparent'\n | 'current'\n | 'black'\n | 'white'\n | 'blue'\n | 'blue.100'\n | 'blue.200'\n | 'blue.300'\n | 'blue.400'\n | 'blue.900'\n | 'blue.hover'\n | 'ink'\n | 'ink.50'\n | 'ink.100'\n | 'ink.150'\n | 'ink.200'\n | 'ink.250'\n | 'ink.300'\n | 'ink.400'\n | 'ink.600'\n | 'darken.50'\n | 'darken.100'\n | 'darken.150'\n | 'red'\n | 'green'\n | 'orange'\n | 'cyan'\n | 'feedback.error'\n | 'feedback.success'\n | 'feedback.warning'\n | 'feedback.info';\n","import { Theme } from '../theme';\nimport {\n ColorModesInterface,\n ColorsStringLiteral,\n ColorModeTypes,\n Color,\n ThemeColorsStringLiteral,\n} from './types';\nimport { themeGet } from '@styled-system/theme-get';\n\nexport const colorGet = (path: string, fallback?: string): ((props: any) => any) =>\n themeGet('colors.' + path, fallback);\n\nconst colors = (props: { theme: Theme }): ColorModesInterface => ({\n light: {\n [Color.Accent]: colorGet('blue')(props),\n [Color.Bg]: 'white',\n [Color.BgAlt]: colorGet('ink.50')(props),\n [Color.BgLight]: 'white',\n [Color.Invert]: colorGet('ink')(props),\n [Color.TextHover]: colorGet('blue')(props),\n [Color.TextTitle]: colorGet('ink')(props),\n [Color.TextCaption]: colorGet('ink.600')(props),\n [Color.TextBody]: colorGet('ink.900')(props),\n [Color.InputPlaceholder]: colorGet('ink.400')(props),\n [Color.Border]: 'rgb(229, 229, 236)',\n [Color.FeedbackAlert]: colorGet('orange')(props),\n [Color.FeedbackError]: colorGet('red')(props),\n [Color.FeedbackSuccess]: colorGet('green')(props),\n },\n dark: {\n [Color.Accent]: colorGet('blue.400')(props),\n [Color.Bg]: colorGet('ink')(props),\n [Color.BgAlt]: 'rgba(255,255,255,0.05)',\n [Color.BgLight]: 'rgba(255,255,255,0.08)',\n [Color.Invert]: 'white',\n [Color.TextHover]: colorGet('blue.300')(props),\n [Color.TextTitle]: 'white',\n [Color.TextCaption]: '#a7a7ad',\n [Color.TextBody]: colorGet('ink.300')(props),\n [Color.InputPlaceholder]: 'rgba(255,255,255,0.3)',\n [Color.Border]: 'rgb(39, 41, 46)',\n [Color.FeedbackAlert]: colorGet('orange')(props),\n [Color.FeedbackError]: colorGet('red')(props),\n [Color.FeedbackSuccess]: colorGet('green')(props),\n },\n});\n\nconst colorModeStyles = (props: { theme: Theme; colorMode: 'light' | 'dark' }): ColorModeTypes =>\n colors(props)[props.colorMode];\n\nconst colorMap = (props: { theme: Theme; colorMode: 'light' | 'dark' }): ColorsStringLiteral[] =>\n Object.keys(colors(props)[props.colorMode]) as ColorsStringLiteral[];\n\nexport const color = (name: ColorsStringLiteral): string => {\n return `var(--colors-${name})`;\n};\n\nexport const themeColor = (name: ThemeColorsStringLiteral): string => {\n return name;\n};\n\nexport const generateCssVariables = (mode: 'light' | 'dark') => ({\n colorMode = mode,\n ...rest\n}: any) =>\n colorMap({ colorMode, ...rest }).map((key: ColorsStringLiteral) => {\n return `--colors-${key}: ${colorModeStyles({ colorMode, ...rest })[key]};`;\n });\n","import { createGlobalStyle } from 'styled-components';\nimport { generateCssVariables } from './utils';\n\nexport const ColorModes = createGlobalStyle`\n :root{\n ${generateCssVariables('light')};\n }\n\n @media (prefers-color-scheme: dark) {\n :root {\n ${generateCssVariables('dark')};\n }\n }\n\n @media (prefers-color-scheme: light) {\n :root {\n ${generateCssVariables('light')};\n }\n }\n\n html, body, #__next {\n background: var(--colors-bg);\n border-color: var(--colors-border);\n }\n\n input:-webkit-autofill,\n input:-webkit-autofill:hover,\n input:-webkit-autofill:focus,\n textarea:-webkit-autofill,\n textarea:-webkit-autofill:hover,\n textarea:-webkit-autofill:focus,\n select:-webkit-autofill,\n select:-webkit-autofill:hover,\n select:-webkit-autofill:focus {\n -webkit-text-fill-color: var(--colors-text-body);\n font-size: 16px !important;\n transition: background-color 5000s ease-in-out 0s;\n }\n\n input:-ms-input-placeholder,\n textarea:-ms-input-placeholder {\n color: var(--colors-input-placeholder) !important;\n }\n\n input::-ms-input-placeholder,\n textarea::-ms-input-placeholder {\n color: var(--colors-input-placeholder) !important;\n }\n\n input::placeholder,\n textarea::placeholder {\n color: var(--colors-input-placeholder) !important;\n }\n `;\n","import React, { useEffect, useCallback } from 'react';\nimport { useMediaQuery } from '../hooks/use-media-query';\nimport { ColorModes } from './styles';\nexport * from './utils';\nexport * from './types';\nexport * from './styles';\n\nexport const ColorModeContext = React.createContext<{ colorMode?: string; toggleColorMode?: any }>({\n colorMode: undefined,\n});\n\nexport const ColorModeProvider = ({\n colorMode,\n children,\n onChange,\n}: {\n colorMode?: string;\n children: any;\n onChange?: (mode: string) => void;\n}) => {\n const [mode, setMode] = React.useState(colorMode);\n const [darkmode] = useMediaQuery('(prefers-color-scheme: dark)');\n const [lightmode] = useMediaQuery('(prefers-color-scheme: light)');\n\n useEffect(() => {\n if (!mode) {\n setMode(darkmode ? 'dark' : 'light');\n }\n }, [mode, darkmode, lightmode]);\n\n const setColorMode = useCallback(\n (mode: 'light' | 'dark') => {\n setMode(mode);\n onChange && onChange(mode);\n },\n [mode]\n );\n\n const toggleColorMode = useCallback(() => {\n if (mode === 'light') {\n setColorMode('dark');\n return;\n }\n if (mode === 'dark') {\n setColorMode('light');\n return;\n }\n if (!colorMode && darkmode) {\n setColorMode('light');\n return;\n }\n if (!mode && lightmode) {\n setColorMode('dark');\n return;\n }\n }, [mode, lightmode, darkmode]);\n\n return (\n <ColorModeContext.Provider value={{ colorMode: mode, toggleColorMode }}>\n <ColorModes colorMode={mode} />\n {children}\n </ColorModeContext.Provider>\n );\n};\n","import { useContext } from 'react';\nimport { ColorModeContext } from '../color-modes';\n\nexport const useColorMode = () => {\n const { colorMode, toggleColorMode } = useContext(ColorModeContext);\n return { colorMode, toggleColorMode };\n};\n","import { PrismTheme } from 'prism-react-renderer';\n\nexport const theme: PrismTheme = {\n plain: {\n color: '#fff',\n backgroundColor: 'transparent',\n },\n styles: [\n {\n types: ['prolog'],\n style: {\n color: 'rgb(0, 0, 128)',\n },\n },\n {\n types: ['comment', 'punctuation'],\n style: {\n color: 'rgb(106, 153, 85)',\n },\n },\n {\n types: ['builtin', 'tag', 'changed', 'function', 'keyword'],\n style: {\n color: 'rgb(86, 156, 214)',\n },\n },\n {\n types: ['number', 'variable', 'inserted'],\n style: {\n color: '#A58FFF',\n },\n },\n {\n types: ['operator'],\n style: {\n color: 'rgb(212, 212, 212)',\n },\n },\n {\n types: ['constant'],\n style: {\n color: 'rgb(100, 102, 149)',\n },\n },\n {\n types: ['attr-name'],\n style: {\n color: 'rgb(156, 220, 254)',\n },\n },\n {\n types: ['car'],\n style: {\n color: 'rgb(156, 220, 254)',\n },\n },\n {\n types: ['deleted', 'string'],\n style: {\n color: '#FF7B48',\n },\n },\n {\n types: ['class-name'],\n style: {\n color: 'rgb(78, 201, 176)',\n },\n },\n {\n types: ['char'],\n style: {\n color: '#FF7B48',\n },\n },\n ],\n};\n","import React from 'react';\nimport Highlight from 'prism-react-renderer';\nimport { Box } from '../box';\nimport { Flex } from '../flex';\nimport { startPad } from '../utils';\nimport { useTheme } from '../hooks';\n\nimport { GrammaticalToken, GetGrammaticalTokenProps, RenderProps, Language } from './types';\nimport { theme } from './prism-theme';\nimport './clarity';\n\nexport * from './types';\n\nconst lineNumberWidth = 60;\nconst getLineNumber = (n: number, length: number) => startPad(n + 1, length.toString().length);\n\nconst Tokens = ({\n tokens,\n getTokenProps,\n showLineNumbers,\n ...rest\n}: {\n tokens: GrammaticalToken[];\n getTokenProps: GetGrammaticalTokenProps;\n showLineNumbers?: boolean;\n}) => {\n const bsTheme = useTheme();\n const pl = `calc(${showLineNumbers ? lineNumberWidth : '0'}px + ${\n (bsTheme as any).sizes['base'] || '16px'\n })`;\n\n return (\n <Box pl={pl} pr=\"base\" position=\"relative\" zIndex={2} {...rest}>\n {tokens.map((token, key) => (\n <Box py=\"2px\" display=\"inline-block\" {...getTokenProps({ token, key })} />\n ))}\n </Box>\n );\n};\nconst LineNumber = ({ number, length, ...rest }: { number: number; length: number }) => (\n <Flex\n textAlign=\"right\"\n pr=\"base\"\n pl=\"base\"\n width={lineNumberWidth}\n borderRight=\"1px solid\"\n borderRightColor=\"inherit\"\n color=\"ink.400\"\n flexShrink={0}\n style={{ userSelect: 'none' }}\n position=\"absolute\"\n left={0}\n height=\"100%\"\n align=\"baseline\"\n justify=\"center\"\n zIndex={1}\n {...rest}\n >\n {getLineNumber(number, length)}\n </Flex>\n);\n\nconst Line = ({\n tokens,\n getTokenProps,\n index,\n length,\n showLineNumbers,\n hideLineHover,\n ...rest\n}: {\n tokens: GrammaticalToken[];\n index: number;\n length: number;\n getTokenProps: GetGrammaticalTokenProps;\n showLineNumbers?: boolean;\n hideLineHover?: boolean;\n}) => {\n return (\n <Flex\n height=\"loose\"\n align=\"baseline\"\n borderColor=\"ink.900\"\n _hover={\n hideLineHover\n ? undefined\n : { bg: ['unset', 'unset', 'ink.900'], borderColor: ['ink.900', 'ink.900', 'ink.600'] }\n }\n position=\"relative\"\n {...rest}\n >\n {showLineNumbers ? <LineNumber number={index} length={length} /> : null}\n <Tokens showLineNumbers={showLineNumbers} getTokenProps={getTokenProps} tokens={tokens} />\n </Flex>\n );\n};\n\nconst Lines = ({\n tokens: lines,\n getLineProps,\n getTokenProps,\n className,\n showLineNumbers,\n hideLineHover,\n}: { showLineNumbers?: boolean; hideLineHover?: boolean } & RenderProps) => {\n return (\n <Box display=\"block\" className={className}>\n <Box display=\"block\" style={{ fontFamily: 'Fira Code' }}>\n {lines.map((tokens, i) => (\n <Line\n index={i}\n tokens={tokens}\n getTokenProps={getTokenProps}\n length={lines.length + 1}\n showLineNumbers={showLineNumbers}\n hideLineHover={hideLineHover || lines.length < 3}\n {...getLineProps({ line: tokens, key: i })}\n />\n ))}\n </Box>\n </Box>\n );\n};\ntype PrismToken = {\n type: string;\n content: (PrismToken | string)[] | string;\n};\ntype PrismGrammar = {\n [key: string]: any;\n};\ntype LanguageDict = { [lang in Language]: PrismGrammar };\ntype PrismLib = {\n languages: LanguageDict;\n tokenize: (code: string, grammar: PrismGrammar, language: Language) => PrismToken[] | string[];\n highlight: (code: string, grammar: PrismGrammar, language: Language) => string;\n};\n\nexport interface HighlighterProps {\n code: string;\n language?: Language;\n showLineNumbers?: boolean;\n hideLineHover?: boolean;\n Prism: PrismLib;\n}\n\nexport const Highlighter = React.memo(\n ({ code, language = 'clarity', showLineNumbers, hideLineHover, Prism }: HighlighterProps) => {\n return (\n <Highlight theme={theme} code={code} language={language as any} Prism={Prism as any}>\n {props => (\n <Lines showLineNumbers={showLineNumbers} hideLineHover={hideLineHover} {...props} />\n )}\n </Highlight>\n );\n }\n);\n\nHighlighter.displayName = 'Highlighter';\n","import React from 'react';\nimport { Highlighter, HighlighterProps } from '../highlighter';\nimport { Box, BoxProps } from '../box';\n\nexport type CodeBlockProps = HighlighterProps & BoxProps;\n\nexport const CodeBlock = React.forwardRef(\n (\n { code, showLineNumbers, hideLineHover, style = {}, language, Prism, ...rest }: CodeBlockProps,\n ref: React.Ref<HTMLDivElement>\n ) => (\n <Box\n overflowX=\"auto\"\n bg=\"ink\"\n borderRadius={[0, 0, '12px']}\n py=\"base\"\n width=\"100%\"\n ref={ref}\n style={{\n ...style,\n whiteSpace: 'pre',\n fontFamily: 'Fira Code, Consolata, monospace',\n fontSize: '14px',\n }}\n {...rest}\n >\n <Highlighter\n language={language}\n code={code.toString().trim()}\n showLineNumbers={showLineNumbers}\n hideLineHover={hideLineHover}\n Prism={Prism}\n />\n </Box>\n )\n);\n","import { css } from 'styled-components';\n\nconst tailwindPreflight = css`\n /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n /* Document\n ========================================================================== */\n\n /**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\n html {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n }\n\n /* Sections\n ========================================================================== */\n\n /**\n * Remove the margin in all browsers.\n */\n\n body {\n margin: 0;\n }\n\n /**\n * Render the main element consistently in IE.\n */\n\n main {\n display: block;\n }\n\n /**\n * Correct the font size and margin on h1 elements within section and\n * article contexts in Chrome, Firefox, and Safari.\n */\n\n h1 {\n font-size: 2em;\n margin: 0.67em 0;\n }\n\n /* Grouping content\n ========================================================================== */\n\n /**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\n hr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n }\n\n /**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd em font sizing in all browsers.\n */\n\n pre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n }\n\n /* Text-level semantics\n ========================================================================== */\n\n /**\n * Remove the gray background on active links in IE 10.\n */\n\n a {\n background-color: transparent;\n }\n\n /**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\n abbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n }\n\n /**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\n b,\n strong {\n font-weight: bolder;\n }\n\n /**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd em font sizing in all browsers.\n */\n\n code,\n kbd,\n samp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n }\n\n /**\n * Add the correct font size in all browsers.\n */\n\n small {\n font-size: 80%;\n }\n\n /**\n * Prevent sub and sup elements from affecting the line height in\n * all browsers.\n */\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n /* Embedded content\n ========================================================================== */\n\n /**\n * Remove the border on images inside links in IE 10.\n */\n\n img {\n border-style: none;\n }\n\n /* Forms\n ========================================================================== */\n\n /**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n }\n\n /**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\n button,\n input {\n /* 1 */\n overflow: visible;\n }\n\n /**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\n button,\n select {\n /* 1 */\n text-transform: none;\n }\n\n /**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\n /* button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button;\n } */\n\n /**\n * Remove the inner border and padding in Firefox.\n */\n\n button::-moz-focus-inner,\n [type='button']::-moz-focus-inner,\n [type='reset']::-moz-focus-inner,\n [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n /**\n * Restore the focus styles unset by the previous rule.\n */\n\n /* button:-moz-focusring,\n [type=\"button\"]:-moz-focusring,\n [type=\"reset\"]:-moz-focusring,\n [type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n } */\n\n /**\n * Correct the padding in Firefox.\n */\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n /**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from fieldset elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * fieldset elements in all browsers.\n */\n\n legend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n }\n\n /**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\n progress {\n vertical-align: baseline;\n }\n\n /**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\n textarea {\n overflow: auto;\n }\n\n /**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n [type='checkbox'],\n [type='radio'] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n }\n\n /**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n [type='number']::-webkit-inner-spin-button,\n [type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n\n /**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n }\n\n /**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n [type='search']::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n\n /**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to inherit in Safari.\n */\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n }\n\n /* Interactive\n ========================================================================== */\n\n /**\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n details {\n display: block;\n }\n\n /**\n * Add the correct display in all browsers.\n */\n\n summary {\n display: list-item;\n }\n\n /* Misc\n ========================================================================== */\n\n /**\n * Add the correct display in IE 10+.\n */\n\n template {\n display: none;\n }\n\n /**\n * Add the correct display in IE 10.\n */\n\n [hidden] {\n display: none !important;\n }\n\n /**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n /**\n * 1. Prevent padding and border from affecting element width\n * https://goo.gl/pYtbK7\n * 2. Change the default font family in all browsers (opinionated)\n */\n\n html {\n box-sizing: border-box; /* 1 */\n font-family: sans-serif; /* 2 */\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n /**\n * Removes the default spacing and border for appropriate elements.\n */\n\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n\n button {\n background: transparent;\n padding: 0;\n }\n\n /**\n * Work around a Firefox/IE bug where the transparent button background\n * results in a loss of the default button focus styles.\n */\n\n /* button:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n } */\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n ol,\n ul {\n /* list-style: none; */\n margin: 0;\n padding: 0;\n }\n\n /**\n * Tailwind custom reset styles\n */\n\n /**\n * 1. Use the system font stack as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\n html {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji'; /* 1 */\n line-height: 1.5; /* 2 */\n -webkit-font-smoothing: antialiased;\n -webkit-text-size-adjust: 100%;\n text-rendering: optimizelegibility;\n }\n\n /**\n * Ensure horizontal rules are visible by default\n */\n\n hr {\n border-top-width: 1px;\n }\n\n /**\n * Undo the border-style: none reset that Normalize applies to images so that\n * our border-{width} utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\n img {\n border-style: solid;\n }\n\n textarea {\n resize: vertical;\n }\n\n button,\n [role='button'] {\n cursor: pointer;\n }\n\n button::-moz-focus-inner {\n border: 0 !important;\n }\n\n table {\n border-collapse: collapse;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n /**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\n a {\n color: inherit;\n text-decoration: inherit;\n }\n\n /**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\n button,\n input,\n optgroup,\n select,\n textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n\n /**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\n pre,\n code,\n kbd,\n samp {\n font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n }\n\n /**\n * Make replaced elements display: block by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with svg added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n\n /**\n * Constrain images and videos to the parent width and preserve\n * their instrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n`;\n\nexport default tailwindPreflight;\n","import styled, { createGlobalStyle, css } from 'styled-components';\nimport preflight from './preflight';\nimport { theme } from '../theme/theme';\n\n// Should type as theme here, however this type\n// has optional properties. Need to enforce type to ensure\n// these values are defined\nconst defaultConfig = (theme: any) => ({\n light: {\n color: theme.colors.ink[900],\n bg: undefined as any,\n borderColor: '#E5E5EC', // TODO: replace this with theme color\n placeholderColor: theme.colors.ink[400],\n },\n dark: {\n color: 'white',\n bg: theme.colors.ink[900],\n borderColor: theme.colors.ink[600],\n placeholderColor: theme.colors.ink[500],\n },\n});\n\nconst { color, bg, borderColor, placeholderColor } = defaultConfig(theme).light;\n\nconst cssReset = css`\n ${preflight};\n\n html {\n line-height: 1.5;\n color: ${color};\n background-color: ${bg};\n font-family: ${theme && theme.fonts && theme.fonts.body};\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: ${borderColor};\n }\n\n input:-ms-input-placeholder,\n textarea:-ms-input-placeholder {\n color: ${placeholderColor};\n }\n\n input::-ms-input-placeholder,\n textarea::-ms-input-placeholder {\n color: ${placeholderColor};\n }\n\n input::placeholder,\n textarea::placeholder {\n color: ${placeholderColor};\n }\n`;\n\nconst CSSReset = createGlobalStyle`${cssReset}`;\n\nconst ScopedCSSReset = styled.div`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n border-color: ${borderColor};\n }\n\n input:-ms-input-placeholder,\n textarea:-ms-input-placeholder {\n color: ${placeholderColor};\n }\n\n input::-ms-input-placeholder,\n textarea::-ms-input-placeholder {\n color: ${placeholderColor};\n }\n\n input::placeholder,\n textarea::placeholder {\n color: ${placeholderColor};\n }\n\n body,\n div,\n span {\n text-align: initial;\n font-family: ${theme && theme.fonts && theme.fonts.body};\n }\n`;\n\nexport { CSSReset, ScopedCSSReset };\n","import React, { createContext, useContext, forwardRef } from 'react';\nimport { Box } from '../box';\nimport { FormControlProps } from './types';\n\ninterface NormalObject {\n [key: string]: any;\n}\n\nconst FormControlContext = createContext<NormalObject>({});\n\nexport const useFormControlContext = () => useContext(FormControlContext);\n\nexport const useFormControl = (props: any) => {\n const context = useFormControlContext();\n if (!context) {\n return props;\n }\n const keys = Object.keys(context);\n return keys.reduce((acc: NormalObject, prop) => {\n /** Giving precedence to `props` over `context` */\n acc[prop] = props[prop];\n\n if (context) {\n if (props[prop] == null) {\n acc[prop] = context[prop];\n }\n }\n\n return acc;\n }, {});\n};\n\n/**\n * FormControl provides context such as `isInvalid`, `isRequired`, `isDisabled` to it's children.\n */\nconst FormControl = forwardRef<any, FormControlProps>(\n ({ isInvalid, isRequired, isDisabled, isReadOnly, ...rest }, ref) => {\n const context = {\n isRequired,\n isDisabled,\n isInvalid,\n isReadOnly,\n };\n\n return (\n <FormControlContext.Provider value={context}>\n <Box role=\"group\" ref={ref} {...rest} />\n </FormControlContext.Provider>\n );\n }\n);\n\nFormControl.displayName = 'FormControl';\n\nexport { FormControl };\n","import React, { forwardRef } from 'react';\nimport { PseudoBox, PseudoBoxProps } from '../pseudo-box';\n\n// if nothing is passed for the prop `textStyle`, we will assume styles for various dom elements\nconst assumeTextStyle = (as: string | React.ElementType) => {\n switch (as) {\n case 'h1':\n return 'display.large';\n case 'h2':\n return 'display.small';\n case 'h3':\n return 'body.large.medium';\n default:\n return undefined;\n }\n};\nconst Text = forwardRef<any, PseudoBoxProps>(({ textStyle, as = 'span', ...rest }, ref) => {\n return (\n <PseudoBox\n ref={ref}\n as={as}\n whiteSpace=\"unset\"\n display=\"inline\"\n textStyle={textStyle || assumeTextStyle(as)}\n {...rest}\n />\n );\n});\n\nText.displayName = 'Text';\n\nexport { Text };\n","import React, { forwardRef } from 'react';\nimport { Box } from '../box';\nimport { Text } from '../text';\nimport { FormLabelProps } from './types';\nimport { useFormControl } from '../form-control';\n\nexport * from './types';\n\n/* eslint react/no-children-prop: 0 */\nexport const RequiredIndicator = (props: any) => (\n <Box as=\"span\" ml={1} color=\"red\" aria-hidden=\"true\" children=\"*\" {...props} />\n);\n\n/**\n * FormLabel is used for form inputs and controls.\n * It reads from the `FormControl` context to handle it's styles for\n * the various form states.\n */\nexport const FormLabel = forwardRef<any, FormLabelProps>(({ children, ...props }, ref) => {\n const formControl = useFormControl(props);\n return (\n <Text\n ref={ref}\n pb=\"4px\"\n opacity={formControl.isDisabled ? 0.4 : 1}\n textAlign=\"left\"\n verticalAlign=\"middle\"\n display=\"inline-block\"\n as=\"label\"\n textStyle=\"body.small.medium\"\n {...props}\n >\n {children}\n {formControl.isRequired && <RequiredIndicator />}\n </Text>\n );\n});\n\nFormLabel.displayName = 'FormLabel';\n\nexport default FormLabel;\n","import React, { forwardRef } from 'react';\nimport { Box } from '../box';\nimport { GridProps } from './types';\n\nconst Grid = forwardRef<any, GridProps>(\n (\n {\n templateColumns,\n gap,\n rowGap,\n columnGap,\n autoFlow,\n autoRows,\n autoColumns,\n templateRows,\n templateAreas,\n area,\n column,\n row,\n ...props\n },\n ref\n ) => (\n <Box\n ref={ref}\n display=\"grid\"\n gridArea={area}\n gridTemplateAreas={templateAreas}\n gridGap={gap}\n gridRowGap={rowGap}\n gridColumnGap={columnGap}\n gridAutoColumns={autoColumns}\n gridColumn={column}\n gridRow={row}\n gridAutoFlow={autoFlow}\n gridAutoRows={autoRows}\n gridTemplateRows={templateRows}\n gridTemplateColumns={templateColumns}\n {...props}\n />\n )\n);\n\nGrid.displayName = 'Grid';\n\nexport { Grid };\n","import * as React from 'react';\nimport { Box, BoxProps } from '../box';\n\ninterface SVGProps {\n viewBox?: string;\n fill?: string;\n}\n\ntype SVG = SVGProps & BoxProps;\n\nexport const Svg = ({\n width = '24px',\n height = 'auto',\n viewBox = '0 0 24 24',\n fill = 'none',\n ...rest\n}: SVG) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n return <Box as=\"svg\" width={width} height={height} viewBox={viewBox} fill={fill} {...rest} />;\n};\n","import React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const AppsIcon: React.FC<BoxProps> = props => (\n <Svg {...props}>\n <rect y=\"1.02686\" width=\"10.0435\" height=\"9.88235\" rx=\"1.75\" fill=\"currentColor\" />\n <path\n opacity=\"0.8\"\n d=\"M13.5697 10.9091H22.2999C23.0625 10.9091 23.5444 10.0897 23.1739 9.42317L18.8088 1.57201C18.4277 0.886573 17.4419 0.886572 17.0608 1.572L12.6957 9.42316C12.3251 10.0897 12.8071 10.9091 13.5697 10.9091Z\"\n fill=\"currentColor\"\n />\n <rect\n opacity=\"0.64\"\n y=\"13.7327\"\n width=\"10.4348\"\n height=\"10.2674\"\n rx=\"5.13369\"\n fill=\"currentColor\"\n />\n <path\n opacity=\"0.4\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.672 14.0339C14.4783 13.8498 14.2188 13.7479 13.9494 13.7502C13.68 13.7525 13.4224 13.8588 13.2319 14.0462C13.0414 14.2337 12.9334 14.4872 12.931 14.7523C12.9287 15.0173 13.0322 15.2726 13.2194 15.4633L16.4894 18.6809L13.2194 21.8984C13.0266 22.088 12.9182 22.3451 12.9182 22.6133C12.9181 22.746 12.9446 22.8775 12.9962 23.0002C13.0478 23.1229 13.1235 23.2344 13.2189 23.3283C13.3142 23.4222 13.4275 23.4967 13.5521 23.5476C13.6768 23.5984 13.8104 23.6246 13.9453 23.6247C14.2179 23.6248 14.4793 23.5183 14.672 23.3288L17.9421 20.1112L21.2121 23.3288C21.4049 23.5185 21.6663 23.625 21.9389 23.625C22.2116 23.625 22.473 23.5185 22.6658 23.3288C22.8585 23.1391 22.9668 22.8819 22.9668 22.6136C22.9668 22.3454 22.8585 22.0881 22.6658 21.8984L19.3957 18.6809L22.6658 15.4633C22.7612 15.3694 22.8368 15.2579 22.8884 15.1352C22.94 15.0125 22.9665 14.881 22.9665 14.7483C22.9664 14.6155 22.9398 14.484 22.8881 14.3614C22.8364 14.2387 22.7607 14.1273 22.6653 14.0334C22.5698 13.9396 22.4565 13.8651 22.3318 13.8144C22.2071 13.7636 22.0735 13.7375 21.9386 13.7375C21.8036 13.7376 21.67 13.7638 21.5454 13.8146C21.4207 13.8655 21.3075 13.94 21.2121 14.0339L17.9421 17.2515L14.672 14.0339Z\"\n fill=\"currentColor\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\nimport { Direction } from './icon-utils';\n\ninterface ArrowIconProps extends BoxProps {\n direction?: Direction;\n}\n\nconst rotate = (direction: Direction = 'up') => {\n switch (direction) {\n case 'up':\n return 0;\n case 'right':\n return '90';\n case 'down':\n return '180';\n case 'left':\n return '270';\n default:\n throw new Error('`rotate` must receive direction parameter');\n }\n};\n\nexport const ArrowIcon: React.FC<ArrowIconProps> = ({ direction, style, ...props }) => (\n <Svg\n width=\"11px\"\n height=\"14px\"\n viewBox=\"0 0 11 14\"\n style={{ ...style, transform: `rotate(${rotate(direction)}deg)` }}\n {...props}\n >\n <path\n d=\"M5.5 13.559c.444 0 .759-.315.759-.766V4.351l-.055-1.477 1.77 1.976 1.56 1.545a.765.765 0 00.54.225c.416 0 .73-.314.73-.745a.754.754 0 00-.239-.547L6.061.816a.78.78 0 00-1.128 0L.435 5.328a.754.754 0 00-.24.547c0 .43.308.745.725.745.219 0 .41-.089.547-.225L3.019 4.85l1.777-1.983-.062 1.484v8.442c0 .451.315.766.766.766z\"\n fill=\"currentColor\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const BlockchainIcon: React.FC<BoxProps> = props => {\n const color = props.color || 'currentColor';\n\n return (\n <Svg {...props}>\n <rect width=\"12\" height=\"12\" rx=\"2.25\" fill={color} />\n <rect opacity=\"0.6\" x=\"12\" y=\"12\" width=\"12\" height=\"12\" rx=\"2.25\" fill={color} />\n <rect\n opacity=\"0.4\"\n x=\"14.75\"\n y=\"2.75\"\n width=\"6.5\"\n height=\"6.5\"\n rx=\"1\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n <rect\n opacity=\"0.4\"\n x=\"2.75\"\n y=\"14.75\"\n width=\"6.5\"\n height=\"6.5\"\n rx=\"1\"\n stroke={color}\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n};\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const BlockstackIcon: React.FC<BoxProps> = props => (\n <Svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.148042 1.08513C-5.58794e-08 1.42724 -3.80998e-08 1.86349 0 2.736L1.42713e-07 6L2.85387e-07 9.264C3.23525e-07 10.1365 0 10.5728 0.148042 10.9149C0.329866 11.335 0.664964 11.6701 1.08513 11.852C1.42724 12 1.86349 12 2.736 12H6H9.264C10.1365 12 10.5728 12 10.9149 11.852C11.335 11.6701 11.6701 11.335 11.852 10.9149C12 10.5728 12 10.1365 12 9.264V6V2.736C12 1.86349 12 1.42724 11.852 1.08513C11.6701 0.664963 11.335 0.329865 10.9149 0.148041C10.5728 -6.70552e-08 10.1365 -3.80998e-08 9.264 0L6 1.42713e-07L2.736 2.85387e-07C1.86349 3.23525e-07 1.40625 2.90573e-07 1.08513 0.148042C0.664964 0.329867 0.329866 0.664963 0.148042 1.08513ZM7.91566 5.16965C7.31682 5.16965 6.83125 4.68409 6.83125 4.08511C6.83125 3.48644 7.31682 3.00088 7.91566 3.00088C8.5145 3.00088 9.00007 3.48644 9.00007 4.08511C9.00007 4.68409 8.5145 5.16965 7.91566 5.16965ZM5.16787 4.085C5.16787 4.68358 4.68253 5.16893 4.08382 5.16893C3.48541 5.16893 3.00007 4.68358 3.00007 4.085C3.00007 3.48643 3.48541 3.00107 4.08382 3.00107C4.68253 3.00107 5.16787 3.48643 5.16787 4.085ZM7.91576 6.83459C7.31679 6.83459 6.83123 7.32016 6.83123 7.919C6.83123 8.51785 7.31679 9.00342 7.91576 9.00342C8.51444 9.00342 9 8.51785 9 7.919C9 7.32016 8.51444 6.83459 7.91576 6.83459ZM4.08392 6.83565C4.68248 6.83565 5.16783 7.32098 5.16783 7.91969C5.16783 8.51809 4.68248 9.00342 4.08392 9.00342C3.48535 9.00342 3 8.51809 3 7.91969C3 7.32098 3.48535 6.83565 4.08392 6.83565Z\"\n fill={props.color || 'currentColor'}\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const CheckmarkIcon: React.FC<BoxProps> = ({\n size = 72,\n color = 'currentColor',\n ...props\n}) => (\n <Svg width={size} height={size} fill=\"none\" viewBox=\"0 0 72 72\" {...props}>\n <circle cx=\"36\" cy=\"36\" r=\"34.5\" fill=\"#fff\" stroke={color} strokeWidth=\"3\" />\n <path\n stroke={color}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"3\"\n d=\"M21 37l10 10 20-22\"\n />\n </Svg>\n);\n","import React from 'react';\nimport { Box, BoxProps } from '../box';\n\nexport const CheckmarkCircleIcon: React.FC<BoxProps> = props => (\n <Box {...props}>\n <svg width=\"100%\" viewBox=\"0 0 16 17\" fill=\"none\">\n <path\n d=\"M7.99613 16.9961C12.3809 16.9961 16 13.377 16 8.99996C16 4.61523 12.3731 0.996094 7.9884 0.996094C3.61141 0.996094 0 4.61523 0 8.99996C0 13.377 3.61914 16.9961 7.99613 16.9961ZM6.94442 13.0367C6.65056 13.0367 6.41856 12.9052 6.1943 12.6423L3.96713 9.92794C3.82794 9.75781 3.75834 9.56448 3.75834 9.37889C3.75834 8.96129 4.08313 8.64423 4.47753 8.64423C4.71725 8.64423 4.91832 8.74476 5.11165 8.97676L6.92122 11.2581L10.4089 5.69015C10.579 5.41175 10.8033 5.28029 11.043 5.28029C11.4297 5.28029 11.8009 5.55095 11.8009 5.96081C11.8009 6.14641 11.7081 6.33974 11.5998 6.50987L7.67134 12.6191C7.48574 12.8975 7.23828 13.0367 6.94442 13.0367Z\"\n fill=\"currentColor\"\n />\n </svg>\n </Box>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\nimport { Direction } from './icon-utils';\n\ninterface ChevronProps extends BoxProps {\n direction?: Direction;\n}\n\nconst rotate = (direction: Direction = 'right') => {\n switch (direction) {\n case 'left':\n return '90';\n case 'up':\n return '180';\n case 'right':\n return '270';\n case 'down':\n return 0;\n default:\n throw new Error('`rotate` must receive direction parameter');\n }\n};\n\nexport const ChevronIcon: React.FC<ChevronProps> = ({\n direction,\n size = '16px',\n style = {},\n ...props\n}) => (\n <Svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n style={{ ...style, transform: `rotate(${rotate(direction)}deg)` }}\n {...props}\n >\n <path\n fill={props.color || 'currentColor'}\n d=\"M4.7 7.367l3.3 3.3 3.3-3.3-.943-.943L8 8.78 5.643 6.424l-.943.943z\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const ConnectLogoIcon: React.FC<BoxProps> = ({ color = 'currentColor', ...props }) => (\n <Svg color={color} {...props}>\n <rect width=\"24\" height=\"24\" rx=\"12\" fill=\"currentColor\" opacity=\"0.15\" />\n <path\n d=\"M15.2727 10.0179H14.8636V8.8125C14.8636 8.06658 14.5619 7.35121 14.0249 6.82376C13.4879 6.29632 12.7595 6 12 6C11.2405 6 10.5121 6.29632 9.9751 6.82376C9.43807 7.35121 9.13636 8.06658 9.13636 8.8125V10.0179H8.72727C8.40189 10.0182 8.08994 10.1453 7.85985 10.3713C7.62977 10.5973 7.50036 10.9036 7.5 11.2232V16.0446C7.50036 16.3642 7.62977 16.6706 7.85985 16.8966C8.08994 17.1225 8.40189 17.2497 8.72727 17.25H15.2727C15.5981 17.2497 15.9101 17.1225 16.1401 16.8966C16.3702 16.6706 16.4996 16.3642 16.5 16.0446V11.2232C16.4996 10.9036 16.3702 10.5973 16.1401 10.3713C15.9101 10.1453 15.5981 10.0182 15.2727 10.0179ZM9.95455 8.8125C9.95455 8.2797 10.17 7.76872 10.5536 7.39197C10.9372 7.01523 11.4575 6.80357 12 6.80357C12.5425 6.80357 13.0628 7.01523 13.4464 7.39197C13.83 7.76872 14.0455 8.2797 14.0455 8.8125V10.0179H9.95455V8.8125ZM12.4091 13.7231V14.6384C12.4091 14.745 12.366 14.8471 12.2893 14.9225C12.2126 14.9978 12.1085 15.0402 12 15.0402C11.8915 15.0402 11.7874 14.9978 11.7107 14.9225C11.634 14.8471 11.5909 14.745 11.5909 14.6384V13.7231C11.4349 13.6346 11.313 13.4981 11.2441 13.3347C11.1752 13.1712 11.1631 12.99 11.2097 12.8192C11.2563 12.6483 11.359 12.4973 11.5019 12.3896C11.6448 12.282 11.8199 12.2236 12 12.2236C12.1801 12.2236 12.3552 12.282 12.4981 12.3896C12.641 12.4973 12.7437 12.6483 12.7903 12.8192C12.8369 12.99 12.8248 13.1712 12.7559 13.3347C12.687 13.4981 12.5651 13.6346 12.4091 13.7231Z\"\n fill=\"currentColor\"\n />\n <rect x=\"10.5\" y=\"11.25\" width=\"3\" height=\"5.25\" fill=\"currentColor\" />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const EncryptionIcon: React.FC<BoxProps> = props => (\n <Svg {...props}>\n <path\n d=\"M18.5818 8.57143H17.7091V6C17.7091 4.4087 17.0655 2.88258 15.9198 1.75736C14.7741 0.632141 13.2202 0 11.6 0C9.97977 0 8.4259 0.632141 7.28022 1.75736C6.13454 2.88258 5.49091 4.4087 5.49091 6V8.57143H4.61818C3.92403 8.57218 3.25853 8.84334 2.76769 9.32541C2.27685 9.80748 2.00076 10.4611 2 11.1429V21.4286C2.00076 22.1103 2.27685 22.7639 2.76769 23.246C3.25853 23.7281 3.92403 23.9993 4.61818 24H18.5818C19.276 23.9993 19.9415 23.7281 20.4323 23.246C20.9231 22.7639 21.1992 22.1103 21.2 21.4286V11.1429C21.1992 10.4611 20.9231 9.80748 20.4323 9.32541C19.9415 8.84334 19.276 8.57218 18.5818 8.57143ZM7.23636 6C7.23636 4.86336 7.6961 3.77327 8.51444 2.96954C9.33278 2.16582 10.4427 1.71429 11.6 1.71429C12.7573 1.71429 13.8672 2.16582 14.6856 2.96954C15.5039 3.77327 15.9636 4.86336 15.9636 6V8.57143H7.23636V6Z\"\n fill=\"currentColor\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const ExclamationMarkIcon: React.FC<BoxProps> = props => (\n <Svg width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\" {...props}>\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill={props.color || 'currentColor'} />\n <path\n fill=\"#fff\" // TODO: abstract out to be the background color, related to darkmode changes\n d=\"M6.62 3.64a.622.622 0 10-1.244 0l.083 2.983a.54.54 0 001.081 0l.08-2.984zM6 9c.368 0 .687-.31.69-.694A.7.7 0 006 7.617.69.69 0 006 9z\"\n />\n </Svg>\n);\n","import React from 'react';\nimport { Box, BoxProps } from '../box';\n\nexport const ExclamationMarkCircleIcon: React.FC<BoxProps> = props => (\n <Box {...props}>\n <svg width=\"100%\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM7.9983 4C8.46541 4 8.84049 4.38536 8.82787 4.8523L8.72037 8.82986C8.70981 9.22031 8.39026 9.53134 7.99967 9.53134C7.60928 9.53134 7.28981 9.2206 7.279 8.83036L7.16874 4.85287C7.15579 4.38572 7.53096 4 7.9983 4ZM8.9199 11.0743C8.91607 11.5873 8.49058 12 7.99992 12C7.49392 12 7.0761 11.5873 7.07993 11.0743C7.0761 10.569 7.49392 10.1562 7.99992 10.1562C8.49058 10.1562 8.91607 10.569 8.9199 11.0743Z\"\n fill=\"currentColor\"\n />\n </svg>\n </Box>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const EyeIcon: React.FC<BoxProps> = props => (\n <Svg width=\"24\" height=\"20\" viewBox=\"0 0 24 20\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M19.695 0.351482C19.9032 0.135371 20.1868 0.00948757 20.4855 0.000511017C20.7171 -0.00642408 20.9454 0.057366 21.1405 0.183512C21.3356 0.309658 21.4883 0.492283 21.5786 0.707441C21.669 0.922599 21.6927 1.16026 21.6468 1.38926C21.6008 1.61827 21.4873 1.82793 21.3212 1.99078L4.3048 19.1469C4.19867 19.2575 4.07178 19.3456 3.93152 19.4062C3.79125 19.4668 3.64043 19.4987 3.48783 19.5C3.33523 19.5012 3.1839 19.4718 3.04268 19.4135C2.90146 19.3552 2.77316 19.2691 2.66526 19.1603C2.55735 19.0515 2.47201 18.9222 2.4142 18.7798C2.35639 18.6374 2.32727 18.4849 2.32854 18.331C2.3298 18.1771 2.36143 18.0251 2.42157 17.8837C2.48171 17.7423 2.56917 17.6143 2.67885 17.5074L19.695 0.351482ZM0.193655 8.95376C2.47935 4.5123 7.03523 1.71636 11.9982 1.71636C13.5143 1.71601 14.9919 1.97725 16.3789 2.46512L14.7583 4.09901C13.9263 3.68538 12.9904 3.45188 12 3.45188C8.55044 3.45188 5.754 6.27118 5.75403 9.74917C5.75404 10.7476 5.98562 11.6913 6.39588 12.5301L3.92169 15.0246C2.39514 13.8491 1.11258 12.3359 0.194802 10.5571C-0.0645738 10.0547 -0.0649106 9.45653 0.193655 8.95376ZM17.6041 6.96802L20.0781 4.47375C21.6047 5.64932 22.8874 7.16248 23.8052 8.94153C24.0646 9.44387 24.0649 10.042 23.8064 10.5448C21.5205 14.9863 16.9647 17.7818 12.0018 17.7818C10.4857 17.7821 9.00815 17.5209 7.62116 17.033L9.2415 15.3994C10.0735 15.813 11.0096 16.0465 12 16.0465C15.4496 16.0465 18.246 13.227 18.246 9.74917C18.246 8.75058 18.0145 7.80688 17.6041 6.96802ZM9.24284 6.96914C10.0042 6.20163 11.0022 5.81824 12 5.81824C12.3155 5.81824 12.6308 5.85684 12.9387 5.93349L8.2154 10.6956C7.89855 9.40286 8.24082 7.97945 9.24284 6.96914ZM11.0613 13.5647L15.7846 8.80249C16.1013 10.0952 15.7589 11.5184 14.7569 12.5285C13.755 13.5388 12.3434 13.8839 11.0613 13.5647Z\"\n fill={props.color || 'currentColor'}\n />\n <path\n d=\"M19.6951 0.351482C19.9034 0.135371 20.1869 0.00948757 20.4856 0.000511017C20.7173 -0.00642408 20.9456 0.057366 21.1406 0.183512C21.3357 0.309658 21.4884 0.492283 21.5787 0.707441C21.6691 0.922599 21.6928 1.16026 21.6469 1.38926C21.6009 1.61827 21.4874 1.82793 21.3213 1.99078L4.30491 19.1469C4.19879 19.2575 4.07189 19.3456 3.93163 19.4062C3.79137 19.4668 3.64054 19.4987 3.48794 19.5C3.33534 19.5012 3.18402 19.4718 3.0428 19.4135C2.90157 19.3552 2.77327 19.2691 2.66537 19.1603C2.55747 19.0515 2.47213 18.9222 2.41432 18.7798C2.35651 18.6374 2.32739 18.4849 2.32865 18.331C2.32992 18.1771 2.36154 18.0251 2.42169 17.8837C2.48183 17.7423 2.56929 17.6143 2.67896 17.5074L19.6951 0.351482Z\"\n fill={props.color || 'currentColor'}\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const PadlockIcon: React.FC<BoxProps> = props => (\n <Svg width=\"64\" height=\"64\" fill=\"none\" viewBox=\"0 0 64 64\" {...props}>\n <path\n d=\"M0 25.6C0 16.6392 0 12.1587 1.7439 8.73615C3.27787 5.72556 5.72556 3.27787 8.73615 1.7439C12.1587 0 16.6392 0 25.6 0L38.4 0C47.3608 0 51.8413 0 55.2638 1.7439C58.2744 3.27787 60.7221 5.72556 62.2561 8.73615C64 12.1587 64 16.6392 64 25.6V38.4C64 47.3608 64 51.8413 62.2561 55.2638C60.7221 58.2744 58.2744 60.7221 55.2638 62.2561C51.8413 64 47.3608 64 38.4 64H25.6C16.6392 64 12.1587 64 8.73615 62.2561C5.72556 60.7221 3.27787 58.2744 1.7439 55.2638C0 51.8413 0 47.3608 0 38.4L0 25.6Z\"\n fill=\"currentColor\"\n opacity=\"0.15\"\n />\n <path\n d=\"M40.7273 26.7143H39.6364V23.5C39.6364 21.5109 38.8318 19.6032 37.3997 18.1967C35.9676 16.7902 34.0253 16 32 16C29.9747 16 28.0324 16.7902 26.6003 18.1967C25.1682 19.6032 24.3636 21.5109 24.3636 23.5V26.7143H23.2727C22.405 26.7152 21.5732 27.0542 20.9596 27.6568C20.3461 28.2594 20.001 29.0764 20 29.9286V42.7857C20.001 43.6379 20.3461 44.4549 20.9596 45.0575C21.5732 45.6601 22.405 45.9991 23.2727 46H40.7273C41.595 45.9991 42.4268 45.6601 43.0404 45.0575C43.6539 44.4549 43.999 43.6379 44 42.7857V29.9286C43.999 29.0764 43.6539 28.2594 43.0404 27.6568C42.4268 27.0542 41.595 26.7152 40.7273 26.7143ZM26.5455 23.5C26.5455 22.0792 27.1201 20.7166 28.1431 19.7119C29.166 18.7073 30.5534 18.1429 32 18.1429C33.4466 18.1429 34.834 18.7073 35.8569 19.7119C36.8799 20.7166 37.4545 22.0792 37.4545 23.5V26.7143H26.5455V23.5Z\"\n fill=\"currentColor\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const PlusCircleIcon: React.FC<BoxProps> = props => (\n <Svg {...props}>\n <circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"currentColor\" />\n <g clipPath=\"url(#clip0)\">\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M8.36 11.25a.75.75 0 000 1.5h3.375v3.376a.75.75 0 001.5 0V12.75h3.377a.75.75 0 000-1.5h-3.376V7.874a.75.75 0 10-1.5 0v3.376H8.358z\"\n clipRule=\"evenodd\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0\">\n <path fill=\"#fff\" d=\"M4 12H16V24H4z\" transform=\"rotate(-45 4 12)\" />\n </clipPath>\n </defs>\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const PrivateIcon: React.FC<BoxProps> = props => (\n <Svg width=\"18\" height=\"24\" viewBox=\"0 0 18 24\" fill=\"none\" {...props}>\n <path\n d=\"M15.5455 8.57143H14.7273V6C14.7273 4.4087 14.1239 2.88258 13.0498 1.75736C11.9757 0.632141 10.519 0 9 0C7.48103 0 6.02428 0.632141 4.95021 1.75736C3.87614 2.88258 3.27273 4.4087 3.27273 6V8.57143H2.45455C1.80378 8.57218 1.17987 8.84334 0.719709 9.32541C0.259547 9.80748 0.000714665 10.4611 0 11.1429V21.4286C0.000714665 22.1103 0.259547 22.7639 0.719709 23.246C1.17987 23.7281 1.80378 23.9993 2.45455 24H15.5455C16.1962 23.9993 16.8201 23.7281 17.2803 23.246C17.7405 22.7639 17.9993 22.1103 18 21.4286V11.1429C17.9993 10.4611 17.7405 9.80748 17.2803 9.32541C16.8201 8.84334 16.1962 8.57218 15.5455 8.57143ZM4.90909 6C4.90909 4.86336 5.3401 3.77327 6.10729 2.96954C6.87449 2.16582 7.91502 1.71429 9 1.71429C10.085 1.71429 11.1255 2.16582 11.8927 2.96954C12.6599 3.77327 13.0909 4.86336 13.0909 6V8.57143H4.90909V6Z\"\n fill=\"currentColor\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const UnionLineIcon: React.FC<BoxProps> = props => (\n <Svg width=\"32\" height=\"7\" fill=\"none\" viewBox=\"0 0 32 7\" {...props}>\n <mask id=\"a\" width=\"32\" height=\"7\" x=\"0\" y=\"0\" fill=\"#000\" maskUnits=\"userSpaceOnUse\">\n <path fill=\"#fff\" d=\"M0 0H32V7H0z\" />\n <path\n fillRule=\"evenodd\"\n d=\"M3.5 5a1.5 1.5 0 001.415-1h22.17a1.5 1.5 0 100-1H4.915A1.5 1.5 0 103.5 5z\"\n clipRule=\"evenodd\"\n />\n </mask>\n <path\n fill=\"#677282\"\n fillRule=\"evenodd\"\n d=\"M3.5 5a1.5 1.5 0 001.415-1h22.17a1.5 1.5 0 100-1H4.915A1.5 1.5 0 103.5 5z\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n d=\"M4.915 4V2H3.5L3.03 3.334 4.915 4zm22.17 0l1.886-.667L28.5 2h-1.415v2zm0-1v2H28.5l.471-1.333L27.085 3zM4.915 3l-1.886.666L3.5 5h1.415V3zm-1.886.334A.5.5 0 013.5 3v4a3.5 3.5 0 003.3-2.334L3.03 3.334zM27.085 2H4.915v4h22.17V2zM28.5 3a.5.5 0 01.471.333L25.2 4.667A3.5 3.5 0 0028.5 7V3zm-.5.5a.5.5 0 01.5-.5v4A3.5 3.5 0 0032 3.5h-4zm.5.5a.5.5 0 01-.5-.5h4A3.5 3.5 0 0028.5 0v4zm.471-.333A.5.5 0 0128.5 4V0a3.5 3.5 0 00-3.3 2.333l3.771 1.333zM4.915 5h22.17V1H4.915v4zM3.5 4a.5.5 0 01-.471-.334L6.8 2.334A3.5 3.5 0 003.5 0v4zm.5-.5a.5.5 0 01-.5.5V0A3.5 3.5 0 000 3.5h4zM3.5 3a.5.5 0 01.5.5H0A3.5 3.5 0 003.5 7V3z\"\n mask=\"url(#a)\"\n />\n </Svg>\n);\n","import React from 'react';\nimport { Svg } from '../svg';\nimport { Box, BoxProps } from '../box';\n\nexport const CloseIcon: React.FC<BoxProps> = props => (\n <Box {...props}>\n <Svg width=\"100%\" viewBox=\"0 0 10 10\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.81707 0.403005C1.62846 0.220847 1.37586 0.120052 1.11366 0.122331C0.851468 0.124609 0.600656 0.229778 0.415247 0.415186C0.229839 0.600595 0.12467 0.851407 0.122392 1.1136C0.120113 1.3758 0.220908 1.6284 0.403066 1.81701L3.58607 5L0.403066 8.183C0.215425 8.37051 0.109957 8.62488 0.109863 8.89015C0.109817 9.0215 0.135642 9.15157 0.185864 9.27294C0.236086 9.39431 0.309721 9.50459 0.402566 9.5975C0.495411 9.69041 0.605646 9.76413 0.726978 9.81444C0.848311 9.86475 0.978364 9.89066 1.10971 9.89071C1.37498 9.8908 1.62943 9.78551 1.81707 9.598L5.00007 6.415L8.18307 9.598C8.37071 9.78564 8.6252 9.89106 8.89057 9.89106C9.15593 9.89106 9.41043 9.78564 9.59807 9.598C9.78571 9.41036 9.89112 9.15587 9.89112 8.8905C9.89112 8.62514 9.78571 8.37065 9.59807 8.183L6.41507 5L9.59807 1.81701C9.69091 1.7241 9.76454 1.61381 9.81477 1.49244C9.86499 1.37107 9.89082 1.241 9.89077 1.10965C9.89072 0.978303 9.86481 0.84825 9.8145 0.726917C9.76419 0.605585 9.69048 0.49535 9.59757 0.402505C9.50466 0.30966 9.39437 0.236025 9.273 0.185803C9.15163 0.135581 9.02156 0.109756 8.89021 0.109802C8.75886 0.109849 8.62881 0.135766 8.50748 0.186073C8.38615 0.236381 8.27591 0.310094 8.18307 0.403005L5.00007 3.58601L1.81707 0.403005Z\"\n fill=\"currentColor\"\n />\n </Svg>\n </Box>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const ExternalIcon = (props: BoxProps) => (\n <Svg width=\"8\" height=\"9\" viewBox=\"0 0 8 9\" fill=\"none\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.30849 0H7.04391H7.99975H7.99981V6.6919H7.04391V1.66447L0.707141 8.00185L0 7.29477L6.33818 0.955986H1.30849V0Z\"\n fill=\"#677282\"\n />\n </Svg>\n);\n","import * as React from 'react';\nimport { Svg } from '../svg';\nimport { BoxProps } from '../box';\n\nexport const FailedIcon: React.FC<BoxProps> = ({ size = 64, ...props }) => (\n <Svg width={size} height={size} viewBox=\"0 0 64 64\" fill=\"none\" {...props}>\n <circle cx=\"32\" cy=\"32\" r=\"30\" stroke=\"#D4001A\" strokeWidth=\"4\" strokeLinecap=\"round\" />\n <path\n d=\"M23 41L40.9995 23\"\n stroke=\"#D4001A\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M41 41L23.0005 23\"\n stroke=\"#D4001A\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n);\n","const defaultStyle = {\n height: 12,\n border: '1px solid',\n borderBottomColor: 'inherit',\n borderLeftColor: 'inherit',\n borderRightColor: 'inherit',\n borderTopColor: 'inherit',\n borderColor: 'inherit',\n bg: 'white',\n _hover: {\n borderBottomColor: 'ink.300',\n borderLeftColor: 'ink.300',\n borderRightColor: 'ink.300',\n borderTopColor: 'ink.300',\n borderColor: 'ink.300',\n },\n _disabled: {\n bg: '#f9f9fc',\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n _focus: {\n borderBottomColor: 'blue.300',\n borderLeftColor: 'blue.300',\n borderRightColor: 'blue.300',\n borderTopColor: 'blue.300',\n borderColor: 'blue.300',\n boxShadow: '0 0 0 1px rgba(170, 179, 255, 0.75)',\n },\n _invalid: {\n borderBottomColor: 'red',\n borderLeftColor: 'red',\n borderRightColor: 'red',\n borderTopColor: 'red',\n borderColor: 'red',\n },\n};\n\nconst baseProps = {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n transition: 'all 0.2s',\n outline: 'none',\n borderRadius: '6px',\n p: '14px 16px',\n};\n\ninterface InputStyle {\n [key: string]: any;\n}\ninterface InputStyles {\n default: InputStyle;\n [key: string]: InputStyle;\n}\n\nexport const inputSizes: InputStyles = {\n default: {\n fontSize: 'body.small',\n height: '12', // 48px\n lineHeight: 'base',\n },\n};\n\nconst useInputStyle = (props: any) => {\n return {\n width: props.isFullWidth ? '100%' : undefined,\n ...baseProps,\n ...defaultStyle,\n };\n};\n\nexport default useInputStyle;\n","import React from 'react';\nimport { oneOf } from 'prop-types';\nimport { Box } from '../box';\nimport useInputStyle from '../input/styles';\nimport { InputAddonProps } from './types';\n\nexport * from './types';\n\nconst InputAddon = ({ placement = 'left', ...props }: InputAddonProps) => {\n const _placement = {\n left: {\n mr: '-1px',\n roundedRight: 0,\n borderRightColor: 'transparent',\n borderLeftWidth: 0,\n },\n right: {\n order: 1,\n roundedLeft: 0,\n borderLeftColor: 'transparent',\n borderLeftWidth: 0,\n },\n };\n\n const styleProps = {\n ...(useInputStyle({ variant: 'outline' }) as any),\n flex: '0 0 auto',\n whiteSpace: 'nowrap',\n bg: 'white', // todo: abstract out for colorMode\n fontSize: 'body.small',\n ..._placement[placement],\n };\n\n return <Box {...styleProps} {...props} css={{ 'input:focus + &': { zIndex: -1 } }} />;\n};\n\nInputAddon.propTypes = {\n placement: oneOf(['left', 'right']),\n};\n\nInputAddon.displayName = 'InputAddon';\n\nconst InputLeftAddon = (props: InputAddonProps) => <InputAddon placement=\"left\" {...props} />;\nconst InputRightAddon = (props: InputAddonProps) => <InputAddon placement=\"right\" {...props} />;\n\nexport { InputAddon, InputLeftAddon, InputRightAddon };\n","import React from 'react';\nimport { forwardRef } from 'react';\nimport { Box } from '../box';\nimport { inputSizes } from '../input/styles';\nimport { InputElementProps, PositionedInputElementProps } from './types';\n\nexport * from './types';\n\nconst InputElement = forwardRef<any, InputElementProps>(\n (\n { size = 'default', children, placement = 'left', disablePointerEvents = false, ...props },\n ref\n ) => {\n const height = inputSizes[size] && inputSizes[size].height;\n const fontSize = inputSizes[size] && inputSizes[size].fontSize;\n\n const placementProp = { [placement]: '0' };\n\n return (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"absolute\"\n height={height}\n width={height}\n fontSize={fontSize}\n top=\"0\"\n zIndex={1}\n ref={ref}\n {...(disablePointerEvents && { pointerEvents: 'none' })}\n {...placementProp}\n {...props}\n >\n {children}\n </Box>\n );\n }\n);\n\nconst InputLeftElement = forwardRef<any, PositionedInputElementProps>((props, ref) => (\n <InputElement ref={ref} placement=\"left\" {...props} />\n));\n\nconst InputRightElement = forwardRef<any, PositionedInputElementProps>((props, ref) => (\n <InputElement ref={ref} placement=\"right\" {...props} />\n));\n\nInputElement.displayName = 'InputElement';\nInputLeftElement.displayName = 'InputLeftElement';\nInputRightElement.displayName = 'InputRightElement';\n\nexport { InputElement, InputLeftElement, InputRightElement };\n","import React from 'react';\nimport { forwardRef } from 'react';\nimport { useFormControl } from '../form-control';\nimport { PseudoBox } from '../pseudo-box';\nimport { InputProps } from './types';\n\nimport useInputStyle from './styles';\n\nexport * from './types';\n\nexport const Input = forwardRef<any, InputProps>((props, ref) => {\n const {\n as,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedby,\n isReadOnly,\n // isFullWidth,\n // isDisabled,\n // isInvalid,\n // isRequired,\n style = {},\n ...rest\n } = props;\n\n const inputStyleProps = useInputStyle(props);\n const formControl = useFormControl(props);\n\n return (\n <PseudoBox\n ref={ref}\n as={as}\n _readOnly={formControl.isReadOnly}\n aria-readonly={isReadOnly}\n isDisabled={formControl.isDisabled}\n aria-label={ariaLabel}\n aria-invalid={formControl.isInvalid}\n isRequired={formControl.isRequired}\n aria-required={formControl.isRequired}\n aria-disabled={formControl.isDisabled}\n aria-describedby={ariaDescribedby}\n textStyle=\"body.small\"\n style={{ WebkitAppearance: 'none', ...style }}\n {...(inputStyleProps as any)}\n {...rest}\n />\n );\n});\n\nInput.defaultProps = {\n as: 'input',\n isFullWidth: true,\n focusBorderColor: 'blue.300',\n};\n\nInput.displayName = 'Input';\n","import React, { Children, cloneElement } from 'react';\nimport { Box } from '../box';\nimport { Input } from '../input';\nimport { inputSizes } from '../input/styles';\nimport { InputLeftElement, InputRightElement } from '../input-element';\nimport { useTheme } from '../hooks';\nimport { InputGroupProps } from './types';\n\nconst InputGroup = ({ children, size = 'default', ...props }: InputGroupProps) => {\n const { sizes } = useTheme();\n const height = inputSizes[size] && inputSizes[size].height;\n let pl: string | null = null;\n let pr: string | null = null;\n return (\n <Box display=\"flex\" position=\"relative\" {...props}>\n {Children.map(children, child => {\n if (!React.isValidElement(child)) {\n return null;\n }\n\n if (child.type === InputLeftElement) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n pl = sizes[height];\n }\n if (child.type === InputRightElement) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n pr = sizes[height];\n }\n if (child.type === Input) {\n return cloneElement(child, {\n width: '100%',\n pl: child.props.pl || pl,\n pr: child.props.pr || pr,\n });\n }\n return cloneElement(child, { size });\n })}\n </Box>\n );\n};\n\nexport { InputGroup };\n","import React from 'react';\nimport { Box } from '../box';\nimport { Flex, FlexProps } from '../flex';\nimport { ModalContextTypes, ModalProps, WrapperComponentProps } from './types';\nimport useOnClickOutside from 'use-onclickoutside';\n\nconst ModalContext = React.createContext<ModalContextTypes>({\n isOpen: false,\n});\n\nexport const useModalState = () => React.useContext(ModalContext);\n\nconst Header = React.memo(({ component }: WrapperComponentProps) =>\n component ? (\n <Box borderTopRightRadius=\"6px\" borderTopLeftRadius=\"6px\">\n {component}\n </Box>\n ) : null\n);\n\nconst Footer = React.memo(({ component }: WrapperComponentProps) =>\n component ? (\n <Box borderBottomRightRadius=\"6px\" borderBottomLeftRadius=\"6px\">\n {component}\n </Box>\n ) : null\n);\n\ninterface ModalUnderlayProps {\n isOpen?: boolean;\n noAnimation?: boolean;\n}\n\nconst ModalUnderlay = ({ isOpen, noAnimation }: ModalUnderlayProps) => (\n <Box\n position=\"fixed\"\n size=\"100%\"\n left={0}\n right={0}\n top={0}\n bottom={0}\n bg={`rgba(0,0,0,${isOpen ? '0.48' : '0'})`}\n transition={noAnimation ? 'unset' : 'all 0.15s'}\n zIndex={99999}\n style={{\n userSelect: isOpen ? 'unset' : 'none',\n pointerEvents: isOpen ? 'unset' : 'none',\n willChange: 'background',\n }}\n />\n);\ninterface ModalWrapperProps extends FlexProps {\n isOpen: boolean;\n}\n\nconst ModalWrapper = ({ isOpen, ...rest }: ModalWrapperProps) => (\n <Flex\n zIndex={999999}\n position=\"fixed\"\n bottom={[0, 'unset']}\n width=\"100%\"\n top={0}\n left={0}\n height=\"100%\"\n maxHeight={['100vh', 'unset']}\n alignItems=\"center\"\n justifyContent={['flex-end', 'center']}\n flexDirection=\"column\"\n opacity={isOpen ? 1 : 0}\n style={{\n userSelect: isOpen ? 'unset' : 'none',\n pointerEvents: isOpen ? 'unset' : 'none',\n }}\n {...rest}\n />\n);\n\ninterface ModalCardContainerProps extends FlexProps {\n isOpen: boolean;\n noAnimation: boolean;\n}\n\nconst ModalCardContainer = React.forwardRef<any, ModalCardContainerProps>(\n ({ noAnimation, isOpen, ...rest }, ref) => (\n <Flex\n flexDirection=\"column\"\n position=\"relative\"\n bg=\"white\"\n mx=\"auto\"\n minWidth={['100%', '396px']}\n maxWidth={['100%', '396px']}\n maxHeight={['100%', 'calc(100% - 48px)']}\n borderRadius={['unset', '6px']}\n boxShadow=\"high\"\n transform={noAnimation ? 'translateY(0px)' : isOpen ? 'translateY(0px)' : 'translateY(15px)'}\n transition={noAnimation ? 'unset' : 'all 0.2s ease-in-out'}\n style={{\n willChange: 'transform',\n }}\n ref={ref}\n {...rest}\n />\n )\n);\n\nexport const Modal: React.FC<ModalProps> = React.memo(\n ({\n footerComponent: FooterComponent = null,\n headerComponent: HeaderComponent = null,\n isOpen = false,\n children,\n noAnimation = false,\n close,\n ...props\n }) => {\n const { doCloseModal } = useModalState();\n const ref = React.useRef(null);\n\n React.useEffect(() => {\n const func = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n if (close) {\n close();\n } else if (doCloseModal) {\n doCloseModal();\n }\n }\n };\n\n if (isOpen) {\n typeof window !== 'undefined' &&\n window?.document?.createElement &&\n document.addEventListener('keydown', func);\n }\n return () => {\n typeof window !== 'undefined' &&\n window?.document?.createElement &&\n document.removeEventListener('keydown', func);\n };\n }, [isOpen, close]);\n\n const handler = isOpen ? close || doCloseModal || null : null;\n\n useOnClickOutside(ref, handler);\n\n return (\n <>\n <ModalUnderlay isOpen={isOpen} noAnimation={noAnimation} />\n <ModalWrapper isOpen={isOpen}>\n <ModalCardContainer ref={ref} isOpen={isOpen} noAnimation={noAnimation} {...props}>\n <Header component={HeaderComponent} />\n <Box overflowY=\"auto\">{children}</Box>\n <Footer component={FooterComponent} />\n </ModalCardContainer>\n </ModalWrapper>\n </>\n );\n }\n);\n\nexport const ModalProvider: React.FC = props => {\n const [isOpen, setIsOpen] = React.useState(false);\n const doOpenModal = () => (!isOpen ? setIsOpen(true) : null);\n const doCloseModal = () => (isOpen ? setIsOpen(false) : null);\n return (\n <ModalContext.Provider\n value={{\n isOpen,\n doOpenModal,\n doCloseModal,\n }}\n >\n {props.children}\n </ModalContext.Provider>\n );\n};\n","import * as React from 'react';\nimport { Placement, Instance, createPopper } from '@popperjs/core';\n\nconst oppositeDirections = {\n top: 'bottom',\n bottom: 'top',\n right: 'left',\n left: 'right',\n};\n\ntype Direction = keyof typeof oppositeDirections;\n\nexport const getOppositePosition = (position: Direction) => oppositeDirections[position];\n\nconst splitPlacement = (placement: Placement) => placement.split('-') as Direction[];\n\nexport function getArrowStyles(placement: Placement, arrowSize: number): React.CSSProperties {\n const [position] = splitPlacement(placement);\n const oppositePosition = getOppositePosition(position);\n if (!oppositePosition) return {};\n\n return {\n [oppositePosition]: `-${arrowSize / 2}px`,\n width: arrowSize,\n height: arrowSize,\n position: 'absolute',\n transform: 'rotate(45deg)',\n };\n}\n\nconst isBrowser = typeof window !== 'undefined';\n\nconst useSafeLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;\n\nexport interface UsePopperProps {\n gutter?: number;\n placement?: Placement;\n offset?: number;\n preventOverflow?: boolean;\n fixed?: boolean;\n forceUpdate?: boolean;\n flip?: boolean;\n arrowSize?: number;\n eventsEnabled?: boolean;\n}\n\nexport function usePopper(props: UsePopperProps) {\n const {\n placement: initialPlacement = 'bottom',\n offset: offsetProp,\n preventOverflow = true,\n fixed = false,\n forceUpdate = true,\n flip = true,\n arrowSize = 10,\n gutter = arrowSize,\n eventsEnabled = true,\n } = props;\n\n const popper = React.useRef<Instance | null>(null);\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n const popoverRef = React.useRef<HTMLDivElement>(null);\n const arrowRef = React.useRef<HTMLDivElement>(null);\n\n const [originalPlacement, place] = React.useState(initialPlacement);\n const [placement, setPlacement] = React.useState(initialPlacement);\n const [offset] = React.useState(offsetProp || [0, gutter]);\n const [popoverStyles, setPopoverStyles] = React.useState<React.CSSProperties>({});\n const [arrowStyles, setArrowStyles] = React.useState<React.CSSProperties>({});\n\n const update = React.useCallback(() => {\n if (popper.current) {\n popper.current.forceUpdate();\n return true;\n }\n return false;\n }, []);\n\n useSafeLayoutEffect(() => {\n if (referenceRef.current && popoverRef.current) {\n popper.current = createPopper(referenceRef.current, popoverRef.current, {\n placement: originalPlacement,\n strategy: fixed ? 'fixed' : 'absolute',\n modifiers: [\n {\n name: 'eventListener',\n phase: 'write',\n enabled: eventsEnabled,\n },\n {\n name: 'applyStyles',\n enabled: false,\n },\n {\n name: 'flip',\n enabled: flip,\n options: { padding: 8 },\n },\n {\n name: 'computeStyles',\n options: { gpuAcceleration: false },\n },\n {\n name: 'offset',\n options: { offset },\n },\n {\n name: 'preventOverflow',\n enabled: preventOverflow,\n options: {\n tetherOffset: () => arrowRef.current?.clientWidth || 0,\n },\n },\n {\n name: 'arrow',\n enabled: Boolean(arrowRef.current),\n options: { element: arrowRef.current },\n },\n {\n name: 'updateState',\n phase: 'write',\n enabled: true,\n fn({ state }) {\n setPlacement(state.placement);\n setPopoverStyles(state.styles.popper as React.CSSProperties);\n setArrowStyles(state.styles.arrow as React.CSSProperties);\n },\n },\n ],\n });\n }\n return () => {\n if (popper.current) {\n popper.current.destroy();\n popper.current = null;\n }\n };\n }, [originalPlacement, fixed, forceUpdate, flip, offset, preventOverflow]);\n\n useSafeLayoutEffect(() => {\n requestAnimationFrame(() => {\n if (forceUpdate) {\n popper.current?.forceUpdate();\n }\n });\n }, [forceUpdate]);\n\n const computedArrowStyles: React.CSSProperties = {\n ...arrowStyles,\n ...getArrowStyles(placement, arrowSize),\n };\n\n return {\n popperInstance: popper.current,\n reference: {\n ref: referenceRef,\n },\n popper: {\n ref: popoverRef,\n style: popoverStyles,\n },\n arrow: {\n ref: arrowRef,\n style: computedArrowStyles,\n },\n update,\n placement,\n place,\n };\n}\n\nexport type UsePopperReturn = ReturnType<typeof usePopper>;\n","import * as React from 'react';\nimport { createContext, __DEV__ } from '../utils';\nimport { useSafeLayoutEffect, useForceUpdate } from '../hooks';\ninterface PortalManagerContext {\n node: HTMLElement;\n zIndex?: number;\n}\n\nconst [PortalManagerCtxProvider, usePortalManager] = createContext<PortalManagerContext>({\n strict: false,\n});\n\nexport { usePortalManager };\n\nexport interface PortalManagerProps {\n /**\n * Child elements of the Portal manager\n * Ideally, it should be at the top-level\n * of your application\n */\n children?: React.ReactNode;\n /**\n * [Z-Index war] If your has multiple elements\n * with z-index clashing, you might need to\n * apply a z-index to the Portal manager\n */\n zIndex?: number;\n}\n\n/**\n * PortalManager\n *\n * Used to manage multiple portals within an application.\n * It must be render only once, at the root of your application.\n *\n * Inspired by BaseWeb's LayerManager component\n */\nexport function PortalManager(props: PortalManagerProps) {\n const { children, zIndex } = props;\n\n /**\n * The element that wraps the stacked layers\n */\n const ref = React.useRef<HTMLDivElement>(null);\n\n const forceUpdate = useForceUpdate();\n\n /**\n * force an update on mount so the Provider works correctly\n */\n useSafeLayoutEffect(() => {\n forceUpdate();\n }, []);\n\n /**\n * let's detect if use has mutiple instances of this component\n */\n const parentManager = usePortalManager();\n\n const context = {\n node: parentManager?.node || ref.current,\n zIndex,\n };\n\n return (\n <PortalManagerCtxProvider value={context}>\n {children}\n <div className=\"portal-manager\" ref={ref} />\n </PortalManagerCtxProvider>\n );\n}\n\nif (__DEV__) {\n PortalManager.displayName = 'PortalManager';\n}\n","import { createContext, isBrowser, __DEV__ } from '../utils';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePortalManager } from './manager';\nimport { useSafeLayoutEffect } from '../hooks';\n\ntype PortalContext = HTMLDivElement | null;\n\nconst [PortalCtxProvider, usePortalContext] = createContext<PortalContext>({\n strict: false,\n});\n\nexport interface PortalProps {\n /**\n * Function called when the portal mounts\n */\n onMount?(): void;\n /**\n * Function called when the portal unmounts\n */\n onUnmount?(): void;\n /**\n * Function that will be called to get the parent element\n * that the portal will be attached to.\n */\n container?: () => HTMLElement;\n /**\n * The content or node you'll like to portal\n */\n children?: React.ReactNode;\n}\n\n/**\n * Portal\n *\n * Declarative component used to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n */\nexport function Portal(props: PortalProps) {\n const { onMount, onUnmount, children, container: containerProp } = props;\n\n /**\n * Generate the portal's dom node. We'll wrap the children\n * in this dom node before mounting it.\n */\n const [portal] = React.useState(() => {\n if (isBrowser) {\n const div = document.createElement('div');\n div.className = 'portal';\n return div;\n }\n // for ssr\n return null;\n });\n\n /**\n * This portal might be nested in another portal.\n * Let's read from the portal context to check this.\n */\n const parentPortal = usePortalContext();\n\n /**\n * If there's a PortalManager rendered, let's read from it.\n * We use the portal manager to manage multiple portals\n */\n const manager = usePortalManager();\n\n const append = React.useCallback(\n (container: HTMLElement | null) => {\n // if user specified a mount node, do nothing.\n if (!portal || !container) return;\n\n // else, simply append component to the portal node\n container.appendChild(portal);\n },\n [portal]\n );\n\n useSafeLayoutEffect(() => {\n // get the custom container from the container prop\n const mountNode = containerProp?.();\n\n /**\n * We need to know where to mount this portal, we have 4 options:\n * - If a mountRef is specified, we'll use that as the container\n * - If portal is nested, use the parent portal node as container.\n * - If it's not nested, use the manager's node as container\n * - else use document.body as containers\n */\n const container = mountNode ?? parentPortal ?? manager?.node ?? document.body;\n\n /**\n * Append portal node to the computed container\n */\n append(container);\n\n onMount?.();\n\n return () => {\n onUnmount?.();\n\n if (!portal) return;\n\n if (container?.contains(portal)) {\n container?.removeChild(portal);\n }\n };\n }, [containerProp, portal, parentPortal, onMount, onUnmount, manager && manager.node, append]);\n\n const finalChildren = manager?.zIndex ? (\n <div className=\"portal-zIndex\" style={{ zIndex: manager.zIndex }}>\n {children}\n </div>\n ) : (\n children\n );\n\n if (!portal) {\n return <React.Fragment>{finalChildren}</React.Fragment>;\n }\n\n return createPortal(\n <PortalCtxProvider value={portal}>{finalChildren}</PortalCtxProvider>,\n portal\n );\n}\n\nif (__DEV__) {\n Portal.displayName = 'Portal';\n}\n","import React, { forwardRef, Children, cloneElement, isValidElement } from 'react';\nimport { Flex } from '../flex';\nimport { Box } from '../box';\nimport { StackProps } from './types';\nimport { SpacingProps } from '../theme/types';\n\nexport * from './types';\n\nconst Stack = forwardRef<any, StackProps>(\n ({ isInline, children, align, justify, spacing = 2, shouldWrapChildren, ...rest }, ref) => {\n const validChildren = Array.isArray(children) ? children.filter(isValidElement) : [];\n\n return (\n <Flex\n align={align}\n justify={justify}\n flexDir={isInline ? 'row' : 'column'}\n ref={ref}\n {...rest}\n >\n {Children.map(validChildren, (child, index) => {\n if (!isValidElement(child)) {\n return null;\n }\n if (!Array.isArray(children)) {\n return null;\n }\n const isLastChild = validChildren.length === index + 1;\n const spacingProps = isInline\n ? { mr: isLastChild ? undefined : spacing }\n : { mb: isLastChild ? undefined : spacing };\n\n if (shouldWrapChildren) {\n return (\n <Box d=\"inline-block\" {...(spacingProps as SpacingProps)}>\n {child}\n </Box>\n );\n }\n return cloneElement(child, spacingProps);\n })}\n </Flex>\n );\n }\n);\n\nStack.displayName = 'Stack';\n\nexport { Stack };\n","import * as React from 'react';\nimport CSSTransition from 'react-transition-group/Transition';\nimport { TransitionStatus } from 'react-transition-group/Transition';\nimport { TransitionProps } from './types';\n\nexport const Transition = ({\n styles,\n in: inProp,\n timeout = 200,\n transition = `all ${timeout}ms cubic-bezier(0.23, 1, 0.32, 1)`,\n children,\n ...rest\n}: TransitionProps) => {\n const computedStyle = (state: TransitionStatus) => ({\n ...styles.init,\n transition,\n ...styles[state],\n });\n return (\n <CSSTransition appear unmountOnExit in={inProp} timeout={timeout} {...rest}>\n {state => children(computedStyle(state))}\n </CSSTransition>\n );\n};\n","import * as React from 'react';\nimport { FadeProps, TransitionStyles } from './types';\nimport { Transition } from './base';\n\nconst styles: TransitionStyles = {\n init: { opacity: 0 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n};\n\nexport const Fade = ({ timeout = 250, ...rest }: FadeProps) => (\n <Transition\n transition={`all ${timeout}ms cubic-bezier(0.175, 0.885, 0.320, 1.175)`}\n styles={styles}\n timeout={{ enter: 50, exit: timeout }}\n {...rest}\n />\n);\n","import * as React from 'react';\nimport { Transition } from './base';\nimport { ScaleFadeProps } from './types';\n\nconst getTransitionStyles = (initialScale: ScaleFadeProps['initialScale']) => ({\n init: {\n opacity: 0,\n transform: `scale(${initialScale})`,\n },\n entered: {\n opacity: 1,\n transform: 'scale(1)',\n },\n exiting: {\n opacity: 0,\n transform: `scale(${initialScale})`,\n },\n});\n\nexport const ScaleFade = ({ initialScale = 0.9, timeout = 300, ...rest }: ScaleFadeProps) => (\n <Transition\n styles={React.useMemo(() => getTransitionStyles(initialScale), [initialScale])}\n transition={`all ${timeout}ms cubic-bezier(0.45, 0, 0.40, 1)`}\n timeout={{ enter: 50, exit: timeout }}\n unmountOnExit\n {...rest}\n />\n);\n","import * as React from 'react';\nimport { Transition } from './base';\nimport { SlideProps, Placement } from './types';\n\nconst createBaseStyle = (placement: Placement) => {\n switch (placement) {\n case 'bottom': {\n return {\n maxWidth: '100vw',\n bottom: 0,\n left: 0,\n right: 0,\n };\n }\n case 'top': {\n return {\n maxWidth: '100vw',\n top: 0,\n left: 0,\n right: 0,\n };\n }\n case 'left': {\n return {\n width: '100%',\n height: '100vh',\n left: 0,\n top: 0,\n };\n }\n case 'right': {\n return {\n width: '100%',\n right: 0,\n top: 0,\n height: '100vh',\n };\n }\n default:\n return undefined;\n }\n};\n\nconst getTransformStyle = (placement: Placement, value: string) => {\n let axis = '';\n if (placement === 'left' || placement === 'right') axis = 'X';\n if (placement === 'top' || placement === 'bottom') axis = 'Y';\n return `translate${axis}(${value})`;\n};\n\nconst getTransitionStyles = (placement: Placement) => {\n const offset = {\n bottom: '100%',\n top: '-100%',\n left: '-100%',\n right: '100%',\n };\n\n return {\n init: {\n transform: getTransformStyle(placement, offset[placement]),\n },\n entered: { transform: getTransformStyle(placement, '0%') },\n exiting: {\n transform: getTransformStyle(placement, offset[placement]),\n },\n };\n};\n\nexport function Slide(props: SlideProps) {\n const { placement = 'left', timeout = 250, children, ...rest } = props;\n\n const styles = getTransitionStyles(placement);\n\n const positionStyles: React.CSSProperties = {\n position: 'fixed',\n willChange: 'transform',\n ...createBaseStyle(placement),\n };\n\n return (\n <Transition\n styles={styles}\n transition={`all ${timeout}ms cubic-bezier(0, 0, 0.2, 1)`}\n timeout={{ enter: 50, exit: timeout }}\n {...rest}\n >\n {styles => children({ ...positionStyles, ...styles })}\n </Transition>\n );\n}\n\nexport default Slide;\n","import * as React from 'react';\nimport { Transition } from './base';\nimport { SlideFadeProps } from './types';\n\nfunction getTransitionStyles(initialOffset: string) {\n return {\n init: {\n opacity: 0,\n transform: `translateY(${initialOffset})`,\n },\n entered: {\n opacity: 1,\n transform: 'translateY(0px)',\n },\n exiting: {\n opacity: 0,\n transform: `translateY(${initialOffset})`,\n },\n };\n}\n\nexport const SlideFade = (props: SlideFadeProps) => {\n const { initialOffset = '20px', timeout = 150, ...rest } = props;\n\n const styles = getTransitionStyles(initialOffset);\n\n return (\n <Transition\n styles={styles}\n transition={`all ${timeout}ms cubic-bezier(0.4, 0.14, 0.3, 1)`}\n timeout={{ enter: 50, exit: timeout }}\n {...rest}\n />\n );\n};\n","import React, { useCallback, useMemo, useRef } from 'react';\nimport ReachAlert from '@reach/alert';\nimport { useRect } from '@reach/rect';\nimport { useId } from '@reach/auto-id';\n\nimport { Transition } from '../transition';\nimport { Stack } from '../stack';\nimport { Box, BoxProps } from '../box';\nimport { Flex } from '../flex';\nimport { Text } from '../text';\nimport { ExclamationMarkCircleIcon, CheckmarkCircleIcon, CloseIcon } from '../icons';\n\nimport { useTimeout } from '../hooks';\n\nimport { ActionProps, ToastAction, ToastProps } from './types';\nimport { useHover, useFocus } from 'use-events';\nimport { transition } from '../theme/theme';\n\nconst toneToIcon = {\n critical: ExclamationMarkCircleIcon,\n positive: CheckmarkCircleIcon,\n none: () => null,\n};\n\nconst Action = ({ label, onClick, removeToast, ...rest }: ActionProps) => {\n const handleClick = useCallback(() => {\n removeToast();\n onClick();\n }, [removeToast, onClick]);\n\n return (\n <Box\n _hover={{\n cursor: 'pointer',\n textDecoration: 'underline',\n }}\n onClick={handleClick}\n aria-hidden\n {...rest}\n >\n <Text>{label}</Text>\n </Box>\n );\n};\n\nconst getCustomProps = (props: ToastProps['toastProps'] = {}) => {\n return {\n message: {\n color: 'ink',\n ...props?.message,\n },\n description: {\n color: 'ink.600',\n ...props?.description,\n },\n toast: {\n background: 'white',\n borderColor: 'inherit',\n boxShadow: 'high',\n ...props?.toast,\n },\n icon: {\n ...props?.icon,\n color: {\n critical: 'red',\n positive: 'green',\n ...props?.icon?.color,\n },\n },\n close: {\n color: 'ink.600',\n ...props?.close,\n },\n action: {\n color: 'blue',\n fontSize: '14px',\n ...props?.action,\n },\n };\n};\n\nconst CloseButton = ({ onClick, ...rest }: any) => {\n const [hover, bind] = useHover();\n const [focus, focusBind] = useFocus();\n return (\n <Flex\n position=\"relative\"\n justify=\"center\"\n cursor={hover ? 'pointer' : 'unset'}\n onClick={onClick}\n {...bind}\n {...rest}\n >\n <Box\n ml=\"tight\"\n mt=\"extra-tight\"\n opacity={hover ? 1 : 0.5}\n as=\"button\"\n role=\"button\"\n aria-label=\"Close popup\"\n title=\"Close\"\n style={{\n outline: 'none',\n }}\n position=\"relative\"\n zIndex={99}\n transition={transition}\n {...focusBind}\n >\n <CloseIcon size=\"12px\" />\n </Box>\n <Box\n size=\"24px\"\n bg=\"currentColor\"\n borderRadius=\"100%\"\n position=\"absolute\"\n left=\"-50%\"\n top=\"-50%\"\n opacity={hover ? 0.1 : 0}\n transform=\"translate3d(12px, 6px, 0)\"\n transition={transition}\n boxShadow={focus ? 'focus' : 'unset'}\n />\n </Flex>\n );\n};\n\nconst Description: React.FC<BoxProps> = ({ children, ...rest }) => (\n <Text\n fontSize=\"14px\"\n style={{\n wordBreak: 'break-word',\n }}\n display=\"block\"\n {...rest}\n >\n {children}\n </Text>\n);\n\nconst Message: React.FC<BoxProps> = ({ children, ...rest }) => (\n <Text fontWeight=\"600\" display=\"block\" {...rest}>\n {children}\n </Text>\n);\n\nconst ToastContent = ({\n styles = {},\n message,\n description,\n action,\n remove,\n ...rest\n}: {\n styles: ToastProps['toastProps'];\n message: string;\n description?: string;\n action?: ToastAction;\n remove: () => void;\n}) =>\n description ? (\n <Stack spacing=\"tight\" {...rest}>\n <Message {...styles?.message}>{message}</Message>\n {description ? <Description {...styles?.description}>{description}</Description> : null}\n {action ? (\n <Action key={action.label} removeToast={remove} {...action} {...styles.action} />\n ) : null}\n </Stack>\n ) : (\n <Stack spacing=\"tight\" {...rest}>\n <Message {...styles?.message}>{message}</Message>\n {action ? (\n <Action key={action.label} removeToast={remove} {...action} {...styles.action} />\n ) : null}\n </Stack>\n );\n\nexport const Toast = React.forwardRef<HTMLDivElement, ToastProps>(\n ({ id: propsId, message, description, tone = 'none', onClear, action, toastProps = {} }, ref) => {\n const id = useId(propsId) as string;\n const styles = useMemo(() => getCustomProps(toastProps), [toastProps]);\n const remove = useCallback(() => onClear(id), [onClear, id]);\n const toastRef = useRef<HTMLDivElement>(null);\n const rect = useRect(toastRef);\n const [show, setShow] = React.useState(true);\n\n const height = rect?.height ?? 0;\n\n const onExit = () => {\n if (!show) {\n onClear(id);\n }\n };\n\n const onClose = React.useCallback(() => {\n setShow(false);\n }, []);\n\n const { stopTimeout, startTimeout } = useTimeout({\n duration: 7200,\n onTimeout: onClose,\n });\n\n const animationStyles = {\n init: {\n opacity: 0,\n height: 0,\n transform: 'scale(1)',\n },\n entered: {\n opacity: 1,\n height,\n transform: 'scale(1)',\n },\n exiting: {\n opacity: 0,\n height: 0,\n transform: 'scale(0.9)',\n },\n };\n\n const noIcon = tone === 'none';\n const Icon = toneToIcon[tone];\n\n return (\n <Transition styles={animationStyles} in={show} onExited={onExit} timeout={350}>\n {transitionStyles => (\n <Box\n onMouseEnter={stopTimeout}\n onMouseLeave={startTimeout}\n style={{\n willChange: 'transform, height, opacity',\n ...transitionStyles,\n }}\n ref={ref}\n >\n <Flex\n justify=\"center\"\n as={ReachAlert}\n maxWidth=\"100%\"\n pb=\"tight\"\n px=\"tight\"\n ref={toastRef}\n >\n <Box\n p=\"base\"\n border=\"1px solid\"\n borderColor=\"inherit\"\n borderRadius=\"6px\"\n maxWidth=\"100%\"\n {...styles.toast}\n style={{\n pointerEvents: 'all',\n }}\n >\n <Box position=\"relative\">\n <Flex align=\"flex-start\">\n {tone !== 'none' ? (\n <Box\n pt=\"extra-tight\"\n pr=\"tight\"\n {...styles?.icon}\n color={styles.icon.color[tone]}\n >\n <Icon size=\"16px\" />\n </Box>\n ) : null}\n\n <Box pr={noIcon ? 'unset' : 'base'}>\n <ToastContent\n message={message}\n description={description}\n action={action}\n styles={styles}\n remove={remove}\n />\n </Box>\n\n <CloseButton onClick={onClose} />\n </Flex>\n </Box>\n </Box>\n </Flex>\n </Box>\n )}\n </Transition>\n );\n }\n);\n","import React, { useCallback } from 'react';\nimport { Box } from '../box';\nimport { Flex } from '../flex';\n\nimport { Toast as ToastComponent } from './toast';\n\nimport { ToasterProps } from './types';\n\nexport const Toaster = ({ toasts, removeToast, ...rest }: ToasterProps) => {\n const onClear = useCallback(\n (id: string) => {\n removeToast(id);\n },\n [removeToast]\n );\n\n return (\n <Flex\n align=\"center\"\n justify=\"flex-end\"\n flexDirection=\"column\"\n position=\"fixed\"\n width=\"100%\"\n height=\"100vh\"\n bottom={0}\n zIndex={9999999}\n style={{ pointerEvents: 'none' }}\n {...rest}\n >\n {toasts.map(({ id, ...rest }) => (\n <Box key={id}>\n <ToastComponent id={id} onClear={onClear} {...rest} />\n </Box>\n ))}\n </Flex>\n );\n};\n","import React, { useContext, createContext, useReducer, useCallback } from 'react';\n\nimport { Portal } from '../portal';\nimport { Toaster } from './toaster';\n\nimport { ToastType, AddToast, ToastState, ToastProviderProps } from './types';\n\nlet toastCounter = 0;\n\nconst ToastControllerContext = createContext<AddToast | null>(null);\n\nconst QUEUE_TOAST = 0;\nconst REMOVE_TOAST = 1;\n\ntype Actions =\n | { type: typeof QUEUE_TOAST; payload: ToastType }\n | { type: typeof REMOVE_TOAST; payload: string };\n\nfunction reducer(state: ToastState, action: Actions): ToastState {\n switch (action.type) {\n case QUEUE_TOAST: {\n return {\n ...state,\n toasts: [...state.toasts, action.payload],\n };\n }\n\n case REMOVE_TOAST: {\n const toasts = state.toasts.filter(({ id }) => id !== action.payload);\n\n return {\n ...state,\n toasts,\n };\n }\n }\n\n return state;\n}\n\nconst InternalToastProvider = ({ children }: ToastProviderProps) => {\n const [{ toasts }, dispatch] = useReducer(reducer, {\n toasts: [],\n });\n\n const addToast = useCallback(\n (props: ToastType) => dispatch({ type: QUEUE_TOAST, payload: props }),\n []\n );\n\n const removeToast = useCallback(\n (id: string) => dispatch({ type: REMOVE_TOAST, payload: id }),\n []\n );\n\n return (\n <ToastControllerContext.Provider value={addToast}>\n {children}\n <Portal>\n <Toaster toasts={toasts} removeToast={removeToast} />\n </Portal>\n </ToastControllerContext.Provider>\n );\n};\n\nexport const ToastProvider = ({ children }: ToastProviderProps) => {\n const currentContext = useContext(ToastControllerContext);\n\n if (currentContext !== null) {\n // Bail early as \"ToastProvider\" is already setup\n return <>{children}</>;\n }\n\n return <InternalToastProvider>{children}</InternalToastProvider>;\n};\n\nexport const useToast = () => {\n const addToast = useContext(ToastControllerContext);\n\n if (addToast === null) {\n throw new Error('No \"ToastProvider\" configured');\n }\n\n return useCallback(\n (props: Omit<ToastType, 'id'>) => addToast({ ...props, id: `${toastCounter++}` }),\n [addToast]\n );\n};\n","import * as React from 'react';\nimport { useRef, useCallback, useEffect } from 'react';\nimport { Placement } from '@popperjs/core';\n\nimport { useDisclosure, useEventListener, useId, useMergeRefs } from '../hooks';\nimport { usePopper, UsePopperProps } from '../popper';\nimport { callAllHandlers, mergeRefs, Dict } from '../utils';\nimport flushable from 'flushable';\n\nlet hideOperation: flushable.FlushableOperation;\nlet activeId: string | null = null;\n\nfunction show(fn: (isHidePending: boolean) => void, delay: number) {\n // check if hide has not been executed\n const isHidePending = hideOperation?.pending();\n\n // immediately execute hide if it has not been executed\n if (isHidePending) {\n hideOperation.flush();\n }\n\n // setup the show operation using flushable\n const showOperation = flushable(() => fn(isHidePending), isHidePending ? 0 : delay);\n\n // return a function to cancel show() from executing\n // in the case of multiple tooltips\n return showOperation.cancel;\n}\n\nfunction hide(fn: (flushed: boolean) => void, delay: number) {\n // setup the hide operation using flushable\n hideOperation = flushable(flushed => fn(flushed), delay);\n\n // return a function to cancel hide() from executing\n return hideOperation.cancel;\n}\n\nexport interface UseTooltipProps {\n /**\n * Delay (in ms) before hiding the tooltip\n * @default 200ms\n */\n hideDelay?: number;\n /**\n * Delay (in ms) before showing the tooltip\n * @default 200ms\n */\n showDelay?: number;\n /**\n * If `true`, the tooltip will hide on click\n */\n hideOnClick?: boolean;\n /**\n * If `true`, the tooltip will hide while the mouse\n * is down\n */\n hideOnMouseDown?: boolean;\n /**\n * Callback to run when the tooltip shows\n */\n onShow?(): void;\n /**\n * Callback to run when the tooltip hides\n */\n onHide?(): void;\n /**\n * The Popper.js placement of the tooltip\n */\n placement?: Placement;\n /**\n * Custom `id` to use in place of `uuid`\n */\n id?: string;\n /**\n * If `true`, the tooltip will be shown (in controlled mode)\n */\n isOpen?: boolean;\n /**\n * If `true`, the tooltip will be initially shown\n */\n defaultIsOpen?: boolean;\n /**\n * The size of the arrow in css units (numeric)\n * @default 10 ( = 10px )\n */\n arrowSize?: UsePopperProps['arrowSize'];\n /**\n * The label, we check if it changes to refresh the position of the tooltip\n */\n label?: string;\n}\n\nexport function useTooltip(props: UseTooltipProps = {}) {\n const {\n showDelay = 200,\n hideDelay = 200,\n hideOnClick = false,\n onShow,\n onHide,\n hideOnMouseDown,\n placement,\n id,\n isOpen: isOpenProp,\n defaultIsOpen,\n arrowSize = 10,\n label: _label,\n } = props;\n\n const [label, setLabel] = React.useState(_label);\n\n const labelIsUpToDate = _label === label;\n\n if (!labelIsUpToDate) setLabel(_label);\n\n const { isOpen, onOpen: open, onClose: close } = useDisclosure({\n isOpen: isOpenProp,\n defaultIsOpen,\n onOpen: onShow,\n onClose: onHide,\n });\n\n const popper = usePopper({\n forceUpdate: isOpen && labelIsUpToDate,\n placement,\n arrowSize,\n });\n\n const tooltipId = useId(id, 'tooltip');\n\n const ref = useRef<any>(null);\n const triggerRef = useMergeRefs(ref, popper.reference.ref);\n\n const flushRef = useRef<Function>();\n\n useEffect(() => {\n return () => flushRef.current?.();\n }, []);\n\n const hideImmediately = useCallback(() => {\n flushRef.current?.();\n close();\n }, [close]);\n\n const onClick = useCallback(() => {\n if (hideOnClick) {\n hideImmediately();\n }\n }, [hideOnClick, hideImmediately]);\n\n const onMouseDown = useCallback(() => {\n if (hideOnMouseDown) {\n hideImmediately();\n }\n }, [hideOnMouseDown, hideImmediately]);\n\n const showTooltip = useCallback(() => {\n flushRef.current?.();\n\n if (tooltipId !== activeId) {\n hideImmediately();\n }\n\n activeId = tooltipId;\n\n if (!isOpen) {\n flushRef.current = show(() => {\n open();\n }, showDelay);\n }\n }, [isOpen, showDelay, open, tooltipId, hideImmediately]);\n\n const hideTooltip = useCallback(() => {\n flushRef.current?.();\n activeId = null;\n\n if (isOpen) {\n flushRef.current = hide(() => {\n close();\n }, hideDelay);\n }\n }, [isOpen, hideDelay, close]);\n\n const onMouseOver = useCallback(\n (event: React.MouseEvent) => {\n const isSelf = event.target === (ref.current as HTMLElement);\n\n if (isOpen && isSelf) {\n return;\n }\n\n showTooltip();\n },\n [isOpen, showTooltip]\n );\n\n // A11y: Close the tooltip if user presses escape\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && event.key === 'Escape') {\n hideImmediately();\n }\n },\n [isOpen, hideImmediately]\n );\n\n useEventListener('keydown', onKeyDown);\n\n return {\n isOpen,\n show: open,\n hide: close,\n placement: popper.placement,\n getTriggerProps: (props: Dict = {}) => ({\n ...props,\n ref: mergeRefs(props.ref, triggerRef),\n onMouseOut: callAllHandlers(props.onMouseOut, hideTooltip),\n onMouseOver: callAllHandlers(props.onMouseOver, onMouseOver),\n onClick: callAllHandlers(props.onClick, onClick),\n onMouseDown: callAllHandlers(props.onMouseDown, onMouseDown),\n onFocus: callAllHandlers(props.onFocus, showTooltip),\n onBlur: callAllHandlers(props.onBlur, hideTooltip),\n 'aria-describedby': isOpen ? tooltipId : undefined,\n }),\n getTooltipProps: (props: Dict = {}) => ({\n ...props,\n id: tooltipId,\n role: 'tooltip',\n ref: mergeRefs(props.ref, popper.popper.ref),\n style: { ...props.style, ...popper.popper.style },\n }),\n getArrowProps: (props: Dict = {}) => ({\n ...props,\n ref: mergeRefs(props.ref, popper.arrow.ref),\n style: { ...props.style, ...popper.arrow.style },\n }),\n };\n}\n\nexport type UseTooltipReturn = ReturnType<typeof useTooltip>;\n","import * as React from 'react';\nimport { Box, PropsOf } from '../box';\nimport { useTooltip, UseTooltipProps } from './hooks';\nimport { Portal } from '../portal';\nimport { isString, omit, pick } from '../utils';\nimport { VisuallyHidden } from '../visually-hidden';\n\nexport type TooltipProps = PropsOf<typeof Box> &\n UseTooltipProps & {\n /**\n * The react component to use as the\n * trigger for the tooltip\n */\n children?: React.ReactNode;\n /**\n * The label of the tooltip\n */\n label?: string;\n /**\n * The accessible, human friendly label to use for\n * screen readers.\n *\n * If passed, tooltip will show the content `label`\n * but expose only `aria-label` to assistive technologies\n */\n 'aria-label'?: string;\n /**\n * If `true`, the tooltip will wrap it's children\n * in a `<span/>` with `tabIndex=0`\n */\n shouldWrapChildren?: boolean;\n /**\n * If `true`, the tooltip will show an arrow tip\n */\n hasArrow?: boolean;\n };\n\nexport function Tooltip(props: TooltipProps) {\n const { children, label, shouldWrapChildren, 'aria-label': ariaLabel, hasArrow, ...rest } = props;\n\n if (!label || label === '') {\n const child = React.Children.only(children) as React.ReactElement;\n return React.cloneElement(child, { ...child.props, ...rest });\n }\n\n const { isOpen, getTriggerProps, getTooltipProps, getArrowProps } = useTooltip(props);\n\n let trigger: React.ReactElement;\n\n if (isString(children) || shouldWrapChildren) {\n trigger = (\n <Box as=\"span\" tabIndex={0} {...getTriggerProps()}>\n {children}\n </Box>\n );\n } else {\n // ensure tooltip has only one child node\n const child = React.Children.only(children) as React.ReactElement;\n trigger = React.cloneElement(child, getTriggerProps(child.props));\n }\n\n const hasAriaLabel = Boolean(ariaLabel);\n\n const baseTooltipProps = getTooltipProps(rest);\n\n const { style, ...tooltipProps } = hasAriaLabel\n ? omit(baseTooltipProps, ['role', 'id'])\n : baseTooltipProps;\n\n const hiddenProps = pick(baseTooltipProps, ['role', 'id']);\n\n return (\n <React.Fragment>\n {trigger}\n {isOpen && (\n <Portal>\n <Box\n paddingX=\"8px\"\n paddingY=\"tight\"\n bg=\"ink\"\n color=\"white\"\n borderRadius=\"6px\"\n textStyle=\"caption.medium\"\n maxWidth=\"320px\"\n {...tooltipProps}\n style={{\n ...style,\n useSelect: 'none',\n }}\n >\n {label}\n {hasAriaLabel && <VisuallyHidden {...hiddenProps}>{ariaLabel}</VisuallyHidden>}\n {hasArrow && <Box data-arrow=\"\" bg=\"inherit\" {...getArrowProps()} />}\n </Box>\n </Portal>\n )}\n </React.Fragment>\n );\n}\n","import { useState } from 'react';\n\ninterface Clipboard {\n value: string;\n onCopy: () => void;\n hasCopied: boolean;\n}\n\n/**\n *\n * @param {any} value - The content to add to clipboard\n */\nconst copyToClipboard = (value: string) => {\n const el = document.createElement('textarea');\n el.value = value;\n el.setAttribute('readonly', '');\n el.style.position = 'absolute';\n el.style.left = '-9999px';\n document.body.appendChild(el);\n\n const curSelection = document.getSelection();\n const selected = curSelection && curSelection.rangeCount > 0 ? curSelection.getRangeAt(0) : false;\n el.select();\n\n document.execCommand('copy');\n document.body.removeChild(el);\n if (selected) {\n document.getSelection()?.removeAllRanges();\n document.getSelection()?.addRange(selected);\n }\n};\n\nfunction useClipboard(value: string): Clipboard {\n const [hasCopied, setHasCopied] = useState(false);\n\n const onCopy = () => {\n copyToClipboard(value);\n setHasCopied(true);\n setTimeout(() => setHasCopied(false), 1500);\n };\n\n return { value, onCopy, hasCopied };\n}\n\nexport { useClipboard };\n","// TypeScript port of https://github.com/DavidWells/safe-await/\n\n// Native Error types https://mzl.la/2Veh3TR\nconst nativeExceptions = [\n EvalError,\n RangeError,\n ReferenceError,\n SyntaxError,\n TypeError,\n URIError,\n].filter(except => typeof except === 'function');\n\nfunction throwNative(error: Error) {\n for (const Exception of nativeExceptions) {\n if (error instanceof Exception) throw error;\n }\n}\n\nexport function safeAwait<T>(promise: Promise<T>, finallyFn?: () => void) {\n return promise\n .then(data => {\n if (data instanceof Error) {\n throwNative(data);\n return [data] as readonly [Error];\n }\n return [undefined, data] as const;\n })\n .catch((error: Error) => {\n throwNative(error);\n return [error] as const;\n })\n .finally(() => {\n if (finallyFn) finallyFn();\n });\n}\n"],"names":["config","roundedTop","properties","scale","roundedBottom","roundedLeft","roundedRight","roundedTopRight","property","roundedTopLeft","roundedBottomRight","roundedBottomLeft","rounded","d","w","minW","maxW","h","minH","maxH","bgImg","bgSize","bgPos","bgRepeat","pos","flexDir","shadow","textDecoration","overflowX","overflowY","textTransform","animation","appearance","transform","transformOrigin","visibility","whiteSpace","userSelect","pointerEvents","wordBreak","overflowWrap","textOverflow","boxSizing","cursor","resize","transition","listStyleType","listStylePosition","listStyleImage","fill","stroke","objectFit","objectPosition","backgroundAttachment","outline","bgAttachment","textDecor","listStylePos","listStyleImg","extraConfig","system","transformAlias","prop","propValue","configKeys","Object","keys","result","includes","forEach","_cssProp","transformAliasProps","props","Array","isArray","extraProps","systemProps","compose","layout","color","space","background","border","grid","position","typography","flexbox","textStyle","buttonStyle","colorStyle","shouldForwardProp","createShouldForwardProp","StyledBox","styled","withConfig","hover","active","focus","visited","even","odd","disabled","checked","mixed","selected","invalid","pressed","readOnly","first","last","expanded","grabbed","notFirst","notLast","groupHover","BoxWithPseudoStyles","_after","_focus","_selected","_focusWithin","_hover","_invalid","_active","_disabled","_grabbed","_pressed","_expanded","_visited","_before","_readOnly","_first","_notFirst","_notLast","_last","_placeholder","_checked","_groupHover","_mixed","_odd","_even","css","tx","Box","forwardRef","ref","React","displayName","ButtonGroup","size","variantColor","variant","isAttached","spacing","children","rest","clones","Children","map","child","index","isFirst","isLast","count","isValidElement","cloneElement","boxShadow","zIndex","mr","display","colors","transparent","current","black","white","blue","assign","ink","darken","red","green","orange","cyan","feedback","error","success","warning","info","containers","baseSizes","px","namedSpacingUnits","none","tight","base","loose","sizes","letterSpacings","tighter","normal","wide","wider","widest","lineHeights","shorter","tall","taller","fontWeights","hairline","thin","light","medium","semibold","bold","extrabold","fonts","heading","body","mono","fontSizes","displayLarge","fontWeight","fontSize","lineHeight","letterSpacing","displaySmall","bodyLarge","bodyLargeMedium","bodySmall","bodySmallMedium","caption","captionMedium","textStyles","large","small","shadows","low","mid","high","inner","breakpoints","sm","md","lg","xl","zIndices","hide","auto","radii","full","opacity","borders","theme","baseProps","alignItems","justifyContent","verticalAlign","borderColor","minHeight","minWidth","unstyledStyle","bg","font","m","p","textAlign","linkVariantProps","height","solidVariantProps","mode","customStyles","style","primary","secondary","tertiary","sizeProps","variantProps","useButtonStyle","VisuallyHidden","spin","keyframes","speed","getSize","Spinner","label","thickness","emptyColor","_size","borderWidth","borderBottomColor","borderLeftColor","borderRadius","HoverChange","isHovered","isDisabled","width","left","top","Button","isActive","Comp","as","type","isLoading","loadingText","styles","useHover","hovered","bind","PseudoBox","undefined","mx","ml","Flex","align","justify","wrap","direction","flexDirection","flexWrap","_window","window","e","getWindow","node","ownerDocument","defaultView","checkIsBrowser","Boolean","document","createElement","isBrowser","isFunction","value","createContext","options","strict","errorMessage","name","Context","useContext","context","Error","Provider","assignRef","mergeRefs","refs","__DEV__","process","runIfFn","valueOrFn","args","warn","condition","console","message","callAllHandlers","fns","event","some","fn","defaultPrevented","isString","prototype","toString","call","omit","object","key","pick","startPad","n","z","s","length","repeat","Math","abs","slice","useControllableProp","stateValue","isControlled","defaultPropsMap","defaultValue","onChange","useControllableState","valueProp","shouldUpdate","propsMap","valueState","setValue","nextIsControlled","nextMode","_defaultValue","JSON","stringify","updateValue","next","nextValue","shouldUpdateState","usePrevious","valueRef","useDisclosure","onCloseProp","onClose","onOpenProp","onOpen","defaultIsOpen","isOpenState","setIsOpen","isOpen","prevIsOpen","onToggle","action","useLatestRef","useEventListener","handler","doc","savedHandler","listener","addEventListener","removeEventListener","useForceUpdate","setCount","generatePrefix","prefix","id","useId","idProp","uuid","useUID","useIds","prefixes","useMergeRefs","every","useSafeLayoutEffect","useTimeout","onTimeout","duration","useState","activated","setActivated","timeoutRef","useRef","stopTimeout","useCallback","clearTimeout","useEffect","setTimeout","startTimeout","get","hue","addOpacity","Color","fade","rgb","string","addWhite","mix","hex","addBlack","isDarkColor","isDark","generateAlphaColors","colorEmphasis","emphasis","generateStripe","ThemeContext","defaultTheme","ThemeProvider","StyledComponentsThemeProvider","useTheme","isSupported","api","useMediaQuery","query","matchMedia","matches","setMatches","mediaQueryList","addListener","removeListener","colorGet","path","fallback","themeGet","Accent","Bg","BgAlt","BgLight","Invert","TextHover","TextTitle","TextCaption","TextBody","InputPlaceholder","Border","FeedbackAlert","FeedbackError","FeedbackSuccess","dark","colorModeStyles","colorMode","colorMap","themeColor","generateCssVariables","ColorModes","createGlobalStyle","ColorModeContext","ColorModeProvider","setMode","darkmode","lightmode","setColorMode","toggleColorMode","useColorMode","plain","backgroundColor","types","lineNumberWidth","getLineNumber","Tokens","tokens","getTokenProps","showLineNumbers","bsTheme","pl","pr","token","py","LineNumber","number","borderRight","borderRightColor","flexShrink","Line","hideLineHover","Lines","lines","getLineProps","className","fontFamily","i","line","Highlighter","memo","code","language","Prism","Highlight","CodeBlock","trim","tailwindPreflight","defaultConfig","placeholderColor","cssReset","preflight","CSSReset","ScopedCSSReset","div","FormControlContext","useFormControlContext","useFormControl","reduce","acc","FormControl","isInvalid","isRequired","isReadOnly","role","assumeTextStyle","Text","RequiredIndicator","FormLabel","formControl","pb","Grid","templateColumns","gap","rowGap","columnGap","autoFlow","autoRows","autoColumns","templateRows","templateAreas","area","column","row","gridArea","gridTemplateAreas","gridGap","gridRowGap","gridColumnGap","gridAutoColumns","gridColumn","gridRow","gridAutoFlow","gridAutoRows","gridTemplateRows","gridTemplateColumns","Svg","viewBox","AppsIcon","y","rx","fillRule","clipRule","rotate","ArrowIcon","BlockchainIcon","x","strokeWidth","strokeLinejoin","BlockstackIcon","CheckmarkIcon","cx","cy","r","strokeLinecap","CheckmarkCircleIcon","ChevronIcon","ConnectLogoIcon","EncryptionIcon","ExclamationMarkIcon","ExclamationMarkCircleIcon","EyeIcon","PadlockIcon","PlusCircleIcon","clipPath","PrivateIcon","UnionLineIcon","maskUnits","mask","CloseIcon","ExternalIcon","FailedIcon","defaultStyle","borderTopColor","inputSizes","useInputStyle","isFullWidth","InputAddon","placement","_placement","borderLeftWidth","right","order","styleProps","flex","propTypes","oneOf","InputLeftAddon","InputRightAddon","InputElement","disablePointerEvents","placementProp","InputLeftElement","InputRightElement","Input","ariaLabel","ariaDescribedby","inputStyleProps","WebkitAppearance","defaultProps","focusBorderColor","InputGroup","ModalContext","useModalState","Header","component","borderTopRightRadius","borderTopLeftRadius","Footer","borderBottomRightRadius","borderBottomLeftRadius","ModalUnderlay","noAnimation","bottom","willChange","ModalWrapper","maxHeight","ModalCardContainer","maxWidth","Modal","footerComponent","FooterComponent","headerComponent","HeaderComponent","close","doCloseModal","func","useOnClickOutside","ModalProvider","doOpenModal","oppositeDirections","getOppositePosition","splitPlacement","split","getArrowStyles","arrowSize","oppositePosition","usePopper","initialPlacement","offsetProp","offset","preventOverflow","fixed","forceUpdate","flip","gutter","eventsEnabled","popper","referenceRef","popoverRef","arrowRef","originalPlacement","place","setPlacement","popoverStyles","setPopoverStyles","arrowStyles","setArrowStyles","update","createPopper","strategy","modifiers","phase","enabled","padding","gpuAcceleration","tetherOffset","clientWidth","element","state","arrow","destroy","requestAnimationFrame","computedArrowStyles","popperInstance","reference","PortalManagerCtxProvider","usePortalManager","PortalCtxProvider","usePortalContext","Portal","onMount","onUnmount","containerProp","container","portal","parentPortal","manager","append","appendChild","mountNode","contains","removeChild","finalChildren","createPortal","Stack","isInline","shouldWrapChildren","validChildren","filter","isLastChild","spacingProps","mb","Transition","inProp","timeout","computedStyle","init","CSSTransition","appear","unmountOnExit","entered","exiting","Fade","enter","exit","getTransitionStyles","initialScale","ScaleFade","createBaseStyle","getTransformStyle","axis","Slide","positionStyles","initialOffset","SlideFade","toneToIcon","critical","positive","Action","onClick","removeToast","handleClick","getCustomProps","description","toast","icon","CloseButton","useFocus","focusBind","mt","title","Description","Message","ToastContent","remove","Toast","propsId","tone","onClear","toastProps","useMemo","toastRef","rect","useRect","show","setShow","onExit","animationStyles","noIcon","Icon","onExited","transitionStyles","onMouseEnter","onMouseLeave","ReachAlert","pt","Toaster","toasts","ToastComponent","toastCounter","ToastControllerContext","QUEUE_TOAST","REMOVE_TOAST","reducer","payload","InternalToastProvider","useReducer","dispatch","addToast","ToastProvider","currentContext","useToast","hideOperation","activeId","delay","isHidePending","pending","flush","showOperation","flushable","cancel","flushed","useTooltip","showDelay","hideDelay","hideOnClick","onShow","onHide","hideOnMouseDown","isOpenProp","_label","setLabel","labelIsUpToDate","open","tooltipId","triggerRef","flushRef","hideImmediately","onMouseDown","showTooltip","hideTooltip","onMouseOver","isSelf","target","onKeyDown","getTriggerProps","onMouseOut","onFocus","onBlur","getTooltipProps","getArrowProps","Tooltip","hasArrow","only","trigger","tabIndex","hasAriaLabel","baseTooltipProps","tooltipProps","hiddenProps","paddingX","paddingY","useSelect","copyToClipboard","el","setAttribute","curSelection","getSelection","rangeCount","getRangeAt","select","execCommand","removeAllRanges","addRange","useClipboard","hasCopied","setHasCopied","onCopy","nativeExceptions","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","except","throwNative","Exception","safeAwait","promise","finallyFn","then","data"],"mappings":"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"}
\No newline at end of file