UNPKG

5.49 kBSource Map (JSON)View Raw
1{"version":3,"file":"palettes.js","sources":["../src/theme-legacy/palettes.js"],"sourcesContent":["import { warn, warnOnce } from '../utils'\nimport aragon from './aragon'\n\n// These need to match the names in the Open Color palettes\nconst THEME_NAME = 'Aragon UI'\nconst THEME_DARK_NAME = 'Aragon UI Dark'\nconst BRAND_NAME = 'Aragon Brand'\n\n// Name of the group a given palette belong to\nconst getGroupName = name => {\n if (name === THEME_NAME) return 'theme'\n if (name === THEME_DARK_NAME) return 'themeDark'\n if (name === BRAND_NAME) return 'brand'\n return 'colors'\n}\n\n// Resolve a single color\nconst resolveColor = (value, palettes) => {\n // already resolved color\n if (!value.startsWith('=')) {\n return value\n }\n\n const [paletteName, key] = value.slice(1).split('.')\n const color = palettes[paletteName] && palettes[paletteName][key]\n\n if (!color) {\n throw new Error(`resolveColor: ${value} doesn’t seem to exist`)\n }\n\n // follow the references until we find one\n if (color.startsWith('=')) {\n return resolveColor(color, palettes)\n }\n return color\n}\n\n// Resolve all the colors in a palette\nconst resolveColors = (palette, palettes) =>\n Object.entries(palette).reduce((pal, [name, value]) => {\n if (typeof value === 'string') {\n pal[name] = resolveColor(value, palettes)\n }\n return pal\n }, {})\n\n// Prepare groups from the palettes: theme, themeDark, brand and colors.\nconst generateGroups = palettes =>\n Object.entries(palettes).reduce(\n (groups, [paletteName, palette]) => {\n const groupName = getGroupName(paletteName)\n\n if (groupName === 'colors') {\n groups.colors[paletteName] = resolveColors(palette, palettes)\n } else {\n groups[groupName] = resolveColors(palette, palettes)\n }\n\n return groups\n },\n { colors: {} }\n )\n\n// Deprecate any access to the palettes\nconst { themeDark, theme, brand, colors } = Object.fromEntries(\n Object.entries(generateGroups(aragon)).map(([name, group]) => [\n name,\n new Proxy(group, {\n get(group, colorName) {\n if (group[colorName]) {\n warnOnce(\n `theme-legacy:${name}.${colorName}`,\n `${name}.${colorName} was accessed but ${name} will be removed soon, ` +\n `please use useTheme() instead.`\n )\n } else {\n warn(\n `${name}.${colorName} doesn’t exist. ${name} will be removed soon, ` +\n `please use useTheme() instead.`\n )\n }\n return group[colorName]\n },\n }),\n ])\n)\n\n// TODO: show a deprecating warning when any of these colors get accessed once.\nexport { themeDark, theme, brand, colors }\n"],"names":["THEME_NAME","THEME_DARK_NAME","BRAND_NAME","getGroupName","name","resolveColor","value","palettes","startsWith","slice","split","paletteName","key","color","Error","resolveColors","palette","Object","entries","reduce","pal","generateGroups","groups","groupName","colors","fromEntries","aragon","map","group","Proxy","get","colorName","warnOnce","warn","themeDark","theme","brand"],"mappings":"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"}
\No newline at end of file