{"version":3,"file":"index.cjs","sources":["../src/colorModes.tsx","../src/breakpoints.ts","../src/theme.ts","../src/preflight.tsx","../src/createCssFunction.ts","../src/emStyled.ts","../src/createStyled.ts","../src/createX.ts","../src/createCreateGlobalStyle.tsx","../src/createCx.ts","../src/createJsx.ts","../src/create.ts","../src/index.ts"],"sourcesContent":["import * as React from 'react'\nimport { ThemeContext, Global, ThemeProvider } from '@emotion/react'\nimport { createColorModeProvider, createColorStyles } from '@xstyled/core'\n\nfunction ColorModeStyle({ targetSelector }: { targetSelector?: string }) {\n  const colorModeStyles = React.useCallback(\n    (theme: any) => createColorStyles(theme, { targetSelector }),\n    [targetSelector],\n  )\n  return <Global styles={colorModeStyles} />\n}\n\nexport const ColorModeProvider = createColorModeProvider({\n  ThemeContext,\n  ThemeProvider,\n  ColorModeStyle,\n})\n\nexport {\n  useColorMode,\n  getColorModeInitScriptElement,\n  getColorModeInitScriptTag,\n} from '@xstyled/core'\n","import {\n  useThemeScreens,\n  useThemeBreakpoint,\n  useThemeUp,\n  useThemeDown,\n} from '@xstyled/core'\nimport { Screens } from '@xstyled/system'\nimport { useTheme } from '@emotion/react'\n\nexport { useViewportWidth } from '@xstyled/core'\n\nexport const useScreens = (): Screens => useThemeScreens(useTheme())\n\nexport const useBreakpoint = (): string | null => useThemeBreakpoint(useTheme())\n\nexport const useUp = (key: string | number): boolean =>\n  useThemeUp(useTheme(), key)\n\nexport const useDown = (key: string | number): boolean =>\n  useThemeDown(useTheme(), key)\n","import { useTheme } from '@emotion/react'\nimport { createUseGetter } from '@xstyled/core'\nimport { th } from '@xstyled/system'\n\nexport { useTheme }\n\nexport const useTh = createUseGetter(th, useTheme)\n\nexport const useAngle = createUseGetter(th.angle, useTheme)\nexport const useAnimation = createUseGetter(th.animation, useTheme)\nexport const useBorder = createUseGetter(th.border, useTheme)\nexport const useBorderColor = createUseGetter(th.borderColor, useTheme)\nexport const useBorderStyle = createUseGetter(th.borderStyle, useTheme)\nexport const useBorderWidth = createUseGetter(th.borderWidth, useTheme)\nexport const useColor = createUseGetter(th.color, useTheme)\nexport const useDuration = createUseGetter(th.duration, useTheme)\nexport const useFont = createUseGetter(th.font, useTheme)\nexport const useFontSize = createUseGetter(th.fontSize, useTheme)\nexport const useFontWeight = createUseGetter(th.fontWeight, useTheme)\nexport const useInset = createUseGetter(th.inset, useTheme)\nexport const useLetterSpacing = createUseGetter(th.letterSpacing, useTheme)\nexport const useLineHeight = createUseGetter(th.lineHeight, useTheme)\nexport const usePercent = createUseGetter(th.percent, useTheme)\nexport const usePx = createUseGetter(th.px, useTheme)\nexport const useRadius = createUseGetter(th.radius, useTheme)\nexport const useRingWidth = createUseGetter(th.ringWidth, useTheme)\nexport const useShadow = createUseGetter(th.shadow, useTheme)\nexport const useSize = createUseGetter(th.size, useTheme)\nexport const useSpace = createUseGetter(th.space, useTheme)\nexport const useTimingFunction = createUseGetter(th.timingFunction, useTheme)\nexport const useTransform = createUseGetter(th.transform, useTheme)\nexport const useTransition = createUseGetter(th.transition, useTheme)\nexport const useTransitionProperty = createUseGetter(\n  th.transitionProperty,\n  useTheme,\n)\nexport const useZIndex = createUseGetter(th.zIndex, useTheme)\n","import * as React from 'react'\nimport { Global, useTheme } from '@emotion/react'\nimport { getPreflightStyles } from '@xstyled/system'\n\nexport const Preflight: React.FC = () => {\n  const theme = useTheme()\n  return <Global styles={getPreflightStyles(theme)} />\n}\n","import { css as emCss, SerializedStyles, Theme } from '@emotion/react'\nimport { CSSInterpolation } from '@emotion/serialize'\nimport { StyleGenerator } from '@xstyled/system'\nimport { createTransform } from '@xstyled/core'\n\nconst styleToString = (style: any, props: any): any => {\n  if (Array.isArray(style))\n    return style.reduce((str, style) => str + styleToString(style, props), '')\n  if (typeof style === 'function') return styleToString(style(props), props)\n  return style\n}\n\ninterface Props {\n  theme?: Theme\n}\n\ninterface CSSInterpolationFn {\n  (props: Props): CSSInterpolation\n}\n\nexport interface SerializedStylesFn {\n  (props: Props): SerializedStyles\n}\n\nexport interface XCSSFunction {\n  (fn: CSSInterpolationFn): SerializedStylesFn\n  (...args: CSSInterpolation[]): SerializedStylesFn\n  (\n    strings: TemplateStringsArray,\n    ...rawArgs: CSSInterpolation[]\n  ): SerializedStylesFn\n  (\n    strings: TemplateStringsArray | CSSInterpolation | CSSInterpolationFn,\n    ...rawArgs: CSSInterpolation[]\n  ): SerializedStylesFn\n}\n\nexport const createCssFunction = <TGen extends StyleGenerator>(\n  generator: TGen,\n): XCSSFunction => {\n  const transform = createTransform(generator)\n  return ((\n    strings: TemplateStringsArray | CSSInterpolation | CSSInterpolationFn,\n    ...rawArgs: CSSInterpolation[]\n  ): SerializedStylesFn => {\n    return (props: Props): SerializedStyles => {\n      const emCssArgs =\n        typeof strings === 'function'\n          ? emCss(strings(props))\n          : emCss(\n              strings as TemplateStringsArray,\n              ...rawArgs.map((arg) => {\n                // @ts-expect-error\n                if (typeof arg === 'function') return arg(props)\n                return arg\n              }),\n            )\n      return {\n        ...emCssArgs,\n        styles: styleToString(transform(emCssArgs.styles), props),\n      }\n    }\n  }) as XCSSFunction\n}\n","import styled from '@emotion/styled'\n\n// Provide interop since `@emotion/styled` does not work out of the box with ESM\nexport const emStyled =\n  // @ts-ignore\n  typeof styled === 'function' ? styled : styled.default\n","import * as React from 'react'\nimport { CreateStyledComponent, CreateStyled } from '@emotion/styled'\nimport { Theme } from '@emotion/react'\nimport { StyleGenerator, StyleGeneratorProps } from '@xstyled/system'\nimport { BoxElements } from '@xstyled/core'\nimport { createCssFunction, XCSSFunction } from './createCssFunction'\nimport { emStyled } from './emStyled'\n\nconst flattenArgs = (arg: any, props: any): any => {\n  if (typeof arg === 'function') return flattenArgs(arg(props), props)\n  if (Array.isArray(arg)) return arg.map((arg) => flattenArgs(arg, props))\n  return arg\n}\n\nconst getCreateStyle = (\n  baseCreateStyle: any,\n  css: XCSSFunction,\n  generator?: StyleGenerator,\n) => {\n  if (!generator) {\n    return (strings: any, ...args: any) =>\n      baseCreateStyle((props: any) =>\n        css(strings, ...flattenArgs(args, props))(props),\n      )\n  }\n  return (strings: any, ...args: any) => {\n    if (Array.isArray(strings)) {\n      // The tagged template literal should receive an equal number of\n      // additional separators.\n      strings = [...strings, '\\n']\n    }\n    args = [...args, generator]\n    return baseCreateStyle((props: any) =>\n      css(strings, ...flattenArgs(args, props))(props),\n    )\n  }\n}\n\ntype BoxStyledTags<TProps extends object> = {\n  [Tag in keyof BoxElements]: CreateStyledComponent<\n    TProps & { as?: React.ElementType; theme?: Theme },\n    JSX.IntrinsicElements[BoxElements[Tag]]\n  >\n}\n\nexport interface XStyled<TGen extends StyleGenerator>\n  extends CreateStyled,\n    BoxStyledTags<StyleGeneratorProps<TGen>> {}\n\nconst createShouldForwardProp = (\n  generator: StyleGenerator,\n): ((prop: string) => boolean) => {\n  const propSet = new Set<string>(generator.meta.props)\n  return (prop: string) =>\n    prop !== 'as' && !prop.startsWith('$') && !propSet.has(prop)\n}\n\nexport const createBaseStyled = <TGen extends StyleGenerator>(\n  css: XCSSFunction,\n  generator?: TGen,\n): XStyled<TGen> => {\n  const defaultOptions = generator\n    ? {\n        shouldForwardProp: createShouldForwardProp(generator),\n      }\n    : {}\n  return ((component: any, options: any) =>\n    getCreateStyle(\n      emStyled(component, { ...defaultOptions, ...options }),\n      css,\n      generator,\n    )) as XStyled<TGen>\n}\n\nexport const createStyled = <TGen extends StyleGenerator>(\n  generator: TGen,\n): XStyled<TGen> => {\n  const css = createCssFunction(generator)\n  const styled = createBaseStyled(css)\n  const xstyled = createBaseStyled(css, generator)\n  styled.box = xstyled('div')\n  Object.keys(emStyled).forEach((key) => {\n    // @ts-ignore\n    styled[key] = styled(key)\n    // @ts-ignore\n    styled[`${key}Box`] = xstyled(key)\n  })\n  return styled\n}\n","import * as React from 'react'\nimport { Theme } from '@emotion/react'\nimport { StyledComponent } from '@emotion/styled'\nimport { StyleGenerator, StyleGeneratorProps } from '@xstyled/system'\nimport { createBaseStyled } from './createStyled'\nimport { createCssFunction } from './createCssFunction'\nimport { emStyled } from './emStyled'\n\ntype JSXElementKeys = keyof JSX.IntrinsicElements\n\nexport type X<TGen extends StyleGenerator> = {\n  [Key in JSXElementKeys]: StyledComponent<\n    StyleGeneratorProps<TGen> & { as?: React.ElementType; theme?: Theme },\n    Omit<JSX.IntrinsicElements[Key], 'color'>\n  >\n}\n\nexport const createX = <TGen extends StyleGenerator>(\n  generator: TGen,\n): X<TGen> => {\n  const styled = createBaseStyled(createCssFunction(generator), generator)\n  const x = {} as X<TGen>\n  Object.keys(emStyled).forEach((tag) => {\n    // @ts-ignore\n    x[tag] = styled(tag)``\n  })\n  return x\n}\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport * as React from 'react'\nimport { Global, useTheme } from '@emotion/react'\nimport { StyleGenerator } from '@xstyled/system'\nimport { createCssFunction, XCSSFunction } from './createCssFunction'\n\nexport interface XCreateGlobalStyle {\n  <P extends object = {}>(...styles: Parameters<XCSSFunction>): React.FC<P>\n}\n\nexport const createCreateGlobalStyle = <TGen extends StyleGenerator>(\n  generator: TGen,\n): XCreateGlobalStyle => {\n  const css = createCssFunction(generator)\n  return <P extends object = {}>(...styles: Parameters<typeof css>) => {\n    const GlobalStyle = (props: P) => {\n      const theme = useTheme()\n      return <Global styles={css(...styles)({ theme, ...props })} />\n    }\n    GlobalStyle.displayName = 'GlobalStyle'\n    return GlobalStyle\n  }\n}\n","import { cascade, flatten, string } from '@xstyled/util'\nimport { Theme, StyleGenerator } from '@xstyled/system'\nimport { createCssFunction, SerializedStylesFn } from './createCssFunction'\n\nexport interface Cx {\n  (styles: SerializedStylesFn | SerializedStylesFn[]):\n    | string\n    | ((theme: Theme) => any)\n}\n\nexport const createCx = <TGen extends StyleGenerator>(generator: TGen): Cx => {\n  const css = createCssFunction(generator)\n  return (styles: SerializedStylesFn | SerializedStylesFn[]) => {\n    if (string(styles)) return styles\n    return (theme: Theme) => {\n      const p = { theme }\n\n      const parseStyle = (style: any) => {\n        if (typeof style === 'object') {\n          style = css(style)\n        }\n        return cascade(style, p)\n      }\n\n      if (Array.isArray(styles)) {\n        return flatten(styles).map(parseStyle)\n      }\n\n      return parseStyle(styles)\n    }\n  }\n}\n","/* eslint-disable prefer-rest-params */\nimport * as React from 'react'\nimport { jsx as emJsx } from '@emotion/react'\nimport { StyleGenerator } from '@xstyled/system'\nimport { createCx } from './createCx'\n\nexport type XJsx = typeof emJsx\n\nexport const createJsx = <TGen extends StyleGenerator>(\n  generator: TGen,\n): XJsx => {\n  const cx = createCx(generator)\n  return function jsx(\n    type: React.ElementType,\n    props?: object,\n    ...children: React.ReactNode[]\n  ) {\n    if (props == null || !Object.prototype.hasOwnProperty.call(props, 'css')) {\n      // @ts-expect-error\n      return React.createElement.apply(undefined, arguments, ...children)\n    }\n\n    // @ts-expect-error\n    return emJsx(type, { ...props, css: cx(props.css) }, ...children)\n  } as XJsx\n}\n","import { StyleGenerator } from '@xstyled/system'\nimport { createCssFunction, XCSSFunction } from './createCssFunction'\nimport { createX, X } from './createX'\nimport { createStyled, XStyled } from './createStyled'\nimport {\n  createCreateGlobalStyle,\n  XCreateGlobalStyle,\n} from './createCreateGlobalStyle'\nimport { createCx, Cx } from './createCx'\nimport { createJsx, XJsx } from './createJsx'\n\nexport interface XStyledSet<TGen extends StyleGenerator> {\n  css: XCSSFunction\n  x: X<TGen>\n  styled: XStyled<TGen>\n  createGlobalStyle: XCreateGlobalStyle\n  cx: Cx\n  jsx: XJsx\n}\n\nexport const createCss = <TGen extends StyleGenerator>(\n  generator: TGen,\n): XStyledSet<TGen> => {\n  return {\n    css: createCssFunction(generator),\n    x: createX(generator),\n    styled: createStyled(generator),\n    createGlobalStyle: createCreateGlobalStyle(generator),\n    cx: createCx(generator),\n    jsx: createJsx(generator),\n  }\n}\n","export * from './colorModes'\nexport {\n  withEmotionCache,\n  CacheProvider,\n  ThemeContext,\n  Global,\n  ClassNames,\n  keyframes,\n  ThemeProvider,\n  withTheme,\n} from '@emotion/react'\nexport * from './breakpoints'\nexport * from './theme'\nexport * from './preflight'\nexport * from '@xstyled/system'\nexport * from './create'\n\n// Create and export default system\nimport { system } from '@xstyled/system'\nimport { createCss } from './create'\n\nimport type { XStyled } from './createStyled'\nimport type { X } from './createX'\n\nconst { css, styled, x, createGlobalStyle, cx, jsx } = createCss(system)\nexport { css, styled as default, x, createGlobalStyle, cx, jsx, XStyled, X }\n"],"names":["React","createColorStyles","Global","createColorModeProvider","ThemeContext","ThemeProvider","useThemeScreens","useTheme","useThemeBreakpoint","useThemeUp","useThemeDown","createUseGetter","th","getPreflightStyles","style","createTransform","emCss","__spreadProps","styled","arg","__spreadValues","string","cascade","flatten","emJsx","system"],"mappings":"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"}