@rainersoft/design-tokens 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +246 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1230 -0
- package/dist/index.d.ts +1230 -0
- package/dist/index.mjs +246 -0
- package/dist/index.mjs.map +1 -1
- package/formats/tailwind.config.ts +45 -1
- package/formats/tokens.json +2 -2
- package/package.json +25 -24
- package/tokens/animations.json +59 -0
- package/tokens/colors/dark.json +123 -0
- package/tokens/colors/light.json +123 -0
- package/tokens/index.ts +33 -0
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts","../tokens/colors/light.json","../tokens/colors/dark.json","../tokens/typography.json","../tokens/spacing.json","../tokens/radius.json","../tokens/shadows.json","../tokens/utilities.ts","../tokens/accessibility.ts","../tokens/index.ts","../themes/light.ts","../themes/dark.ts","../themes/index.ts"],"sourcesContent":["/**\r\n * @fileoverview Ponto de entrada principal da biblioteca @rainersoft/design-tokens\r\n * \r\n * @description\r\n * Biblioteca enterprise-grade de design tokens para sistemas de design modernos.\r\n * Tecnologicamente agnóstica, escalável e pronta para produção.\r\n * \r\n * Esta biblioteca fornece tokens de design estruturados que podem ser utilizados\r\n * em qualquer framework ou tecnologia, garantindo consistência visual em toda\r\n * a aplicação.\r\n * \r\n * @module @rainersoft/design-tokens\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @license MIT\r\n * @since 1.0.0\r\n * \r\n * @example\r\n * ```typescript\r\n * import { tokens, themes, lightTheme, darkTheme } from '@rainersoft/design-tokens';\r\n * \r\n * // Usar tokens diretamente\r\n * const primaryColor = tokens.colors.light.brand.primary;\r\n * \r\n * // Usar temas completos\r\n * const theme = lightTheme;\r\n * ```\r\n */\r\n\r\n// Re-export everything from tokens\r\nexport * from './tokens';\r\n\r\n// Re-export themes\r\nexport * from './themes';\r\n\r\n/**\r\n * Exportação padrão dos tokens de design\r\n * \r\n * @description\r\n * Exporta todos os tokens organizados por categoria (cores, tipografia, espaçamento, etc.)\r\n * \r\n * @type {import('./tokens').default}\r\n */\r\nexport { default as tokens } from './tokens';\r\n\r\n/**\r\n * Exportação padrão dos temas\r\n * \r\n * @description\r\n * Exporta os temas disponíveis (claro e escuro)\r\n * \r\n * @type {import('./themes').default}\r\n */\r\nexport { default as themes } from './themes';\r\n\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Light theme color palette - Modern and professional design with WCAG AA compliance\",\r\n \"colors\": {\r\n \"primary\": {\r\n \"base\": \"#0891b2\",\r\n \"hover\": \"#0e7490\",\r\n \"active\": \"#155e75\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"focus\": \"#0891b2\",\r\n \"background\": \"#ecfeff\",\r\n \"backgroundHover\": \"#cffafe\",\r\n \"backgroundActive\": \"#a5f3fc\",\r\n \"border\": \"#0891b2\",\r\n \"borderHover\": \"#0e7490\",\r\n \"borderFocus\": \"#06b6d4\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#a3a3a3\"\r\n },\r\n \"secondary\": {\r\n \"base\": \"#9333ea\",\r\n \"hover\": \"#7e22ce\",\r\n \"active\": \"#6b21a8\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"focus\": \"#9333ea\",\r\n \"background\": \"#faf5ff\",\r\n \"backgroundHover\": \"#f3e8ff\",\r\n \"backgroundActive\": \"#e9d5ff\",\r\n \"border\": \"#9333ea\",\r\n \"borderHover\": \"#7e22ce\",\r\n \"borderFocus\": \"#a855f7\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#a3a3a3\"\r\n },\r\n \"accent\": {\r\n \"base\": \"#db2777\",\r\n \"hover\": \"#be185d\",\r\n \"active\": \"#9f1239\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"focus\": \"#db2777\",\r\n \"background\": \"#fdf2f8\",\r\n \"backgroundHover\": \"#fce7f3\",\r\n \"backgroundActive\": \"#fbcfe8\",\r\n \"border\": \"#db2777\",\r\n \"borderHover\": \"#be185d\",\r\n \"borderFocus\": \"#ec4899\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#a3a3a3\"\r\n },\r\n \"background\": {\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#fafafa\",\r\n \"tertiary\": \"#f5f5f5\",\r\n \"inverse\": \"#0a0a0f\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.5)\",\r\n \"muted\": \"#f9fafb\"\r\n },\r\n \"surface\": {\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#fafafa\",\r\n \"tertiary\": \"#f5f5f5\",\r\n \"elevated\": \"#ffffff\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.5)\",\r\n \"hover\": \"#f9fafb\",\r\n \"active\": \"#f3f4f6\"\r\n },\r\n \"text\": {\r\n \"primary\": \"#171717\",\r\n \"secondary\": \"#404040\",\r\n \"tertiary\": \"#737373\",\r\n \"inverse\": \"#ffffff\",\r\n \"disabled\": \"#a3a3a3\",\r\n \"link\": \"#0891b2\",\r\n \"linkHover\": \"#0e7490\",\r\n \"linkActive\": \"#155e75\",\r\n \"linkVisited\": \"#7e22ce\",\r\n \"onPrimary\": \"#ffffff\",\r\n \"onSecondary\": \"#ffffff\",\r\n \"onAccent\": \"#ffffff\",\r\n \"onBackground\": \"#171717\",\r\n \"onSurface\": \"#171717\"\r\n },\r\n \"border\": {\r\n \"primary\": \"#e5e5e5\",\r\n \"secondary\": \"#d4d4d4\",\r\n \"tertiary\": \"#a3a3a3\",\r\n \"focus\": \"#0891b2\",\r\n \"focusRing\": \"#06b6d4\",\r\n \"inverse\": \"#404040\",\r\n \"hover\": \"#d4d4d4\",\r\n \"active\": \"#a3a3a3\",\r\n \"disabled\": \"#e5e5e5\"\r\n },\r\n \"status\": {\r\n \"success\": {\r\n \"base\": \"#22c55e\",\r\n \"hover\": \"#16a34a\",\r\n \"active\": \"#15803d\",\r\n \"background\": \"#f0fdf4\",\r\n \"backgroundHover\": \"#dcfce7\",\r\n \"border\": \"#86efac\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#166534\"\r\n },\r\n \"warning\": {\r\n \"base\": \"#f59e0b\",\r\n \"hover\": \"#d97706\",\r\n \"active\": \"#b45309\",\r\n \"background\": \"#fffbeb\",\r\n \"backgroundHover\": \"#fef3c7\",\r\n \"border\": \"#fcd34d\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#92400e\"\r\n },\r\n \"error\": {\r\n \"base\": \"#ef4444\",\r\n \"hover\": \"#dc2626\",\r\n \"active\": \"#b91c1c\",\r\n \"background\": \"#fef2f2\",\r\n \"backgroundHover\": \"#fee2e2\",\r\n \"border\": \"#fca5a5\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#991b1b\"\r\n },\r\n \"info\": {\r\n \"base\": \"#3b82f6\",\r\n \"hover\": \"#2563eb\",\r\n \"active\": \"#1d4ed8\",\r\n \"background\": \"#eff6ff\",\r\n \"backgroundHover\": \"#dbeafe\",\r\n \"border\": \"#93c5fd\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#1e40af\"\r\n }\r\n },\r\n \"interactive\": {\r\n \"default\": \"#0891b2\",\r\n \"hover\": \"#0e7490\",\r\n \"active\": \"#155e75\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"disabledText\": \"#a3a3a3\",\r\n \"focus\": \"#0891b2\",\r\n \"focusRing\": \"#06b6d4\"\r\n }\r\n }\r\n}\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Dark theme color palette - Cyberpunk neon style with WCAG AA compliance\",\r\n \"colors\": {\r\n \"primary\": {\r\n \"base\": \"#00e6ff\",\r\n \"hover\": \"#1affff\",\r\n \"active\": \"#4dffff\",\r\n \"disabled\": \"#404040\",\r\n \"focus\": \"#00e6ff\",\r\n \"background\": \"rgba(0, 230, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(0, 230, 255, 0.15)\",\r\n \"backgroundActive\": \"rgba(0, 230, 255, 0.2)\",\r\n \"border\": \"#00e6ff\",\r\n \"borderHover\": \"#1affff\",\r\n \"borderFocus\": \"#4dffff\",\r\n \"text\": \"#0a0a0f\",\r\n \"textHover\": \"#0a0a0f\",\r\n \"textDisabled\": \"#525252\"\r\n },\r\n \"secondary\": {\r\n \"base\": \"#7d00ff\",\r\n \"hover\": \"#941aff\",\r\n \"active\": \"#ab4dff\",\r\n \"disabled\": \"#404040\",\r\n \"focus\": \"#7d00ff\",\r\n \"background\": \"rgba(125, 0, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(125, 0, 255, 0.15)\",\r\n \"backgroundActive\": \"rgba(125, 0, 255, 0.2)\",\r\n \"border\": \"#7d00ff\",\r\n \"borderHover\": \"#941aff\",\r\n \"borderFocus\": \"#ab4dff\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#525252\"\r\n },\r\n \"accent\": {\r\n \"base\": \"#ff00ff\",\r\n \"hover\": \"#ff1aff\",\r\n \"active\": \"#ff4dff\",\r\n \"disabled\": \"#404040\",\r\n \"focus\": \"#ff00ff\",\r\n \"background\": \"rgba(255, 0, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(255, 0, 255, 0.15)\",\r\n \"backgroundActive\": \"rgba(255, 0, 255, 0.2)\",\r\n \"border\": \"#ff00ff\",\r\n \"borderHover\": \"#ff1aff\",\r\n \"borderFocus\": \"#ff4dff\",\r\n \"text\": \"#0a0a0f\",\r\n \"textHover\": \"#0a0a0f\",\r\n \"textDisabled\": \"#525252\"\r\n },\r\n \"background\": {\r\n \"primary\": \"#0a0a0f\",\r\n \"secondary\": \"#0f0f1a\",\r\n \"tertiary\": \"#171717\",\r\n \"inverse\": \"#ffffff\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.8)\",\r\n \"muted\": \"#0f0f1a\"\r\n },\r\n \"surface\": {\r\n \"primary\": \"#171717\",\r\n \"secondary\": \"#262626\",\r\n \"tertiary\": \"#404040\",\r\n \"elevated\": \"#262626\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.8)\",\r\n \"glass\": \"rgba(15, 15, 26, 0.7)\",\r\n \"glassHover\": \"rgba(15, 15, 26, 0.85)\",\r\n \"hover\": \"#262626\",\r\n \"active\": \"#404040\"\r\n },\r\n \"text\": {\r\n \"primary\": \"#b3ffff\",\r\n \"secondary\": \"#4dffff\",\r\n \"tertiary\": \"#00e6ff\",\r\n \"inverse\": \"#0a0a0f\",\r\n \"disabled\": \"#525252\",\r\n \"link\": \"#1affff\",\r\n \"linkHover\": \"#4dffff\",\r\n \"linkActive\": \"#80ffff\",\r\n \"linkVisited\": \"#941aff\",\r\n \"onPrimary\": \"#0a0a0f\",\r\n \"onSecondary\": \"#ffffff\",\r\n \"onAccent\": \"#0a0a0f\",\r\n \"onBackground\": \"#b3ffff\",\r\n \"onSurface\": \"#b3ffff\",\r\n \"glow\": \"#00e6ff\",\r\n \"neonCyan\": \"#00e6ff\",\r\n \"neonPink\": \"#ff00ff\",\r\n \"neonPurple\": \"#7d00ff\",\r\n \"neonGreen\": \"#00ff00\"\r\n },\r\n \"border\": {\r\n \"primary\": \"#262626\",\r\n \"secondary\": \"#404040\",\r\n \"tertiary\": \"#525252\",\r\n \"focus\": \"#00e6ff\",\r\n \"focusRing\": \"#1affff\",\r\n \"inverse\": \"#e5e5e5\",\r\n \"neon\": \"#00e6ff\",\r\n \"neonGlow\": \"rgba(0, 230, 255, 0.3)\",\r\n \"hover\": \"#404040\",\r\n \"active\": \"#525252\",\r\n \"disabled\": \"#262626\"\r\n },\r\n \"status\": {\r\n \"success\": {\r\n \"base\": \"#00ff00\",\r\n \"hover\": \"#4dff4d\",\r\n \"active\": \"#80ff80\",\r\n \"background\": \"rgba(0, 255, 0, 0.1)\",\r\n \"backgroundHover\": \"rgba(0, 255, 0, 0.15)\",\r\n \"border\": \"#4dff4d\",\r\n \"text\": \"#0a0a0f\",\r\n \"textOnBackground\": \"#4dff4d\"\r\n },\r\n \"warning\": {\r\n \"base\": \"#ff7d00\",\r\n \"hover\": \"#ffab4d\",\r\n \"active\": \"#ffc880\",\r\n \"background\": \"rgba(255, 125, 0, 0.1)\",\r\n \"backgroundHover\": \"rgba(255, 125, 0, 0.15)\",\r\n \"border\": \"#ffab4d\",\r\n \"text\": \"#0a0a0f\",\r\n \"textOnBackground\": \"#ffab4d\"\r\n },\r\n \"error\": {\r\n \"base\": \"#f87171\",\r\n \"hover\": \"#fca5a5\",\r\n \"active\": \"#fecaca\",\r\n \"background\": \"rgba(239, 68, 68, 0.1)\",\r\n \"backgroundHover\": \"rgba(239, 68, 68, 0.15)\",\r\n \"border\": \"#fca5a5\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#fca5a5\"\r\n },\r\n \"info\": {\r\n \"base\": \"#007dff\",\r\n \"hover\": \"#4dabff\",\r\n \"active\": \"#80c7ff\",\r\n \"background\": \"rgba(0, 125, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(0, 125, 255, 0.15)\",\r\n \"border\": \"#4dabff\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#4dabff\"\r\n }\r\n },\r\n \"interactive\": {\r\n \"default\": \"#00e6ff\",\r\n \"hover\": \"#1affff\",\r\n \"active\": \"#4dffff\",\r\n \"disabled\": \"#404040\",\r\n \"disabledText\": \"#525252\",\r\n \"focus\": \"#00e6ff\",\r\n \"focusRing\": \"#1affff\"\r\n },\r\n \"effects\": {\r\n \"glowCyan\": \"0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)\",\r\n \"glowPink\": \"0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)\",\r\n \"glowPurple\": \"0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)\",\r\n \"glowGreen\": \"0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)\",\r\n \"shadowSm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.5)\",\r\n \"shadowMd\": \"0 4px 6px -1px rgba(0, 0, 0, 0.5)\",\r\n \"shadowLg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.5)\"\r\n },\r\n \"gradients\": {\r\n \"primary\": \"linear-gradient(135deg, #00e6ff 0%, #7d00ff 100%)\",\r\n \"secondary\": \"linear-gradient(135deg, #ff00ff 0%, #00e6ff 100%)\",\r\n \"accent\": \"linear-gradient(135deg, #ff7d00 0%, #ff00ff 100%)\",\r\n \"background\": \"linear-gradient(180deg, #0a0a0f 0%, #0f0f1a 100%)\"\r\n }\r\n }\r\n}\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Typography tokens - Complete typographic scale with semantic hierarchy (H1-H6, subtitles, body, captions)\",\r\n \"typography\": {\r\n \"fontFamily\": {\r\n \"sans\": \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\",\r\n \"serif\": \"ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif\",\r\n \"mono\": \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\r\n \"display\": \"var(--font-orbitron, ui-sans-serif)\",\r\n \"body\": \"var(--font-inter, ui-sans-serif)\",\r\n \"code\": \"var(--font-rajdhani, ui-monospace)\"\r\n },\r\n \"fontSize\": {\r\n \"xs\": \"0.75rem\",\r\n \"sm\": \"0.875rem\",\r\n \"base\": \"1rem\",\r\n \"lg\": \"1.125rem\",\r\n \"xl\": \"1.25rem\",\r\n \"2xl\": \"1.5rem\",\r\n \"3xl\": \"1.875rem\",\r\n \"4xl\": \"2.25rem\",\r\n \"5xl\": \"3rem\",\r\n \"6xl\": \"3.75rem\",\r\n \"7xl\": \"4.5rem\",\r\n \"8xl\": \"6rem\",\r\n \"9xl\": \"8rem\"\r\n },\r\n \"fontWeight\": {\r\n \"thin\": \"100\",\r\n \"extralight\": \"200\",\r\n \"light\": \"300\",\r\n \"normal\": \"400\",\r\n \"medium\": \"500\",\r\n \"semibold\": \"600\",\r\n \"bold\": \"700\",\r\n \"extrabold\": \"800\",\r\n \"black\": \"900\"\r\n },\r\n \"lineHeight\": {\r\n \"none\": \"1\",\r\n \"tight\": \"1.25\",\r\n \"snug\": \"1.375\",\r\n \"normal\": \"1.5\",\r\n \"relaxed\": \"1.625\",\r\n \"loose\": \"2\"\r\n },\r\n \"letterSpacing\": {\r\n \"tighter\": \"-0.05em\",\r\n \"tight\": \"-0.025em\",\r\n \"normal\": \"0em\",\r\n \"wide\": \"0.025em\",\r\n \"wider\": \"0.05em\",\r\n \"widest\": \"0.1em\"\r\n },\r\n \"headings\": {\r\n \"h1\": {\r\n \"fontFamily\": \"var(--font-display, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(2.25rem, 5vw + 1rem, 4.5rem)\",\r\n \"fontSizeMobile\": \"2.25rem\",\r\n \"fontSizeTablet\": \"3rem\",\r\n \"fontSizeDesktop\": \"4.5rem\",\r\n \"fontWeight\": \"900\",\r\n \"lineHeight\": \"1.1\",\r\n \"letterSpacing\": \"-0.02em\",\r\n \"marginBottom\": \"1rem\"\r\n },\r\n \"h2\": {\r\n \"fontFamily\": \"var(--font-display, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.875rem, 4vw + 0.75rem, 3.75rem)\",\r\n \"fontSizeMobile\": \"1.875rem\",\r\n \"fontSizeTablet\": \"2.5rem\",\r\n \"fontSizeDesktop\": \"3.75rem\",\r\n \"fontWeight\": \"800\",\r\n \"lineHeight\": \"1.15\",\r\n \"letterSpacing\": \"-0.015em\",\r\n \"marginBottom\": \"0.875rem\"\r\n },\r\n \"h3\": {\r\n \"fontFamily\": \"var(--font-display, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.5rem, 3vw + 0.5rem, 3rem)\",\r\n \"fontSizeMobile\": \"1.5rem\",\r\n \"fontSizeTablet\": \"2rem\",\r\n \"fontSizeDesktop\": \"3rem\",\r\n \"fontWeight\": \"700\",\r\n \"lineHeight\": \"1.2\",\r\n \"letterSpacing\": \"-0.01em\",\r\n \"marginBottom\": \"0.75rem\"\r\n },\r\n \"h4\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.25rem, 2.5vw + 0.5rem, 2.25rem)\",\r\n \"fontSizeMobile\": \"1.25rem\",\r\n \"fontSizeTablet\": \"1.75rem\",\r\n \"fontSizeDesktop\": \"2.25rem\",\r\n \"fontWeight\": \"700\",\r\n \"lineHeight\": \"1.25\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.625rem\"\r\n },\r\n \"h5\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.125rem, 2vw + 0.25rem, 1.875rem)\",\r\n \"fontSizeMobile\": \"1.125rem\",\r\n \"fontSizeTablet\": \"1.5rem\",\r\n \"fontSizeDesktop\": \"1.875rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.3\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.5rem\"\r\n },\r\n \"h6\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1rem, 1.5vw + 0.25rem, 1.5rem)\",\r\n \"fontSizeMobile\": \"1rem\",\r\n \"fontSizeTablet\": \"1.25rem\",\r\n \"fontSizeDesktop\": \"1.5rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.35\",\r\n \"letterSpacing\": \"0.01em\",\r\n \"marginBottom\": \"0.5rem\"\r\n }\r\n },\r\n \"subtitle\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.25rem, 2vw + 0.5rem, 2rem)\",\r\n \"fontSizeMobile\": \"1.25rem\",\r\n \"fontSizeTablet\": \"1.5rem\",\r\n \"fontSizeDesktop\": \"2rem\",\r\n \"fontWeight\": \"500\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.5rem\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.125rem, 1.5vw + 0.25rem, 1.5rem)\",\r\n \"fontSizeMobile\": \"1.125rem\",\r\n \"fontSizeTablet\": \"1.25rem\",\r\n \"fontSizeDesktop\": \"1.5rem\",\r\n \"fontWeight\": \"500\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.5rem\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1rem\",\r\n \"fontWeight\": \"500\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.375rem\"\r\n }\r\n },\r\n \"body\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1.125rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.625\",\r\n \"letterSpacing\": \"0em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0em\"\r\n }\r\n },\r\n \"caption\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.75rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.625rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.3\",\r\n \"letterSpacing\": \"0.02em\"\r\n }\r\n },\r\n \"button\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1.125rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n }\r\n },\r\n \"label\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.75rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.625rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.3\",\r\n \"letterSpacing\": \"0.02em\"\r\n }\r\n },\r\n \"code\": {\r\n \"inline\": {\r\n \"fontFamily\": \"var(--font-code, ui-monospace)\",\r\n \"fontSize\": \"0.875em\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0em\"\r\n },\r\n \"block\": {\r\n \"fontFamily\": \"var(--font-code, ui-monospace)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.6\",\r\n \"letterSpacing\": \"0em\"\r\n }\r\n }\r\n }\r\n}\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Spacing tokens - Consistent spacing scale based on 8pt grid\",\r\n \"spacing\": {\r\n \"0\": \"0px\",\r\n \"px\": \"1px\",\r\n \"0.5\": \"0.125rem\",\r\n \"1\": \"0.25rem\",\r\n \"1.5\": \"0.375rem\",\r\n \"2\": \"0.5rem\",\r\n \"2.5\": \"0.625rem\",\r\n \"3\": \"0.75rem\",\r\n \"3.5\": \"0.875rem\",\r\n \"4\": \"1rem\",\r\n \"5\": \"1.25rem\",\r\n \"6\": \"1.5rem\",\r\n \"7\": \"1.75rem\",\r\n \"8\": \"2rem\",\r\n \"9\": \"2.25rem\",\r\n \"10\": \"2.5rem\",\r\n \"11\": \"2.75rem\",\r\n \"12\": \"3rem\",\r\n \"14\": \"3.5rem\",\r\n \"16\": \"4rem\",\r\n \"20\": \"5rem\",\r\n \"24\": \"6rem\",\r\n \"28\": \"7rem\",\r\n \"32\": \"8rem\",\r\n \"36\": \"9rem\",\r\n \"40\": \"10rem\",\r\n \"44\": \"11rem\",\r\n \"48\": \"12rem\",\r\n \"52\": \"13rem\",\r\n \"56\": \"14rem\",\r\n \"60\": \"15rem\",\r\n \"64\": \"16rem\",\r\n \"72\": \"18rem\",\r\n \"80\": \"20rem\",\r\n \"96\": \"24rem\"\r\n }\r\n}\r\n\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Border radius tokens - Consistent corner rounding\",\r\n \"radius\": {\r\n \"none\": \"0px\",\r\n \"sm\": \"0.125rem\",\r\n \"base\": \"0.25rem\",\r\n \"md\": \"0.375rem\",\r\n \"lg\": \"0.5rem\",\r\n \"xl\": \"0.75rem\",\r\n \"2xl\": \"1rem\",\r\n \"3xl\": \"1.5rem\",\r\n \"full\": \"9999px\"\r\n }\r\n}\r\n\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Shadow tokens - Elevation and depth\",\r\n \"shadows\": {\r\n \"light\": {\r\n \"xs\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\r\n \"sm\": \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\",\r\n \"base\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\r\n \"md\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)\",\r\n \"lg\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)\",\r\n \"xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\r\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\r\n \"inner\": \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.05)\"\r\n },\r\n \"dark\": {\r\n \"xs\": \"0 1px 2px 0 rgba(0, 0, 0, 0.5)\",\r\n \"sm\": \"0 1px 3px 0 rgba(0, 0, 0, 0.5), 0 1px 2px -1px rgba(0, 0, 0, 0.5)\",\r\n \"base\": \"0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.5)\",\r\n \"md\": \"0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.5)\",\r\n \"lg\": \"0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5)\",\r\n \"xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.75)\",\r\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.75)\",\r\n \"inner\": \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.5)\",\r\n \"glow\": {\r\n \"cyan\": \"0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)\",\r\n \"pink\": \"0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)\",\r\n \"purple\": \"0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)\",\r\n \"green\": \"0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)\"\r\n }\r\n }\r\n }\r\n}\r\n\r\n","/**\r\n * @fileoverview Tokens utilitários - Classes Tailwind CSS\r\n * \r\n * @description\r\n * Tokens utilitários que exportam classes Tailwind CSS prontas para uso.\r\n * Esses tokens são classes CSS que podem ser aplicadas diretamente nos componentes,\r\n * facilitando o desenvolvimento e garantindo consistência visual.\r\n * \r\n * @module tokens/utilities\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\n/**\r\n * Direções de gradiente como classes Tailwind CSS\r\n * \r\n * @description\r\n * Conjunto de constantes que representam as diferentes direções\r\n * de gradiente disponíveis no Tailwind CSS.\r\n * \r\n * @type {Object}\r\n * @property {string} TO_TOP - Gradiente de baixo para cima\r\n * @property {string} TO_BOTTOM - Gradiente de cima para baixo\r\n * @property {string} TO_LEFT - Gradiente da direita para esquerda\r\n * @property {string} TO_RIGHT - Gradiente da esquerda para direita\r\n * @property {string} TO_TL - Gradiente para cima-esquerda (top-left)\r\n * @property {string} TO_TR - Gradiente para cima-direita (top-right)\r\n * @property {string} TO_BL - Gradiente para baixo-esquerda (bottom-left)\r\n * @property {string} TO_BR - Gradiente para baixo-direita (bottom-right)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { GRADIENT_DIRECTIONS } from 'rainer-design-tokens';\r\n * \r\n * // Aplicar gradiente de cima para baixo\r\n * <div className={GRADIENT_DIRECTIONS.TO_BOTTOM}>\r\n * ```\r\n */\r\nexport const GRADIENT_DIRECTIONS = {\r\n TO_TOP: 'bg-gradient-to-t',\r\n TO_BOTTOM: 'bg-gradient-to-b',\r\n TO_LEFT: 'bg-gradient-to-l',\r\n TO_RIGHT: 'bg-gradient-to-r',\r\n TO_TL: 'bg-gradient-to-tl',\r\n TO_TR: 'bg-gradient-to-tr',\r\n TO_BL: 'bg-gradient-to-bl',\r\n TO_BR: 'bg-gradient-to-br',\r\n} as const;\r\n\r\n/**\r\n * Gradientes decorativos e utilitários como classes Tailwind CSS\r\n * \r\n * @description\r\n * Conjunto de gradientes pré-configurados para uso em diferentes\r\n * contextos da aplicação, incluindo texto, elementos decorativos e botões.\r\n * \r\n * @type {Object}\r\n * @property {string} TEXT_PRIMARY - Gradiente para texto com efeito de clip\r\n * @property {string} DECORATIVE_PRIMARY - Gradiente decorativo principal (cyan-purple-pink)\r\n * @property {string} DECORATIVE_CYAN_PURPLE - Gradiente decorativo cyan para purple\r\n * @property {string} DECORATIVE_GREEN_EMERALD - Gradiente decorativo green para emerald\r\n * @property {string} BUTTON_CYAN_BLUE - Gradiente para botões (cyan para blue)\r\n * @property {string} BUTTON_PURPLE_PINK - Gradiente para botões (purple para pink)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { GRADIENTS } from 'rainer-design-tokens';\r\n * \r\n * // Aplicar gradiente em texto\r\n * <h1 className={GRADIENTS.TEXT_PRIMARY}>Título com Gradiente</h1>\r\n * \r\n * // Aplicar gradiente em botão\r\n * <button className={GRADIENTS.BUTTON_CYAN_BLUE}>Clique aqui</button>\r\n * ```\r\n */\r\nexport const GRADIENTS = {\r\n // Gradientes de texto usando tokens CSS\r\n TEXT_PRIMARY: 'bg-linear-to-r from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)] bg-clip-text text-transparent',\r\n \r\n // Gradientes decorativos usando tokens CSS\r\n DECORATIVE_PRIMARY: 'bg-linear-to-br from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)]',\r\n DECORATIVE_CYAN_PURPLE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-secondary-base)]',\r\n DECORATIVE_GREEN_EMERALD: 'bg-linear-to-br from-[var(--color-status-success)] to-[var(--color-accent-base)]',\r\n \r\n // Gradientes de botões usando tokens CSS\r\n BUTTON_CYAN_BLUE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-primary-hover)]',\r\n BUTTON_PURPLE_PINK: 'bg-linear-to-r from-[var(--color-secondary-base)] to-[var(--color-accent-base)]',\r\n} as const;\r\n\r\n/**\r\n * Backgrounds utilitários como classes Tailwind CSS\r\n * \r\n * @description\r\n * Conjunto de classes para backgrounds pré-configurados, incluindo\r\n * overlays, divisores e backgrounds de seção com efeitos de gradiente sutis.\r\n * \r\n * @type {Object}\r\n * @property {string} FULL - Background completo padrão\r\n * @property {string} GRADIENT_OVERLAY - Overlay de gradiente sutil\r\n * @property {string} PREMIUM_DIVIDER_CONTAINER - Container para divisor premium\r\n * @property {string} PREMIUM_DIVIDER_LINE - Linha do divisor premium\r\n * @property {string} SECTION_CYAN - Background de seção com gradiente cyan\r\n * @property {string} SECTION_CYAN_VIA - Background de seção cyan via (meio)\r\n * @property {string} SECTION_PURPLE_VIA - Background de seção purple via (meio)\r\n * @property {string} SECTION_PINK_VIA - Background de seção pink via (meio)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { BACKGROUND } from 'rainer-design-tokens';\r\n * \r\n * // Aplicar background de seção\r\n * <section className={BACKGROUND.SECTION_CYAN}>\r\n * Conteúdo da seção\r\n * </section>\r\n * \r\n * // Aplicar overlay de gradiente\r\n * <div className={BACKGROUND.GRADIENT_OVERLAY}>\r\n * Conteúdo com overlay\r\n * </div>\r\n * ```\r\n */\r\nexport const BACKGROUND = {\r\n // Background completo usando token CSS\r\n FULL: 'bg-[var(--color-background-primary)]',\r\n \r\n // Overlay de gradiente usando tokens CSS\r\n GRADIENT_OVERLAY: 'bg-linear-to-br from-[var(--color-primary-base)]/10 via-[var(--color-secondary-base)]/10 to-[var(--color-accent-base)]/10',\r\n \r\n // Divisores premium usando tokens CSS\r\n PREMIUM_DIVIDER_CONTAINER: 'bg-linear-to-b from-transparent via-[var(--color-primary-base)]/5 to-transparent',\r\n PREMIUM_DIVIDER_LINE: 'bg-linear-to-r from-transparent via-[var(--color-primary-base)]/50 to-transparent',\r\n \r\n // Backgrounds de seção usando tokens CSS\r\n SECTION_CYAN: 'bg-linear-to-br from-[var(--color-primary-base)]/5 via-[var(--color-primary-base)]/3 to-transparent',\r\n SECTION_CYAN_VIA: 'bg-linear-to-br from-transparent via-[var(--color-primary-base)]/5 to-transparent',\r\n SECTION_PURPLE_VIA: 'bg-linear-to-br from-transparent via-[var(--color-secondary-base)]/5 to-transparent',\r\n SECTION_PINK_VIA: 'bg-linear-to-br from-transparent via-[var(--color-accent-base)]/5 to-transparent',\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript para direções de gradiente\r\n * \r\n * @typedef {Object} GradientDirections\r\n * @description\r\n * Tipo que representa todas as direções de gradiente disponíveis.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n */\r\nexport type GradientDirections = typeof GRADIENT_DIRECTIONS;\r\n\r\n/**\r\n * Tipo TypeScript para gradientes\r\n * \r\n * @typedef {Object} Gradients\r\n * @description\r\n * Tipo que representa todos os gradientes pré-configurados disponíveis.\r\n */\r\nexport type Gradients = typeof GRADIENTS;\r\n\r\n/**\r\n * Tipo TypeScript para backgrounds\r\n * \r\n * @typedef {Object} Background\r\n * @description\r\n * Tipo que representa todos os backgrounds utilitários disponíveis.\r\n */\r\nexport type Background = typeof BACKGROUND;\r\n\r\n","/**\r\n * @fileoverview Utilitários de Acessibilidade - Verificação de Contraste WCAG\r\n * \r\n * @description\r\n * Utilitários para verificar e garantir conformidade com padrões WCAG AA/AAA\r\n * de contraste de cores. Essas funções são agnósticas e podem ser usadas em\r\n * qualquer ambiente (web, mobile, desktop).\r\n * \r\n * @module tokens/accessibility\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\n/**\r\n * Converte cor hexadecimal para RGB\r\n * \r\n * @param {string} hex - Cor em formato hexadecimal (#RRGGBB ou RRGGBB)\r\n * @returns {Object} Objeto com valores RGB { r, g, b }\r\n * \r\n * @example\r\n * ```typescript\r\n * const rgb = hexToRgb('#0891b2');\r\n * // { r: 8, g: 145, b: 178 }\r\n * ```\r\n */\r\nexport function hexToRgb(hex: string): { r: number; g: number; b: number } {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n if (!result) {\r\n throw new Error(`Invalid hex color: ${hex}`);\r\n }\r\n return {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16),\r\n };\r\n}\r\n\r\n/**\r\n * Calcula a luminância relativa de uma cor RGB\r\n * \r\n * @param {number} r - Componente vermelho (0-255)\r\n * @param {number} g - Componente verde (0-255)\r\n * @param {number} b - Componente azul (0-255)\r\n * @returns {number} Luminância relativa (0-1)\r\n * \r\n * @description\r\n * Fórmula baseada na recomendação WCAG 2.1 para cálculo de luminância.\r\n * \r\n * @example\r\n * ```typescript\r\n * const luminance = getLuminance(8, 145, 178);\r\n * // 0.234\r\n * ```\r\n */\r\nexport function getLuminance(r: number, g: number, b: number): number {\r\n const [rs, gs, bs] = [r, g, b].map((val) => {\r\n const v = val / 255;\r\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;\r\n}\r\n\r\n/**\r\n * Calcula o contraste entre duas cores\r\n * \r\n * @param {string} color1 - Primeira cor em hexadecimal\r\n * @param {string} color2 - Segunda cor em hexadecimal\r\n * @returns {number} Razão de contraste (1-21)\r\n * \r\n * @description\r\n * Retorna a razão de contraste entre duas cores conforme WCAG 2.1.\r\n * Valores mínimos recomendados:\r\n * - WCAG AA (normal): 4.5:1 para texto normal, 3:1 para texto grande\r\n * - WCAG AAA (melhor): 7:1 para texto normal, 4.5:1 para texto grande\r\n * \r\n * @example\r\n * ```typescript\r\n * const contrast = getContrast('#ffffff', '#000000');\r\n * // 21 (máximo contraste)\r\n * \r\n * const contrast2 = getContrast('#0891b2', '#ffffff');\r\n * // 3.2 (atende WCAG AA para texto grande)\r\n * ```\r\n */\r\nexport function getContrast(\r\n color1: string,\r\n color2: string\r\n): number {\r\n const rgb1 = hexToRgb(color1);\r\n const rgb2 = hexToRgb(color2);\r\n\r\n const lum1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\r\n const lum2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\r\n\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n\r\n return (lighter + 0.05) / (darker + 0.05);\r\n}\r\n\r\n/**\r\n * Verifica se o contraste atende ao padrão WCAG AA\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @param {boolean} [largeText=false] - Se o texto é grande (>=18pt ou >=14pt bold)\r\n * @returns {boolean} true se atende WCAG AA, false caso contrário\r\n * \r\n * @description\r\n * WCAG AA requer:\r\n * - Texto normal: contraste mínimo de 4.5:1\r\n * - Texto grande: contraste mínimo de 3:1\r\n * \r\n * @example\r\n * ```typescript\r\n * const meetsAA = meetsWCAGAA('#0891b2', '#ffffff', false);\r\n * // true (contraste 3.2:1, mas texto normal precisa 4.5:1)\r\n * \r\n * const meetsAALarge = meetsWCAGAA('#0891b2', '#ffffff', true);\r\n * // true (contraste 3.2:1, texto grande precisa 3:1)\r\n * ```\r\n */\r\nexport function meetsWCAGAA(\r\n foreground: string,\r\n background: string,\r\n largeText: boolean = false\r\n): boolean {\r\n const contrast = getContrast(foreground, background);\r\n return largeText ? contrast >= 3 : contrast >= 4.5;\r\n}\r\n\r\n/**\r\n * Verifica se o contraste atende ao padrão WCAG AAA\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @param {boolean} [largeText=false] - Se o texto é grande (>=18pt ou >=14pt bold)\r\n * @returns {boolean} true se atende WCAG AAA, false caso contrário\r\n * \r\n * @description\r\n * WCAG AAA requer:\r\n * - Texto normal: contraste mínimo de 7:1\r\n * - Texto grande: contraste mínimo de 4.5:1\r\n * \r\n * @example\r\n * ```typescript\r\n * const meetsAAA = meetsWCAGAAA('#000000', '#ffffff', false);\r\n * // true (contraste 21:1)\r\n * ```\r\n */\r\nexport function meetsWCAGAAA(\r\n foreground: string,\r\n background: string,\r\n largeText: boolean = false\r\n): boolean {\r\n const contrast = getContrast(foreground, background);\r\n return largeText ? contrast >= 4.5 : contrast >= 7;\r\n}\r\n\r\n/**\r\n * Retorna informações completas de contraste entre duas cores\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @returns {Object} Objeto com informações de contraste\r\n * \r\n * @example\r\n * ```typescript\r\n * const info = getContrastInfo('#0891b2', '#ffffff');\r\n * // {\r\n * // contrast: 3.2,\r\n * // meetsAA: false,\r\n * // meetsAALarge: true,\r\n * // meetsAAA: false,\r\n * // meetsAAALarge: false,\r\n * // level: 'AA Large'\r\n * // }\r\n * ```\r\n */\r\nexport function getContrastInfo(\r\n foreground: string,\r\n background: string\r\n): {\r\n contrast: number;\r\n meetsAA: boolean;\r\n meetsAALarge: boolean;\r\n meetsAAA: boolean;\r\n meetsAAALarge: boolean;\r\n level: 'Fail' | 'AA Large' | 'AA' | 'AAA Large' | 'AAA';\r\n} {\r\n const contrast = getContrast(foreground, background);\r\n const meetsAA = contrast >= 4.5;\r\n const meetsAALarge = contrast >= 3;\r\n const meetsAAA = contrast >= 7;\r\n const meetsAAALarge = contrast >= 4.5;\r\n\r\n let level: 'Fail' | 'AA Large' | 'AA' | 'AAA Large' | 'AAA' = 'Fail';\r\n if (meetsAAA) {\r\n level = 'AAA';\r\n } else if (meetsAAALarge) {\r\n level = 'AAA Large';\r\n } else if (meetsAA) {\r\n level = 'AA';\r\n } else if (meetsAALarge) {\r\n level = 'AA Large';\r\n }\r\n\r\n return {\r\n contrast,\r\n meetsAA,\r\n meetsAALarge,\r\n meetsAAA,\r\n meetsAAALarge,\r\n level,\r\n };\r\n}\r\n\r\n/**\r\n * Valida se uma combinação de cores atende aos padrões de acessibilidade\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @param {Object} options - Opções de validação\r\n * @param {boolean} [options.requireAAA=false] - Se deve requerer WCAG AAA\r\n * @param {boolean} [options.largeText=false] - Se o texto é grande\r\n * @returns {Object} Resultado da validação\r\n * \r\n * @example\r\n * ```typescript\r\n * const validation = validateContrast('#0891b2', '#ffffff', {\r\n * largeText: true\r\n * });\r\n * // {\r\n * // valid: true,\r\n * // level: 'AA Large',\r\n * // contrast: 3.2,\r\n * // message: 'Contraste válido para texto grande (WCAG AA)'\r\n * // }\r\n * ```\r\n */\r\nexport function validateContrast(\r\n foreground: string,\r\n background: string,\r\n options: {\r\n requireAAA?: boolean;\r\n largeText?: boolean;\r\n } = {}\r\n): {\r\n valid: boolean;\r\n level: string;\r\n contrast: number;\r\n message: string;\r\n} {\r\n const { requireAAA = false, largeText = false } = options;\r\n const info = getContrastInfo(foreground, background);\r\n\r\n let valid = false;\r\n let message = '';\r\n\r\n if (requireAAA) {\r\n valid = largeText ? info.meetsAAALarge : info.meetsAAA;\r\n message = valid\r\n ? `Contraste válido (WCAG AAA${largeText ? ' - Texto Grande' : ''})`\r\n : `Contraste insuficiente para WCAG AAA${largeText ? ' - Texto Grande' : ''}. Requerido: ${largeText ? '4.5:1' : '7:1'}, atual: ${info.contrast.toFixed(2)}:1`;\r\n } else {\r\n valid = largeText ? info.meetsAALarge : info.meetsAA;\r\n message = valid\r\n ? `Contraste válido (WCAG AA${largeText ? ' - Texto Grande' : ''})`\r\n : `Contraste insuficiente para WCAG AA${largeText ? ' - Texto Grande' : ''}. Requerido: ${largeText ? '3:1' : '4.5:1'}, atual: ${info.contrast.toFixed(2)}:1`;\r\n }\r\n\r\n return {\r\n valid,\r\n level: info.level,\r\n contrast: info.contrast,\r\n message,\r\n };\r\n}\r\n\r\n","/**\r\n * @fileoverview Ponto de entrada dos tokens de design\r\n * \r\n * @description\r\n * Tokens de design tecnologicamente agnósticos que definem a linguagem visual\r\n * do Rainer Design System. Estes tokens podem ser utilizados em qualquer\r\n * framework ou tecnologia, garantindo consistência visual.\r\n * \r\n * @module tokens\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\nimport lightColors from './colors/light.json';\r\nimport darkColors from './colors/dark.json';\r\nimport typography from './typography.json';\r\nimport spacing from './spacing.json';\r\nimport radius from './radius.json';\r\nimport shadows from './shadows.json';\r\n\r\n// Utility tokens (Tailwind CSS classes)\r\nexport * from './utilities';\r\n\r\n// Accessibility utilities (WCAG contrast checking)\r\nexport * from './accessibility';\r\n\r\n/**\r\n * Todos os tokens de design organizados por categoria\r\n * \r\n * @description\r\n * Objeto principal contendo todos os tokens de design do sistema,\r\n * organizados em categorias lógicas para fácil acesso e manutenção.\r\n * \r\n * @type {Object}\r\n * @property {Object} colors - Tokens de cores para temas claro e escuro\r\n * @property {Object} colors.light - Cores do tema claro\r\n * @property {Object} colors.dark - Cores do tema escuro\r\n * @property {Object} typography - Tokens de tipografia (fontes, tamanhos, pesos, etc.)\r\n * @property {Object} spacing - Tokens de espaçamento (margens, paddings)\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Tokens de sombras para ambos os temas\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { tokens } from 'rainer-design-tokens';\r\n * \r\n * // Acessar cor primária do tema claro\r\n * const primaryColor = tokens.colors.light.brand.primary;\r\n * \r\n * // Acessar espaçamento padrão\r\n * const spacing = tokens.spacing.md;\r\n * ```\r\n */\r\nexport const tokens = {\r\n colors: {\r\n light: lightColors.colors,\r\n dark: darkColors.colors,\r\n },\r\n typography: typography.typography,\r\n spacing: spacing.spacing,\r\n radius: radius.radius,\r\n shadows: shadows.shadows,\r\n} as const;\r\n\r\n/**\r\n * Cores do tema claro\r\n * \r\n * @description\r\n * Exporta apenas as cores do tema claro para uso direto.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { lightThemeColors } from 'rainer-design-tokens';\r\n * \r\n * const primaryColor = lightThemeColors.brand.primary;\r\n * ```\r\n */\r\nexport const lightThemeColors = lightColors.colors;\r\n\r\n/**\r\n * Cores do tema escuro\r\n * \r\n * @description\r\n * Exporta apenas as cores do tema escuro (estilo cyberpunk) para uso direto.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { darkThemeColors } from 'rainer-design-tokens';\r\n * \r\n * const neonColor = darkThemeColors.accent.cyan;\r\n * ```\r\n */\r\nexport const darkThemeColors = darkColors.colors;\r\n\r\n/**\r\n * Tokens de tipografia\r\n * \r\n * @description\r\n * Exporta todos os tokens relacionados à tipografia, incluindo\r\n * famílias de fontes, tamanhos, pesos, alturas de linha e espaçamento entre letras.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { typographyTokens } from 'rainer-design-tokens';\r\n * \r\n * const fontSize = typographyTokens.fontSize.lg;\r\n * const fontFamily = typographyTokens.fontFamily.sans;\r\n * ```\r\n */\r\nexport const typographyTokens = typography.typography;\r\n\r\n/**\r\n * Tokens de espaçamento\r\n * \r\n * @description\r\n * Exporta todos os tokens de espaçamento padronizados do sistema.\r\n * Utilizados para margens, paddings e gaps consistentes.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { spacingTokens } from 'rainer-design-tokens';\r\n * \r\n * const margin = spacingTokens.md;\r\n * const padding = spacingTokens.lg;\r\n * ```\r\n */\r\nexport const spacingTokens = spacing.spacing;\r\n\r\n/**\r\n * Tokens de raio de borda\r\n * \r\n * @description\r\n * Exporta todos os tokens de raio de borda (border-radius) padronizados.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { radiusTokens } from 'rainer-design-tokens';\r\n * \r\n * const borderRadius = radiusTokens.md;\r\n * ```\r\n */\r\nexport const radiusTokens = radius.radius;\r\n\r\n/**\r\n * Tokens de sombras\r\n * \r\n * @description\r\n * Exporta todos os tokens de sombras, incluindo sombras para tema claro\r\n * e efeitos de brilho (glow) para tema escuro.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { shadowTokens } from 'rainer-design-tokens';\r\n * \r\n * const shadow = shadowTokens.light.md;\r\n * const glow = shadowTokens.dark.glow.cyan;\r\n * ```\r\n */\r\nexport const shadowTokens = shadows.shadows;\r\n\r\n/**\r\n * Tipo TypeScript para todos os tokens\r\n * \r\n * @typedef {Object} Tokens\r\n * @description\r\n * Tipo que representa a estrutura completa de todos os tokens de design.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n */\r\nexport type Tokens = typeof tokens;\r\n\r\n/**\r\n * Tipo TypeScript para cores do tema claro\r\n * \r\n * @typedef {Object} LightColors\r\n * @description\r\n * Tipo que representa todas as cores disponíveis no tema claro.\r\n */\r\nexport type LightColors = typeof lightColors.colors;\r\n\r\n/**\r\n * Tipo TypeScript para cores do tema escuro\r\n * \r\n * @typedef {Object} DarkColors\r\n * @description\r\n * Tipo que representa todas as cores disponíveis no tema escuro (cyberpunk).\r\n */\r\nexport type DarkColors = typeof darkColors.colors;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de tipografia\r\n * \r\n * @typedef {Object} Typography\r\n * @description\r\n * Tipo que representa todos os tokens de tipografia.\r\n */\r\nexport type Typography = typeof typography.typography;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de espaçamento\r\n * \r\n * @typedef {Object} Spacing\r\n * @description\r\n * Tipo que representa todos os tokens de espaçamento.\r\n */\r\nexport type Spacing = typeof spacing.spacing;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de raio de borda\r\n * \r\n * @typedef {Object} Radius\r\n * @description\r\n * Tipo que representa todos os tokens de raio de borda.\r\n */\r\nexport type Radius = typeof radius.radius;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de sombras\r\n * \r\n * @typedef {Object} Shadows\r\n * @description\r\n * Tipo que representa todos os tokens de sombras.\r\n */\r\nexport type Shadows = typeof shadows.shadows;\r\n\r\n/**\r\n * Exportação padrão dos tokens\r\n * \r\n * @description\r\n * Exporta o objeto principal contendo todos os tokens de design.\r\n * \r\n * @type {Tokens}\r\n * @default tokens\r\n */\r\nexport default tokens;\r\n\r\n","/**\r\n * @fileoverview Tema Claro - Rainer Design System\r\n *\r\n * @description\r\n * Agrupa os design tokens em um tema claro profissional e limpo,\r\n * adequado para uso diurno. Este tema oferece uma experiência visual\r\n * clara e moderna, ideal para aplicações que requerem legibilidade\r\n * e profissionalismo.\r\n *\r\n * @module themes/light\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\nimport { tokens } from '../tokens';\r\n\r\n/**\r\n * Objeto contendo os tokens para o tema claro\r\n * \r\n * @description\r\n * Tema completo que agrupa todos os tokens de design necessários\r\n * para uma aplicação com tema claro. Inclui cores, tipografia,\r\n * espaçamento, raios de borda e sombras.\r\n * \r\n * @type {Object}\r\n * @property {Object} colors - Tokens de cores para o tema claro\r\n * @property {Object} typography - Tokens de tipografia (fontes, tamanhos, pesos, etc.)\r\n * @property {Object} spacing - Tokens de espaçamento (margens, paddings)\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Tokens de sombras para o tema claro\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { lightTheme } from 'rainer-design-tokens';\r\n * \r\n * // Acessar cores do tema claro\r\n * const primaryColor = lightTheme.colors.brand.primary;\r\n * \r\n * // Acessar tipografia\r\n * const fontSize = lightTheme.typography.fontSize.lg;\r\n * \r\n * // Aplicar em componente\r\n * <div style={{ \r\n * backgroundColor: lightTheme.colors.background.primary,\r\n * padding: lightTheme.spacing.md \r\n * }}>\r\n * Conteúdo\r\n * </div>\r\n * ```\r\n */\r\nexport const lightTheme = {\r\n colors: tokens.colors.light,\r\n typography: tokens.typography,\r\n spacing: tokens.spacing,\r\n radius: tokens.radius,\r\n shadows: tokens.shadows.light,\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript do tema claro\r\n * \r\n * @typedef {Object} LightTheme\r\n * @description\r\n * Tipo que representa a estrutura completa do tema claro.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n * \r\n * @property {Object} colors - Cores do tema claro\r\n * @property {Object} typography - Tokens de tipografia\r\n * @property {Object} spacing - Tokens de espaçamento\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Sombras do tema claro\r\n */\r\nexport type LightTheme = typeof lightTheme;\r\n\r\n/**\r\n * Exportação padrão do tema claro\r\n * \r\n * @description\r\n * Exporta o tema claro como exportação padrão do módulo.\r\n * \r\n * @type {LightTheme}\r\n * @default lightTheme\r\n */\r\nexport default lightTheme;\r\n","/**\r\n * @fileoverview Tema Escuro - Edição Cyberpunk\r\n *\r\n * @description\r\n * Combina tokens de design em um tema escuro inspirado no estilo cyberpunk.\r\n * Possui cores neon vibrantes e efeitos de brilho (glow) para uso noturno.\r\n * Este tema oferece uma experiência visual única e moderna, ideal para\r\n * aplicações que buscam um visual futurista e impactante.\r\n *\r\n * @module themes/dark\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\nimport { tokens } from '../tokens';\r\n\r\n/**\r\n * Objeto contendo os tokens para o tema escuro\r\n * \r\n * @description\r\n * Tema completo que agrupa todos os tokens de design necessários\r\n * para uma aplicação com tema escuro cyberpunk. Inclui cores neon,\r\n * tipografia, espaçamento, raios de borda e sombras com efeitos de brilho.\r\n * \r\n * @type {Object}\r\n * @property {Object} colors - Tokens de cores para o tema escuro (cyberpunk)\r\n * @property {Object} typography - Tokens de tipografia (fontes, tamanhos, pesos, etc.)\r\n * @property {Object} spacing - Tokens de espaçamento (margens, paddings)\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Tokens de sombras com efeitos de brilho para o tema escuro\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { darkTheme } from 'rainer-design-tokens';\r\n * \r\n * // Acessar cores neon do tema escuro\r\n * const neonCyan = darkTheme.colors.accent.cyan;\r\n * \r\n * // Acessar efeitos de brilho\r\n * const glowShadow = darkTheme.shadows.glow.cyan;\r\n * \r\n * // Aplicar em componente\r\n * <div style={{ \r\n * backgroundColor: darkTheme.colors.background.primary,\r\n * boxShadow: darkTheme.shadows.glow.purple,\r\n * padding: darkTheme.spacing.md \r\n * }}>\r\n * Conteúdo Cyberpunk\r\n * </div>\r\n * ```\r\n */\r\nexport const darkTheme = {\r\n colors: tokens.colors.dark,\r\n typography: tokens.typography,\r\n spacing: tokens.spacing,\r\n radius: tokens.radius,\r\n shadows: tokens.shadows.dark,\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript do tema escuro\r\n * \r\n * @typedef {Object} DarkTheme\r\n * @description\r\n * Tipo que representa a estrutura completa do tema escuro.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n * \r\n * @property {Object} colors - Cores do tema escuro (cyberpunk)\r\n * @property {Object} typography - Tokens de tipografia\r\n * @property {Object} spacing - Tokens de espaçamento\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Sombras com efeitos de brilho do tema escuro\r\n */\r\nexport type DarkTheme = typeof darkTheme;\r\n\r\n/**\r\n * Exportação padrão do tema escuro\r\n * \r\n * @description\r\n * Exporta o tema escuro como exportação padrão do módulo.\r\n * \r\n * @type {DarkTheme}\r\n * @default darkTheme\r\n */\r\nexport default darkTheme;\r\n","/**\r\n * @fileoverview Ponto de entrada dos temas\r\n * \r\n * @description\r\n * Exporta os temas claro e escuro para fácil consumo.\r\n * Cada tema agrupa todos os tokens de design de forma organizada,\r\n * facilitando a aplicação de temas completos na aplicação.\r\n * \r\n * @module themes\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n * \r\n * @example\r\n * ```typescript\r\n * import { themes, lightTheme, darkTheme } from '@rainersoft/design-tokens';\r\n * \r\n * // Usar tema completo\r\n * const currentTheme = themes.light;\r\n * \r\n * // Ou importar diretamente\r\n * const colors = lightTheme.colors;\r\n * ```\r\n */\r\n\r\n/**\r\n * Exporta o tema claro e seu tipo\r\n * \r\n * @description\r\n * Tema claro profissional e limpo, adequado para uso diurno.\r\n * \r\n * @see {LightTheme} Para o tipo TypeScript do tema claro\r\n */\r\nexport { lightTheme, type LightTheme } from './light';\r\n\r\n/**\r\n * Exporta o tema escuro e seu tipo\r\n * \r\n * @description\r\n * Tema escuro inspirado no estilo cyberpunk com cores neon e efeitos de brilho.\r\n * \r\n * @see {DarkTheme} Para o tipo TypeScript do tema escuro\r\n */\r\nexport { darkTheme, type DarkTheme } from './dark';\r\n\r\n/**\r\n * Objeto contendo todos os temas disponíveis\r\n * \r\n * @description\r\n * Objeto que agrupa todos os temas do sistema, permitindo acesso\r\n * fácil e organizado aos diferentes temas disponíveis.\r\n * \r\n * @type {Object}\r\n * @property {LightTheme} light - Tema claro\r\n * @property {DarkTheme} dark - Tema escuro (cyberpunk)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { themes } from 'rainer-design-tokens';\r\n * \r\n * // Acessar tema claro\r\n * const lightColors = themes.light.colors;\r\n * \r\n * // Acessar tema escuro\r\n * const darkShadows = themes.dark.shadows;\r\n * ```\r\n */\r\nimport { lightTheme } from './light';\r\nimport { darkTheme } from './dark';\r\n\r\nexport const themes = {\r\n light: lightTheme,\r\n dark: darkTheme,\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript para todos os temas\r\n * \r\n * @typedef {Object} Themes\r\n * @description\r\n * Tipo que representa a estrutura completa de todos os temas disponíveis.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n */\r\nexport type Themes = typeof themes;\r\n\r\n/**\r\n * Exportação padrão dos temas\r\n * \r\n * @description\r\n * Exporta o objeto principal contendo todos os temas disponíveis.\r\n * \r\n * @type {Themes}\r\n * @default themes\r\n */\r\nexport default themes;\r\n\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../index.ts","../tokens/colors/light.json","../tokens/colors/dark.json","../tokens/typography.json","../tokens/spacing.json","../tokens/radius.json","../tokens/shadows.json","../tokens/utilities.ts","../tokens/accessibility.ts","../tokens/index.ts","../themes/light.ts","../themes/dark.ts","../themes/index.ts"],"sourcesContent":["/**\r\n * @fileoverview Ponto de entrada principal da biblioteca @rainersoft/design-tokens\r\n * \r\n * @description\r\n * Biblioteca enterprise-grade de design tokens para sistemas de design modernos.\r\n * Tecnologicamente agnóstica, escalável e pronta para produção.\r\n * \r\n * Esta biblioteca fornece tokens de design estruturados que podem ser utilizados\r\n * em qualquer framework ou tecnologia, garantindo consistência visual em toda\r\n * a aplicação.\r\n * \r\n * @module @rainersoft/design-tokens\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @license MIT\r\n * @since 1.0.0\r\n * \r\n * @example\r\n * ```typescript\r\n * import { tokens, themes, lightTheme, darkTheme } from '@rainersoft/design-tokens';\r\n * \r\n * // Usar tokens diretamente\r\n * const primaryColor = tokens.colors.light.brand.primary;\r\n * \r\n * // Usar temas completos\r\n * const theme = lightTheme;\r\n * ```\r\n */\r\n\r\n// Re-export everything from tokens\r\nexport * from './tokens';\r\n\r\n// Re-export themes\r\nexport * from './themes';\r\n\r\n/**\r\n * Exportação padrão dos tokens de design\r\n * \r\n * @description\r\n * Exporta todos os tokens organizados por categoria (cores, tipografia, espaçamento, etc.)\r\n * \r\n * @type {import('./tokens').default}\r\n */\r\nexport { default as tokens } from './tokens';\r\n\r\n/**\r\n * Exportação padrão dos temas\r\n * \r\n * @description\r\n * Exporta os temas disponíveis (claro e escuro)\r\n * \r\n * @type {import('./themes').default}\r\n */\r\nexport { default as themes } from './themes';\r\n\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Light theme color palette - Modern and professional design with WCAG AA compliance\",\r\n \"colors\": {\r\n \"primary\": {\r\n \"base\": \"#0891b2\",\r\n \"hover\": \"#0e7490\",\r\n \"active\": \"#155e75\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"focus\": \"#0891b2\",\r\n \"background\": \"#ecfeff\",\r\n \"backgroundHover\": \"#cffafe\",\r\n \"backgroundActive\": \"#a5f3fc\",\r\n \"border\": \"#0891b2\",\r\n \"borderHover\": \"#0e7490\",\r\n \"borderFocus\": \"#06b6d4\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#a3a3a3\"\r\n },\r\n \"secondary\": {\r\n \"base\": \"#9333ea\",\r\n \"hover\": \"#7e22ce\",\r\n \"active\": \"#6b21a8\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"focus\": \"#9333ea\",\r\n \"background\": \"#faf5ff\",\r\n \"backgroundHover\": \"#f3e8ff\",\r\n \"backgroundActive\": \"#e9d5ff\",\r\n \"border\": \"#9333ea\",\r\n \"borderHover\": \"#7e22ce\",\r\n \"borderFocus\": \"#a855f7\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#a3a3a3\"\r\n },\r\n \"accent\": {\r\n \"base\": \"#db2777\",\r\n \"hover\": \"#be185d\",\r\n \"active\": \"#9f1239\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"focus\": \"#db2777\",\r\n \"background\": \"#fdf2f8\",\r\n \"backgroundHover\": \"#fce7f3\",\r\n \"backgroundActive\": \"#fbcfe8\",\r\n \"border\": \"#db2777\",\r\n \"borderHover\": \"#be185d\",\r\n \"borderFocus\": \"#ec4899\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#a3a3a3\"\r\n },\r\n \"background\": {\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#fafafa\",\r\n \"tertiary\": \"#f5f5f5\",\r\n \"inverse\": \"#0a0a0f\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.5)\",\r\n \"muted\": \"#f9fafb\"\r\n },\r\n \"surface\": {\r\n \"primary\": \"#ffffff\",\r\n \"secondary\": \"#fafafa\",\r\n \"tertiary\": \"#f5f5f5\",\r\n \"elevated\": \"#ffffff\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.5)\",\r\n \"hover\": \"#f9fafb\",\r\n \"active\": \"#f3f4f6\"\r\n },\r\n \"text\": {\r\n \"primary\": \"#171717\",\r\n \"secondary\": \"#404040\",\r\n \"tertiary\": \"#737373\",\r\n \"inverse\": \"#ffffff\",\r\n \"disabled\": \"#a3a3a3\",\r\n \"link\": \"#0891b2\",\r\n \"linkHover\": \"#0e7490\",\r\n \"linkActive\": \"#155e75\",\r\n \"linkVisited\": \"#7e22ce\",\r\n \"onPrimary\": \"#ffffff\",\r\n \"onSecondary\": \"#ffffff\",\r\n \"onAccent\": \"#ffffff\",\r\n \"onBackground\": \"#171717\",\r\n \"onSurface\": \"#171717\"\r\n },\r\n \"border\": {\r\n \"primary\": \"#e5e5e5\",\r\n \"secondary\": \"#d4d4d4\",\r\n \"tertiary\": \"#a3a3a3\",\r\n \"focus\": \"#0891b2\",\r\n \"focusRing\": \"#06b6d4\",\r\n \"inverse\": \"#404040\",\r\n \"hover\": \"#d4d4d4\",\r\n \"active\": \"#a3a3a3\",\r\n \"disabled\": \"#e5e5e5\"\r\n },\r\n \"status\": {\r\n \"success\": {\r\n \"base\": \"#22c55e\",\r\n \"hover\": \"#16a34a\",\r\n \"active\": \"#15803d\",\r\n \"background\": \"#f0fdf4\",\r\n \"backgroundHover\": \"#dcfce7\",\r\n \"border\": \"#86efac\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#166534\"\r\n },\r\n \"warning\": {\r\n \"base\": \"#f59e0b\",\r\n \"hover\": \"#d97706\",\r\n \"active\": \"#b45309\",\r\n \"background\": \"#fffbeb\",\r\n \"backgroundHover\": \"#fef3c7\",\r\n \"border\": \"#fcd34d\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#92400e\"\r\n },\r\n \"error\": {\r\n \"base\": \"#ef4444\",\r\n \"hover\": \"#dc2626\",\r\n \"active\": \"#b91c1c\",\r\n \"background\": \"#fef2f2\",\r\n \"backgroundHover\": \"#fee2e2\",\r\n \"border\": \"#fca5a5\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#991b1b\"\r\n },\r\n \"info\": {\r\n \"base\": \"#3b82f6\",\r\n \"hover\": \"#2563eb\",\r\n \"active\": \"#1d4ed8\",\r\n \"background\": \"#eff6ff\",\r\n \"backgroundHover\": \"#dbeafe\",\r\n \"border\": \"#93c5fd\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#1e40af\"\r\n }\r\n },\r\n \"interactive\": {\r\n \"default\": \"#0891b2\",\r\n \"hover\": \"#0e7490\",\r\n \"active\": \"#155e75\",\r\n \"disabled\": \"#d4d4d4\",\r\n \"disabledText\": \"#a3a3a3\",\r\n \"focus\": \"#0891b2\",\r\n \"focusRing\": \"#06b6d4\"\r\n },\r\n \"primitive\": {\r\n \"cyan\": {\r\n \"50\": \"#ecfeff\",\r\n \"100\": \"#cffafe\",\r\n \"200\": \"#a5f3fc\",\r\n \"300\": \"#67e8f9\",\r\n \"400\": \"#22d3ee\",\r\n \"500\": \"#06b6d4\",\r\n \"600\": \"#0891b2\",\r\n \"700\": \"#0e7490\",\r\n \"800\": \"#155e75\",\r\n \"900\": \"#164e63\"\r\n },\r\n \"purple\": {\r\n \"50\": \"#faf5ff\",\r\n \"100\": \"#f3e8ff\",\r\n \"200\": \"#e9d5ff\",\r\n \"300\": \"#d8b4fe\",\r\n \"400\": \"#c084fc\",\r\n \"500\": \"#a855f7\",\r\n \"600\": \"#9333ea\",\r\n \"700\": \"#7e22ce\",\r\n \"800\": \"#6b21a8\",\r\n \"900\": \"#581c87\"\r\n },\r\n \"pink\": {\r\n \"50\": \"#fdf2f8\",\r\n \"100\": \"#fce7f3\",\r\n \"200\": \"#fbcfe8\",\r\n \"300\": \"#f9a8d4\",\r\n \"400\": \"#f472b6\",\r\n \"500\": \"#ec4899\",\r\n \"600\": \"#db2777\",\r\n \"700\": \"#be185d\",\r\n \"800\": \"#9f1239\",\r\n \"900\": \"#831843\"\r\n },\r\n \"blue\": {\r\n \"50\": \"#eff6ff\",\r\n \"100\": \"#dbeafe\",\r\n \"200\": \"#bfdbfe\",\r\n \"300\": \"#93c5fd\",\r\n \"400\": \"#60a5fa\",\r\n \"500\": \"#3b82f6\",\r\n \"600\": \"#2563eb\",\r\n \"700\": \"#1d4ed8\",\r\n \"800\": \"#1e40af\",\r\n \"900\": \"#1e3a8a\"\r\n },\r\n \"green\": {\r\n \"50\": \"#f0fdf4\",\r\n \"100\": \"#dcfce7\",\r\n \"200\": \"#bbf7d0\",\r\n \"300\": \"#86efac\",\r\n \"400\": \"#4ade80\",\r\n \"500\": \"#22c55e\",\r\n \"600\": \"#16a34a\",\r\n \"700\": \"#15803d\",\r\n \"800\": \"#166534\",\r\n \"900\": \"#14532d\"\r\n },\r\n \"orange\": {\r\n \"50\": \"#fff7ed\",\r\n \"100\": \"#ffedd5\",\r\n \"200\": \"#fed7aa\",\r\n \"300\": \"#fdba74\",\r\n \"400\": \"#fb923c\",\r\n \"500\": \"#f97316\",\r\n \"600\": \"#ea580c\",\r\n \"700\": \"#c2410c\",\r\n \"800\": \"#9a3412\",\r\n \"900\": \"#7c2d12\"\r\n },\r\n \"red\": {\r\n \"50\": \"#fef2f2\",\r\n \"100\": \"#fee2e2\",\r\n \"200\": \"#fecaca\",\r\n \"300\": \"#fca5a5\",\r\n \"400\": \"#f87171\",\r\n \"500\": \"#ef4444\",\r\n \"600\": \"#dc2626\",\r\n \"700\": \"#b91c1c\",\r\n \"800\": \"#991b1b\",\r\n \"900\": \"#7f1d1d\"\r\n },\r\n \"amber\": {\r\n \"50\": \"#fffbeb\",\r\n \"100\": \"#fef3c7\",\r\n \"200\": \"#fde68a\",\r\n \"300\": \"#fcd34d\",\r\n \"400\": \"#fbbf24\",\r\n \"500\": \"#f59e0b\",\r\n \"600\": \"#d97706\",\r\n \"700\": \"#b45309\",\r\n \"800\": \"#92400e\",\r\n \"900\": \"#78350f\"\r\n },\r\n \"emerald\": {\r\n \"50\": \"#ecfdf5\",\r\n \"100\": \"#d1fae5\",\r\n \"200\": \"#a7f3d0\",\r\n \"300\": \"#6ee7b7\",\r\n \"400\": \"#34d399\",\r\n \"500\": \"#10b981\",\r\n \"600\": \"#059669\",\r\n \"700\": \"#047857\",\r\n \"800\": \"#065f46\",\r\n \"900\": \"#064e3b\"\r\n },\r\n \"neutral\": {\r\n \"50\": \"#fafafa\",\r\n \"100\": \"#f5f5f5\",\r\n \"200\": \"#e5e5e5\",\r\n \"300\": \"#d4d4d4\",\r\n \"400\": \"#a3a3a3\",\r\n \"500\": \"#737373\",\r\n \"600\": \"#525252\",\r\n \"700\": \"#404040\",\r\n \"800\": \"#262626\",\r\n \"900\": \"#171717\",\r\n \"950\": \"#0a0a0f\"\r\n }\r\n }\r\n }\r\n}\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Dark theme color palette - Cyberpunk neon style with WCAG AA compliance\",\r\n \"colors\": {\r\n \"primary\": {\r\n \"base\": \"#00e6ff\",\r\n \"hover\": \"#1affff\",\r\n \"active\": \"#4dffff\",\r\n \"disabled\": \"#404040\",\r\n \"focus\": \"#00e6ff\",\r\n \"background\": \"rgba(0, 230, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(0, 230, 255, 0.15)\",\r\n \"backgroundActive\": \"rgba(0, 230, 255, 0.2)\",\r\n \"border\": \"#00e6ff\",\r\n \"borderHover\": \"#1affff\",\r\n \"borderFocus\": \"#4dffff\",\r\n \"text\": \"#0a0a0f\",\r\n \"textHover\": \"#0a0a0f\",\r\n \"textDisabled\": \"#525252\"\r\n },\r\n \"secondary\": {\r\n \"base\": \"#7d00ff\",\r\n \"hover\": \"#941aff\",\r\n \"active\": \"#ab4dff\",\r\n \"disabled\": \"#404040\",\r\n \"focus\": \"#7d00ff\",\r\n \"background\": \"rgba(125, 0, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(125, 0, 255, 0.15)\",\r\n \"backgroundActive\": \"rgba(125, 0, 255, 0.2)\",\r\n \"border\": \"#7d00ff\",\r\n \"borderHover\": \"#941aff\",\r\n \"borderFocus\": \"#ab4dff\",\r\n \"text\": \"#ffffff\",\r\n \"textHover\": \"#ffffff\",\r\n \"textDisabled\": \"#525252\"\r\n },\r\n \"accent\": {\r\n \"base\": \"#ff00ff\",\r\n \"hover\": \"#ff1aff\",\r\n \"active\": \"#ff4dff\",\r\n \"disabled\": \"#404040\",\r\n \"focus\": \"#ff00ff\",\r\n \"background\": \"rgba(255, 0, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(255, 0, 255, 0.15)\",\r\n \"backgroundActive\": \"rgba(255, 0, 255, 0.2)\",\r\n \"border\": \"#ff00ff\",\r\n \"borderHover\": \"#ff1aff\",\r\n \"borderFocus\": \"#ff4dff\",\r\n \"text\": \"#0a0a0f\",\r\n \"textHover\": \"#0a0a0f\",\r\n \"textDisabled\": \"#525252\"\r\n },\r\n \"background\": {\r\n \"primary\": \"#0a0a0f\",\r\n \"secondary\": \"#0f0f1a\",\r\n \"tertiary\": \"#171717\",\r\n \"inverse\": \"#ffffff\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.8)\",\r\n \"muted\": \"#0f0f1a\"\r\n },\r\n \"surface\": {\r\n \"primary\": \"#171717\",\r\n \"secondary\": \"#262626\",\r\n \"tertiary\": \"#404040\",\r\n \"elevated\": \"#262626\",\r\n \"overlay\": \"rgba(0, 0, 0, 0.8)\",\r\n \"glass\": \"rgba(15, 15, 26, 0.7)\",\r\n \"glassHover\": \"rgba(15, 15, 26, 0.85)\",\r\n \"hover\": \"#262626\",\r\n \"active\": \"#404040\"\r\n },\r\n \"text\": {\r\n \"primary\": \"#b3ffff\",\r\n \"secondary\": \"#4dffff\",\r\n \"tertiary\": \"#00e6ff\",\r\n \"inverse\": \"#0a0a0f\",\r\n \"disabled\": \"#525252\",\r\n \"link\": \"#1affff\",\r\n \"linkHover\": \"#4dffff\",\r\n \"linkActive\": \"#80ffff\",\r\n \"linkVisited\": \"#941aff\",\r\n \"onPrimary\": \"#0a0a0f\",\r\n \"onSecondary\": \"#ffffff\",\r\n \"onAccent\": \"#0a0a0f\",\r\n \"onBackground\": \"#b3ffff\",\r\n \"onSurface\": \"#b3ffff\",\r\n \"glow\": \"#00e6ff\",\r\n \"neonCyan\": \"#00e6ff\",\r\n \"neonPink\": \"#ff00ff\",\r\n \"neonPurple\": \"#7d00ff\",\r\n \"neonGreen\": \"#00ff00\"\r\n },\r\n \"border\": {\r\n \"primary\": \"#262626\",\r\n \"secondary\": \"#404040\",\r\n \"tertiary\": \"#525252\",\r\n \"focus\": \"#00e6ff\",\r\n \"focusRing\": \"#1affff\",\r\n \"inverse\": \"#e5e5e5\",\r\n \"neon\": \"#00e6ff\",\r\n \"neonGlow\": \"rgba(0, 230, 255, 0.3)\",\r\n \"hover\": \"#404040\",\r\n \"active\": \"#525252\",\r\n \"disabled\": \"#262626\"\r\n },\r\n \"status\": {\r\n \"success\": {\r\n \"base\": \"#00ff00\",\r\n \"hover\": \"#4dff4d\",\r\n \"active\": \"#80ff80\",\r\n \"background\": \"rgba(0, 255, 0, 0.1)\",\r\n \"backgroundHover\": \"rgba(0, 255, 0, 0.15)\",\r\n \"border\": \"#4dff4d\",\r\n \"text\": \"#0a0a0f\",\r\n \"textOnBackground\": \"#4dff4d\"\r\n },\r\n \"warning\": {\r\n \"base\": \"#ff7d00\",\r\n \"hover\": \"#ffab4d\",\r\n \"active\": \"#ffc880\",\r\n \"background\": \"rgba(255, 125, 0, 0.1)\",\r\n \"backgroundHover\": \"rgba(255, 125, 0, 0.15)\",\r\n \"border\": \"#ffab4d\",\r\n \"text\": \"#0a0a0f\",\r\n \"textOnBackground\": \"#ffab4d\"\r\n },\r\n \"error\": {\r\n \"base\": \"#f87171\",\r\n \"hover\": \"#fca5a5\",\r\n \"active\": \"#fecaca\",\r\n \"background\": \"rgba(239, 68, 68, 0.1)\",\r\n \"backgroundHover\": \"rgba(239, 68, 68, 0.15)\",\r\n \"border\": \"#fca5a5\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#fca5a5\"\r\n },\r\n \"info\": {\r\n \"base\": \"#007dff\",\r\n \"hover\": \"#4dabff\",\r\n \"active\": \"#80c7ff\",\r\n \"background\": \"rgba(0, 125, 255, 0.1)\",\r\n \"backgroundHover\": \"rgba(0, 125, 255, 0.15)\",\r\n \"border\": \"#4dabff\",\r\n \"text\": \"#ffffff\",\r\n \"textOnBackground\": \"#4dabff\"\r\n }\r\n },\r\n \"interactive\": {\r\n \"default\": \"#00e6ff\",\r\n \"hover\": \"#1affff\",\r\n \"active\": \"#4dffff\",\r\n \"disabled\": \"#404040\",\r\n \"disabledText\": \"#525252\",\r\n \"focus\": \"#00e6ff\",\r\n \"focusRing\": \"#1affff\"\r\n },\r\n \"effects\": {\r\n \"glowCyan\": \"0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)\",\r\n \"glowPink\": \"0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)\",\r\n \"glowPurple\": \"0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)\",\r\n \"glowGreen\": \"0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)\",\r\n \"shadowSm\": \"0 1px 2px 0 rgba(0, 0, 0, 0.5)\",\r\n \"shadowMd\": \"0 4px 6px -1px rgba(0, 0, 0, 0.5)\",\r\n \"shadowLg\": \"0 10px 15px -3px rgba(0, 0, 0, 0.5)\"\r\n },\r\n \"gradients\": {\r\n \"primary\": \"linear-gradient(135deg, #00e6ff 0%, #7d00ff 100%)\",\r\n \"secondary\": \"linear-gradient(135deg, #ff00ff 0%, #00e6ff 100%)\",\r\n \"accent\": \"linear-gradient(135deg, #ff7d00 0%, #ff00ff 100%)\",\r\n \"background\": \"linear-gradient(180deg, #0a0a0f 0%, #0f0f1a 100%)\"\r\n },\r\n \"primitive\": {\r\n \"cyan\": {\r\n \"50\": \"rgba(0, 230, 255, 0.1)\",\r\n \"100\": \"rgba(0, 230, 255, 0.15)\",\r\n \"200\": \"rgba(0, 230, 255, 0.2)\",\r\n \"300\": \"#4dffff\",\r\n \"400\": \"#1affff\",\r\n \"500\": \"#00e6ff\",\r\n \"600\": \"#00b8cc\",\r\n \"700\": \"#008a99\",\r\n \"800\": \"#005c66\",\r\n \"900\": \"#003d44\"\r\n },\r\n \"purple\": {\r\n \"50\": \"rgba(125, 0, 255, 0.1)\",\r\n \"100\": \"rgba(125, 0, 255, 0.15)\",\r\n \"200\": \"rgba(125, 0, 255, 0.2)\",\r\n \"300\": \"#ab4dff\",\r\n \"400\": \"#941aff\",\r\n \"500\": \"#7d00ff\",\r\n \"600\": \"#6400cc\",\r\n \"700\": \"#4b0099\",\r\n \"800\": \"#320066\",\r\n \"900\": \"#190033\"\r\n },\r\n \"pink\": {\r\n \"50\": \"rgba(255, 0, 255, 0.1)\",\r\n \"100\": \"rgba(255, 0, 255, 0.15)\",\r\n \"200\": \"rgba(255, 0, 255, 0.2)\",\r\n \"300\": \"#ff4dff\",\r\n \"400\": \"#ff1aff\",\r\n \"500\": \"#ff00ff\",\r\n \"600\": \"#cc00cc\",\r\n \"700\": \"#990099\",\r\n \"800\": \"#660066\",\r\n \"900\": \"#330033\"\r\n },\r\n \"blue\": {\r\n \"50\": \"rgba(0, 125, 255, 0.1)\",\r\n \"100\": \"rgba(0, 125, 255, 0.15)\",\r\n \"200\": \"rgba(0, 125, 255, 0.2)\",\r\n \"300\": \"#80c7ff\",\r\n \"400\": \"#4dabff\",\r\n \"500\": \"#007dff\",\r\n \"600\": \"#0064cc\",\r\n \"700\": \"#004b99\",\r\n \"800\": \"#003266\",\r\n \"900\": \"#001933\"\r\n },\r\n \"green\": {\r\n \"50\": \"rgba(0, 255, 0, 0.1)\",\r\n \"100\": \"rgba(0, 255, 0, 0.15)\",\r\n \"200\": \"rgba(0, 255, 0, 0.2)\",\r\n \"300\": \"#80ff80\",\r\n \"400\": \"#4dff4d\",\r\n \"500\": \"#00ff00\",\r\n \"600\": \"#00cc00\",\r\n \"700\": \"#009900\",\r\n \"800\": \"#006600\",\r\n \"900\": \"#003300\"\r\n },\r\n \"orange\": {\r\n \"50\": \"rgba(255, 125, 0, 0.1)\",\r\n \"100\": \"rgba(255, 125, 0, 0.15)\",\r\n \"200\": \"rgba(255, 125, 0, 0.2)\",\r\n \"300\": \"#ffc880\",\r\n \"400\": \"#ffab4d\",\r\n \"500\": \"#ff7d00\",\r\n \"600\": \"#cc6400\",\r\n \"700\": \"#994b00\",\r\n \"800\": \"#663200\",\r\n \"900\": \"#331900\"\r\n },\r\n \"red\": {\r\n \"50\": \"rgba(239, 68, 68, 0.1)\",\r\n \"100\": \"rgba(239, 68, 68, 0.15)\",\r\n \"200\": \"rgba(239, 68, 68, 0.2)\",\r\n \"300\": \"#fecaca\",\r\n \"400\": \"#fca5a5\",\r\n \"500\": \"#f87171\",\r\n \"600\": \"#c55a5a\",\r\n \"700\": \"#924343\",\r\n \"800\": \"#5f2c2c\",\r\n \"900\": \"#2c1515\"\r\n },\r\n \"amber\": {\r\n \"50\": \"rgba(255, 125, 0, 0.1)\",\r\n \"100\": \"rgba(255, 125, 0, 0.15)\",\r\n \"200\": \"rgba(255, 125, 0, 0.2)\",\r\n \"300\": \"#ffc880\",\r\n \"400\": \"#ffab4d\",\r\n \"500\": \"#ff7d00\",\r\n \"600\": \"#cc6400\",\r\n \"700\": \"#994b00\",\r\n \"800\": \"#663200\",\r\n \"900\": \"#331900\"\r\n },\r\n \"emerald\": {\r\n \"50\": \"rgba(0, 255, 0, 0.1)\",\r\n \"100\": \"rgba(0, 255, 0, 0.15)\",\r\n \"200\": \"rgba(0, 255, 0, 0.2)\",\r\n \"300\": \"#80ff80\",\r\n \"400\": \"#4dff4d\",\r\n \"500\": \"#00ff00\",\r\n \"600\": \"#00cc00\",\r\n \"700\": \"#009900\",\r\n \"800\": \"#006600\",\r\n \"900\": \"#003300\"\r\n },\r\n \"neutral\": {\r\n \"50\": \"#0f0f1a\",\r\n \"100\": \"#171717\",\r\n \"200\": \"#262626\",\r\n \"300\": \"#404040\",\r\n \"400\": \"#525252\",\r\n \"500\": \"#737373\",\r\n \"600\": \"#a3a3a3\",\r\n \"700\": \"#d4d4d4\",\r\n \"800\": \"#e5e5e5\",\r\n \"900\": \"#f5f5f5\",\r\n \"950\": \"#ffffff\"\r\n }\r\n }\r\n }\r\n}\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Typography tokens - Complete typographic scale with semantic hierarchy (H1-H6, subtitles, body, captions)\",\r\n \"typography\": {\r\n \"fontFamily\": {\r\n \"sans\": \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\",\r\n \"serif\": \"ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif\",\r\n \"mono\": \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\r\n \"display\": \"var(--font-orbitron, ui-sans-serif)\",\r\n \"body\": \"var(--font-inter, ui-sans-serif)\",\r\n \"code\": \"var(--font-rajdhani, ui-monospace)\"\r\n },\r\n \"fontSize\": {\r\n \"xs\": \"0.75rem\",\r\n \"sm\": \"0.875rem\",\r\n \"base\": \"1rem\",\r\n \"lg\": \"1.125rem\",\r\n \"xl\": \"1.25rem\",\r\n \"2xl\": \"1.5rem\",\r\n \"3xl\": \"1.875rem\",\r\n \"4xl\": \"2.25rem\",\r\n \"5xl\": \"3rem\",\r\n \"6xl\": \"3.75rem\",\r\n \"7xl\": \"4.5rem\",\r\n \"8xl\": \"6rem\",\r\n \"9xl\": \"8rem\"\r\n },\r\n \"fontWeight\": {\r\n \"thin\": \"100\",\r\n \"extralight\": \"200\",\r\n \"light\": \"300\",\r\n \"normal\": \"400\",\r\n \"medium\": \"500\",\r\n \"semibold\": \"600\",\r\n \"bold\": \"700\",\r\n \"extrabold\": \"800\",\r\n \"black\": \"900\"\r\n },\r\n \"lineHeight\": {\r\n \"none\": \"1\",\r\n \"tight\": \"1.25\",\r\n \"snug\": \"1.375\",\r\n \"normal\": \"1.5\",\r\n \"relaxed\": \"1.625\",\r\n \"loose\": \"2\"\r\n },\r\n \"letterSpacing\": {\r\n \"tighter\": \"-0.05em\",\r\n \"tight\": \"-0.025em\",\r\n \"normal\": \"0em\",\r\n \"wide\": \"0.025em\",\r\n \"wider\": \"0.05em\",\r\n \"widest\": \"0.1em\"\r\n },\r\n \"headings\": {\r\n \"h1\": {\r\n \"fontFamily\": \"var(--font-display, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(2.25rem, 5vw + 1rem, 4.5rem)\",\r\n \"fontSizeMobile\": \"2.25rem\",\r\n \"fontSizeTablet\": \"3rem\",\r\n \"fontSizeDesktop\": \"4.5rem\",\r\n \"fontWeight\": \"900\",\r\n \"lineHeight\": \"1.1\",\r\n \"letterSpacing\": \"-0.02em\",\r\n \"marginBottom\": \"1rem\"\r\n },\r\n \"h2\": {\r\n \"fontFamily\": \"var(--font-display, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.875rem, 4vw + 0.75rem, 3.75rem)\",\r\n \"fontSizeMobile\": \"1.875rem\",\r\n \"fontSizeTablet\": \"2.5rem\",\r\n \"fontSizeDesktop\": \"3.75rem\",\r\n \"fontWeight\": \"800\",\r\n \"lineHeight\": \"1.15\",\r\n \"letterSpacing\": \"-0.015em\",\r\n \"marginBottom\": \"0.875rem\"\r\n },\r\n \"h3\": {\r\n \"fontFamily\": \"var(--font-display, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.5rem, 3vw + 0.5rem, 3rem)\",\r\n \"fontSizeMobile\": \"1.5rem\",\r\n \"fontSizeTablet\": \"2rem\",\r\n \"fontSizeDesktop\": \"3rem\",\r\n \"fontWeight\": \"700\",\r\n \"lineHeight\": \"1.2\",\r\n \"letterSpacing\": \"-0.01em\",\r\n \"marginBottom\": \"0.75rem\"\r\n },\r\n \"h4\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.25rem, 2.5vw + 0.5rem, 2.25rem)\",\r\n \"fontSizeMobile\": \"1.25rem\",\r\n \"fontSizeTablet\": \"1.75rem\",\r\n \"fontSizeDesktop\": \"2.25rem\",\r\n \"fontWeight\": \"700\",\r\n \"lineHeight\": \"1.25\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.625rem\"\r\n },\r\n \"h5\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.125rem, 2vw + 0.25rem, 1.875rem)\",\r\n \"fontSizeMobile\": \"1.125rem\",\r\n \"fontSizeTablet\": \"1.5rem\",\r\n \"fontSizeDesktop\": \"1.875rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.3\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.5rem\"\r\n },\r\n \"h6\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1rem, 1.5vw + 0.25rem, 1.5rem)\",\r\n \"fontSizeMobile\": \"1rem\",\r\n \"fontSizeTablet\": \"1.25rem\",\r\n \"fontSizeDesktop\": \"1.5rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.35\",\r\n \"letterSpacing\": \"0.01em\",\r\n \"marginBottom\": \"0.5rem\"\r\n }\r\n },\r\n \"subtitle\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.25rem, 2vw + 0.5rem, 2rem)\",\r\n \"fontSizeMobile\": \"1.25rem\",\r\n \"fontSizeTablet\": \"1.5rem\",\r\n \"fontSizeDesktop\": \"2rem\",\r\n \"fontWeight\": \"500\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.5rem\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"clamp(1.125rem, 1.5vw + 0.25rem, 1.5rem)\",\r\n \"fontSizeMobile\": \"1.125rem\",\r\n \"fontSizeTablet\": \"1.25rem\",\r\n \"fontSizeDesktop\": \"1.5rem\",\r\n \"fontWeight\": \"500\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.5rem\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1rem\",\r\n \"fontWeight\": \"500\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0em\",\r\n \"marginBottom\": \"0.375rem\"\r\n }\r\n },\r\n \"body\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1.125rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.625\",\r\n \"letterSpacing\": \"0em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0em\"\r\n }\r\n },\r\n \"caption\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.75rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.625rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.3\",\r\n \"letterSpacing\": \"0.02em\"\r\n }\r\n },\r\n \"button\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1.125rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"1rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n }\r\n },\r\n \"label\": {\r\n \"large\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"medium\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.75rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.4\",\r\n \"letterSpacing\": \"0.01em\"\r\n },\r\n \"small\": {\r\n \"fontFamily\": \"var(--font-body, ui-sans-serif)\",\r\n \"fontSize\": \"0.625rem\",\r\n \"fontWeight\": \"600\",\r\n \"lineHeight\": \"1.3\",\r\n \"letterSpacing\": \"0.02em\"\r\n }\r\n },\r\n \"code\": {\r\n \"inline\": {\r\n \"fontFamily\": \"var(--font-code, ui-monospace)\",\r\n \"fontSize\": \"0.875em\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.5\",\r\n \"letterSpacing\": \"0em\"\r\n },\r\n \"block\": {\r\n \"fontFamily\": \"var(--font-code, ui-monospace)\",\r\n \"fontSize\": \"0.875rem\",\r\n \"fontWeight\": \"400\",\r\n \"lineHeight\": \"1.6\",\r\n \"letterSpacing\": \"0em\"\r\n }\r\n }\r\n }\r\n}\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Spacing tokens - Consistent spacing scale based on 8pt grid\",\r\n \"spacing\": {\r\n \"0\": \"0px\",\r\n \"px\": \"1px\",\r\n \"0.5\": \"0.125rem\",\r\n \"1\": \"0.25rem\",\r\n \"1.5\": \"0.375rem\",\r\n \"2\": \"0.5rem\",\r\n \"2.5\": \"0.625rem\",\r\n \"3\": \"0.75rem\",\r\n \"3.5\": \"0.875rem\",\r\n \"4\": \"1rem\",\r\n \"5\": \"1.25rem\",\r\n \"6\": \"1.5rem\",\r\n \"7\": \"1.75rem\",\r\n \"8\": \"2rem\",\r\n \"9\": \"2.25rem\",\r\n \"10\": \"2.5rem\",\r\n \"11\": \"2.75rem\",\r\n \"12\": \"3rem\",\r\n \"14\": \"3.5rem\",\r\n \"16\": \"4rem\",\r\n \"20\": \"5rem\",\r\n \"24\": \"6rem\",\r\n \"28\": \"7rem\",\r\n \"32\": \"8rem\",\r\n \"36\": \"9rem\",\r\n \"40\": \"10rem\",\r\n \"44\": \"11rem\",\r\n \"48\": \"12rem\",\r\n \"52\": \"13rem\",\r\n \"56\": \"14rem\",\r\n \"60\": \"15rem\",\r\n \"64\": \"16rem\",\r\n \"72\": \"18rem\",\r\n \"80\": \"20rem\",\r\n \"96\": \"24rem\"\r\n }\r\n}\r\n\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Border radius tokens - Consistent corner rounding\",\r\n \"radius\": {\r\n \"none\": \"0px\",\r\n \"sm\": \"0.125rem\",\r\n \"base\": \"0.25rem\",\r\n \"md\": \"0.375rem\",\r\n \"lg\": \"0.5rem\",\r\n \"xl\": \"0.75rem\",\r\n \"2xl\": \"1rem\",\r\n \"3xl\": \"1.5rem\",\r\n \"full\": \"9999px\"\r\n }\r\n}\r\n\r\n","{\r\n \"$schema\": \"https://json.schemastore.org/theme.json\",\r\n \"$description\": \"Shadow tokens - Elevation and depth\",\r\n \"shadows\": {\r\n \"light\": {\r\n \"xs\": \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\r\n \"sm\": \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\",\r\n \"base\": \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\r\n \"md\": \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)\",\r\n \"lg\": \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)\",\r\n \"xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\r\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\r\n \"inner\": \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.05)\"\r\n },\r\n \"dark\": {\r\n \"xs\": \"0 1px 2px 0 rgba(0, 0, 0, 0.5)\",\r\n \"sm\": \"0 1px 3px 0 rgba(0, 0, 0, 0.5), 0 1px 2px -1px rgba(0, 0, 0, 0.5)\",\r\n \"base\": \"0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.5)\",\r\n \"md\": \"0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.5)\",\r\n \"lg\": \"0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5)\",\r\n \"xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.75)\",\r\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.75)\",\r\n \"inner\": \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.5)\",\r\n \"glow\": {\r\n \"cyan\": \"0 0 20px rgba(0, 230, 255, 0.5), 0 0 40px rgba(0, 230, 255, 0.3)\",\r\n \"pink\": \"0 0 20px rgba(255, 0, 255, 0.5), 0 0 40px rgba(255, 0, 255, 0.3)\",\r\n \"purple\": \"0 0 20px rgba(125, 0, 255, 0.5), 0 0 40px rgba(125, 0, 255, 0.3)\",\r\n \"green\": \"0 0 20px rgba(0, 255, 0, 0.5), 0 0 40px rgba(0, 255, 0, 0.3)\"\r\n }\r\n }\r\n }\r\n}\r\n\r\n","/**\r\n * @fileoverview Tokens utilitários - Classes Tailwind CSS\r\n * \r\n * @description\r\n * Tokens utilitários que exportam classes Tailwind CSS prontas para uso.\r\n * Esses tokens são classes CSS que podem ser aplicadas diretamente nos componentes,\r\n * facilitando o desenvolvimento e garantindo consistência visual.\r\n * \r\n * @module tokens/utilities\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\n/**\r\n * Direções de gradiente como classes Tailwind CSS\r\n * \r\n * @description\r\n * Conjunto de constantes que representam as diferentes direções\r\n * de gradiente disponíveis no Tailwind CSS.\r\n * \r\n * @type {Object}\r\n * @property {string} TO_TOP - Gradiente de baixo para cima\r\n * @property {string} TO_BOTTOM - Gradiente de cima para baixo\r\n * @property {string} TO_LEFT - Gradiente da direita para esquerda\r\n * @property {string} TO_RIGHT - Gradiente da esquerda para direita\r\n * @property {string} TO_TL - Gradiente para cima-esquerda (top-left)\r\n * @property {string} TO_TR - Gradiente para cima-direita (top-right)\r\n * @property {string} TO_BL - Gradiente para baixo-esquerda (bottom-left)\r\n * @property {string} TO_BR - Gradiente para baixo-direita (bottom-right)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { GRADIENT_DIRECTIONS } from 'rainer-design-tokens';\r\n * \r\n * // Aplicar gradiente de cima para baixo\r\n * <div className={GRADIENT_DIRECTIONS.TO_BOTTOM}>\r\n * ```\r\n */\r\nexport const GRADIENT_DIRECTIONS = {\r\n TO_TOP: 'bg-gradient-to-t',\r\n TO_BOTTOM: 'bg-gradient-to-b',\r\n TO_LEFT: 'bg-gradient-to-l',\r\n TO_RIGHT: 'bg-gradient-to-r',\r\n TO_TL: 'bg-gradient-to-tl',\r\n TO_TR: 'bg-gradient-to-tr',\r\n TO_BL: 'bg-gradient-to-bl',\r\n TO_BR: 'bg-gradient-to-br',\r\n} as const;\r\n\r\n/**\r\n * Gradientes decorativos e utilitários como classes Tailwind CSS\r\n * \r\n * @description\r\n * Conjunto de gradientes pré-configurados para uso em diferentes\r\n * contextos da aplicação, incluindo texto, elementos decorativos e botões.\r\n * \r\n * @type {Object}\r\n * @property {string} TEXT_PRIMARY - Gradiente para texto com efeito de clip\r\n * @property {string} DECORATIVE_PRIMARY - Gradiente decorativo principal (cyan-purple-pink)\r\n * @property {string} DECORATIVE_CYAN_PURPLE - Gradiente decorativo cyan para purple\r\n * @property {string} DECORATIVE_GREEN_EMERALD - Gradiente decorativo green para emerald\r\n * @property {string} BUTTON_CYAN_BLUE - Gradiente para botões (cyan para blue)\r\n * @property {string} BUTTON_PURPLE_PINK - Gradiente para botões (purple para pink)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { GRADIENTS } from 'rainer-design-tokens';\r\n * \r\n * // Aplicar gradiente em texto\r\n * <h1 className={GRADIENTS.TEXT_PRIMARY}>Título com Gradiente</h1>\r\n * \r\n * // Aplicar gradiente em botão\r\n * <button className={GRADIENTS.BUTTON_CYAN_BLUE}>Clique aqui</button>\r\n * ```\r\n */\r\nexport const GRADIENTS = {\r\n // Gradientes de texto usando tokens CSS\r\n TEXT_PRIMARY: 'bg-linear-to-r from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)] bg-clip-text text-transparent',\r\n \r\n // Gradientes decorativos usando tokens CSS\r\n DECORATIVE_PRIMARY: 'bg-linear-to-br from-[var(--color-primary-base)] via-[var(--color-secondary-base)] to-[var(--color-accent-base)]',\r\n DECORATIVE_CYAN_PURPLE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-secondary-base)]',\r\n DECORATIVE_GREEN_EMERALD: 'bg-linear-to-br from-[var(--color-status-success)] to-[var(--color-accent-base)]',\r\n \r\n // Gradientes de botões usando tokens CSS\r\n BUTTON_CYAN_BLUE: 'bg-linear-to-r from-[var(--color-primary-base)] to-[var(--color-primary-hover)]',\r\n BUTTON_PURPLE_PINK: 'bg-linear-to-r from-[var(--color-secondary-base)] to-[var(--color-accent-base)]',\r\n} as const;\r\n\r\n/**\r\n * Backgrounds utilitários como classes Tailwind CSS\r\n * \r\n * @description\r\n * Conjunto de classes para backgrounds pré-configurados, incluindo\r\n * overlays, divisores e backgrounds de seção com efeitos de gradiente sutis.\r\n * \r\n * @type {Object}\r\n * @property {string} FULL - Background completo padrão\r\n * @property {string} GRADIENT_OVERLAY - Overlay de gradiente sutil\r\n * @property {string} PREMIUM_DIVIDER_CONTAINER - Container para divisor premium\r\n * @property {string} PREMIUM_DIVIDER_LINE - Linha do divisor premium\r\n * @property {string} SECTION_CYAN - Background de seção com gradiente cyan\r\n * @property {string} SECTION_CYAN_VIA - Background de seção cyan via (meio)\r\n * @property {string} SECTION_PURPLE_VIA - Background de seção purple via (meio)\r\n * @property {string} SECTION_PINK_VIA - Background de seção pink via (meio)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { BACKGROUND } from 'rainer-design-tokens';\r\n * \r\n * // Aplicar background de seção\r\n * <section className={BACKGROUND.SECTION_CYAN}>\r\n * Conteúdo da seção\r\n * </section>\r\n * \r\n * // Aplicar overlay de gradiente\r\n * <div className={BACKGROUND.GRADIENT_OVERLAY}>\r\n * Conteúdo com overlay\r\n * </div>\r\n * ```\r\n */\r\nexport const BACKGROUND = {\r\n // Background completo usando token CSS\r\n FULL: 'bg-[var(--color-background-primary)]',\r\n \r\n // Overlay de gradiente usando tokens CSS\r\n GRADIENT_OVERLAY: 'bg-linear-to-br from-[var(--color-primary-base)]/10 via-[var(--color-secondary-base)]/10 to-[var(--color-accent-base)]/10',\r\n \r\n // Divisores premium usando tokens CSS\r\n PREMIUM_DIVIDER_CONTAINER: 'bg-linear-to-b from-transparent via-[var(--color-primary-base)]/5 to-transparent',\r\n PREMIUM_DIVIDER_LINE: 'bg-linear-to-r from-transparent via-[var(--color-primary-base)]/50 to-transparent',\r\n \r\n // Backgrounds de seção usando tokens CSS\r\n SECTION_CYAN: 'bg-linear-to-br from-[var(--color-primary-base)]/5 via-[var(--color-primary-base)]/3 to-transparent',\r\n SECTION_CYAN_VIA: 'bg-linear-to-br from-transparent via-[var(--color-primary-base)]/5 to-transparent',\r\n SECTION_PURPLE_VIA: 'bg-linear-to-br from-transparent via-[var(--color-secondary-base)]/5 to-transparent',\r\n SECTION_PINK_VIA: 'bg-linear-to-br from-transparent via-[var(--color-accent-base)]/5 to-transparent',\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript para direções de gradiente\r\n * \r\n * @typedef {Object} GradientDirections\r\n * @description\r\n * Tipo que representa todas as direções de gradiente disponíveis.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n */\r\nexport type GradientDirections = typeof GRADIENT_DIRECTIONS;\r\n\r\n/**\r\n * Tipo TypeScript para gradientes\r\n * \r\n * @typedef {Object} Gradients\r\n * @description\r\n * Tipo que representa todos os gradientes pré-configurados disponíveis.\r\n */\r\nexport type Gradients = typeof GRADIENTS;\r\n\r\n/**\r\n * Tipo TypeScript para backgrounds\r\n * \r\n * @typedef {Object} Background\r\n * @description\r\n * Tipo que representa todos os backgrounds utilitários disponíveis.\r\n */\r\nexport type Background = typeof BACKGROUND;\r\n\r\n","/**\r\n * @fileoverview Utilitários de Acessibilidade - Verificação de Contraste WCAG\r\n * \r\n * @description\r\n * Utilitários para verificar e garantir conformidade com padrões WCAG AA/AAA\r\n * de contraste de cores. Essas funções são agnósticas e podem ser usadas em\r\n * qualquer ambiente (web, mobile, desktop).\r\n * \r\n * @module tokens/accessibility\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\n/**\r\n * Converte cor hexadecimal para RGB\r\n * \r\n * @param {string} hex - Cor em formato hexadecimal (#RRGGBB ou RRGGBB)\r\n * @returns {Object} Objeto com valores RGB { r, g, b }\r\n * \r\n * @example\r\n * ```typescript\r\n * const rgb = hexToRgb('#0891b2');\r\n * // { r: 8, g: 145, b: 178 }\r\n * ```\r\n */\r\nexport function hexToRgb(hex: string): { r: number; g: number; b: number } {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n if (!result) {\r\n throw new Error(`Invalid hex color: ${hex}`);\r\n }\r\n return {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16),\r\n };\r\n}\r\n\r\n/**\r\n * Calcula a luminância relativa de uma cor RGB\r\n * \r\n * @param {number} r - Componente vermelho (0-255)\r\n * @param {number} g - Componente verde (0-255)\r\n * @param {number} b - Componente azul (0-255)\r\n * @returns {number} Luminância relativa (0-1)\r\n * \r\n * @description\r\n * Fórmula baseada na recomendação WCAG 2.1 para cálculo de luminância.\r\n * \r\n * @example\r\n * ```typescript\r\n * const luminance = getLuminance(8, 145, 178);\r\n * // 0.234\r\n * ```\r\n */\r\nexport function getLuminance(r: number, g: number, b: number): number {\r\n const [rs, gs, bs] = [r, g, b].map((val) => {\r\n const v = val / 255;\r\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\r\n });\r\n return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;\r\n}\r\n\r\n/**\r\n * Calcula o contraste entre duas cores\r\n * \r\n * @param {string} color1 - Primeira cor em hexadecimal\r\n * @param {string} color2 - Segunda cor em hexadecimal\r\n * @returns {number} Razão de contraste (1-21)\r\n * \r\n * @description\r\n * Retorna a razão de contraste entre duas cores conforme WCAG 2.1.\r\n * Valores mínimos recomendados:\r\n * - WCAG AA (normal): 4.5:1 para texto normal, 3:1 para texto grande\r\n * - WCAG AAA (melhor): 7:1 para texto normal, 4.5:1 para texto grande\r\n * \r\n * @example\r\n * ```typescript\r\n * const contrast = getContrast('#ffffff', '#000000');\r\n * // 21 (máximo contraste)\r\n * \r\n * const contrast2 = getContrast('#0891b2', '#ffffff');\r\n * // 3.2 (atende WCAG AA para texto grande)\r\n * ```\r\n */\r\nexport function getContrast(\r\n color1: string,\r\n color2: string\r\n): number {\r\n const rgb1 = hexToRgb(color1);\r\n const rgb2 = hexToRgb(color2);\r\n\r\n const lum1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);\r\n const lum2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);\r\n\r\n const lighter = Math.max(lum1, lum2);\r\n const darker = Math.min(lum1, lum2);\r\n\r\n return (lighter + 0.05) / (darker + 0.05);\r\n}\r\n\r\n/**\r\n * Verifica se o contraste atende ao padrão WCAG AA\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @param {boolean} [largeText=false] - Se o texto é grande (>=18pt ou >=14pt bold)\r\n * @returns {boolean} true se atende WCAG AA, false caso contrário\r\n * \r\n * @description\r\n * WCAG AA requer:\r\n * - Texto normal: contraste mínimo de 4.5:1\r\n * - Texto grande: contraste mínimo de 3:1\r\n * \r\n * @example\r\n * ```typescript\r\n * const meetsAA = meetsWCAGAA('#0891b2', '#ffffff', false);\r\n * // true (contraste 3.2:1, mas texto normal precisa 4.5:1)\r\n * \r\n * const meetsAALarge = meetsWCAGAA('#0891b2', '#ffffff', true);\r\n * // true (contraste 3.2:1, texto grande precisa 3:1)\r\n * ```\r\n */\r\nexport function meetsWCAGAA(\r\n foreground: string,\r\n background: string,\r\n largeText: boolean = false\r\n): boolean {\r\n const contrast = getContrast(foreground, background);\r\n return largeText ? contrast >= 3 : contrast >= 4.5;\r\n}\r\n\r\n/**\r\n * Verifica se o contraste atende ao padrão WCAG AAA\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @param {boolean} [largeText=false] - Se o texto é grande (>=18pt ou >=14pt bold)\r\n * @returns {boolean} true se atende WCAG AAA, false caso contrário\r\n * \r\n * @description\r\n * WCAG AAA requer:\r\n * - Texto normal: contraste mínimo de 7:1\r\n * - Texto grande: contraste mínimo de 4.5:1\r\n * \r\n * @example\r\n * ```typescript\r\n * const meetsAAA = meetsWCAGAAA('#000000', '#ffffff', false);\r\n * // true (contraste 21:1)\r\n * ```\r\n */\r\nexport function meetsWCAGAAA(\r\n foreground: string,\r\n background: string,\r\n largeText: boolean = false\r\n): boolean {\r\n const contrast = getContrast(foreground, background);\r\n return largeText ? contrast >= 4.5 : contrast >= 7;\r\n}\r\n\r\n/**\r\n * Retorna informações completas de contraste entre duas cores\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @returns {Object} Objeto com informações de contraste\r\n * \r\n * @example\r\n * ```typescript\r\n * const info = getContrastInfo('#0891b2', '#ffffff');\r\n * // {\r\n * // contrast: 3.2,\r\n * // meetsAA: false,\r\n * // meetsAALarge: true,\r\n * // meetsAAA: false,\r\n * // meetsAAALarge: false,\r\n * // level: 'AA Large'\r\n * // }\r\n * ```\r\n */\r\nexport function getContrastInfo(\r\n foreground: string,\r\n background: string\r\n): {\r\n contrast: number;\r\n meetsAA: boolean;\r\n meetsAALarge: boolean;\r\n meetsAAA: boolean;\r\n meetsAAALarge: boolean;\r\n level: 'Fail' | 'AA Large' | 'AA' | 'AAA Large' | 'AAA';\r\n} {\r\n const contrast = getContrast(foreground, background);\r\n const meetsAA = contrast >= 4.5;\r\n const meetsAALarge = contrast >= 3;\r\n const meetsAAA = contrast >= 7;\r\n const meetsAAALarge = contrast >= 4.5;\r\n\r\n let level: 'Fail' | 'AA Large' | 'AA' | 'AAA Large' | 'AAA' = 'Fail';\r\n if (meetsAAA) {\r\n level = 'AAA';\r\n } else if (meetsAAALarge) {\r\n level = 'AAA Large';\r\n } else if (meetsAA) {\r\n level = 'AA';\r\n } else if (meetsAALarge) {\r\n level = 'AA Large';\r\n }\r\n\r\n return {\r\n contrast,\r\n meetsAA,\r\n meetsAALarge,\r\n meetsAAA,\r\n meetsAAALarge,\r\n level,\r\n };\r\n}\r\n\r\n/**\r\n * Valida se uma combinação de cores atende aos padrões de acessibilidade\r\n * \r\n * @param {string} foreground - Cor do texto (hexadecimal)\r\n * @param {string} background - Cor de fundo (hexadecimal)\r\n * @param {Object} options - Opções de validação\r\n * @param {boolean} [options.requireAAA=false] - Se deve requerer WCAG AAA\r\n * @param {boolean} [options.largeText=false] - Se o texto é grande\r\n * @returns {Object} Resultado da validação\r\n * \r\n * @example\r\n * ```typescript\r\n * const validation = validateContrast('#0891b2', '#ffffff', {\r\n * largeText: true\r\n * });\r\n * // {\r\n * // valid: true,\r\n * // level: 'AA Large',\r\n * // contrast: 3.2,\r\n * // message: 'Contraste válido para texto grande (WCAG AA)'\r\n * // }\r\n * ```\r\n */\r\nexport function validateContrast(\r\n foreground: string,\r\n background: string,\r\n options: {\r\n requireAAA?: boolean;\r\n largeText?: boolean;\r\n } = {}\r\n): {\r\n valid: boolean;\r\n level: string;\r\n contrast: number;\r\n message: string;\r\n} {\r\n const { requireAAA = false, largeText = false } = options;\r\n const info = getContrastInfo(foreground, background);\r\n\r\n let valid = false;\r\n let message = '';\r\n\r\n if (requireAAA) {\r\n valid = largeText ? info.meetsAAALarge : info.meetsAAA;\r\n message = valid\r\n ? `Contraste válido (WCAG AAA${largeText ? ' - Texto Grande' : ''})`\r\n : `Contraste insuficiente para WCAG AAA${largeText ? ' - Texto Grande' : ''}. Requerido: ${largeText ? '4.5:1' : '7:1'}, atual: ${info.contrast.toFixed(2)}:1`;\r\n } else {\r\n valid = largeText ? info.meetsAALarge : info.meetsAA;\r\n message = valid\r\n ? `Contraste válido (WCAG AA${largeText ? ' - Texto Grande' : ''})`\r\n : `Contraste insuficiente para WCAG AA${largeText ? ' - Texto Grande' : ''}. Requerido: ${largeText ? '3:1' : '4.5:1'}, atual: ${info.contrast.toFixed(2)}:1`;\r\n }\r\n\r\n return {\r\n valid,\r\n level: info.level,\r\n contrast: info.contrast,\r\n message,\r\n };\r\n}\r\n\r\n","/**\r\n * @fileoverview Ponto de entrada dos tokens de design\r\n * \r\n * @description\r\n * Tokens de design tecnologicamente agnósticos que definem a linguagem visual\r\n * do Rainer Design System. Estes tokens podem ser utilizados em qualquer\r\n * framework ou tecnologia, garantindo consistência visual.\r\n * \r\n * @module tokens\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\nimport lightColors from './colors/light.json';\r\nimport darkColors from './colors/dark.json';\r\nimport typography from './typography.json';\r\nimport spacing from './spacing.json';\r\nimport radius from './radius.json';\r\nimport shadows from './shadows.json';\r\n\r\n// Utility tokens (Tailwind CSS classes)\r\nexport * from './utilities';\r\n\r\n// Accessibility utilities (WCAG contrast checking)\r\nexport * from './accessibility';\r\n\r\n/**\r\n * Todos os tokens de design organizados por categoria\r\n * \r\n * @description\r\n * Objeto principal contendo todos os tokens de design do sistema,\r\n * organizados em categorias lógicas para fácil acesso e manutenção.\r\n * \r\n * @type {Object}\r\n * @property {Object} colors - Tokens de cores para temas claro e escuro\r\n * @property {Object} colors.light - Cores do tema claro\r\n * @property {Object} colors.dark - Cores do tema escuro\r\n * @property {Object} typography - Tokens de tipografia (fontes, tamanhos, pesos, etc.)\r\n * @property {Object} spacing - Tokens de espaçamento (margens, paddings)\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Tokens de sombras para ambos os temas\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { tokens } from 'rainer-design-tokens';\r\n * \r\n * // Acessar cor primária do tema claro\r\n * const primaryColor = tokens.colors.light.brand.primary;\r\n * \r\n * // Acessar espaçamento padrão\r\n * const spacing = tokens.spacing.md;\r\n * ```\r\n */\r\nexport const tokens = {\r\n colors: {\r\n light: lightColors.colors,\r\n dark: darkColors.colors,\r\n },\r\n typography: typography.typography,\r\n spacing: spacing.spacing,\r\n radius: radius.radius,\r\n shadows: shadows.shadows,\r\n} as const;\r\n\r\n/**\r\n * Cores do tema claro\r\n * \r\n * @description\r\n * Exporta apenas as cores do tema claro para uso direto.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { lightThemeColors } from 'rainer-design-tokens';\r\n * \r\n * const primaryColor = lightThemeColors.brand.primary;\r\n * ```\r\n */\r\nexport const lightThemeColors = lightColors.colors;\r\n\r\n/**\r\n * Cores do tema escuro\r\n * \r\n * @description\r\n * Exporta apenas as cores do tema escuro (estilo cyberpunk) para uso direto.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { darkThemeColors } from 'rainer-design-tokens';\r\n * \r\n * const neonColor = darkThemeColors.accent.cyan;\r\n * ```\r\n */\r\nexport const darkThemeColors = darkColors.colors;\r\n\r\n/**\r\n * Tokens de tipografia\r\n * \r\n * @description\r\n * Exporta todos os tokens relacionados à tipografia, incluindo\r\n * famílias de fontes, tamanhos, pesos, alturas de linha e espaçamento entre letras.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { typographyTokens } from 'rainer-design-tokens';\r\n * \r\n * const fontSize = typographyTokens.fontSize.lg;\r\n * const fontFamily = typographyTokens.fontFamily.sans;\r\n * ```\r\n */\r\nexport const typographyTokens = typography.typography;\r\n\r\n/**\r\n * Tokens de espaçamento\r\n * \r\n * @description\r\n * Exporta todos os tokens de espaçamento padronizados do sistema.\r\n * Utilizados para margens, paddings e gaps consistentes.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { spacingTokens } from 'rainer-design-tokens';\r\n * \r\n * const margin = spacingTokens.md;\r\n * const padding = spacingTokens.lg;\r\n * ```\r\n */\r\nexport const spacingTokens = spacing.spacing;\r\n\r\n/**\r\n * Tokens de raio de borda\r\n * \r\n * @description\r\n * Exporta todos os tokens de raio de borda (border-radius) padronizados.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { radiusTokens } from 'rainer-design-tokens';\r\n * \r\n * const borderRadius = radiusTokens.md;\r\n * ```\r\n */\r\nexport const radiusTokens = radius.radius;\r\n\r\n/**\r\n * Tokens de sombras\r\n * \r\n * @description\r\n * Exporta todos os tokens de sombras, incluindo sombras para tema claro\r\n * e efeitos de brilho (glow) para tema escuro.\r\n * \r\n * @type {Object}\r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { shadowTokens } from 'rainer-design-tokens';\r\n * \r\n * const shadow = shadowTokens.light.md;\r\n * const glow = shadowTokens.dark.glow.cyan;\r\n * ```\r\n */\r\nexport const shadowTokens = shadows.shadows;\r\n\r\n/**\r\n * Tipo TypeScript para todos os tokens\r\n * \r\n * @typedef {Object} Tokens\r\n * @description\r\n * Tipo que representa a estrutura completa de todos os tokens de design.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n */\r\nexport type Tokens = typeof tokens;\r\n\r\n/**\r\n * Tipo TypeScript para cores do tema claro\r\n * \r\n * @typedef {Object} LightColors\r\n * @description\r\n * Tipo que representa todas as cores disponíveis no tema claro.\r\n */\r\nexport type LightColors = typeof lightColors.colors;\r\n\r\n/**\r\n * Tipo TypeScript para cores do tema escuro\r\n * \r\n * @typedef {Object} DarkColors\r\n * @description\r\n * Tipo que representa todas as cores disponíveis no tema escuro (cyberpunk).\r\n */\r\nexport type DarkColors = typeof darkColors.colors;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de tipografia\r\n * \r\n * @typedef {Object} Typography\r\n * @description\r\n * Tipo que representa todos os tokens de tipografia.\r\n */\r\nexport type Typography = typeof typography.typography;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de espaçamento\r\n * \r\n * @typedef {Object} Spacing\r\n * @description\r\n * Tipo que representa todos os tokens de espaçamento.\r\n */\r\nexport type Spacing = typeof spacing.spacing;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de raio de borda\r\n * \r\n * @typedef {Object} Radius\r\n * @description\r\n * Tipo que representa todos os tokens de raio de borda.\r\n */\r\nexport type Radius = typeof radius.radius;\r\n\r\n/**\r\n * Tipo TypeScript para tokens de sombras\r\n * \r\n * @typedef {Object} Shadows\r\n * @description\r\n * Tipo que representa todos os tokens de sombras.\r\n */\r\nexport type Shadows = typeof shadows.shadows;\r\n\r\n/**\r\n * Exportação padrão dos tokens\r\n * \r\n * @description\r\n * Exporta o objeto principal contendo todos os tokens de design.\r\n * \r\n * @type {Tokens}\r\n * @default tokens\r\n */\r\nexport default tokens;\r\n\r\n","/**\r\n * @fileoverview Tema Claro - Rainer Design System\r\n *\r\n * @description\r\n * Agrupa os design tokens em um tema claro profissional e limpo,\r\n * adequado para uso diurno. Este tema oferece uma experiência visual\r\n * clara e moderna, ideal para aplicações que requerem legibilidade\r\n * e profissionalismo.\r\n *\r\n * @module themes/light\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\nimport { tokens } from '../tokens';\r\n\r\n/**\r\n * Objeto contendo os tokens para o tema claro\r\n * \r\n * @description\r\n * Tema completo que agrupa todos os tokens de design necessários\r\n * para uma aplicação com tema claro. Inclui cores, tipografia,\r\n * espaçamento, raios de borda e sombras.\r\n * \r\n * @type {Object}\r\n * @property {Object} colors - Tokens de cores para o tema claro\r\n * @property {Object} typography - Tokens de tipografia (fontes, tamanhos, pesos, etc.)\r\n * @property {Object} spacing - Tokens de espaçamento (margens, paddings)\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Tokens de sombras para o tema claro\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { lightTheme } from 'rainer-design-tokens';\r\n * \r\n * // Acessar cores do tema claro\r\n * const primaryColor = lightTheme.colors.brand.primary;\r\n * \r\n * // Acessar tipografia\r\n * const fontSize = lightTheme.typography.fontSize.lg;\r\n * \r\n * // Aplicar em componente\r\n * <div style={{ \r\n * backgroundColor: lightTheme.colors.background.primary,\r\n * padding: lightTheme.spacing.md \r\n * }}>\r\n * Conteúdo\r\n * </div>\r\n * ```\r\n */\r\nexport const lightTheme = {\r\n colors: tokens.colors.light,\r\n typography: tokens.typography,\r\n spacing: tokens.spacing,\r\n radius: tokens.radius,\r\n shadows: tokens.shadows.light,\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript do tema claro\r\n * \r\n * @typedef {Object} LightTheme\r\n * @description\r\n * Tipo que representa a estrutura completa do tema claro.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n * \r\n * @property {Object} colors - Cores do tema claro\r\n * @property {Object} typography - Tokens de tipografia\r\n * @property {Object} spacing - Tokens de espaçamento\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Sombras do tema claro\r\n */\r\nexport type LightTheme = typeof lightTheme;\r\n\r\n/**\r\n * Exportação padrão do tema claro\r\n * \r\n * @description\r\n * Exporta o tema claro como exportação padrão do módulo.\r\n * \r\n * @type {LightTheme}\r\n * @default lightTheme\r\n */\r\nexport default lightTheme;\r\n","/**\r\n * @fileoverview Tema Escuro - Edição Cyberpunk\r\n *\r\n * @description\r\n * Combina tokens de design em um tema escuro inspirado no estilo cyberpunk.\r\n * Possui cores neon vibrantes e efeitos de brilho (glow) para uso noturno.\r\n * Este tema oferece uma experiência visual única e moderna, ideal para\r\n * aplicações que buscam um visual futurista e impactante.\r\n *\r\n * @module themes/dark\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n */\r\n\r\nimport { tokens } from '../tokens';\r\n\r\n/**\r\n * Objeto contendo os tokens para o tema escuro\r\n * \r\n * @description\r\n * Tema completo que agrupa todos os tokens de design necessários\r\n * para uma aplicação com tema escuro cyberpunk. Inclui cores neon,\r\n * tipografia, espaçamento, raios de borda e sombras com efeitos de brilho.\r\n * \r\n * @type {Object}\r\n * @property {Object} colors - Tokens de cores para o tema escuro (cyberpunk)\r\n * @property {Object} typography - Tokens de tipografia (fontes, tamanhos, pesos, etc.)\r\n * @property {Object} spacing - Tokens de espaçamento (margens, paddings)\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Tokens de sombras com efeitos de brilho para o tema escuro\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { darkTheme } from 'rainer-design-tokens';\r\n * \r\n * // Acessar cores neon do tema escuro\r\n * const neonCyan = darkTheme.colors.accent.cyan;\r\n * \r\n * // Acessar efeitos de brilho\r\n * const glowShadow = darkTheme.shadows.glow.cyan;\r\n * \r\n * // Aplicar em componente\r\n * <div style={{ \r\n * backgroundColor: darkTheme.colors.background.primary,\r\n * boxShadow: darkTheme.shadows.glow.purple,\r\n * padding: darkTheme.spacing.md \r\n * }}>\r\n * Conteúdo Cyberpunk\r\n * </div>\r\n * ```\r\n */\r\nexport const darkTheme = {\r\n colors: tokens.colors.dark,\r\n typography: tokens.typography,\r\n spacing: tokens.spacing,\r\n radius: tokens.radius,\r\n shadows: tokens.shadows.dark,\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript do tema escuro\r\n * \r\n * @typedef {Object} DarkTheme\r\n * @description\r\n * Tipo que representa a estrutura completa do tema escuro.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n * \r\n * @property {Object} colors - Cores do tema escuro (cyberpunk)\r\n * @property {Object} typography - Tokens de tipografia\r\n * @property {Object} spacing - Tokens de espaçamento\r\n * @property {Object} radius - Tokens de raio de borda\r\n * @property {Object} shadows - Sombras com efeitos de brilho do tema escuro\r\n */\r\nexport type DarkTheme = typeof darkTheme;\r\n\r\n/**\r\n * Exportação padrão do tema escuro\r\n * \r\n * @description\r\n * Exporta o tema escuro como exportação padrão do módulo.\r\n * \r\n * @type {DarkTheme}\r\n * @default darkTheme\r\n */\r\nexport default darkTheme;\r\n","/**\r\n * @fileoverview Ponto de entrada dos temas\r\n * \r\n * @description\r\n * Exporta os temas claro e escuro para fácil consumo.\r\n * Cada tema agrupa todos os tokens de design de forma organizada,\r\n * facilitando a aplicação de temas completos na aplicação.\r\n * \r\n * @module themes\r\n * @version 4.0.0\r\n * @author Rainer Teixeira\r\n * @since 1.0.0\r\n * \r\n * @example\r\n * ```typescript\r\n * import { themes, lightTheme, darkTheme } from '@rainersoft/design-tokens';\r\n * \r\n * // Usar tema completo\r\n * const currentTheme = themes.light;\r\n * \r\n * // Ou importar diretamente\r\n * const colors = lightTheme.colors;\r\n * ```\r\n */\r\n\r\n/**\r\n * Exporta o tema claro e seu tipo\r\n * \r\n * @description\r\n * Tema claro profissional e limpo, adequado para uso diurno.\r\n * \r\n * @see {LightTheme} Para o tipo TypeScript do tema claro\r\n */\r\nexport { lightTheme, type LightTheme } from './light';\r\n\r\n/**\r\n * Exporta o tema escuro e seu tipo\r\n * \r\n * @description\r\n * Tema escuro inspirado no estilo cyberpunk com cores neon e efeitos de brilho.\r\n * \r\n * @see {DarkTheme} Para o tipo TypeScript do tema escuro\r\n */\r\nexport { darkTheme, type DarkTheme } from './dark';\r\n\r\n/**\r\n * Objeto contendo todos os temas disponíveis\r\n * \r\n * @description\r\n * Objeto que agrupa todos os temas do sistema, permitindo acesso\r\n * fácil e organizado aos diferentes temas disponíveis.\r\n * \r\n * @type {Object}\r\n * @property {LightTheme} light - Tema claro\r\n * @property {DarkTheme} dark - Tema escuro (cyberpunk)\r\n * \r\n * @constant\r\n * @readonly\r\n * \r\n * @example\r\n * ```typescript\r\n * import { themes } from 'rainer-design-tokens';\r\n * \r\n * // Acessar tema claro\r\n * const lightColors = themes.light.colors;\r\n * \r\n * // Acessar tema escuro\r\n * const darkShadows = themes.dark.shadows;\r\n * ```\r\n */\r\nimport { lightTheme } from './light';\r\nimport { darkTheme } from './dark';\r\n\r\nexport const themes = {\r\n light: lightTheme,\r\n dark: darkTheme,\r\n} as const;\r\n\r\n/**\r\n * Tipo TypeScript para todos os temas\r\n * \r\n * @typedef {Object} Themes\r\n * @description\r\n * Tipo que representa a estrutura completa de todos os temas disponíveis.\r\n * Útil para type-checking e autocomplete em IDEs.\r\n */\r\nexport type Themes = typeof themes;\r\n\r\n/**\r\n * Exportação padrão dos temas\r\n * \r\n * @description\r\n * Exporta o objeto principal contendo todos os temas disponíveis.\r\n * \r\n * @type {Themes}\r\n * @default themes\r\n */\r\nexport default themes;\r\n\r\n"],"mappings":"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","names":[]}
|