UNPKG

@dreamy-ui/panda-preset

Version:

A panda preset for Dreamy UI React component library

1 lines 331 kB
{"version":3,"sources":["../src/index.ts","../src/plugin.ts","../../../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/vendor/ansi-styles/index.js","../../../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/vendor/supports-color/index.js","../../../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/utilities.js","../../../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/index.js","../src/theme/patterns/divider.ts","../src/theme/patterns/flex.ts","../src/theme/patterns/text.ts","../src/theme/patterns/visually-hidden.ts","../src/theme/patterns/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/radio-card.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/card.ts","../src/recipes/checkbox.ts","../src/recipes/editable.ts","../src/recipes/group.ts","../src/recipes/menu.ts","../src/recipes/progress-circular.ts","../src/recipes/snippet.ts","../src/recipes/switch.ts","../src/recipes/table.ts","../src/recipes/theme.ts","../src/recipes/toast.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":["// export * from \"./recipes\";\r\nexport * from \"./plugin\";\r\nexport {\r\n\tdefault,\r\n\tdefaultPresetOptions,\r\n\tparts,\r\n\ttype PresetOptions\r\n} from \"./theme/preset\";\r\nexport * from \"./types\";\r\n","import { definePlugin } from \"@pandacss/dev\";\r\nimport type { PandaPlugin } from \"@pandacss/types\";\r\nimport chalk from \"chalk\";\r\nimport fs from \"node:fs/promises\";\r\nimport path from \"node:path\";\r\n\r\n/**\r\n * This plugin is used to modify the `jsx` directory in the `styled-system` folder,\r\n * to remove the jsx generated filed from patterns, since Dreamy UI has its own jsx implementation.\r\n *\r\n * This function does not throw at errors, since it is not required to build.\r\n */\r\nexport const dreamyPlugin: PandaPlugin = definePlugin({\r\n name: \"dreamy-plugin\",\r\n hooks: {\r\n \"codegen:done\": async () => {\r\n // check if styled-system exists\r\n const styledSystemFolder = path.join(process.cwd(), \"styled-system\");\r\n if (!(await fs.stat(styledSystemFolder)).isDirectory()) {\r\n console.error(\r\n chalk.blue(`❌ ${chalk.red(\"styled-system\")} folder does not exist.`)\r\n );\r\n console.log(chalk.yellow(\"Failed when trying to modify `jsx` directory.\"));\r\n return;\r\n }\r\n\r\n // check if jsx folder exists\r\n const jsxFolder = path.join(process.cwd(), \"styled-system\", \"jsx\");\r\n if (!(await fs.stat(jsxFolder)).isDirectory()) {\r\n console.error(\r\n chalk.blue(\r\n `❌ ${chalk.red(\r\n \"jsx\"\r\n )} folder does not exist in styled-system. Did you forget to add ${chalk.green(\r\n \"jsxFramework: 'react'\"\r\n )} to the ${chalk.green(\"panda.config.ts\")}?`\r\n )\r\n );\r\n return;\r\n }\r\n\r\n const files = await fs.readdir(jsxFolder);\r\n for (const file of files) {\r\n if (\r\n ![\"index\", \"factory\", \"is-valid-prop\"].some((prefix) => file.startsWith(prefix))\r\n ) {\r\n await fs.unlink(path.join(jsxFolder, file));\r\n }\r\n }\r\n\r\n let js: \"mjs\" | \"js\" | \"both\" = \"js\";\r\n\r\n // read the index.js and index.mjs files\r\n const indexJs = await fs\r\n .readFile(path.join(jsxFolder, \"index.js\"), \"utf-8\")\r\n .catch(() => null);\r\n const indexMjs = await fs\r\n .readFile(path.join(jsxFolder, \"index.mjs\"), \"utf-8\")\r\n .catch(() => null);\r\n\r\n if (indexJs && indexMjs) {\r\n js = \"both\";\r\n } else if (indexJs) {\r\n js = \"js\";\r\n } else if (indexMjs) {\r\n js = \"mjs\";\r\n }\r\n\r\n const indexContent = `export * from './factory.js';\r\nexport * from './is-valid-prop.js';`;\r\n\r\n // write the index files\r\n await Promise.all([\r\n (js === \"js\" || js === \"both\") &&\r\n fs.writeFile(path.join(jsxFolder, \"index.js\"), indexContent),\r\n (js === \"mjs\" || js === \"both\") &&\r\n fs.writeFile(path.join(jsxFolder, \"index.mjs\"), indexContent),\r\n fs.writeFile(\r\n path.join(jsxFolder, \"index.d.ts\"),\r\n `export * from './factory';\r\nexport * from './is-valid-prop';\r\nexport type { HTMLStyledProps, StyledComponent } from '../types/jsx';`\r\n )\r\n ]);\r\n\r\n console.log(\r\n chalk.cyan(\r\n \"✔️ Dreamy UI has successfully modified the jsx files in the styled-system folder.\"\r\n )\r\n );\r\n }\r\n }\r\n});\r\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","import process from 'node:process';\nimport os from 'node:os';\nimport tty from 'node:tty';\n\n// From: https://github.com/sindresorhus/has-flag/blob/main/index.js\n/// function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) {\nfunction hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n\nconst {env} = process;\n\nlet flagForceColor;\nif (\n\thasFlag('no-color')\n\t|| hasFlag('no-colors')\n\t|| hasFlag('color=false')\n\t|| hasFlag('color=never')\n) {\n\tflagForceColor = 0;\n} else if (\n\thasFlag('color')\n\t|| hasFlag('colors')\n\t|| hasFlag('color=true')\n\t|| hasFlag('color=always')\n) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3,\n\t};\n}\n\nfunction _supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m')\n\t\t\t|| hasFlag('color=full')\n\t\t\t|| hasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\t// Check for Azure DevOps pipelines.\n\t// Has to be above the `!streamIsTTY` check.\n\tif ('TF_BUILD' in env && 'AGENT_NAME' in env) {\n\t\treturn 1;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10\n\t\t\t&& Number(osRelease[2]) >= 10_586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14_931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['GITHUB_ACTIONS', 'GITEA_ACTIONS', 'CIRCLECI'].some(key => key in env)) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (['TRAVIS', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif (env.TERM === 'xterm-kitty') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app': {\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\t}\n\n\t\t\tcase 'Apple_Terminal': {\n\t\t\t\treturn 2;\n\t\t\t}\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nexport function createSupportsColor(stream, options = {}) {\n\tconst level = _supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options,\n\t});\n\n\treturn translateLevel(level);\n}\n\nconst supportsColor = {\n\tstdout: createSupportsColor({isTTY: tty.isatty(1)}),\n\tstderr: createSupportsColor({isTTY: tty.isatty(2)}),\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\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 flex = definePattern({\r\n\tjsx: [\"Flex\", \"Group\"]\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 { flex } from \"./flex\";\r\nimport { text } from \"./text\";\r\nimport { visuallyHidden } from \"./visually-hidden\";\r\n\r\nexport const patterns = {\r\n\tdivider,\r\n\ttext,\r\n\tvisuallyHidden,\r\n\tflex\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 if (typeof options.primaryColor === \"string\") {\r\n options.buttonPrimaryTextColor = getContrast(options.primaryColor);\r\n } else {\r\n options.buttonPrimaryTextColor = {\r\n light: getContrast(options.primaryColor.light),\r\n dark: getContrast(options.primaryColor.dark)\r\n };\r\n }\r\n }\r\n\r\n if (options.secondaryColor && !options.buttonSecondaryTextColor) {\r\n if (typeof options.secondaryColor === \"string\") {\r\n options.buttonSecondaryTextColor = getContrast(options.secondaryColor);\r\n } else {\r\n options.buttonSecondaryTextColor = {\r\n light: getContrast(options.secondaryColor.light),\r\n dark: getContrast(options.secondaryColor.dark)\r\n };\r\n }\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 DEFAULT: {\r\n value:\r\n typeof primaryColor === \"string\"\r\n ? primaryColor\r\n : {\r\n _light: primaryColor.light,\r\n _dark: primaryColor.dark\r\n }\r\n },\r\n fg: {\r\n value:\r\n typeof buttonPrimaryTextColor === \"string\"\r\n ? buttonPrimaryTextColor\r\n : {\r\n _light: buttonPrimaryTextColor.light,\r\n _dark: buttonPrimaryTextColor.dark\r\n }\r\n }\r\n },\r\n secondary: {\r\n DEFAULT: {\r\n value:\r\n typeof secondaryColor === \"string\"\r\n ? secondaryColor\r\n : {\r\n _light: secondaryColor.light,\r\n _dark: secondaryColor.dark\r\n }\r\n },\r\n fg: {\r\n value:\r\n typeof buttonSecondaryTextColor === \"string\"\r\n ? buttonSecondaryTextColor\r\n : {\r\n _light: buttonSecondaryTextColor.light,\r\n _dark: buttonSecondaryTextColor.dark\r\n }\r\n }\r\n },\r\n primaryButtonText: {\r\n value:\r\n typeof buttonPrimaryTextColor === \"string\"\r\n ? buttonPrimaryTextColor\r\n : {\r\n _light: buttonPrimaryTextColor.light,\r\n _dark: buttonPrimaryTextColor.dark\r\n }\r\n },\r\n secondaryButtonText: {\r\n value:\r\n typeof buttonSecondaryTextColor === \"string\"\r\n ? buttonSecondaryTextColor\r\n : {\r\n _light: buttonSecondaryTextColor.light,\r\n _dark: buttonSecondaryTextColor.dark\r\n }\r\n },\r\n bg: {\r\n DEFAULT: {\r\n value: {\r\n base: lightBackground,\r\n _light: lightBackground,\r\n _dark: darkBackground\r\n }\r\n },\r\n light: {\r\n value: lightBackground\r\n },\r\n dark: {\r\n value: darkBackground\r\n },\r\n panel: {\r\n value: {\r\n // light background with 85% opacity\r\n base: `color-mix(in srgb, ${lightBackground} 85%, transparent 15%)`,\r\n // dark background with white alpha, to whiten the background and also alphied\r\n _dark: `color-mix(in srgb, ${darkBackground} 85%, {colors.whiteAlpha.200} 20%)`\r\n }\r\n }\r\n },\r\n fg: {\r\n DEFAULT: {\r\n value: {\r\n _light: \"{colors.gray.950}\",\r\n _dark: \"{colors.gray.50}\"\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.gray.600}\",\r\n _dark: \"{colors.gray.400}\"\r\n }\r\n },\r\n disabled: {\r\n value: {\r\n _light: \"{colors.gray.400}\",\r\n _dark: \"{colors.gray.500}\"\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: {\r\n value: \"{colors.alpha.300}\"\r\n },\r\n muted: {\r\n value: \"{colors.alpha.200}\"\r\n },\r\n hover: {\r\n value: \"{colors.alpha.400}\"\r\n }\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 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 950: {\r\n value: {\r\n _light: \"{colors.blackAlpha.950}\",\r\n _dark: \"{colors.whiteAlpha.950}\"\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 \"p-2\": { value: \"{radii.none}\" },\r\n \"p-3\": { value: \"{radii.none}\" },\r\n \"p-4\": { value: \"{radii.none}\" },\r\n \"p-5\": { value: \"{radii.none}\" },\r\n \"p-6\": { 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 \"p-2\": { value: \"0.375rem\" },\r\n \"p-3\": { value: \"0.525rem\" },\r\n \"p-4\": { value: \"0.625rem\" },\r\n \"p-5\": { value: \"0.775rem\" },\r\n \"p-6\": { value: \"0.875rem\" }\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 \"p-2\": { value: \"0.5rem\" },\r\n \"p-3\": { value: \"0.65rem\" },\r\n \"p-4\": { value: \"0.75rem\" },\r\n \"p-5\": { value: \"0.9rem\" },\r\n \"p-6\": { value: \"1rem\" }\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 \"p-2\": { value: \"0.625rem\" },\r\n \"p-3\": { value: \"0.775rem\" },\r\n \"p-4\": { value: \"0.875rem\" },\r\n \"p-5\": { value: \"1.025rem\" },\r\n \"p-6\": { value: \"1.125rem\" }\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 \"p-2\": { value: \"0.75rem\" },\r\n \"p-3\": { value: \"0.9rem\" },\r\n \"p-4\": { value: \"1rem\" },\r\n \"p-5\": { value: \"1.15rem\" },\r\n \"p-6\": { value: \"1.25rem\" }\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 \"p-2\": { value: \"1rem\" },\r\n \"p-3\": { value: \"1.15rem\" },\r\n \"p-4\": { value: \"1.25rem\" },\r\n \"p-5\": { value: \"1.4rem\" },\r\n \"p-6\": { value: \"1.5rem\" }\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 \"p-2\": { value: \"1.25rem\" },\r\n \"p-3\": { value: \"1.4rem\" },\r\n \"p-4\": { value: \"1.5rem\" },\r\n \"p-5\": { value: \"1.65rem\" },\r\n \"p-6\": { value: \"1.75rem\" }\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\treturn defineTokens.colors({\r\n\t\tcurrent: { value: \"currentColor\" },\r\n\t\tblackAlpha: {\r\n\t\t\t50: { value: \"rgba(0, 0, 0, 0.04)\" },\r\n\t\t\t100: { value: \"rgba(0, 0, 0, 0.08)\" },\r\n\t\t\t200: { value: \"rgba(0, 0, 0, 0.12)\" },\r\n\t\t\t300: { value: \"rgba(0, 0, 0, 0.16)\" },\r\n\t\t\t400: { value: \"rgba(0, 0, 0, 0.24)\" },\r\n\t\t\t500: { value: \"rgba(0, 0, 0, 0.32)\" },\r\n\t\t\t600: { value: \"rgba(0, 0, 0, 0.40)\" },\r\n\t\t\t700: { value: \"rgba(0, 0, 0, 0.48)\" },\r\n\t\t\t800: { value: \"rgba(0, 0, 0, 0.56)\" },\r\n\t\t\t900: { value: \"rgba(0, 0, 0, 0.64)\" },\r\n\t\t\t950: { value: \"rgba(0, 0, 0, 0.72)\" }\r\n\t\t},\r\n\t\twhiteAlpha: {\r\n\t\t\t50: { value: \"rgba(255, 255, 255, 0.04)\" },\r\n\t\t\t100: { value: \"rgba(255, 255, 255, 0.08)\" },\r\n\t\t\t200: { value: \"rgba(255, 255, 255, 0.12)\" },\r\n\t\t\t300: { value: \"rgba(255, 255, 255, 0.16)\" },\r\n\t\t\t400: { value: \"rgba(255, 255, 255, 0.24)\" },\r\n\t\t\t500: { value: \"rgba(255, 255, 255, 0.32)\" },\r\n\t\t\t600: { value: \"rgba(255, 255, 255, 0.40)\" },\r\n\t\t\t700: { value: \"rgba(255, 255, 255, 0.48)\" },\r\n\t\t\t800: { value: \"rgba(255, 255, 255, 0.56)\" },\r\n\t\t\t900: { value: \"rgba(255, 255, 255, 0.64)\" },\r\n\t\t\t950: { value: \"rgba(255, 255, 255, 0.72)\" }\r\n\t\t},\r\n\t\ttransparent: { value: \"rgb(0 0 0 / 0)\" },\r\n\t\tgray: {\r\n\t\t\t50: { value: \"#fafafa\" },\r\n\t\t\t100: { value: \"#f4f4f5\" },\r\n\t\t\t200: { value: \"#e4e4e7\" },\r\n\t\t\t300: { value: \"#d4d4d8\" },\r\n\t\t\t400: { value: \"#a1a1aa\" },\r\n\t\t\t500: { value: \"#71717a\" },\r\n\t\t\t600: { value: \"#52525b\" },\r\n\t\t\t700: { value: \"#3f3f46\" },\r\n\t\t\t800: { value: \"#27272a\" },\r\n\t\t\t900: { value: \"#18181b\" },\r\n\t\t\t950: { value: \"#111111\" }\r\n\t\t}\r\n\t});\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 }: Pre