next-yak
Version:
next-yak is a CSS-in-JS solution tailored for Next.js that seamlessly combines the expressive power of styled-components syntax with efficient build-time extraction of CSS using Next.js's built-in CSS configuration
1 lines • 40.9 kB
Source Map (JSON)
{"version":3,"sources":["../runtime/internal.ts","../runtime/cssLiteral.tsx","../runtime/styled.tsx","../runtime/atoms.tsx","../runtime/keyframes.tsx","../runtime/internals/unitPostFix.ts","../runtime/internals/mergeCssProp.ts","../runtime/styledDom.tsx"],"sourcesContent":["/**\n * IMPORTANT: This file contains the internal implementation of next-yak's core APIs.\n *\n * Purpose:\n * - Provides the actual runtime implementations for styled, css, keyframes, etc.\n * - Referenced only by the compiled code \"next-yak/internal\"\n *\n * Usage:\n * - DO NOT import from this file directly in your application code.\n * - Always use `import { ... } from \"next-yak\"` in your source files.\n * - The Babel plugin will automatically transform those imports to use this internal module.\n *\n * Why this exists:\n * 1. Allows for cleaner separation between the public API and internal implementation\n * 2. Enables better typing for both pre-compilation (user code) and post-compilation scenarios\n * 3. Easier testing and snapshot comparisons without hashes (in index.ts)\n * 4. Makes next-yak work out-of-the-box with testing frameworks like Jest and Vitest\n *\n * Note for maintainers:\n * - Ensure that types from this file are not published to avoid exposing internal APIs.\n *\n * @internal This module is not intended for direct usage and may change without notice.\n */\n\nexport { css } from \"./cssLiteral.js\";\nexport { styled } from \"./styled.js\";\nexport { atoms } from \"./atoms.js\";\nexport { keyframes } from \"./keyframes.js\";\n\n// the following export is not relative as \"next-yak/context\"\n// links to one file for react server components and\n// to another file for classic react components\nexport { useTheme, YakThemeProvider } from \"next-yak/context\";\n\n// runtime internals (helpers which get injected by the compiler)\nexport { unitPostFix as __yak_unitPostFix } from \"./internals/unitPostFix.js\";\nexport { mergeCssProp as __yak_mergeCssProp } from \"./internals/mergeCssProp.js\";\n\n// export shorthand for DOM styled components (e.g. for styled.div)\nexport * from \"./styledDom.js\";\n","import type { YakTheme } from \"./index.d.ts\";\n\nexport const yakComponentSymbol = Symbol(\"yak\");\n\nexport type ComponentStyles<TProps> = (props: TProps) => {\n className: string;\n style?: {\n [key: string]: string;\n };\n};\n\nexport type CSSInterpolation<TProps> =\n | string\n | number\n | undefined\n | null\n | false\n | ComponentStyles<TProps>\n | {\n // type only identifier to allow targeting components\n // e.g. styled.svg`${Button}:hover & { fill: red; }`\n [yakComponentSymbol]: any;\n }\n | ((props: TProps) => CSSInterpolation<TProps>);\n\ntype CSSStyles<TProps = {}> = {\n style: { [key: string]: string | ((props: TProps) => string) };\n};\n\ntype CSSFunction = <TProps = {}>(\n styles: TemplateStringsArray,\n ...values: CSSInterpolation<TProps & { theme: YakTheme }>[]\n) => ComponentStyles<TProps>;\n\nexport type PropsToClassNameFn = (props: unknown) =>\n | {\n className?: string;\n style?: Record<string, string>;\n }\n | PropsToClassNameFn;\n\n/**\n * css() runtime factory of css``\n *\n * /!\\ next-yak transpiles css`` and styled``\n *\n * This changes the typings of the css`` and styled`` functions.\n * During development the user of next-yak wants to work with the\n * typings BEFORE compilation.\n *\n * Therefore this is only an internal function only and it must be cast to any\n * before exported to the user.\n */\nexport function css<TProps>(\n styles: TemplateStringsArray,\n ...values: CSSInterpolation<NoInfer<TProps> & { theme: YakTheme }>[]\n): ComponentStyles<TProps>;\nexport function css<TProps>(...args: Array<any>): ComponentStyles<TProps> {\n const classNames: string[] = [];\n const dynamicCssFunctions: PropsToClassNameFn[] = [];\n const style: Record<string, string> = {};\n for (const arg of args as Array<string | CSSFunction | CSSStyles<any>>) {\n // A CSS-module class name which got auto generated during build from static css\n // e.g. css`color: red;`\n // compiled -> css(\"yak31e4\")\n if (typeof arg === \"string\") {\n classNames.push(arg);\n }\n // Dynamic CSS e.g.\n // css`${props => props.active && css`color: red;`}`\n // compiled -> css((props: { active: boolean }) => props.active && css(\"yak31e4\"))\n else if (typeof arg === \"function\") {\n dynamicCssFunctions.push(arg as unknown as PropsToClassNameFn);\n }\n // Dynamic CSS with css variables e.g.\n // css`transform: translate(${props => props.x}, ${props => props.y});`\n // compiled -> css(\"yak31e4\", { style: { \"--yakVarX\": props => props.x }, \"--yakVarY\": props => props.y }})\n else if (typeof arg === \"object\" && \"style\" in arg) {\n for (const key in arg.style) {\n const value = arg.style[key];\n if (typeof value === \"function\") {\n dynamicCssFunctions.push((props: unknown) => ({\n style: {\n [key]: String(\n // The value for a css value can be a theme dependent function e.g.:\n // const borderColor = (props: { theme: { mode: \"dark\" | \"light\" } }) => props.theme === \"dark\" ? \"black\" : \"white\";\n // css`border-color: ${borderColor};`\n // Therefore the value has to be extracted recursively\n recursivePropExecution(props, value),\n ),\n },\n }));\n } else {\n style[key] = value;\n }\n }\n }\n }\n\n // Non Dynamic CSS\n if (dynamicCssFunctions.length === 0) {\n const className = classNames.join(\" \");\n return () => ({ className, style });\n }\n\n return (props: unknown) => {\n const allClassNames: string[] = [...classNames];\n const allStyles: Record<string, string> = { ...style };\n for (let i = 0; i < dynamicCssFunctions.length; i++) {\n unwrapProps(props, dynamicCssFunctions[i], allClassNames, allStyles);\n }\n return {\n className: allClassNames.join(\" \"),\n style: allStyles,\n };\n };\n}\n\n// Dynamic CSS with runtime logic\nconst unwrapProps = (\n props: unknown,\n fn: PropsToClassNameFn,\n classNames: string[],\n style: Record<string, string>,\n) => {\n let result = fn(props);\n while (result) {\n if (typeof result === \"function\") {\n result = result(props);\n continue;\n } else if (typeof result === \"object\") {\n if (\"className\" in result && result.className) {\n classNames.push(result.className);\n }\n if (\"style\" in result && result.style) {\n for (const key in result.style) {\n style[key] = result.style[key];\n }\n }\n }\n break;\n }\n};\n\nconst recursivePropExecution = (\n props: unknown,\n fn: (props: unknown) => any,\n): string | number => {\n const result = fn(props);\n if (typeof result === \"function\") {\n return recursivePropExecution(props, result);\n }\n if (process.env.NODE_ENV === \"development\") {\n if (\n typeof result !== \"string\" &&\n typeof result !== \"number\" &&\n !(result instanceof String)\n ) {\n throw new Error(\n `Dynamic CSS functions must return a string or number but returned ${JSON.stringify(\n result,\n )}\\n\\nDynamic CSS function: ${fn.toString()}\\n`,\n );\n }\n }\n return result;\n};\n","import {\n CSSInterpolation,\n ComponentStyles,\n css,\n yakComponentSymbol,\n} from \"./cssLiteral.js\";\nimport React from \"react\";\n\n// the following export is not relative as \"next-yak/context\"\n// links to one file for react server components and\n// to another file for classic react components\nimport { useTheme } from \"next-yak/context\";\nimport type { YakTheme } from \"./context/index.d.ts\";\n\n/** Symbols */\n\n/**\n * This Symbol is a fake theme which was used instead of the real one from the context\n * to speed up rendering\n */\nconst noTheme: YakTheme = {};\n\n/**\n * All valid html tags\n */\ntype HtmlTags = keyof React.JSX.IntrinsicElements;\n\n/**\n * Return type of the provided props merged with the initial props\n * where the specified props are optional\n */\ntype AttrsMerged<TBaseProps, TIn extends object = {}> = Substitute<\n TBaseProps & { theme: YakTheme },\n TIn\n>;\n\n/**\n * The attrs function allows to add additional props in a function that receives\n * the current props as argument.\n */\ntype AttrsFunction<\n TBaseProps,\n TIn extends object,\n TOut extends AttrsMerged<TBaseProps, TIn> = AttrsMerged<TBaseProps, TIn>,\n> = (p: Substitute<TBaseProps & { theme: YakTheme }, TIn>) => Partial<TOut>;\n\n/**\n * The attrs function allows to add additional props to a styled component.\n * The props can be specified as an object or as a function that receives the\n * current props as argument.\n */\ntype Attrs<\n TBaseProps,\n TIn extends object = {},\n TOut extends AttrsMerged<TBaseProps, TIn> = AttrsMerged<TBaseProps, TIn>,\n> = Partial<TOut> | AttrsFunction<TBaseProps, TIn, TOut>;\n\n//\n// The `styled()` API without `styled.` syntax\n//\n// The API design is inspired by styled-components:\n// https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/constructors/styled.tsx\n// https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/models/StyledComponent.ts\n//\nconst StyledFactory = <T,>(Component: HtmlTags | React.FunctionComponent<T>) =>\n Object.assign(yakStyled(Component), {\n attrs: <\n TAttrsIn extends object = {},\n TAttrsOut extends AttrsMerged<T, TAttrsIn> = AttrsMerged<T, TAttrsIn>,\n >(\n attrs: Attrs<T, TAttrsIn, TAttrsOut>,\n ) => yakStyled<T, TAttrsIn, TAttrsOut>(Component, attrs),\n });\n\n/**\n * A yak component has a special symbol attached to it that allows to\n * target the component from a child component and to correctly handle the attrs function (if any).\n * e.g. styled.svg`${Button}:hover & { fill: red; }` or styled(Button)`color: red;`\n */\ntype YakComponent<\n T,\n TAttrsIn extends object = {},\n TAttrsOut extends AttrsMerged<T, TAttrsIn> = AttrsMerged<T, TAttrsIn>,\n> = React.FunctionComponent<T> & {\n [yakComponentSymbol]: [\n React.FunctionComponent<T>,\n AttrsFunction<T, TAttrsIn, TAttrsOut>,\n ];\n};\n\nconst yakStyled = <\n T,\n TAttrsIn extends object = {},\n TAttrsOut extends AttrsMerged<T, TAttrsIn> = AttrsMerged<T, TAttrsIn>,\n>(\n Component:\n | React.FunctionComponent<T>\n | YakComponent<T, TAttrsIn, TAttrsOut>\n | HtmlTags,\n attrs?: Attrs<T, TAttrsIn, TAttrsOut>,\n) => {\n const isYakComponent =\n typeof Component !== \"string\" && yakComponentSymbol in Component;\n\n // if the component that is wrapped is a yak component, we can extract it to render the underlying component directly\n // and we can also extract the attrs function to merge it with the current attrs function so that the sequence of\n // the attrs functions is preserved\n const [parentYakComponent, parentAttrsFn] = isYakComponent\n ? Component[yakComponentSymbol]\n : [];\n\n const mergedAttrsFn = buildRuntimeAttrsProcessor(attrs, parentAttrsFn);\n\n return <TCSSProps extends object = {}>(\n styles: TemplateStringsArray,\n ...values: Array<\n CSSInterpolation<T & NoInfer<TCSSProps> & { theme: YakTheme }>\n >\n ) => {\n const getRuntimeStyles = css<object>(styles, ...(values as any));\n const yak = (props: Substitute<TCSSProps & T, TAttrsIn>) => {\n // if the css component does not require arguments\n // it can be called without arguments and we skip calling useTheme()\n //\n // `attrsFn || getRuntimeStyles.length` is NOT against the rule of hooks as\n // getRuntimeStyles and attrsFn are constants defined outside of the component\n //\n // for example\n //\n // const Button = styled.button`color: red;`\n // ^ does not need to have access to theme, so we skip calling useTheme()\n //\n // const Button = styled.button`${({ theme }) => css`color: ${theme.color};`}`\n // ^ must be have access to theme, so we call useTheme()\n const theme =\n mergedAttrsFn || getRuntimeStyles.length ? useTheme() : noTheme;\n\n // The first components which is not wrapped in a yak component will execute all attrs functions\n // starting from the innermost yak component to the outermost yak component (itself)\n const combinedProps =\n \"$__attrs\" in props\n ? {\n theme,\n ...props,\n }\n : // overwrite and merge the current props with the processed attrs\n combineProps(\n {\n theme,\n ...(props as {\n className?: string;\n style?: React.CSSProperties;\n }),\n // mark the props as processed\n $__attrs: true,\n },\n mergedAttrsFn?.({ theme, ...props } as Substitute<\n T & { theme: YakTheme },\n TAttrsIn\n >),\n );\n // execute all functions inside the style literal\n // e.g. styled.button`color: ${props => props.color};`\n const runtimeStyles = getRuntimeStyles(combinedProps as T & TCSSProps);\n\n // delete the yak theme from the props\n // this must happen after the runtimeStyles are calculated\n // prevents passing the theme prop to the DOM element of a styled component\n const { theme: themeAfterAttr, ...combinedPropsWithoutTheme } =\n combinedProps;\n const propsBeforeFiltering =\n themeAfterAttr === theme ? combinedPropsWithoutTheme : combinedProps;\n\n // remove all props that start with a $ sign for string components e.g. \"button\" or \"div\"\n // so that they are not passed to the DOM element\n const filteredProps = (\n !isYakComponent\n ? removeNonDomProperties(propsBeforeFiltering)\n : propsBeforeFiltering\n ) as T & {\n className?: string;\n style?: React.CSSProperties;\n };\n\n filteredProps.className = mergeClassNames(\n filteredProps.className,\n runtimeStyles.className,\n );\n filteredProps.style =\n \"style\" in filteredProps\n ? {\n ...filteredProps.style,\n ...runtimeStyles.style,\n }\n : runtimeStyles.style;\n\n return parentYakComponent ? (\n // if the styled(Component) syntax is used and the component is a yak component\n // we can call the yak function directly without running through react createElement\n parentYakComponent(filteredProps)\n ) : (\n // if the final component is a string component e.g. styled(\"div\") or a custom non yak fn e.g. styled(MyComponent)\n <Component {...filteredProps} />\n );\n };\n\n // Assign the yakComponentSymbol directly without forwardRef\n return Object.assign(yak, {\n [yakComponentSymbol]: [yak, mergedAttrsFn],\n }) as YakComponent<\n Substitute<TCSSProps & T, TAttrsIn>,\n object,\n AttrsMerged<Substitute<TCSSProps & T, TAttrsIn>, object>\n >;\n };\n};\n\n/**\n * Type for the proxy object returned by `styled` that allows to\n * access all html tags as properties.\n */\ntype StyledLiteral<T> = <TCSSProps>(\n styles: TemplateStringsArray,\n ...values: Array<\n CSSInterpolation<\n T &\n // don't allow inference from types in the tagged template literal\n // additional benefit is that destruction is now typed and provides hints\n NoInfer<TCSSProps> & { theme: YakTheme }\n >\n >\n) => YakComponent<TCSSProps & T>;\n\n/**\n * The `styled` method works perfectly on all of your own or any third-party component,\n * as long as they attach the passed className prop to a DOM element.\n *\n * @usage\n *\n * ```tsx\n * const StyledLink = styled(Link)`\n * color: #BF4F74;\n * font-weight: bold;\n * `;\n * ```\n */\nexport const styled =\n // this type is wrong - but it will work correctly with compiled code\n StyledFactory as typeof StyledFactory & {\n [Tag in HtmlTags]: StyledLiteral<React.JSX.IntrinsicElements[Tag]> & {\n attrs: <\n TAttrsIn extends object = {},\n TAttrsOut extends AttrsMerged<\n React.JSX.IntrinsicElements[Tag],\n TAttrsIn\n > = AttrsMerged<React.JSX.IntrinsicElements[Tag], TAttrsIn>,\n >(\n attrs: Attrs<React.JSX.IntrinsicElements[Tag], TAttrsIn, TAttrsOut>,\n ) => StyledLiteral<\n Substitute<React.JSX.IntrinsicElements[Tag], TAttrsIn>\n >;\n };\n };\n\n/**\n * Remove all entries that start with a $ sign\n *\n * This allows to have props that are used for internal stylingen purposes\n * but are not be passed to the DOM element\n */\nconst removeNonDomProperties = <T extends Record<string, unknown>>(\n obj: T,\n): T => {\n const result = {} as T;\n for (const key in obj) {\n if (!key.startsWith(\"$\") && obj[key] !== undefined) {\n result[key] = obj[key];\n }\n }\n return result;\n};\n\n// util function to merge class names, as they are concatenated with a space\nconst mergeClassNames = (a?: string, b?: string) => {\n if (!a && !b) return undefined;\n if (!a) return b;\n if (!b) return a;\n return a + \" \" + b;\n};\n\n/**\n * merge props and processed props (including class names and styles)\n * e.g.:\\\n * `{ className: \"a\", foo: 1 }` and `{ className: \"b\", bar: 2 }` \\\n * => `{ className: \"a b\", foo: 1, bar: 2 }`\n */\nconst combineProps = <\n T extends {\n className?: string;\n style?: React.CSSProperties;\n },\n TOther extends\n | {\n className?: string;\n style?: React.CSSProperties;\n }\n | null\n | undefined,\n>(\n props: T,\n newProps: TOther,\n) =>\n newProps\n ? (props.className === newProps.className || !newProps.className) &&\n (props.style === newProps.style || !newProps.style)\n ? // shortcut if no style and class merging is necessary\n {\n ...props,\n ...newProps,\n }\n : // merge class names and styles\n {\n ...props,\n ...newProps,\n className: mergeClassNames(props.className, newProps.className),\n style: { ...(props.style || {}), ...(newProps.style || {}) },\n }\n : // if no new props are provided, no merging is necessary\n props;\n\n// util type to remove properties from an object\ntype FastOmit<T extends object, U extends string | number | symbol> = {\n [K in keyof T as K extends U ? never : K]: T[K];\n};\n\n// util type to merge two objects\n// if a property is present in both objects the property from B is used\nexport type Substitute<A extends object, B extends object> = FastOmit<\n A,\n keyof B\n> &\n B;\n\n/**\n * Merges the attrs function of the current component with the attrs function of the parent component\n * in order to preserve the sequence of the attrs functions.\n * Note: In theory, the parentAttrsFn can have different types for TAttrsIn and TAttrsOut\n * but as this is only used internally, we can ignore and simplify this case\n * @param attrs The attrs object or function of the current component (if any)\n * @param parentAttrsFn The attrs function of the parent/wrapped component (if any)\n * @returns A function that receives the props and returns the transformed props\n */\nconst buildRuntimeAttrsProcessor = <\n T,\n TAttrsIn extends object,\n TAttrsOut extends AttrsMerged<T, TAttrsIn>,\n>(\n attrs?: Attrs<T, TAttrsIn, TAttrsOut>,\n parentAttrsFn?: AttrsFunction<T, TAttrsIn, TAttrsOut>,\n): AttrsFunction<T, TAttrsIn, TAttrsOut> | undefined => {\n const ownAttrsFn =\n attrs && (typeof attrs === \"function\" ? attrs : () => attrs);\n\n if (ownAttrsFn && parentAttrsFn) {\n return (props) => {\n const parentProps = parentAttrsFn(props);\n\n // overwrite and merge the parent props with the props received from the attrs function\n // after they went through the parent attrs function.\n //\n // This makes sure the linearity of the attrs functions is preserved and all attrs function receive\n // the whole props object calculated from the previous attrs functions\n return combineProps(\n parentProps,\n ownAttrsFn(combineProps(props, parentProps)),\n );\n };\n }\n\n return ownAttrsFn || parentAttrsFn;\n};\n","/**\n * Allows to use atomic CSS classes in a styled or css block\n *\n * @usage\n *\n * ```tsx\n * import { styled, atoms } from \"next-yak\";\n *\n * const Button = styled.button<{ $primary?: boolean }>`\n * ${atoms(\"text-teal-600\", \"text-base\", \"rounded-md\")}\n * ${props => props.$primary && atoms(\"shadow-md\")}\n * `;\n * ```\n */\nexport const atoms = (...atoms: string[]) => {\n const className = atoms.join(\" \");\n return () => ({ className });\n};\n","/**\n * Allows to use CSS keyframe animations in a styled or css block\n *\n * @usage\n *\n * ```tsx\n * import { styled, keyframes } from \"next-yak\";\n *\n * const rotate = keyframes`\n * from {\n * transform: rotate(0deg);\n * }\n * to {\n * transform: rotate(360deg);\n * }\n * `;\n *\n * const Spinner = styled.div`\n * animation: ${rotate} 1s linear infinite;\n * `;\n * ```\n */\nexport const keyframes = <T extends (string | number | bigint)[] = never>(\n styles: TemplateStringsArray,\n ...dynamic: T\n): string => {\n // during compilation all args of keyframe are compiled\n // to a string which references the animation name\n return styles as any as string;\n};\n","/**\n * Internal helper called by transformed code - Do not use directly\n *\n * Takes a function and a css unit and returns the result of the function concatenated with the unit\n *\n * ```tsx\n * import { styled } from \"next-yak\";\n *\n * const Button = styled.button<{ $width?: boolean }>`\n * width: ${({ $width }) => $width}px;\n * `;\n * ```\n *\n * Which will be transformed to:\n * ```tsx\n * import { styled } from \"next-yak/internals\";\n *\n * const Button = styled.button<{ $width?: boolean }>(\n * \"button\", {\n * width: unitPostFix({ $width }) => $width, \"px\")\n * });\n */\nexport const unitPostFix = (arg: unknown, unit: string) => {\n switch (typeof arg) {\n case \"function\":\n return (props: any) => unitPostFix(arg(props), unit);\n case \"number\":\n case \"string\":\n return `${arg}${unit}`;\n // Ignore falsy values\n default:\n return undefined;\n }\n};\n","/**\n * This is an internal helper function to merge relevant props of a native element with a css prop.\n * It's automatically added when using the `css` prop in a JSX element.\n * e.g.:\n * ```tsx\n * <p\n * className=\"foo\"\n * css={css`\n * color: green;\n * `}\n * {...{ style: { padding: \"30px\" }}}\n * />\n */\nexport const mergeCssProp = (\n relevantProps: Record<string, unknown>,\n cssProp: {\n className: string;\n style?: Record<string, unknown>;\n },\n) => {\n return {\n className: relevantProps.className\n ? relevantProps.className + \" \" + cssProp.className\n : cssProp.className,\n style: { ...(relevantProps.style ?? {}), ...cssProp.style },\n };\n};\n","import { styled } from \"./styled.js\";\n/// Internal API to create styled components\n/// Optimization for faster rendering and smaller bundle size in production\n/// thanks to better minification and dead code elimination\n///\n/// List taken from https://github.com/styled-components/styled-components/blob/e0019ba666fab4b5aaa2bff71ba6ad0005a299fd/packages/styled-components/src/utils/domElements.ts#L90\nexport const __yak_a = /*#__PURE__*/ styled(\"a\");\nexport const __yak_abbr = /*#__PURE__*/ styled(\"abbr\");\nexport const __yak_address = /*#__PURE__*/ styled(\"address\");\nexport const __yak_area = /*#__PURE__*/ styled(\"area\");\nexport const __yak_article = /*#__PURE__*/ styled(\"article\");\nexport const __yak_aside = /*#__PURE__*/ styled(\"aside\");\nexport const __yak_audio = /*#__PURE__*/ styled(\"audio\");\nexport const __yak_b = /*#__PURE__*/ styled(\"b\");\nexport const __yak_base = /*#__PURE__*/ styled(\"base\");\nexport const __yak_bdi = /*#__PURE__*/ styled(\"bdi\");\nexport const __yak_bdo = /*#__PURE__*/ styled(\"bdo\");\nexport const __yak_big = /*#__PURE__*/ styled(\"big\");\nexport const __yak_blockquote = /*#__PURE__*/ styled(\"blockquote\");\nexport const __yak_body = /*#__PURE__*/ styled(\"body\");\nexport const __yak_br = /*#__PURE__*/ styled(\"br\");\nexport const __yak_button = /*#__PURE__*/ styled(\"button\");\nexport const __yak_canvas = /*#__PURE__*/ styled(\"canvas\");\nexport const __yak_caption = /*#__PURE__*/ styled(\"caption\");\nexport const __yak_cite = /*#__PURE__*/ styled(\"cite\");\nexport const __yak_code = /*#__PURE__*/ styled(\"code\");\nexport const __yak_col = /*#__PURE__*/ styled(\"col\");\nexport const __yak_colgroup = /*#__PURE__*/ styled(\"colgroup\");\nexport const __yak_data = /*#__PURE__*/ styled(\"data\");\nexport const __yak_datalist = /*#__PURE__*/ styled(\"datalist\");\nexport const __yak_dd = /*#__PURE__*/ styled(\"dd\");\nexport const __yak_del = /*#__PURE__*/ styled(\"del\");\nexport const __yak_details = /*#__PURE__*/ styled(\"details\");\nexport const __yak_dfn = /*#__PURE__*/ styled(\"dfn\");\nexport const __yak_dialog = /*#__PURE__*/ styled(\"dialog\");\nexport const __yak_div = /*#__PURE__*/ styled(\"div\");\nexport const __yak_dl = /*#__PURE__*/ styled(\"dl\");\nexport const __yak_dt = /*#__PURE__*/ styled(\"dt\");\nexport const __yak_em = /*#__PURE__*/ styled(\"em\");\nexport const __yak_embed = /*#__PURE__*/ styled(\"embed\");\nexport const __yak_fieldset = /*#__PURE__*/ styled(\"fieldset\");\nexport const __yak_figcaption = /*#__PURE__*/ styled(\"figcaption\");\nexport const __yak_figure = /*#__PURE__*/ styled(\"figure\");\nexport const __yak_footer = /*#__PURE__*/ styled(\"footer\");\nexport const __yak_form = /*#__PURE__*/ styled(\"form\");\nexport const __yak_h1 = /*#__PURE__*/ styled(\"h1\");\nexport const __yak_h2 = /*#__PURE__*/ styled(\"h2\");\nexport const __yak_h3 = /*#__PURE__*/ styled(\"h3\");\nexport const __yak_h4 = /*#__PURE__*/ styled(\"h4\");\nexport const __yak_h5 = /*#__PURE__*/ styled(\"h5\");\nexport const __yak_h6 = /*#__PURE__*/ styled(\"h6\");\nexport const __yak_header = /*#__PURE__*/ styled(\"header\");\nexport const __yak_hgroup = /*#__PURE__*/ styled(\"hgroup\");\nexport const __yak_hr = /*#__PURE__*/ styled(\"hr\");\nexport const __yak_html = /*#__PURE__*/ styled(\"html\");\nexport const __yak_i = /*#__PURE__*/ styled(\"i\");\nexport const __yak_iframe = /*#__PURE__*/ styled(\"iframe\");\nexport const __yak_img = /*#__PURE__*/ styled(\"img\");\nexport const __yak_input = /*#__PURE__*/ styled(\"input\");\nexport const __yak_ins = /*#__PURE__*/ styled(\"ins\");\nexport const __yak_kbd = /*#__PURE__*/ styled(\"kbd\");\nexport const __yak_keygen = /*#__PURE__*/ styled(\"keygen\");\nexport const __yak_label = /*#__PURE__*/ styled(\"label\");\nexport const __yak_legend = /*#__PURE__*/ styled(\"legend\");\nexport const __yak_li = /*#__PURE__*/ styled(\"li\");\nexport const __yak_link = /*#__PURE__*/ styled(\"link\");\nexport const __yak_main = /*#__PURE__*/ styled(\"main\");\nexport const __yak_map = /*#__PURE__*/ styled(\"map\");\nexport const __yak_mark = /*#__PURE__*/ styled(\"mark\");\nexport const __yak_menu = /*#__PURE__*/ styled(\"menu\");\nexport const __yak_menuitem = /*#__PURE__*/ styled(\"menuitem\");\nexport const __yak_meta = /*#__PURE__*/ styled(\"meta\");\nexport const __yak_meter = /*#__PURE__*/ styled(\"meter\");\nexport const __yak_nav = /*#__PURE__*/ styled(\"nav\");\nexport const __yak_noscript = /*#__PURE__*/ styled(\"noscript\");\nexport const __yak_object = /*#__PURE__*/ styled(\"object\");\nexport const __yak_ol = /*#__PURE__*/ styled(\"ol\");\nexport const __yak_optgroup = /*#__PURE__*/ styled(\"optgroup\");\nexport const __yak_option = /*#__PURE__*/ styled(\"option\");\nexport const __yak_output = /*#__PURE__*/ styled(\"output\");\nexport const __yak_p = /*#__PURE__*/ styled(\"p\");\nexport const __yak_param = /*#__PURE__*/ styled(\"param\");\nexport const __yak_picture = /*#__PURE__*/ styled(\"picture\");\nexport const __yak_pre = /*#__PURE__*/ styled(\"pre\");\nexport const __yak_progress = /*#__PURE__*/ styled(\"progress\");\nexport const __yak_q = /*#__PURE__*/ styled(\"q\");\nexport const __yak_rp = /*#__PURE__*/ styled(\"rp\");\nexport const __yak_rt = /*#__PURE__*/ styled(\"rt\");\nexport const __yak_ruby = /*#__PURE__*/ styled(\"ruby\");\nexport const __yak_s = /*#__PURE__*/ styled(\"s\");\nexport const __yak_samp = /*#__PURE__*/ styled(\"samp\");\nexport const __yak_script = /*#__PURE__*/ styled(\"script\");\nexport const __yak_section = /*#__PURE__*/ styled(\"section\");\nexport const __yak_select = /*#__PURE__*/ styled(\"select\");\nexport const __yak_small = /*#__PURE__*/ styled(\"small\");\nexport const __yak_source = /*#__PURE__*/ styled(\"source\");\nexport const __yak_span = /*#__PURE__*/ styled(\"span\");\nexport const __yak_strong = /*#__PURE__*/ styled(\"strong\");\nexport const __yak_style = /*#__PURE__*/ styled(\"style\");\nexport const __yak_sub = /*#__PURE__*/ styled(\"sub\");\nexport const __yak_summary = /*#__PURE__*/ styled(\"summary\");\nexport const __yak_sup = /*#__PURE__*/ styled(\"sup\");\nexport const __yak_table = /*#__PURE__*/ styled(\"table\");\nexport const __yak_tbody = /*#__PURE__*/ styled(\"tbody\");\nexport const __yak_td = /*#__PURE__*/ styled(\"td\");\nexport const __yak_textarea = /*#__PURE__*/ styled(\"textarea\");\nexport const __yak_tfoot = /*#__PURE__*/ styled(\"tfoot\");\nexport const __yak_th = /*#__PURE__*/ styled(\"th\");\nexport const __yak_thead = /*#__PURE__*/ styled(\"thead\");\nexport const __yak_time = /*#__PURE__*/ styled(\"time\");\nexport const __yak_tr = /*#__PURE__*/ styled(\"tr\");\nexport const __yak_track = /*#__PURE__*/ styled(\"track\");\nexport const __yak_u = /*#__PURE__*/ styled(\"u\");\nexport const __yak_ul = /*#__PURE__*/ styled(\"ul\");\nexport const __yak_use = /*#__PURE__*/ styled(\"use\");\nexport const __yak_var = /*#__PURE__*/ styled(\"var\");\nexport const __yak_video = /*#__PURE__*/ styled(\"video\");\nexport const __yak_wbr = /*#__PURE__*/ styled(\"wbr\");\nexport const __yak_circle = /*#__PURE__*/ styled(\"circle\");\nexport const __yak_clipPath = /*#__PURE__*/ styled(\"clipPath\");\nexport const __yak_defs = /*#__PURE__*/ styled(\"defs\");\nexport const __yak_ellipse = /*#__PURE__*/ styled(\"ellipse\");\nexport const __yak_foreignObject = /*#__PURE__*/ styled(\"foreignObject\");\nexport const __yak_g = /*#__PURE__*/ styled(\"g\");\nexport const __yak_image = /*#__PURE__*/ styled(\"image\");\nexport const __yak_line = /*#__PURE__*/ styled(\"line\");\nexport const __yak_linearGradient = /*#__PURE__*/ styled(\"linearGradient\");\nexport const __yak_marker = /*#__PURE__*/ styled(\"marker\");\nexport const __yak_mask = /*#__PURE__*/ styled(\"mask\");\nexport const __yak_path = /*#__PURE__*/ styled(\"path\");\nexport const __yak_pattern = /*#__PURE__*/ styled(\"pattern\");\nexport const __yak_polygon = /*#__PURE__*/ styled(\"polygon\");\nexport const __yak_polyline = /*#__PURE__*/ styled(\"polyline\");\nexport const __yak_radialGradient = /*#__PURE__*/ styled(\"radialGradient\");\nexport const __yak_rect = /*#__PURE__*/ styled(\"rect\");\nexport const __yak_stop = /*#__PURE__*/ styled(\"stop\");\nexport const __yak_svg = /*#__PURE__*/ styled(\"svg\");\nexport const __yak_text = /*#__PURE__*/ styled(\"text\");\nexport const __yak_tspan = /*#__PURE__*/ styled(\"tspan\");\n"],"mappings":"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","names":["React","atoms","import_context"]}