@dreamy-ui/panda-preset
Version:
A panda preset for Dreamy UI React component library
1 lines • 240 kB
Source Map (JSON)
{"version":3,"sources":["../../../node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js","../src/theme/patters/divider.ts","../src/theme/patters/stack.ts","../src/theme/patters/text.ts","../src/theme/patters/visually-hidden.ts","../src/theme/patters/index.ts","../src/theme/resolve-button-colors.ts","../src/theme/semantic-tokens/colors.ts","../src/theme/semantic-tokens/radii.ts","../src/theme/semantic-tokens/index.ts","../src/theme/semantic-tokens/animations.ts","../src/theme/semantic-tokens/font-sizes.ts","../src/theme/semantic-tokens/shadows.ts","../src/theme/tokens/assets.ts","../src/theme/tokens/colors.ts","../src/theme/tokens/typography/fonts.ts","../src/theme/tokens/index.ts","../src/theme/tokens/blurs.ts","../src/theme/tokens/borders.ts","../src/theme/tokens/durations.ts","../src/theme/tokens/easings.ts","../src/theme/tokens/radii.ts","../src/theme/tokens/spacing.ts","../src/theme/tokens/sizes.ts","../src/theme/tokens/typography/font-sizes.ts","../src/theme/tokens/typography/font-weights.ts","../src/theme/tokens/typography/letter-spacings.ts","../src/theme/tokens/typography/line-heights.ts","../src/theme/tokens/z-index.ts","../src/theme/preset.ts","../src/recipes/alert.ts","../src/recipes/avatar.ts","../src/recipes/color-scheme.ts","../src/recipes/badge.ts","../src/recipes/button.ts","../src/recipes/checkbox-card.ts","../src/recipes/field.ts","../src/recipes/icon.ts","../src/recipes/image.ts","../src/recipes/input.ts","../src/recipes/kbd.ts","../src/recipes/list.ts","../src/recipes/modal.ts","../src/recipes/popover.ts","../src/recipes/progress.ts","../src/recipes/radio.ts","../src/recipes/select.ts","../src/recipes/skeleton.ts","../src/recipes/slider.ts","../src/recipes/spinner.ts","../src/recipes/tabs.ts","../src/recipes/textarea.ts","../src/recipes/tooltip.ts","../src/recipes/accordion.ts","../src/recipes/checkbox.ts","../src/recipes/snippet.ts","../src/recipes/table.ts","../src/recipes/index.ts","../src/theme/conditions.ts","../src/theme/global-css.ts","../src/theme/keyframes.ts","../src/theme/staticCss.ts","../src/theme/text-styles.ts","../src/theme/utils/common.ts","../src/theme/utils/container.ts","../src/theme/utils/flexbox.ts","../src/theme/utils/typography.ts","../src/theme/utils/index.ts","../src/types.ts"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import { definePattern } from \"@pandacss/dev\";\r\n\r\nexport const divider = definePattern({\r\n jsx: [\"Divider\"],\r\n description: \"divider pattern\",\r\n properties: {\r\n orientation: {\r\n type: \"enum\",\r\n value: [\"horizontal\", \"vertical\"]\r\n },\r\n thickness: {\r\n type: \"string\",\r\n value: \"1px\"\r\n }\r\n },\r\n defaultValues: {\r\n orientation: \"horizontal\",\r\n thickness: \"1px\",\r\n color: \"alpha.300\"\r\n },\r\n transform(props, { map }) {\r\n const { orientation, thickness, color, backgroundColor, background, bg, ...rest } = props;\r\n return {\r\n \"--thickness\": thickness,\r\n width: map(orientation, (v) => (v === \"vertical\" ? undefined : \"100%\")),\r\n height: map(orientation, (v) => (v === \"horizontal\" ? undefined : \"100%\")),\r\n borderTop: \"none\",\r\n borderBlockEndWidth: map(orientation, (v) =>\r\n v === \"horizontal\" ? \"var(--thickness)\" : undefined\r\n ),\r\n borderInlineStartWidth: map(orientation, (v) =>\r\n v === \"vertical\" ? \"var(--thickness)\" : undefined\r\n ),\r\n borderColor: color ?? backgroundColor ?? background ?? bg,\r\n ...rest\r\n };\r\n }\r\n});\r\n","import { definePattern } from \"@pandacss/dev\";\r\n\r\nexport const stack = definePattern({\r\n description: \"stack pattern\"\r\n // defaultValues: {\r\n // align: \"center\"\r\n // }\r\n // transform(props) {\r\n // const { align, justify, direction, gap, ...rest } = props;\r\n // return {\r\n // display: \"flex\",\r\n // flexDirection: direction,\r\n // alignItems: align ,\r\n // justifyContent: justify,\r\n // gap,\r\n // ...rest\r\n // };\r\n // }\r\n});\r\n","import { definePattern } from \"@pandacss/dev\";\r\n\r\nexport const text = definePattern({\r\n jsx: [\"Heading\", \"Text\"],\r\n properties: {\r\n variant: {\r\n type: \"enum\",\r\n value: [\"heading\", \"link\"]\r\n },\r\n size: {\r\n type: \"enum\",\r\n value: [\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\", \"3xl\", \"4xl\", \"5xl\", \"6xl\", \"7xl\"]\r\n }\r\n },\r\n transform(props, { map }) {\r\n const { variant, size, ...rest } = props;\r\n return {\r\n textStyle: size ?? map(variant, (v) => (v === \"heading\" ? \"xl\" : undefined)),\r\n fontWeight: map(variant, (v) =>\r\n v === \"heading\" ? \"bold\" : v === \"link\" ? \"semibold\" : undefined\r\n ),\r\n fontFamily: map(variant, (v) => (v === \"heading\" ? \"heading\" : undefined)),\r\n transition: map(variant, (v) => (v === \"link\" ? \"colors\" : undefined)),\r\n _hover: map(variant, (v) =>\r\n v === \"link\" ? ({ color: \"{colors.fg.max}\" } as any) : undefined\r\n ),\r\n ...rest\r\n };\r\n }\r\n});\r\n","import { definePattern } from \"@pandacss/dev\";\r\n\r\nexport const visuallyHidden = definePattern({\r\n jsx: [\"VisuallyHidden\", \"VisuallyHiddenInput\"]\r\n});\r\n","import { divider } from \"./divider\";\r\nimport { stack } from \"./stack\";\r\nimport { text } from \"./text\";\r\nimport { visuallyHidden } from \"./visually-hidden\";\r\n\r\nexport const patters = {\r\n divider,\r\n stack,\r\n text,\r\n visuallyHidden\r\n};\r\n","import type { PresetOptions } from \"@/theme/preset\";\r\n\r\nexport function resolveButtonColors(\r\n options: Pick<\r\n Partial<PresetOptions>,\r\n \"primaryColor\" | \"secondaryColor\" | \"buttonPrimaryTextColor\" | \"buttonSecondaryTextColor\"\r\n >\r\n) {\r\n if (options.primaryColor && !options.buttonPrimaryTextColor) {\r\n const contrast = getContrast(options.primaryColor);\r\n options.buttonPrimaryTextColor = contrast;\r\n }\r\n\r\n if (options.secondaryColor && !options.buttonSecondaryTextColor) {\r\n const contrast = getContrast(options.secondaryColor);\r\n options.buttonSecondaryTextColor = contrast;\r\n }\r\n}\r\n\r\nfunction getContrast(color: string) {\r\n const [red, green, blue] = resolveColorScheme(color);\r\n\r\n return red * 0.299 + green * 0.587 + blue * 0.114 > 186 ? \"#000000\" : \"#ffffff\";\r\n}\r\n\r\nfunction resolveColorScheme(color: string) {\r\n // check if color is a hex value\r\n if (color.startsWith(\"#\")) {\r\n const hex = color.slice(1);\r\n const [r, g, b] = hexToRgb(hex);\r\n return [r, g, b];\r\n }\r\n\r\n if (color.startsWith(\"rgb\")) {\r\n const rgb = color.slice(4).split(\")\")[0].split(\",\");\r\n return rgb.map((value) => Number.parseInt(value, 10));\r\n }\r\n\r\n if (color.startsWith(\"hsl\")) {\r\n const hsl = color.slice(4).split(\")\")[0].split(\",\");\r\n const [h, s, l] = hsl.map((value) => Number.parseInt(value, 10));\r\n return hslToRgb(h, s, l);\r\n }\r\n\r\n throw new Error(\r\n `Invalid color: ${color}. Make sure provided color is a valid hex value, rgb value, or hsl value.`\r\n );\r\n}\r\n\r\nfunction hexToRgb(hex: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n\r\n if (!result) throw new Error(`Invalid hex color: ${hex}`);\r\n\r\n return [\r\n Number.parseInt(result[1], 16),\r\n Number.parseInt(result[2], 16),\r\n Number.parseInt(result[3], 16)\r\n ];\r\n}\r\n\r\nfunction hslToRgb(h: number, s: number, l: number) {\r\n let r: number;\r\n let g: number;\r\n let b: number;\r\n\r\n if (s === 0) {\r\n r = g = b = l; // achromatic\r\n } else {\r\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n const p = 2 * l - q;\r\n r = hueToRgb(p, q, h + 1 / 3);\r\n g = hueToRgb(p, q, h);\r\n b = hueToRgb(p, q, h - 1 / 3);\r\n }\r\n\r\n return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\r\n}\r\n\r\nfunction hueToRgb(p: number, q: number, t: number) {\r\n if (t < 0) t += 1;\r\n if (t > 1) t -= 1;\r\n if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n if (t < 1 / 2) return q;\r\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n return p;\r\n}\r\n","import type { PresetOptions } from \"@/theme/preset\";\r\nimport { defineSemanticTokens } from \"@pandacss/dev\";\r\n\r\nexport function createColorTokens({\r\n backgrounds: { light: lightBackground, dark: darkBackground },\r\n primaryColor,\r\n secondaryColor,\r\n buttonPrimaryTextColor,\r\n buttonSecondaryTextColor\r\n}: PresetOptions) {\r\n return defineSemanticTokens.colors({\r\n primary: {\r\n value: primaryColor\r\n },\r\n secondary: {\r\n value: secondaryColor\r\n },\r\n primaryButtonText: {\r\n value: buttonPrimaryTextColor\r\n },\r\n secondaryButtonText: {\r\n value: buttonSecondaryTextColor\r\n },\r\n bg: {\r\n DEFAULT: {\r\n value: { base: lightBackground, _dark: darkBackground }\r\n },\r\n light: {\r\n value: lightBackground\r\n },\r\n dark: {\r\n value: darkBackground\r\n }\r\n },\r\n fg: {\r\n DEFAULT: {\r\n value: {\r\n _light: \"{colors.black/87}\",\r\n _dark: \"{colors.white/87}\"\r\n }\r\n },\r\n max: {\r\n value: {\r\n _light: \"{colors.black}\",\r\n _dark: \"{colors.white}\"\r\n }\r\n },\r\n medium: {\r\n value: {\r\n _light: \"{colors.fgInternal.50/60}\",\r\n _dark: \"{colors.fgInternal.900/60}\"\r\n }\r\n },\r\n disabled: {\r\n value: {\r\n _light: \"{colors.fgInternal.50/38}\",\r\n _dark: \"{colors.fgInternal.900/38}\"\r\n }\r\n }\r\n },\r\n success: {\r\n value: {\r\n _light: \"{colors.green.600}\",\r\n _dark: \"{colors.green.400}\"\r\n }\r\n },\r\n warning: {\r\n value: {\r\n _light: \"{colors.yellow.500}\",\r\n _dark: \"{colors.yellow.400}\"\r\n }\r\n },\r\n error: {\r\n value: {\r\n _light: \"#d60b3e\",\r\n _dark: \"#db6371\"\r\n }\r\n },\r\n info: {\r\n value: {\r\n _light: \"{colors.blue.500}\",\r\n _dark: \"{colors.blue.400}\"\r\n }\r\n },\r\n border: {\r\n default: { value: \"{colors.alpha.300}\" },\r\n muted: { value: \"{colors.alpha.150}\" },\r\n hover: { value: \"{colors.alpha.200}\" }\r\n },\r\n alpha: {\r\n 50: {\r\n value: {\r\n _light: \"{colors.blackAlpha.50}\",\r\n _dark: \"{colors.whiteAlpha.50}\"\r\n }\r\n },\r\n 100: {\r\n value: {\r\n _light: \"{colors.blackAlpha.100}\",\r\n _dark: \"{colors.whiteAlpha.100}\"\r\n }\r\n },\r\n 150: {\r\n value: {\r\n _light: \"{colors.blackAlpha.150}\",\r\n _dark: \"{colors.whiteAlpha.150}\"\r\n }\r\n },\r\n 200: {\r\n value: {\r\n _light: \"{colors.blackAlpha.200}\",\r\n _dark: \"{colors.whiteAlpha.200}\"\r\n }\r\n },\r\n 300: {\r\n value: {\r\n _light: \"{colors.blackAlpha.300}\",\r\n _dark: \"{colors.whiteAlpha.300}\"\r\n }\r\n },\r\n 400: {\r\n value: {\r\n _light: \"{colors.blackAlpha.400}\",\r\n _dark: \"{colors.whiteAlpha.400}\"\r\n }\r\n },\r\n 500: {\r\n value: {\r\n _light: \"{colors.blackAlpha.500}\",\r\n _dark: \"{colors.whiteAlpha.500}\"\r\n }\r\n },\r\n 600: {\r\n value: {\r\n _light: \"{colors.blackAlpha.600}\",\r\n _dark: \"{colors.whiteAlpha.600}\"\r\n }\r\n },\r\n 700: {\r\n value: {\r\n _light: \"{colors.blackAlpha.700}\",\r\n _dark: \"{colors.whiteAlpha.700}\"\r\n }\r\n },\r\n 800: {\r\n value: {\r\n _light: \"{colors.blackAlpha.800}\",\r\n _dark: \"{colors.whiteAlpha.800}\"\r\n }\r\n },\r\n 900: {\r\n value: {\r\n _light: \"{colors.blackAlpha.900}\",\r\n _dark: \"{colors.whiteAlpha.900}\"\r\n }\r\n }\r\n },\r\n inverted: {\r\n value: {\r\n _light: \"{colors.fg.max}\",\r\n _dark: \"{colors.bg}\"\r\n }\r\n }\r\n });\r\n}\r\n","import type { BorderRadius } from \"@/types\";\r\nimport { defineSemanticTokens } from \"@pandacss/dev\";\r\n\r\nexport default function createRadiiTokens(borderRadius: BorderRadius) {\r\n return defineSemanticTokens.radii(\r\n (() => {\r\n switch (borderRadius) {\r\n case \"none\":\r\n return {\r\n l05: { value: \"{radii.none}\" },\r\n l1: { value: \"{radii.none}\" },\r\n l2: { value: \"{radii.none}\" },\r\n l3: { value: \"{radii.none}\" }\r\n } as const;\r\n case \"xs\":\r\n return {\r\n l05: { value: \"{radii.none}\" },\r\n l1: { value: \"{radii.2xs}\" },\r\n l2: { value: \"{radii.xs}\" },\r\n l3: { value: \"{radii.sm}\" }\r\n } as const;\r\n case \"sm\":\r\n return {\r\n l05: { value: \"{radii.2xs}\" },\r\n l1: { value: \"{radii.xs}\" },\r\n l2: { value: \"{radii.sm}\" },\r\n l3: { value: \"{radii.md}\" }\r\n } as const;\r\n case \"md\":\r\n return {\r\n l05: { value: \"{radii.xs}\" },\r\n l1: { value: \"{radii.sm}\" },\r\n l2: { value: \"{radii.md}\" },\r\n l3: { value: \"{radii.lg}\" }\r\n } as const;\r\n case \"lg\":\r\n return {\r\n l05: { value: \"{radii.sm}\" },\r\n l1: { value: \"{radii.md}\" },\r\n l2: { value: \"{radii.lg}\" },\r\n l3: { value: \"{radii.xl}\" }\r\n } as const;\r\n case \"xl\":\r\n return {\r\n l05: { value: \"{radii.md}\" },\r\n l1: { value: \"{radii.lg}\" },\r\n l2: { value: \"{radii.xl}\" },\r\n l3: { value: \"{radii.2xl}\" }\r\n } as const;\r\n case \"2xl\":\r\n return {\r\n l05: { value: \"{radii.lg}\" },\r\n l1: { value: \"{radii.xl}\" },\r\n l2: { value: \"{radii.2xl}\" },\r\n l3: { value: \"{radii.3xl}\" }\r\n } as const;\r\n }\r\n })()\r\n );\r\n}\r\n","import type { PresetOptions } from \"@/theme/preset\";\r\nimport { createColorTokens } from \"@/theme/semantic-tokens/colors\";\r\nimport createRadiiTokens from \"@/theme/semantic-tokens/radii\";\r\nimport { defineSemanticTokens } from \"@pandacss/dev\";\r\nimport animations from \"./animations\";\r\nimport { fontSizes } from \"./font-sizes\";\r\nimport shadows from \"./shadows\";\r\n\r\nexport function createSemanticTokens(options: PresetOptions) {\r\n const radii = createRadiiTokens(options.rounded);\r\n const colors = createColorTokens(options);\r\n\r\n return defineSemanticTokens({\r\n fontSizes,\r\n colors,\r\n shadows,\r\n animations,\r\n easings: {\r\n easeInOut: {\r\n value: [0.4, 0, 0.3, 1]\r\n }\r\n },\r\n radii\r\n });\r\n}\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nconst animations = defineTokens.animations({\r\n \"spinner-linear-spin\": {\r\n value: \"spinner-spin var(--spinner-speed, 0.8s) linear infinite\"\r\n },\r\n \"spinner-ease-spin\": {\r\n value: \"spinner-spin var(--spinner-speed, 0.8s) ease infinite\"\r\n }\r\n});\r\n\r\nexport default animations;\r\n","import { defineSemanticTokens } from \"@pandacss/dev\";\r\n\r\nexport const fontSizes = defineSemanticTokens.fontSizes({\r\n\tsm: {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"xs\",\r\n\t\t\t_md: \"sm\"\r\n\t\t}\r\n\t},\r\n\tmd: {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"sm\",\r\n\t\t\t_md: \"md\"\r\n\t\t}\r\n\t},\r\n\tlg: {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"md\",\r\n\t\t\t_md: \"lg\"\r\n\t\t}\r\n\t},\r\n\txl: {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"lg\",\r\n\t\t\t_md: \"xl\"\r\n\t\t}\r\n\t},\r\n\t\"2xl\": {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"xl\",\r\n\t\t\t_md: \"2xl\"\r\n\t\t}\r\n\t},\r\n\t\"3xl\": {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"2xl\",\r\n\t\t\t_md: \"3xl\"\r\n\t\t}\r\n\t},\r\n\t\"4xl\": {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"3xl\",\r\n\t\t\t_md: \"4xl\"\r\n\t\t}\r\n\t},\r\n\t\"5xl\": {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"4xl\",\r\n\t\t\t_md: \"5xl\"\r\n\t\t}\r\n\t},\r\n\t\"6xl\": {\r\n\t\tvalue: {\r\n\t\t\tDEFAULT: \"5xl\",\r\n\t\t\t_md: \"6xl\"\r\n\t\t}\r\n\t}\r\n});\r\n","import { defineSemanticTokens } from \"@pandacss/dev\";\r\n\r\nconst shadows = defineSemanticTokens.shadows({\r\n\txs: {\r\n\t\tvalue: {\r\n\t\t\tbase: \"0px 1px 2px {colors.blackAlpha.100}, 0px 0px 1px {colors.blackAlpha.100}\",\r\n\t\t\t_dark:\r\n\t\t\t\t\"0px 1px 1px {colors.blackAlpha.100}, 0px 0px 1px inset {colors.blackAlpha.100}\",\r\n\t\t},\r\n\t},\r\n\tsm: {\r\n\t\tvalue: {\r\n\t\t\tbase: \"0px 2px 4px {colors.blackAlpha.100}, 0px 0px 1px {colors.blackAlpha.100}\",\r\n\t\t\t_dark:\r\n\t\t\t\t\"0px 2px 4px {colors.blackAlpha.100}, 0px 0px 1px inset {colors.blackAlpha.100}\",\r\n\t\t},\r\n\t},\r\n\tmd: {\r\n\t\tvalue: {\r\n\t\t\tbase: \"0px 4px 8px {colors.blackAlpha.100}, 0px 0px 1px {colors.blackAlpha.100}\",\r\n\t\t\t_dark:\r\n\t\t\t\t\"0px 4px 8px {colors.blackAlpha.100}, 0px 0px 1px inset {colors.blackAlpha.100}\",\r\n\t\t},\r\n\t},\r\n\tlg: {\r\n\t\tvalue: {\r\n\t\t\tbase: \"0px 8px 16px {colors.blackAlpha.100}, 0px 0px 1px {colors.blackAlpha.100}\",\r\n\t\t\t_dark:\r\n\t\t\t\t\"0px 8px 16px {colors.blackAlpha.100}, 0px 0px 1px inset {colors.blackAlpha.100}\",\r\n\t\t},\r\n\t},\r\n\txl: {\r\n\t\tvalue: {\r\n\t\t\tbase: \"0px 16px 24px {colors.blackAlpha.100}, 0px 0px 1px {colors.blackAlpha.100}\",\r\n\t\t\t_dark:\r\n\t\t\t\t\"0px 16px 24px {colors.blackAlpha.100}, 0px 0px 1px inset {colors.blackAlpha.100}\",\r\n\t\t},\r\n\t},\r\n\t\"2xl\": {\r\n\t\tvalue: {\r\n\t\t\tbase: \"0px 24px 40px {colors.blackAlpha.100}, 0px 0px 1px {colors.blackAlpha.100}\",\r\n\t\t\t_dark:\r\n\t\t\t\t\"0px 24px 40px {colors.blackAlpha.100}, 0px 0px 1px inset {colors.blackAlpha.100}\",\r\n\t\t},\r\n\t},\r\n});\r\n\r\nexport default shadows;\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const assets = defineTokens.assets({});\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport function defineColorTokens() {\r\n return defineTokens.colors({\r\n current: { value: \"currentColor\" },\r\n fgInternal: {\r\n 50: { value: \"#1b1b1f\" },\r\n 900: { value: \"#e9eeff\" }\r\n },\r\n blackAlpha: {\r\n 50: { value: \"rgba(0, 0, 0, 0.04)\" },\r\n 100: { value: \"rgba(0, 0, 0, 0.08)\" },\r\n 150: { value: \"rgba(0, 0, 0, 0.12)\" },\r\n 200: { value: \"rgba(0, 0, 0, 0.16)\" },\r\n 300: { value: \"rgba(0, 0, 0, 0.24)\" },\r\n 400: { value: \"rgba(0, 0, 0, 0.32)\" },\r\n 500: { value: \"rgba(0, 0, 0, 0.40)\" },\r\n 600: { value: \"rgba(0, 0, 0, 0.48)\" },\r\n 700: { value: \"rgba(0, 0, 0, 0.56)\" },\r\n 800: { value: \"rgba(0, 0, 0, 0.64)\" },\r\n 900: { value: \"rgba(0, 0, 0, 0.72)\" }\r\n },\r\n whiteAlpha: {\r\n 50: { value: \"rgba(255, 255, 255, 0.04)\" },\r\n 100: { value: \"rgba(255, 255, 255, 0.08)\" },\r\n 150: { value: \"rgba(255, 255, 255, 0.12)\" },\r\n 200: { value: \"rgba(255, 255, 255, 0.16)\" },\r\n 300: { value: \"rgba(255, 255, 255, 0.24)\" },\r\n 400: { value: \"rgba(255, 255, 255, 0.32)\" },\r\n 500: { value: \"rgba(255, 255, 255, 0.40)\" },\r\n 600: { value: \"rgba(255, 255, 255, 0.48)\" },\r\n 700: { value: \"rgba(255, 255, 255, 0.56)\" },\r\n 800: { value: \"rgba(255, 255, 255, 0.64)\" },\r\n 900: { value: \"rgba(255, 255, 255, 0.72)\" }\r\n },\r\n transparent: { value: \"rgb(0 0 0 / 0)\" }\r\n });\r\n}\r\n","import type { PresetOptions } from \"@/theme/preset\";\r\nimport type { Tokens } from \"@pandacss/dev\";\r\n\r\nexport function createFonts({ body, heading, mono }: PresetOptions[\"fonts\"]): Tokens[\"fonts\"] {\r\n return {\r\n body: {\r\n value: [body, \"sans\"]\r\n },\r\n heading: {\r\n value: [heading, body, \"sans\"]\r\n },\r\n sans: {\r\n value: [\r\n \"ui-sans-serif\",\r\n \"system-ui\",\r\n \"-apple-system\",\r\n \"BlinkMacSystemFont\",\r\n '\"Segoe UI\"',\r\n \"Roboto\",\r\n '\"Helvetica Neue\"',\r\n \"Arial\",\r\n '\"Noto Sans\"',\r\n \"sans-serif\",\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n '\"Noto Color Emoji\"'\r\n ]\r\n },\r\n serif: {\r\n value: [\"ui-serif\", \"Georgia\", \"Cambria\", '\"Times New Roman\"', \"Times\", \"serif\"]\r\n },\r\n mono: {\r\n value: [\r\n mono,\r\n \"ui-monospace\",\r\n \"SFMono-Regular\",\r\n \"Menlo\",\r\n \"Monaco\",\r\n \"Consolas\",\r\n '\"Liberation Mono\"',\r\n '\"Courier New\"',\r\n \"monospace\"\r\n ]\r\n }\r\n };\r\n}\r\n","import type { PresetOptions } from \"@/theme/preset\";\r\nimport { assets } from \"@/theme/tokens/assets\";\r\nimport { defineColorTokens } from \"@/theme/tokens/colors\";\r\nimport { createFonts } from \"@/theme/tokens/typography/fonts\";\r\nimport { defineTokens } from \"@pandacss/dev\";\r\nimport { blurs } from \"./blurs\";\r\nimport { borders } from \"./borders\";\r\nimport { durations } from \"./durations\";\r\nimport { easings } from \"./easings\";\r\nimport { radii } from \"./radii\";\r\nimport { sizes } from \"./sizes\";\r\nimport { spacing } from \"./spacing\";\r\nimport { fontSizes } from \"./typography/font-sizes\";\r\nimport { fontWeights } from \"./typography/font-weights\";\r\nimport { letterSpacings } from \"./typography/letter-spacings\";\r\nimport { lineHeights } from \"./typography/line-heights\";\r\nimport { zIndex } from \"./z-index\";\r\n\r\nexport function createTokens(options: PresetOptions): Required<ReturnType<typeof defineTokens>> {\r\n const fonts = createFonts(options.fonts);\r\n\r\n return defineTokens({\r\n blurs,\r\n borders,\r\n colors: defineColorTokens(),\r\n durations,\r\n assets,\r\n easings,\r\n fonts,\r\n fontSizes,\r\n fontWeights,\r\n letterSpacings,\r\n lineHeights,\r\n radii,\r\n sizes,\r\n spacing,\r\n zIndex\r\n });\r\n}\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const blurs = defineTokens.blurs({\r\n\tsm: { value: \"4px\" },\r\n\tbase: { value: \"8px\" },\r\n\tmd: { value: \"12px\" },\r\n\tlg: { value: \"16px\" },\r\n\txl: { value: \"24px\" },\r\n\t\"2xl\": { value: \"40px\" },\r\n\t\"3xl\": { value: \"64px\" }\r\n});\r\n","export const borders = {\r\n\tnone: { value: \"none\" }\r\n};\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const durations = defineTokens.durations({\r\n\tfastest: { value: \"50ms\" },\r\n\tfaster: { value: \"100ms\" },\r\n\tfast: { value: \"150ms\" },\r\n\tnormal: { value: \"200ms\" },\r\n\tslow: { value: \"300ms\" },\r\n\tslower: { value: \"400ms\" },\r\n\tslowest: { value: \"500ms\" }\r\n});\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const easings = defineTokens.easings({\r\n\tpulse: { value: \"cubic-bezier(0.4, 0.0, 0.6, 1.0)\" },\r\n\tdefault: { value: \"cubic-bezier(0.4, 0, 0.3, 1)\" },\r\n\t\"emphasized-in\": { value: \"cubic-bezier(0.05, 0.7, 0.1, 1.0)\" },\r\n\t\"emphasized-out\": { value: \"cubic-bezier(0.3, 0.0, 0.8, 0.15)\" },\r\n\t\"ease-in-out\": { value: \"cubic-bezier(0.4, 0, 0.3, 1)\" },\r\n\t\"ease-in\": { value: \"cubic-bezier(0.4, 0, 1, 1)\" },\r\n\t\"ease-out\": { value: \"cubic-bezier(0, 0, 0.2, 1)\" }\r\n});\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const radii = defineTokens.radii({\r\n\tnone: { value: \"0\" },\r\n\t\"2xs\": { value: \"0.0625rem\" },\r\n\txs: { value: \"0.125rem\" },\r\n\tsm: { value: \"0.25rem\" },\r\n\tmd: { value: \"0.375rem\" },\r\n\tlg: { value: \"0.5rem\" },\r\n\txl: { value: \"0.75rem\" },\r\n\t\"2xl\": { value: \"1rem\" },\r\n\t\"3xl\": { value: \"1.5rem\" },\r\n\tfull: { value: \"9999px\" }\r\n});\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const spacing = defineTokens.spacing({\r\n\t0: { value: \"0rem\" },\r\n\t0.5: { value: \"0.125rem\" },\r\n\t1: { value: \"0.25rem\" },\r\n\t1.5: { value: \"0.375rem\" },\r\n\t2: { value: \"0.5rem\" },\r\n\t2.5: { value: \"0.625rem\" },\r\n\t3: { value: \"0.75rem\" },\r\n\t3.5: { value: \"0.875rem\" },\r\n\t4: { value: \"1rem\" },\r\n\t4.5: { value: \"1.125rem\" },\r\n\t5: { value: \"1.25rem\" },\r\n\t6: { value: \"1.5rem\" },\r\n\t7: { value: \"1.75rem\" },\r\n\t8: { value: \"2rem\" },\r\n\t9: { value: \"2.25rem\" },\r\n\t10: { value: \"2.5rem\" },\r\n\t11: { value: \"2.75rem\" },\r\n\t12: { value: \"3rem\" },\r\n\t14: { value: \"3.5rem\" },\r\n\t16: { value: \"4rem\" },\r\n\t20: { value: \"5rem\" },\r\n\t24: { value: \"6rem\" },\r\n\t28: { value: \"7rem\" },\r\n\t32: { value: \"8rem\" },\r\n\t36: { value: \"9rem\" },\r\n\t40: { value: \"10rem\" },\r\n\t44: { value: \"11rem\" },\r\n\t48: { value: \"12rem\" },\r\n\t52: { value: \"13rem\" },\r\n\t56: { value: \"14rem\" },\r\n\t60: { value: \"15rem\" },\r\n\t64: { value: \"16rem\" },\r\n\t72: { value: \"18rem\" },\r\n\t80: { value: \"20rem\" },\r\n\t96: { value: \"24rem\" }\r\n});\r\n","import { spacing } from \"./spacing\";\r\n\r\nconst largeSizes = {\r\n\t\"2xs\": { value: \"16rem\" },\r\n\txs: { value: \"20rem\" },\r\n\tsm: { value: \"24rem\" },\r\n\tmd: { value: \"28rem\" },\r\n\tlg: { value: \"32rem\" },\r\n\txl: { value: \"36rem\" },\r\n\t\"2xl\": { value: \"42rem\" },\r\n\t\"3xl\": { value: \"48rem\" },\r\n\t\"4xl\": { value: \"56rem\" },\r\n\t\"5xl\": { value: \"64rem\" },\r\n\t\"6xl\": { value: \"72rem\" },\r\n\t\"7xl\": { value: \"80rem\" },\r\n\t\"8xl\": { value: \"90rem\" }\r\n};\r\n\r\nexport const sizes = {\r\n\t...spacing,\r\n\t...largeSizes,\r\n\tfull: { value: \"100%\" },\r\n\tmin: { value: \"min-content\" },\r\n\tmax: { value: \"max-content\" },\r\n\tfit: { value: \"fit-content\" }\r\n};\r\n","import type { Tokens } from \"@pandacss/dev\";\r\n\r\nexport const fontSizes: Tokens[\"fontSizes\"] = {\r\n \"2xs\": { value: \"0.5rem\" },\r\n xs: { value: \"0.75rem\" },\r\n sm: { value: \"0.875rem\" },\r\n md: { value: \"1rem\" },\r\n lg: { value: \"1.125rem\" },\r\n xl: { value: \"1.25rem\" },\r\n \"2xl\": { value: \"1.5rem\" },\r\n \"3xl\": { value: \"1.875rem\" },\r\n \"4xl\": { value: \"2.25rem\" },\r\n \"5xl\": { value: \"3rem\" },\r\n \"6xl\": { value: \"3.75rem\" },\r\n \"7xl\": { value: \"4.5rem\" },\r\n \"8xl\": { value: \"6rem\" },\r\n \"9xl\": { value: \"8rem\" }\r\n};\r\n","import { Tokens } from \"@pandacss/dev\";\r\n\r\nexport const fontWeights: Tokens[\"fontWeights\"] = {\r\n\tthin: { value: \"100\" },\r\n\textralight: { value: \"200\" },\r\n\tlight: { value: \"300\" },\r\n\tnormal: { value: \"400\" },\r\n\tmedium: { value: \"500\" },\r\n\tsemibold: { value: \"600\" },\r\n\tbold: { value: \"700\" },\r\n\textrabold: { value: \"800\" },\r\n\tblack: { value: \"900\" }\r\n};\r\n","import { Tokens } from \"@pandacss/dev\";\r\n\r\nexport const letterSpacings: Tokens[\"letterSpacings\"] = {\r\n\ttighter: { value: \"-0.05em\" },\r\n\ttight: { value: \"-0.025em\" },\r\n\tnormal: { value: \"0em\" },\r\n\twide: { value: \"0.025em\" },\r\n\twider: { value: \"0.05em\" },\r\n\twidest: { value: \"0.1em\" }\r\n};\r\n","import { Tokens } from \"@pandacss/dev\";\r\n\r\nexport const lineHeights: Tokens[\"lineHeights\"] = {\r\n\tnone: { value: \"1\" },\r\n\ttight: { value: \"1.25\" },\r\n\tnormal: { value: \"1.5\" },\r\n\trelaxed: { value: \"1.75\" },\r\n\tloose: { value: \"2\" }\r\n};\r\n","import { defineTokens } from \"@pandacss/dev\";\r\n\r\nexport const zIndex = defineTokens.zIndex({\r\n\thide: {\r\n\t\tvalue: -1\r\n\t},\r\n\tbase: {\r\n\t\tvalue: 0\r\n\t},\r\n\tdocked: {\r\n\t\tvalue: 10\r\n\t},\r\n\tdropdown: {\r\n\t\tvalue: 1000\r\n\t},\r\n\tsticky: {\r\n\t\tvalue: 1100\r\n\t},\r\n\tbanner: {\r\n\t\tvalue: 1200\r\n\t},\r\n\toverlay: {\r\n\t\tvalue: 1300\r\n\t},\r\n\tmodal: {\r\n\t\tvalue: 1400\r\n\t},\r\n\tpopover: {\r\n\t\tvalue: 1500\r\n\t},\r\n\tskipLink: {\r\n\t\tvalue: 1600\r\n\t},\r\n\ttoast: {\r\n\t\tvalue: 1700\r\n\t},\r\n\ttooltip: {\r\n\t\tvalue: 1800\r\n\t}\r\n});\r\n","import { patters } from \"@/theme/patters\";\r\nimport { resolveButtonColors } from \"@/theme/resolve-button-colors\";\r\nimport { createSemanticTokens } from \"@/theme/semantic-tokens\";\r\nimport { createTokens } from \"@/theme/tokens\";\r\nimport type { BorderRadius, DeepPartial } from \"@/types\";\r\nimport { type Preset, definePreset } from \"@pandacss/dev\";\r\nimport deepmerge from \"deepmerge\";\r\nimport { parts, recipes } from \"../recipes/index\";\r\nimport { conditions } from \"./conditions\";\r\nimport { globalCss } from \"./global-css\";\r\nimport { keyframes } from \"./keyframes\";\r\nimport { staticCss } from \"./staticCss\";\r\nimport { textStyles } from \"./text-styles\";\r\nimport { utilities } from \"./utils/index\";\r\n\r\nexport interface PresetOptions {\r\n backgrounds: {\r\n light: string;\r\n dark: string;\r\n };\r\n fonts: {\r\n body: string;\r\n heading: string;\r\n mono: string;\r\n };\r\n primaryColor: string;\r\n secondaryColor: string;\r\n rounded: BorderRadius;\r\n /**\r\n * Color for the primary button. It depends on the `primaryColor` option.\r\n * @default Dream will automatically resolve contrast to match the `primaryColor` option.\r\n */\r\n buttonPrimaryTextColor: string;\r\n /**\r\n * Color for the secondary button. It depends on the `secondaryColor` option.\r\n * @default Dream will automatically resolve contrast to match the `secondaryColor` option.\r\n */\r\n buttonSecondaryTextColor: string;\r\n}\r\n\r\nexport const defaultPresetOptions = {\r\n backgrounds: {\r\n light: \"#fff\",\r\n dark: \"#0D0D0E\"\r\n },\r\n fonts: {\r\n body: \"sans-serif\",\r\n heading: \"sans-serif\",\r\n mono: \"monospace\"\r\n },\r\n primaryColor: \"{colors.blue.500}\",\r\n secondaryColor: \"{colors.purple.400}\",\r\n buttonPrimaryTextColor: \"white\",\r\n buttonSecondaryTextColor: \"white\",\r\n rounded: \"md\"\r\n} satisfies PresetOptions;\r\n\r\nexport function createDreamPreset(\r\n optionsArg: DeepPartial<PresetOptions> = defaultPresetOptions\r\n): Preset {\r\n resolveButtonColors(optionsArg);\r\n if (!optionsArg.fonts?.heading && optionsArg.fonts?.body) {\r\n optionsArg.fonts.heading = optionsArg.fonts.body;\r\n }\r\n const options = deepmerge(defaultPresetOptions, optionsArg) as PresetOptions;\r\n\r\n const semanticTokens = createSemanticTokens(options);\r\n const tokens = createTokens(options);\r\n\r\n const preset = definePreset({\r\n name: \"dreamy-ui\",\r\n conditions,\r\n theme: {\r\n extend: {\r\n recipes,\r\n textStyles,\r\n tokens,\r\n semanticTokens,\r\n keyframes\r\n }\r\n },\r\n globalCss,\r\n utilities,\r\n patterns: {\r\n extend: patters\r\n },\r\n staticCss\r\n });\r\n\r\n return preset;\r\n}\r\n\r\nexport { parts };\r\n","import { defineParts, defineRecipe } from \"@pandacss/dev\";\r\n\r\nconst parts = defineParts({\r\n root: { selector: \"&\" },\r\n icon: { selector: \"& [data-part='icon']\" },\r\n title: { selector: \"& [data-part='title']\" },\r\n description: { selector: \"& [data-part='description']\" }\r\n});\r\n\r\nexport const alert = defineRecipe({\r\n className: \"dream-alert\",\r\n description: \"Dreamy UI Alert component\",\r\n jsx: [\"Alert\"],\r\n base: parts({\r\n root: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n paddingX: 4,\r\n paddingY: 3,\r\n borderRadius: \"l2\",\r\n fontSize: \"md\",\r\n width: \"100%\",\r\n gap: 0.5\r\n },\r\n title: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n fontWeight: \"semibold\",\r\n fontSize: \"md\",\r\n textWrap: \"wrap\"\r\n },\r\n description: {\r\n ml: 7\r\n },\r\n icon: {\r\n width: \"5\",\r\n height: \"5\",\r\n mr: 2,\r\n flexShrink: 0,\r\n \"[data-status=success]&\": {\r\n color: \"{colors.success}\",\r\n fill: \"{colors.success}\",\r\n stroke: \"{colors.success}\"\r\n },\r\n \"[data-status=warning]&\": {\r\n color: \"{colors.warning}\",\r\n fill: \"{colors.warning}\"\r\n },\r\n \"[data-status=error]&\": {\r\n color: \"{colors.error}\",\r\n fill: \"{colors.error}\"\r\n },\r\n \"[data-status=info]&\": {\r\n color: \"{colors.info}\",\r\n fill: \"{colors.info}\",\r\n stroke: \"{colors.info}\"\r\n }\r\n }\r\n }),\r\n variants: {\r\n variant: {\r\n subtle: parts({\r\n root: {\r\n \"&[data-status=success]\": {\r\n bg: \"{colors.success}/10\"\r\n },\r\n \"&[data-status=warning]\": {\r\n bg: \"{colors.warning}/10\"\r\n },\r\n \"&[data-status=error]\": {\r\n bg: \"{colors.error}/10\"\r\n },\r\n \"&[data-status=info]\": {\r\n bg: \"{colors.info}/10\"\r\n }\r\n }\r\n }),\r\n outline: parts({\r\n root: {\r\n borderWidth: 1,\r\n borderStyle: \"solid\",\r\n \"&[data-status=success]\": {\r\n borderColor: \"{colors.success}\"\r\n },\r\n \"&[data-status=warning]\": {\r\n borderColor: \"{colors.warning}\"\r\n },\r\n \"&[data-status=error]\": {\r\n borderColor: \"{colors.error}\"\r\n },\r\n \"&[data-status=info]\": {\r\n borderColor: \"{colors.info}\"\r\n }\r\n }\r\n })\r\n }\r\n },\r\n defaultVariants: {\r\n variant: \"subtle\"\r\n }\r\n});\r\n","import { defineParts, defineRecipe } from \"@pandacss/dev\";\r\n\r\nconst parts = defineParts({\r\n root: {\r\n selector: \"&\"\r\n },\r\n image: { selector: '& [data-part=\"image\"]' },\r\n name: { selector: '& [data-part=\"name\"]' },\r\n group: { selector: '[data-part=\"group\"]:has(&)' },\r\n excess: { selector: '[data-part=\"group\"]:has(&) [data-part=\"excess\"]' }\r\n});\r\n\r\nexport { parts as avatarParts };\r\n\r\nexport const avatar = defineRecipe({\r\n className: \"dream-avatar\",\r\n jsx: [\"Avatar\", \"AvatarImage\", \"AvatarName\"],\r\n base: parts({\r\n root: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n borderRadius: \"full\",\r\n overflow: \"hidden\"\r\n // transition: \"transform 0.2s {easings.ease-in-out}\",\r\n // _hover: {\r\n // '[data-part=\"group\"]:has(&) &': {\r\n // transform: \"translateX(-0.75rem)\"\r\n // }\r\n // }\r\n },\r\n name: {\r\n fontWeight: \"500\",\r\n fontSize: \"md\"\r\n },\r\n image: {\r\n objectFit: \"cover\",\r\n objectPosition: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n rounded: \"inherit\"\r\n },\r\n group: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n flexDirection: \"row-reverse\"\r\n },\r\n excess: {\r\n bg: \"{colors.alpha.100}\",\r\n backdropFilter: \"blur({blurs.md})\",\r\n fontWeight: \"500\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n rounded: \"full\"\r\n }\r\n }),\r\n defaultVariants: {\r\n size: \"md\"\r\n },\r\n variants: {\r\n size: {\r\n sm: parts({\r\n root: {\r\n width: \"8\",\r\n height: \"8\"\r\n },\r\n excess: {\r\n width: \"8\",\r\n height: \"8\"\r\n }\r\n }),\r\n md: parts({\r\n root: {\r\n width: \"10\",\r\n height: \"10\"\r\n },\r\n excess: {\r\n width: \"10\",\r\n height: \"10\"\r\n }\r\n }),\r\n lg: parts({\r\n root: {\r\n width: \"12\",\r\n height: \"12\"\r\n },\r\n excess: {\r\n width: \"12\",\r\n height: \"12\"\r\n }\r\n })\r\n },\r\n showBorder: {\r\n true: parts({\r\n root: {\r\n borderWidth: \"2px\",\r\n borderStyle: \"solid\",\r\n borderColor: \"{colors.bg}\"\r\n }\r\n })\r\n }\r\n }\r\n});\r\n","import type { SystemStyleObject } from \"@pandacss/dev\";\r\n\r\nconst schemeNames = [\r\n \"primary\",\r\n \"secondary\",\r\n \"success\",\r\n \"warning\",\r\n \"error\",\r\n \"info\",\r\n \"none\"\r\n] as const;\r\n\r\ntype SchemeName = (typeof schemeNames)[number];\r\ntype ColorSchemes = Record<SchemeName, string>;\r\n\r\nconst schemes: ColorSchemes = {\r\n primary: \"{colors.primary}\",\r\n secondary: \"{colors.secondary}\",\r\n success: \"{colors.success}\",\r\n warning: \"{colors.warning}\",\r\n error: \"{colors.error}\",\r\n info: \"{colors.info}\",\r\n none: \"{colors.fg.max}\"\r\n};\r\n\r\nexport function getColorSchemes<T extends string>(\r\n cssVar: string,\r\n schemeProps?: (scheme: SchemeName) => Record<any, SystemStyleObject>,\r\n /**\r\n * if it is a slot recipe, select a main slot to apply the color scheme\r\n */\r\n slot?: T\r\n): Record<\r\n SchemeName,\r\n T extends string ? Record<T, Record<any, SystemStyleObject>> : Record<any, SystemStyleObject>\r\n> {\r\n const entries = Object.fromEntries(\r\n schemeNames.map((scheme) => {\r\n const val = slot\r\n ? { [slot]: { [cssVar]: schemes[scheme] as any, ...schemeProps?.(scheme) } }\r\n : {\r\n [cssVar]: schemes[scheme] as any,\r\n ...schemeProps?.(scheme)\r\n };\r\n\r\n return [scheme, val as Record<any, SystemStyleObject>];\r\n })\r\n );\r\n\r\n return Object.assign({}, entries) as any;\r\n}\r\n","import { getColorSchemes } from \"@/recipes/color-scheme\";\r\nimport { defineRecipe } from \"@pandacss/dev\";\r\n\r\nexport const badge = defineRecipe({\r\n className: \"dream-badge\",\r\n jsx: [\"Badge\"],\r\n base: {\r\n display: \"inline-block\",\r\n whiteSpace: \"nowrap\",\r\n verticalAlign: \"middle\",\r\n px: 1,\r\n textTransform: \"uppercase\",\r\n fontSize: \"xs\",\r\n borderRadius: \"sm\",\r\n fontWeight: \"bold\",\r\n width: \"fit-content\"\r\n },\r\n defaultVariants: {\r\n variant: \"subtle\",\r\n scheme: \"primary\"\r\n },\r\n variants: {\r\n variant: {\r\n outline: {\r\n border: \"1px solid\",\r\n borderColor: \"var(--badge-color)\",\r\n color: \"var(--badge-color)\",\r\n bg: \"transparent\"\r\n },\r\n subtle: {\r\n color: \"var(--badge-color)\",\r\n bg: \"var(--badge-color)/10\"\r\n }\r\n },\r\n scheme: getColorSchemes(\"--badge-color\")\r\n }\r\n});\r\n","import { defineParts, defineRecipe } from \"@pandacss/dev\";\r\n\r\nconst parts = defineParts({\r\n root: { selector: \"&\" },\r\n leftIcon: { selector: '& > [data-part=\"icon-left\"]' },\r\n rightIcon: { selector: '& > [data-part=\"icon-right\"]' },\r\n ripple: { selector: '& > [data-part=\"ripple\"]' },\r\n rippleContainer: { selector: '& > [data-part=\"ripple-container\"]' }\r\n});\r\nexport { parts as buttonParts };\r\n\r\nexport const button = defineRecipe({\r\n className: \"dream-button\",\r\n staticCss: [],\r\n jsx: [\r\n \"Button\",\r\n \"ModalCloseButton\",\r\n \"PopoverCloseButton\",\r\n \"CloseButton\",\r\n \"IconButton\",\r\n \"ModalCloseButtonBase\",\r\n \"ButtonIcon\"\r\n ],\r\n base: parts({\r\n root: {\r\n position: \"relative\",\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n fontWeight: \"semibold\",\r\n cursor: \"pointer\",\r\n borderRadius: \"l2\",\r\n textAlign: \"center\",\r\n userSelect: \"none\",\r\n transition:\r\n \"background-color 0.2s {easings.ease-in-out}, color 0.2s {easings.ease-in-out}, border-color 0.2s {easings.ease-in-out}, fill 0.2s {easings.ease-in-out}, transform 0.15s {easings.ease-in-out}\",\r\n justifyContent: \"center\",\r\n _disabled: {\r\n cursor: \"not-allowed\",\r\n opacity: 0.5\r\n }\r\n }\r\n }),\r\n defaultVariants: {\r\n variant: \"solid\",\r\n size: \"md\"\r\n },\r\n variants: {\r\n variant: {\r\n primary: parts({\r\n root: {\r\n bg: \"primary\",\r\n