@aracreate/arm-ui 3.11.1 → 3.13.0
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/README.md +1 -1
- package/dist/chunk-TD6NGM5I.js.map +1 -1
- package/dist/index.d.mts +28 -2
- package/dist/index.d.ts +28 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/preset.js.map +1 -1
- package/dist/style.css +1 -0
- package/package.json +1 -1
package/dist/preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/private/tmp/arm-ui-publish/dist/preset.js","../src/preset.ts","../src/lib/theme-sync.ts"],"names":["radixScale","alias","scale","i","generateUnoColors","colors","acPreset","definePreset","presetWind4","presetAttributify","presetIcons","_","rawSelector"],"mappings":"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","file":"/private/tmp/arm-ui-publish/dist/preset.js","sourcesContent":[null,"import { definePreset, presetIcons, type Preset } from \"unocss\";\nimport presetWind4 from \"@unocss/preset-wind4\";\nimport presetAttributify from \"@unocss/preset-attributify\";\nimport { generateUnoColors } from \"./lib/theme-sync\";\n\nexport const acPreset = definePreset(() => {\n return {\n name: \"ac-ui-preset\",\n\n presets: [\n presetWind4() as Preset,\n presetAttributify(),\n presetIcons({\n scale: 1.2,\n cdn: \"https://esm.sh/\",\n }),\n ],\n\n preflights: [\n {\n getCSS: () => `\n :root {\n /* ── Non-color semantic tokens (fallback outside .radix-themes) ── */\n --glass-bg: rgba(255, 255, 255, 0.3);\n --shadow-color: rgba(0, 0, 0, 0.25);\n --line-color: rgba(0, 0, 0, 0.08);\n }\n `,\n },\n {\n // Brand token overrides for Radix Themes (--accent-*, --gray-*, and the\n // --primary-*/--neutral-*/--error-*/--success-*/--warning-*/--info-* aliases\n // components/utilities depend on). Mirrors src/styles/radix-brand-tokens.css —\n // duplicated here (not imported) because this is the one output every consumer\n // already loads via `@aracreate/arm-ui/style.css`. dist/index.css (built\n // from the ui-provider.tsx CSS import) is never wired up for consumption: it\n // has no exports-map entry and index.mjs doesn't self-import it, so relying on\n // that path silently drops these tokens for every consuming app.\n getCSS: () => `\n /* ── LIGHT MODE ─────────────────────────────── */\n /* Also declared at :root: UnoCSS's Wind4 preset auto-generates\n --colors-{name}-{shade} aliases (e.g. --colors-primary-DEFAULT:\n var(--primary-9)) scoped to :root. A var() inside a custom-property\n declaration resolves using the declaring element's own cascade, not\n the consumer's — so if --primary-9 only existed on .radix-themes,\n every :root-scoped alias would compute to invalid and inherit that\n way everywhere, regardless of .radix-themes further down the tree. */\n :root, .radix-themes {\n --accent-1: #fffef5;\n --accent-2: #fffce8;\n --accent-3: #fff8cc;\n --accent-4: #fff2a8;\n --accent-5: #ffe980;\n --accent-6: #ffd94d;\n --accent-7: #ffd236;\n --accent-8: #ffca20;\n --accent-9: #FFC936;\n --accent-10: #f0b800;\n --accent-11: #7a5c00;\n --accent-12: #3d2e00;\n\n --accent-a1: #c0800004;\n --accent-a2: #ffc30015;\n --accent-a3: #ffcf003f;\n --accent-a4: #ffc90062;\n --accent-a5: #ffc20084;\n --accent-a6: #f6ae0089;\n --accent-a7: #d6960094;\n --accent-a8: #c78f00bf;\n --accent-a9: #ffc600e0;\n --accent-a10: #f9b700d1;\n --accent-a11: #997000;\n --accent-a12: #2a1e00df;\n --accent-surface: #fff9e5cc;\n --accent-indicator: #ffcd1f;\n --accent-track: #ffcd1f;\n\n --accent-contrast: #000000;\n\n --error-contrast: #ffffff;\n --success-contrast: #ffffff;\n --info-contrast: #ffffff;\n --warning-contrast: #000000;\n\n --gray-1: #fafafa;\n --gray-2: #f4f4f4;\n --gray-3: #ebebeb;\n --gray-4: #e0e0e0;\n --gray-5: #d1d1d1;\n --gray-6: #bebebe;\n --gray-7: #a8a8a8;\n --gray-8: #989898;\n --gray-9: #8C8C8C;\n --gray-10: #6e6e6e;\n --gray-11: #4a4a4a;\n --gray-12: #1a1a1a;\n\n --gray-a1: #00000003;\n --gray-a2: #00000006;\n --gray-a3: #00000010;\n --gray-a4: #00000017;\n --gray-a5: #0000001f;\n --gray-a6: #00000026;\n --gray-a7: #00000031;\n --gray-a8: #00000044;\n --gray-a9: #00000072;\n --gray-a10: #0000007c;\n --gray-a11: #0000009b;\n --gray-a12: #000000df;\n --gray-contrast: #FFFFFF;\n --gray-surface: #ffffffcc;\n --gray-indicator: #8d8d8d;\n --gray-track: #8d8d8d;\n\n --color-background: var(--accent-1);\n --color-surface: #ffffff;\n --color-panel-solid: #ffffff;\n --color-panel-translucent: rgba(255, 255, 255, 0.85);\n\n --primary-1: var(--accent-1);\n --primary-2: var(--accent-2);\n --primary-3: var(--accent-3);\n --primary-4: var(--accent-4);\n --primary-5: var(--accent-5);\n --primary-6: var(--accent-6);\n --primary-7: var(--accent-7);\n --primary-8: var(--accent-8);\n --primary-9: var(--accent-9);\n --primary-10: var(--accent-10);\n --primary-11: var(--accent-11);\n --primary-12: var(--accent-12);\n\n --neutral-1: var(--gray-1);\n --neutral-2: var(--gray-2);\n --neutral-3: var(--gray-3);\n --neutral-4: var(--gray-4);\n --neutral-5: var(--gray-5);\n --neutral-6: var(--gray-6);\n --neutral-7: var(--gray-7);\n --neutral-8: var(--gray-8);\n --neutral-9: var(--gray-9);\n --neutral-10: var(--gray-10);\n --neutral-11: var(--gray-11);\n --neutral-12: var(--gray-12);\n\n --error-1: var(--red-1);\n --error-2: var(--red-2);\n --error-3: var(--red-3);\n --error-4: var(--red-4);\n --error-5: var(--red-5);\n --error-6: var(--red-6);\n --error-7: var(--red-7);\n --error-8: var(--red-8);\n --error-9: var(--red-9);\n --error-10: var(--red-10);\n --error-11: var(--red-11);\n --error-12: var(--red-12);\n\n --success-1: var(--green-1);\n --success-2: var(--green-2);\n --success-3: var(--green-3);\n --success-4: var(--green-4);\n --success-5: var(--green-5);\n --success-6: var(--green-6);\n --success-7: var(--green-7);\n --success-8: var(--green-8);\n --success-9: var(--green-9);\n --success-10: var(--green-10);\n --success-11: var(--green-11);\n --success-12: var(--green-12);\n\n --warning-1: var(--amber-1);\n --warning-2: var(--amber-2);\n --warning-3: var(--amber-3);\n --warning-4: var(--amber-4);\n --warning-5: var(--amber-5);\n --warning-6: var(--amber-6);\n --warning-7: var(--amber-7);\n --warning-8: var(--amber-8);\n --warning-9: var(--amber-9);\n --warning-10: var(--amber-10);\n --warning-11: var(--amber-11);\n --warning-12: var(--amber-12);\n\n --info-1: var(--blue-1);\n --info-2: var(--blue-2);\n --info-3: var(--blue-3);\n --info-4: var(--blue-4);\n --info-5: var(--blue-5);\n --info-6: var(--blue-6);\n --info-7: var(--blue-7);\n --info-8: var(--blue-8);\n --info-9: var(--blue-9);\n --info-10: var(--blue-10);\n --info-11: var(--blue-11);\n --info-12: var(--blue-12);\n\n --color-foreground: #111111;\n --color-on-primary: var(--accent-contrast);\n --color-muted: var(--neutral-7);\n --color-border: var(--neutral-4);\n\n --text: var(--color-foreground);\n --text-secondary: var(--color-muted);\n --text-muted: var(--color-muted);\n --text-input: var(--color-foreground);\n --bg-skeleton: var(--neutral-4);\n }\n\n .radix-themes .text-text{ color: color-mix(in srgb, var(--color-foreground) var(--un-text-opacity), transparent) !important; }\n .radix-themes .text-textSecondary{ color: color-mix(in srgb, var(--color-muted) var(--un-text-opacity), transparent) !important; }\n .radix-themes .text-textMuted{ color: color-mix(in srgb, var(--color-muted) var(--un-text-opacity), transparent) !important; }\n .radix-themes .text-textInput{ color: color-mix(in srgb, var(--color-foreground) var(--un-text-opacity), transparent) !important; }\n `,\n },\n {\n getCSS: () => `\n @keyframes fade-in {\n 0% { opacity: 0; transform: scale(0.95); }\n 100% { opacity: 1; transform: scale(1); }\n }\n @keyframes fade-out {\n 0% { opacity: 1; transform: scale(1); }\n 100% { opacity: 0; transform: scale(0.95); }\n }\n @keyframes slide-in-right {\n 0% { transform: translateX(100%); opacity: 0; }\n 100% { transform: translateX(0); opacity: 1; }\n }\n @keyframes slide-out-right {\n 0% { transform: translateX(0); opacity: 1; }\n 100% { transform: translateX(100%); opacity: 0; }\n }\n @keyframes slide-in-left {\n 0% { transform: translateX(-100%); opacity: 0; }\n 100% { transform: translateX(0); opacity: 1; }\n }\n @keyframes slide-out-left {\n 0% { transform: translateX(0); opacity: 1; }\n 100% { transform: translateX(-100%); opacity: 0; }\n }\n @keyframes bounce-in {\n 0% { transform: scale(0.3); opacity: 0; }\n 50% { transform: scale(1.05); }\n 70% { transform: scale(0.9); }\n 100% { transform: scale(1); opacity: 1; }\n }\n @keyframes bounce-out {\n 0% { transform: scale(1); opacity: 1; }\n 100% { transform: scale(0.3); opacity: 0; }\n }\n @keyframes wave {\n 0% { background-position: 200% 0; }\n 100% { background-position: 0 0; }\n }\n @keyframes shimmer {\n 100% { transform: translateX(100%); }\n }\n @keyframes progress-slide {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(350%); }\n }\n @keyframes slide-in-top {\n 0% { transform: translateY(-100%); opacity: 0; }\n 100% { transform: translateY(0); opacity: 1; }\n }\n @keyframes slide-in-bottom {\n 0% { transform: translateY(100%); opacity: 0; }\n 100% { transform: translateY(0); opacity: 1; }\n }\n `,\n },\n {\n // Radix Themes gives every portaled Dialog/AlertDialog its own nested\n // \"root theme\" wrapper (data-is-root-theme=\"true\", carrying the same\n // .radix-themes class as the app-level wrapper), so it has its own\n // theme context regardless of where in the DOM the portal lands.\n // @radix-ui/themes/styles.css's own rules for that wrapper\n // (`.radix-themes:where([data-is-root-theme=\"true\"]) { position:\n // relative; ... }`, meant for the *app-level* wrapper) and for the\n // dialog overlay itself (`.rt-BaseDialogOverlay { position: fixed;\n // inset: 0; }`) are the same specificity and both unlayered, so which\n // one wins is decided purely by their order in the final bundled\n // CSS — order that shifts across builds/bundlers. When the root-theme\n // rule wins, the overlay stops being a fixed, viewport-covering layer\n // and renders in normal document flow instead, pushing the dialog\n // far down the page (looks like \"no dialog appears\"). Force the\n // overlay back to fixed positioning regardless of bundle order.\n // Covers AlertDialog too — it reuses the same rt-BaseDialogOverlay.\n getCSS: () => `\n .rt-BaseDialogOverlay {\n position: fixed !important;\n }\n `,\n },\n ],\n\n rules: [\n [\"custom-rule\", { color: \"red\" }],\n [\"checked:bg-warning-9\", { \"background-color\": \"var(--warning-9)\" }],\n [\"checked:border-warning-9\", { \"border-color\": \"var(--warning-9)\" }],\n [\"list-disc\", { \"list-style-type\": \"disc\" }],\n [\"list-decimal\", { \"list-style-type\": \"decimal\" }],\n [\"list-inside\", { \"list-style-position\": \"inside\" }],\n [\"list-square\", { \"list-style-type\": \"square\" }],\n [\"list-circle\", { \"list-style-type\": \"circle\" }],\n [\"list-outside\", { \"list-style-position\": \"outside\" }],\n [\"list-[upper-roman]\", { \"list-style-type\": \"upper-roman\" }],\n [\"list-[lower-roman]\", { \"list-style-type\": \"lower-roman\" }],\n [\"list-[upper-alpha]\", { \"list-style-type\": \"upper-alpha\" }],\n [\"list-[lower-alpha]\", { \"list-style-type\": \"lower-alpha\" }],\n [\"list-[🔥]\", { \"list-style-type\": '\"🔥\"' }],\n [\"ul,ol\", { \"list-style\": \"revert\" }],\n [\n /^checked:tick$/,\n (_, { rawSelector }) => ({\n [`${rawSelector}::after`]: {\n content: '\"✓\"',\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n color: \"#ffffff\",\n \"font-size\": \"12px\",\n \"font-weight\": \"bold\",\n opacity: \"1\",\n },\n }),\n ],\n [\n \"animate-wave\",\n {\n \"background-image\": `linear-gradient(to right, var(--neutral-5) 0%, var(--neutral-3) 20%, var(--neutral-5) 40%, var(--neutral-5) 100%)`,\n \"background-size\": \"200% 100%\",\n animation: \"wave 1.5s linear infinite\",\n },\n ],\n [\"animate-fade-in\", { animation: \"fade-in 0.3s ease-in-out\" }],\n [\"animate-fade-out\", { animation: \"fade-out 0.3s ease-in-out\" }],\n [\"animate-slide-in-right\", { animation: \"slide-in-right 0.3s ease-out\" }],\n [\"animate-slide-out-right\", { animation: \"slide-out-right 0.3s ease-in\" }],\n [\"animate-slide-in-left\", { animation: \"slide-in-left 0.3s ease-out\" }],\n [\"animate-slide-out-left\", { animation: \"slide-out-left 0.3s ease-in\" }],\n [\"animate-bounce-in\", { animation: \"bounce-in 0.5s ease-out\" }],\n [\"animate-bounce-out\", { animation: \"bounce-out 0.3s ease-in\" }],\n [\"animate-progress-indeterminate\", { animation: \"progress-slide 1.5s ease-in-out infinite\" }],\n [\"animate-slide-in-top\", { animation: \"slide-in-top 0.3s ease-out\" }],\n [\"animate-slide-in-bottom\", { animation: \"slide-in-bottom 0.3s ease-out\" }],\n [\"table\", { \"border-collapse\": \"collapse\", \"border-style\": \"solid\" }],\n [\"shadow-soft\", { \"box-shadow\": \"0 0 20px var(--shadow-color)\" }],\n [\"shadow-spread\", { \"box-shadow\": \"0 0 30px 6px var(--shadow-color)\" }],\n [\"grid-card-wrapper\", { \"grid-template-columns\": \"repeat(auto-fill, minmax(285px, auto))\" }],\n [\"split-equal\", { \"grid-template-columns\": \"1fr 1fr\" }],\n [\"split-sidebar-left\", { \"grid-template-columns\": \"3fr 7fr\" }],\n [\"split-sidebar-right\", { \"grid-template-columns\": \"7fr 3fr\" }],\n [\"split-wide-left\", { \"grid-template-columns\": \"6fr 4fr\" }],\n [\"split-wide-right\", { \"grid-template-columns\": \"4fr 6fr\" }],\n ],\n\n shortcuts: {\n \"custom-shortcut\": \"text-lg text-primary-11 hover:text-primary-12\",\n \"card-gradient-border\":\n \"relative p-0.5 bg-gradient-to-r from-info-9 to-primary-9 rounded-2xl\",\n \"card-gradient-content\": \"bg-card rounded-[22px] h-full w-full\",\n \"glass-card\": \"bg-glass backdrop-blur-md rounded-xl p-4\",\n },\n\n theme: {\n colors: {\n ...generateUnoColors(),\n bg: \"var(--bg)\",\n text: \"var(--text)\",\n textSecondary: \"var(--text-secondary)\",\n button: \"var(--button-bg)\",\n buttonHover: \"var(--button-hover-bg)\",\n textLink: \"var(--text-link)\",\n glass: \"var(--glass-bg)\",\n shadow: \"var(--shadow-color)\",\n bgAuth: \"var(--bg-auth-colour)\",\n authButton: \"var(--auth-button-bg)\",\n bgInput: \"var(--bg-input)\",\n bgSurface: \"var(--bg-surface)\",\n textInput: \"var(--text-input)\",\n textMuted: \"var(--text-muted)\",\n borderInput: \"var(--border-input)\",\n bgSkeleton: \"var(--bg-skeleton)\",\n // On-solid contrast text — correct readable color on each solid-9 surface\n onPrimary: \"var(--accent-contrast)\",\n onError: \"var(--error-contrast)\",\n onSuccess: \"var(--success-contrast)\",\n onInfo: \"var(--info-contrast)\",\n onWarning: \"var(--warning-contrast)\",\n },\n keyframes: {\n wave: {\n \"0%\": { \"background-position\": \"200% 0\" },\n \"100%\": { \"background-position\": \"0 0\" },\n },\n \"fade-in\": {\n \"0%\": { opacity: \"0\", transform: \"scale(0.95)\" },\n \"100%\": { opacity: \"1\", transform: \"scale(1)\" },\n },\n \"fade-out\": {\n \"0%\": { opacity: \"1\", transform: \"scale(1)\" },\n \"100%\": { opacity: \"0\", transform: \"scale(0.95)\" },\n },\n \"slide-in-right\": {\n \"0%\": { transform: \"translateX(100%)\", opacity: \"0\" },\n \"100%\": { transform: \"translateX(0)\", opacity: \"1\" },\n },\n \"slide-out-right\": {\n \"0%\": { transform: \"translateX(0)\", opacity: \"1\" },\n \"100%\": { transform: \"translateX(100%)\", opacity: \"0\" },\n },\n \"slide-in-left\": {\n \"0%\": { transform: \"translateX(-100%)\", opacity: \"0\" },\n \"100%\": { transform: \"translateX(0)\", opacity: \"1\" },\n },\n \"slide-out-left\": {\n \"0%\": { transform: \"translateX(0)\", opacity: \"1\" },\n \"100%\": { transform: \"translateX(-100%)\", opacity: \"0\" },\n },\n \"bounce-in\": {\n \"0%\": { transform: \"scale(0.3)\", opacity: \"0\" },\n \"50%\": { transform: \"scale(1.05)\" },\n \"70%\": { transform: \"scale(0.9)\" },\n \"100%\": { transform: \"scale(1)\", opacity: \"1\" },\n },\n \"bounce-out\": {\n \"0%\": { transform: \"scale(1)\", opacity: \"1\" },\n \"100%\": { transform: \"scale(0.3)\", opacity: \"0\" },\n },\n },\n },\n\n safelist: [\n \"animate-wave\",\n \"animate-fade-in\",\n \"animate-fade-out\",\n \"animate-slide-in-right\",\n \"animate-slide-out-right\",\n \"animate-slide-in-left\",\n \"animate-slide-out-left\",\n \"animate-bounce-in\",\n \"animate-bounce-out\",\n // Radix 1-12 checked variants (replaced old warning-500 rules)\n \"checked:bg-warning-9\",\n \"checked:border-warning-9\",\n \"checked:tick\",\n // ── Radix 1-12 color utilities ─────────────────────────────────────\n // primary (yellow)\n \"bg-primary-1\",\n \"bg-primary-2\",\n \"bg-primary-3\",\n \"bg-primary-4\",\n \"bg-primary-5\",\n \"bg-primary-6\",\n \"bg-primary-7\",\n \"bg-primary-8\",\n \"bg-primary-9\",\n \"bg-primary-10\",\n \"bg-primary-11\",\n \"bg-primary-12\",\n \"text-primary-1\",\n \"text-primary-2\",\n \"text-primary-3\",\n \"text-primary-9\",\n \"text-primary-10\",\n \"text-primary-11\",\n \"text-primary-12\",\n \"border-primary-6\",\n \"border-primary-7\",\n \"border-primary-8\",\n \"border-primary-9\",\n \"hover:bg-primary-3\",\n \"hover:bg-primary-4\",\n \"hover:bg-primary-10\",\n \"hover:text-primary-12\",\n \"hover:border-primary-9\",\n \"focus:ring-primary-8\",\n \"focus-visible:ring-primary-8\",\n \"active:bg-primary-10\",\n // neutral (mauve)\n \"bg-neutral-1\",\n \"bg-neutral-2\",\n \"bg-neutral-3\",\n \"bg-neutral-4\",\n \"bg-neutral-5\",\n \"bg-neutral-6\",\n \"bg-neutral-7\",\n \"bg-neutral-8\",\n \"bg-neutral-9\",\n \"bg-neutral-10\",\n \"bg-neutral-11\",\n \"bg-neutral-12\",\n \"text-neutral-1\",\n \"text-neutral-2\",\n \"text-neutral-10\",\n \"text-neutral-11\",\n \"text-neutral-12\",\n \"border-neutral-6\",\n \"border-neutral-7\",\n \"border-neutral-8\",\n \"hover:bg-neutral-3\",\n \"hover:bg-neutral-4\",\n // error (red)\n \"bg-error-2\",\n \"bg-error-3\",\n \"bg-error-4\",\n \"bg-error-9\",\n \"bg-error-10\",\n \"text-error-9\",\n \"text-error-11\",\n \"text-error-12\",\n \"border-error-6\",\n \"border-error-7\",\n \"border-error-8\",\n \"border-error-9\",\n \"hover:bg-error-3\",\n \"hover:bg-error-4\",\n \"hover:bg-error-10\",\n \"hover:text-error-12\",\n \"hover:border-error-9\",\n \"focus:ring-error-8\",\n \"focus-visible:ring-error-8\",\n \"active:bg-error-10\",\n // success (green)\n \"bg-success-2\",\n \"bg-success-3\",\n \"bg-success-4\",\n \"bg-success-9\",\n \"bg-success-10\",\n \"text-success-9\",\n \"text-success-11\",\n \"text-success-12\",\n \"border-success-6\",\n \"border-success-7\",\n \"border-success-8\",\n \"border-success-9\",\n \"hover:bg-success-3\",\n \"hover:bg-success-4\",\n \"hover:bg-success-10\",\n \"focus:ring-success-8\",\n // warning (amber)\n \"bg-warning-2\",\n \"bg-warning-3\",\n \"bg-warning-4\",\n \"bg-warning-9\",\n \"bg-warning-10\",\n \"text-warning-9\",\n \"text-warning-11\",\n \"text-warning-12\",\n \"border-warning-6\",\n \"border-warning-7\",\n \"border-warning-8\",\n \"border-warning-9\",\n \"hover:bg-warning-3\",\n \"hover:bg-warning-4\",\n \"hover:bg-warning-10\",\n \"focus:ring-warning-8\",\n // info (blue)\n \"bg-info-2\",\n \"bg-info-3\",\n \"bg-info-4\",\n \"bg-info-9\",\n \"bg-info-10\",\n \"text-info-9\",\n \"text-info-11\",\n \"text-info-12\",\n \"border-info-6\",\n \"border-info-7\",\n \"border-info-8\",\n \"border-info-9\",\n \"hover:bg-info-3\",\n \"hover:bg-info-4\",\n \"hover:bg-info-10\",\n \"focus:ring-info-8\",\n // ──────────────────────────────────────────────────────────────────\n \"list-[upper-roman]\",\n \"list-[lower-roman]\",\n \"list-[upper-alpha]\",\n \"list-[lower-alpha]\",\n \"list-[🔥]\",\n // ── Semantic alias utilities ──────────────────────────────────────\n \"text-text\",\n \"text-textSecondary\",\n \"text-textMuted\",\n \"text-textInput\",\n \"bg-bgInput\",\n \"bg-bgSurface\",\n \"bg-bgSkeleton\",\n \"border-borderInput\",\n // On-solid contrast text utilities\n \"text-onPrimary\",\n \"text-onError\",\n \"text-onSuccess\",\n \"text-onInfo\",\n \"text-onWarning\",\n \"bg-bg\",\n \"text-white\",\n \"border\",\n \"border-t\",\n \"w-64\",\n \"w-16\",\n \"group-hover:text-text\",\n \"pointer-events-none\",\n \"rounded-xl\",\n \"rounded-full\",\n \"rounded-lg\",\n \"cursor-pointer\",\n \"hover:border-neutral-7\",\n \"hover:border-neutral-8\",\n \"transition-colors\",\n \"w-full\",\n \"items-start\",\n \"justify-between\",\n \"gap-1\",\n \"gap-1.5\",\n \"w-8\",\n \"h-8\",\n \"md:w-10\",\n \"md:h-10\",\n \"flex-shrink-0\",\n \"overflow-hidden\",\n \"object-cover\",\n \"inline-flex\",\n \"px-2.5\",\n \"py-1\",\n \"border-red-500\",\n \"text-red-600\",\n \"absolute\",\n \"top-3\",\n \"right-3\",\n \"top-10\",\n \"p-1\",\n \"p-3\",\n \"md:p-4\",\n \"hover:bg-neutral-3\",\n \"hover:bg-neutral-4\",\n \"bg-neutral-3\",\n \"text-xs\",\n \"md:text-sm\",\n \"font-medium\",\n \"truncate\",\n \"w-40\",\n \"shadow-md\",\n \"z-50\",\n \"mb-3\",\n \"bg-bgSkeleton\",\n \"before:absolute\",\n \"before:inset-0\",\n \"before:-translate-x-full\",\n \"before:animate-[shimmer_2s_infinite]\",\n \"before:bg-gradient-to-r\",\n \"before:from-transparent\",\n \"before:via-white/40\",\n \"before:to-transparent\",\n \"focus:ring-primary\",\n \"focus:border-primary\",\n \"placeholder:text-neutral-10\",\n \"max-h-60\",\n \"text-center\",\n \"inset-y-0\",\n \"inset-x-0\",\n \"top-4\",\n \"right-4\",\n \"w-64\",\n \"w-80\",\n \"w-[480px]\",\n \"h-64\",\n \"h-80\",\n \"h-96\",\n \"flex-col\",\n \"border-t\",\n \"mt-auto\",\n \"animate-slide-in-top\",\n \"animate-slide-in-bottom\",\n \"w-72\",\n \"inline-block\",\n \"gap-2\",\n \"px-3\",\n \"py-1\",\n \"outline-none\",\n \"focus:bg-neutral-3\",\n \"my-1\",\n \"focus-visible:ring-error-8\",\n \"focus-visible:ring-neutral-8\",\n \"fixed\",\n \"inset-0\",\n \"bg-black/50\",\n \"max-w-sm\",\n \"max-w-md\",\n \"max-w-lg\",\n \"max-w-full\",\n \"mx-4\",\n \"overflow-y-auto\",\n \"max-h-[90vh]\",\n \"p-6\",\n \"pb-0\",\n \"pt-0\",\n \"justify-end\",\n \"font-semibold\",\n \"focus-visible:ring-2\",\n \"focus-visible:ring-primary\",\n \"focus-visible:ring-offset-2\",\n \"bg-neutral-6\",\n \"w-3\",\n \"translate-x-0.5\",\n \"translate-x-4\",\n \"w-11\",\n \"translate-x-5\",\n \"w-14\",\n \"translate-x-7\",\n \"h-7\",\n \"w-7\",\n \"h-9\",\n \"w-9\",\n \"text-neutral-10\",\n \"divide-y\",\n \"divide-neutral-6\",\n \"py-4\",\n \"text-left\",\n \"hover:bg-neutral-2\",\n \"text-neutral-11\",\n \"transition-transform\",\n \"duration-200\",\n \"rotate-180\",\n // grid-rows trick: animates accordion open/close via CSS grid-template-rows transition\n \"grid-rows-[1fr]\",\n \"grid-rows-[0fr]\",\n \"transition-[grid-template-rows]\",\n \"ease-in-out\",\n \"pb-4\",\n \"h-1\",\n \"h-2\",\n \"h-3\",\n \"w-2/5\",\n \"animate-progress-indeterminate\",\n \"transition-all\",\n \"duration-300\",\n \"border-b\",\n \"w-fit\",\n \"px-4\",\n \"py-2\",\n \"rounded-md\",\n \"border-b-2\",\n \"-mb-px\",\n \"border-primary\",\n \"border-transparent\",\n \"hover:border-neutral-300\",\n \"py-1.5\",\n \"bg-white\",\n \"shadow-sm\",\n \"pt-4\",\n \"flex-wrap\",\n \"max-w-48\",\n \"text-neutral-400\",\n \"px-0.5\",\n \"text-textSecondary\",\n \"hover:underline\",\n \"hover:text-text\",\n \"group\",\n \"bg-neutral-800\",\n \"whitespace-nowrap\",\n \"pointer-events-none\",\n \"group-hover:opacity-100\",\n \"group-focus-within:opacity-100\",\n \"bottom-full\",\n \"left-1/2\",\n \"-translate-x-1/2\",\n \"mb-2\",\n \"top-full\",\n \"mt-2\",\n \"right-full\",\n \"top-1/2\",\n \"-translate-y-1/2\",\n \"mr-2\",\n \"left-full\",\n \"ml-2\",\n \"relative\",\n \"bg-neutral-200\",\n \"text-neutral-600\",\n \"select-none\",\n \"w-6\",\n \"h-6\",\n \"w-10\",\n \"h-10\",\n \"w-16\",\n \"h-16\",\n \"text-base\",\n \"text-lg\",\n \"uppercase\",\n \"leading-none\",\n \"w-1/2\",\n \"h-1/2\",\n \"bottom-0\",\n \"right-0\",\n \"w-2.5\",\n \"h-2.5\",\n \"ring-2\",\n \"ring-white\",\n \"bg-success-9\",\n \"bg-neutral-9\",\n \"bg-error-9\",\n \"bg-warning-9\",\n \"h-px\",\n \"w-px\",\n \"h-full\",\n \"shrink-0\",\n \"opacity-50\",\n \"cursor-not-allowed\",\n \"text-error-11\",\n \"flex\",\n \"flex-1\",\n \"gap-3\",\n \"p-4\",\n \"p-0.5\",\n \"mt-0.5\",\n \"min-w-0\",\n \"h-5\",\n \"w-5\",\n \"font-semibold\",\n \"mb-1\",\n \"opacity-90\",\n \"rounded\",\n \"hover:opacity-70\",\n \"transition-opacity\",\n \"bg-info-3\",\n \"border-info-6\",\n \"text-info-12\",\n \"text-info-11\",\n \"bg-success-3\",\n \"border-success-6\",\n \"text-success-12\",\n \"text-success-11\",\n \"bg-warning-3\",\n \"border-warning-6\",\n \"text-warning-12\",\n \"text-warning-11\",\n \"bg-error-3\",\n \"border-error-6\",\n \"text-error-12\",\n \"text-error-11\",\n \"bg-primary-3\",\n \"bg-success-3\",\n \"text-success-11\",\n \"bg-warning-3\",\n \"text-warning-11\",\n \"bg-error-3\",\n \"text-error-11\",\n \"text-sm\",\n \"px-2\",\n \"py-0.5\",\n \"animate-spin\",\n \"block\",\n \"sr-only\",\n \"items-center\",\n \"justify-center\",\n \"w-4\",\n \"h-4\",\n \"w-12\",\n \"h-12\",\n \"border-2\",\n \"border-4\",\n \"border-t-primary-9\",\n \"border-t-neutral-9\",\n \"border-t-neutral-11\",\n \"border-t-white\",\n \"border-white/30\",\n \"py-0\",\n \"py-6\",\n \"py-12\",\n \"py-20\",\n \"py-32\",\n \"bg-transparent\",\n \"bg-neutral-50\",\n \"grid\",\n \"grid-cols-1\",\n \"split-equal\",\n \"split-sidebar-left\",\n \"split-sidebar-right\",\n \"split-wide-left\",\n \"split-wide-right\",\n \"sm:split-equal\",\n \"sm:split-sidebar-left\",\n \"sm:split-sidebar-right\",\n \"sm:split-wide-left\",\n \"sm:split-wide-right\",\n \"md:split-equal\",\n \"md:split-sidebar-left\",\n \"md:split-sidebar-right\",\n \"md:split-wide-left\",\n \"md:split-wide-right\",\n \"lg:split-equal\",\n \"lg:split-sidebar-left\",\n \"lg:split-sidebar-right\",\n \"lg:split-wide-left\",\n \"lg:split-wide-right\",\n \"gap-0\",\n \"gap-4\",\n \"gap-6\",\n \"gap-8\",\n // Radix UI data-state variants — must be safelisted so consuming apps\n // that don't scan library sources still get these generated.\n // data-[state=open/closed] — Dialog, Drawer, Popover, Tooltip, Accordion, Select\n \"data-[state=open]:animate-in\",\n \"data-[state=open]:fade-in-0\",\n \"data-[state=open]:zoom-in-95\",\n \"data-[state=open]:slide-in-from-right\",\n \"data-[state=open]:slide-in-from-left\",\n \"data-[state=open]:slide-in-from-top\",\n \"data-[state=open]:slide-in-from-bottom\",\n \"data-[state=open]:grid-rows-[1fr]\",\n \"data-[state=open]:rotate-180\",\n \"data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0\",\n \"data-[state=closed]:zoom-out-95\",\n \"data-[state=closed]:slide-out-to-right\",\n \"data-[state=closed]:slide-out-to-left\",\n \"data-[state=closed]:slide-out-to-top\",\n \"data-[state=closed]:slide-out-to-bottom\",\n \"data-[state=closed]:grid-rows-[0fr]\",\n // data-[state=delayed-open] — Tooltip\n \"data-[state=delayed-open]:animate-in\",\n \"data-[state=delayed-open]:fade-in-0\",\n \"data-[state=delayed-open]:zoom-in-95\",\n // data-[state=checked/unchecked] — Checkbox, Switch\n \"data-[state=checked]:bg-primary\",\n \"data-[state=checked]:border-primary\",\n \"data-[state=checked]:translate-x-4\",\n \"data-[state=checked]:translate-x-5\",\n \"data-[state=checked]:translate-x-7\",\n \"data-[state=unchecked]:bg-neutral-300\",\n \"data-[state=unchecked]:translate-x-0.5\",\n // data-[state=active/inactive] — Tabs\n \"data-[state=active]:text-primary\",\n \"data-[state=active]:border-primary\",\n \"data-[state=active]:bg-white\", // legacy — kept for backward compat\n \"data-[state=active]:bg-neutral-1\", // new Radix — pills active tab bg\n \"data-[state=active]:shadow-sm\",\n \"data-[state=active]:text-text\",\n // data-[side=*] — Popover, Tooltip, DropdownMenu, Select\n \"data-[side=bottom]:slide-in-from-top-1\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=bottom]:translate-y-1\",\n \"data-[side=top]:slide-in-from-bottom-1\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n \"data-[side=top]:-translate-y-1\",\n \"data-[side=left]:slide-in-from-right-1\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-1\",\n \"data-[side=right]:slide-in-from-left-2\",\n // data-[disabled] / data-[placeholder] — Select, DropdownMenu\n \"data-[disabled]:opacity-50\",\n \"data-[disabled]:pointer-events-none\",\n \"data-[placeholder]:text-textMuted\",\n // group-data-[state=open] — Accordion chevron rotation\n \"group-data-[state=open]:rotate-180\",\n // ── Phase 12B: Radix 1-12 data-state variants ──────────────────────\n // Checkbox, Radio, Switch\n \"data-[state=checked]:bg-primary-9\",\n \"data-[state=checked]:border-primary-9\",\n \"data-[state=unchecked]:bg-neutral-6\",\n // Toggle, ToggleGroup, ToolbarToggleItem\n \"data-[state=on]:bg-primary-4\",\n \"data-[state=on]:bg-primary-3\",\n \"data-[state=on]:text-primary-12\",\n \"data-[state=on]:text-primary-11\",\n \"data-[state=on]:border-primary-8\",\n \"data-[state=on]:bg-neutral-4\",\n \"data-[state=on]:bg-neutral-5\",\n \"data-[state=on]:text-neutral-12\",\n // Tabs\n \"data-[state=active]:text-primary-11\",\n \"data-[state=active]:border-primary-9\",\n \"data-[state=active]:text-neutral-12\",\n // NavigationMenu trigger\n \"data-[active]:bg-neutral-3\",\n \"data-[state=open]:bg-neutral-3\",\n // Menubar / ContextMenu subtrigger\n \"data-[state=open]:bg-neutral-4\",\n // ── Phase 12B: hover / focus / group-hover utilities ───────────────\n \"hover:text-neutral-12\",\n \"hover:border-neutral-7\",\n \"hover:border-neutral-8\",\n \"hover:bg-neutral-8\",\n \"focus:bg-neutral-3\",\n \"focus:bg-neutral-4\",\n \"focus-visible:ring-neutral-8\",\n \"group-hover:bg-neutral-4\",\n \"group-hover:text-neutral-12\",\n // ── Phase 12B: spinner border-t, accordion divide ──────────────────\n \"border-t-primary-9\",\n \"border-t-neutral-9\",\n \"divide-neutral-6\",\n ],\n };\n});\n","import { colors } from \"./theme\";\n\nfunction radixScale(alias: string): Record<number | string, string> {\n const scale: Record<number | string, string> = {};\n for (let i = 1; i <= 12; i++) {\n scale[i] = `var(--${alias}-${i})`;\n }\n scale[\"DEFAULT\"] = `var(--${alias}-9)`;\n return scale;\n}\n\n/**\n * Generates UnoCSS-compatible color configuration.\n *\n * Runs both the Radix 1-12 CSS-var scale (new) and the legacy 50-900\n * hex shades (kept for backward-compat during Phase 12B component migration).\n * After all components are migrated the 50-900 entries will be removed.\n */\nexport function generateUnoColors() {\n return {\n // ── New Radix 1-12 scales + legacy 50-900 shades ─────────────\n primary: { ...colors.primary, ...radixScale(\"primary\"), foreground: \"#ffffff\" },\n neutral: { ...colors.neutral, ...radixScale(\"neutral\") },\n error: { ...colors.error, ...radixScale(\"error\") },\n success: { ...colors.success, ...radixScale(\"success\") },\n warning: { ...colors.warning, ...radixScale(\"warning\") },\n info: { ...colors.info, ...radixScale(\"info\") },\n\n // ── Secondary: keep legacy shades (Phase 12B will migrate) ────\n secondary: {\n ...colors.secondary,\n DEFAULT: colors.secondary[500],\n foreground: \"#ffffff\",\n },\n\n // ── Semantic alias tokens ─────────────────────────────────────\n destructive: { DEFAULT: \"var(--error-9)\", foreground: \"var(--neutral-1)\" },\n muted: { DEFAULT: \"var(--neutral-3)\", foreground: \"var(--neutral-11)\" },\n accent: { DEFAULT: \"var(--neutral-3)\", foreground: \"var(--neutral-12)\" },\n popover: { DEFAULT: \"var(--neutral-1)\", foreground: \"var(--neutral-12)\" },\n card: { DEFAULT: \"var(--neutral-1)\", foreground: \"var(--neutral-12)\" },\n\n // ── Meta tokens ───────────────────────────────────────────────\n border: \"var(--neutral-6)\",\n input: \"var(--neutral-7)\",\n ring: \"var(--primary-8)\",\n background: \"var(--neutral-1)\",\n foreground: \"var(--neutral-12)\",\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/kishor/Work/01-araCreate/arm/library/arm-ui-library/dist/preset.js","../src/preset.ts","../src/lib/theme-sync.ts"],"names":["radixScale","alias","scale","i","generateUnoColors","colors","acPreset","definePreset","presetWind4","presetAttributify","presetIcons","_","rawSelector"],"mappings":"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","file":"/Users/kishor/Work/01-araCreate/arm/library/arm-ui-library/dist/preset.js","sourcesContent":[null,"import { definePreset, presetIcons, type Preset } from \"unocss\";\nimport presetWind4 from \"@unocss/preset-wind4\";\nimport presetAttributify from \"@unocss/preset-attributify\";\nimport { generateUnoColors } from \"./lib/theme-sync\";\n\nexport const acPreset = definePreset(() => {\n return {\n name: \"ac-ui-preset\",\n\n presets: [\n presetWind4() as Preset,\n presetAttributify(),\n presetIcons({\n scale: 1.2,\n cdn: \"https://esm.sh/\",\n }),\n ],\n\n preflights: [\n {\n getCSS: () => `\n :root {\n /* ── Non-color semantic tokens (fallback outside .radix-themes) ── */\n --glass-bg: rgba(255, 255, 255, 0.3);\n --shadow-color: rgba(0, 0, 0, 0.25);\n --line-color: rgba(0, 0, 0, 0.08);\n }\n `,\n },\n {\n // Brand token overrides for Radix Themes (--accent-*, --gray-*, and the\n // --primary-*/--neutral-*/--error-*/--success-*/--warning-*/--info-* aliases\n // components/utilities depend on). Mirrors src/styles/radix-brand-tokens.css —\n // duplicated here (not imported) because this is the one output every consumer\n // already loads via `@aracreate/arm-ui/style.css`. dist/index.css (built\n // from the ui-provider.tsx CSS import) is never wired up for consumption: it\n // has no exports-map entry and index.mjs doesn't self-import it, so relying on\n // that path silently drops these tokens for every consuming app.\n getCSS: () => `\n /* ── LIGHT MODE ─────────────────────────────── */\n /* Also declared at :root: UnoCSS's Wind4 preset auto-generates\n --colors-{name}-{shade} aliases (e.g. --colors-primary-DEFAULT:\n var(--primary-9)) scoped to :root. A var() inside a custom-property\n declaration resolves using the declaring element's own cascade, not\n the consumer's — so if --primary-9 only existed on .radix-themes,\n every :root-scoped alias would compute to invalid and inherit that\n way everywhere, regardless of .radix-themes further down the tree. */\n :root, .radix-themes {\n --accent-1: #fffef5;\n --accent-2: #fffce8;\n --accent-3: #fff8cc;\n --accent-4: #fff2a8;\n --accent-5: #ffe980;\n --accent-6: #ffd94d;\n --accent-7: #ffd236;\n --accent-8: #ffca20;\n --accent-9: #FFC936;\n --accent-10: #f0b800;\n --accent-11: #7a5c00;\n --accent-12: #3d2e00;\n\n --accent-a1: #c0800004;\n --accent-a2: #ffc30015;\n --accent-a3: #ffcf003f;\n --accent-a4: #ffc90062;\n --accent-a5: #ffc20084;\n --accent-a6: #f6ae0089;\n --accent-a7: #d6960094;\n --accent-a8: #c78f00bf;\n --accent-a9: #ffc600e0;\n --accent-a10: #f9b700d1;\n --accent-a11: #997000;\n --accent-a12: #2a1e00df;\n --accent-surface: #fff9e5cc;\n --accent-indicator: #ffcd1f;\n --accent-track: #ffcd1f;\n\n --accent-contrast: #000000;\n\n --error-contrast: #ffffff;\n --success-contrast: #ffffff;\n --info-contrast: #ffffff;\n --warning-contrast: #000000;\n\n --gray-1: #fafafa;\n --gray-2: #f4f4f4;\n --gray-3: #ebebeb;\n --gray-4: #e0e0e0;\n --gray-5: #d1d1d1;\n --gray-6: #bebebe;\n --gray-7: #a8a8a8;\n --gray-8: #989898;\n --gray-9: #8C8C8C;\n --gray-10: #6e6e6e;\n --gray-11: #4a4a4a;\n --gray-12: #1a1a1a;\n\n --gray-a1: #00000003;\n --gray-a2: #00000006;\n --gray-a3: #00000010;\n --gray-a4: #00000017;\n --gray-a5: #0000001f;\n --gray-a6: #00000026;\n --gray-a7: #00000031;\n --gray-a8: #00000044;\n --gray-a9: #00000072;\n --gray-a10: #0000007c;\n --gray-a11: #0000009b;\n --gray-a12: #000000df;\n --gray-contrast: #FFFFFF;\n --gray-surface: #ffffffcc;\n --gray-indicator: #8d8d8d;\n --gray-track: #8d8d8d;\n\n --color-background: var(--accent-1);\n --color-surface: #ffffff;\n --color-panel-solid: #ffffff;\n --color-panel-translucent: rgba(255, 255, 255, 0.85);\n\n --primary-1: var(--accent-1);\n --primary-2: var(--accent-2);\n --primary-3: var(--accent-3);\n --primary-4: var(--accent-4);\n --primary-5: var(--accent-5);\n --primary-6: var(--accent-6);\n --primary-7: var(--accent-7);\n --primary-8: var(--accent-8);\n --primary-9: var(--accent-9);\n --primary-10: var(--accent-10);\n --primary-11: var(--accent-11);\n --primary-12: var(--accent-12);\n\n --neutral-1: var(--gray-1);\n --neutral-2: var(--gray-2);\n --neutral-3: var(--gray-3);\n --neutral-4: var(--gray-4);\n --neutral-5: var(--gray-5);\n --neutral-6: var(--gray-6);\n --neutral-7: var(--gray-7);\n --neutral-8: var(--gray-8);\n --neutral-9: var(--gray-9);\n --neutral-10: var(--gray-10);\n --neutral-11: var(--gray-11);\n --neutral-12: var(--gray-12);\n\n --error-1: var(--red-1);\n --error-2: var(--red-2);\n --error-3: var(--red-3);\n --error-4: var(--red-4);\n --error-5: var(--red-5);\n --error-6: var(--red-6);\n --error-7: var(--red-7);\n --error-8: var(--red-8);\n --error-9: var(--red-9);\n --error-10: var(--red-10);\n --error-11: var(--red-11);\n --error-12: var(--red-12);\n\n --success-1: var(--green-1);\n --success-2: var(--green-2);\n --success-3: var(--green-3);\n --success-4: var(--green-4);\n --success-5: var(--green-5);\n --success-6: var(--green-6);\n --success-7: var(--green-7);\n --success-8: var(--green-8);\n --success-9: var(--green-9);\n --success-10: var(--green-10);\n --success-11: var(--green-11);\n --success-12: var(--green-12);\n\n --warning-1: var(--amber-1);\n --warning-2: var(--amber-2);\n --warning-3: var(--amber-3);\n --warning-4: var(--amber-4);\n --warning-5: var(--amber-5);\n --warning-6: var(--amber-6);\n --warning-7: var(--amber-7);\n --warning-8: var(--amber-8);\n --warning-9: var(--amber-9);\n --warning-10: var(--amber-10);\n --warning-11: var(--amber-11);\n --warning-12: var(--amber-12);\n\n --info-1: var(--blue-1);\n --info-2: var(--blue-2);\n --info-3: var(--blue-3);\n --info-4: var(--blue-4);\n --info-5: var(--blue-5);\n --info-6: var(--blue-6);\n --info-7: var(--blue-7);\n --info-8: var(--blue-8);\n --info-9: var(--blue-9);\n --info-10: var(--blue-10);\n --info-11: var(--blue-11);\n --info-12: var(--blue-12);\n\n --color-foreground: #111111;\n --color-on-primary: var(--accent-contrast);\n --color-muted: var(--neutral-7);\n --color-border: var(--neutral-4);\n\n --text: var(--color-foreground);\n --text-secondary: var(--color-muted);\n --text-muted: var(--color-muted);\n --text-input: var(--color-foreground);\n --bg-skeleton: var(--neutral-4);\n }\n\n .radix-themes .text-text{ color: color-mix(in srgb, var(--color-foreground) var(--un-text-opacity), transparent) !important; }\n .radix-themes .text-textSecondary{ color: color-mix(in srgb, var(--color-muted) var(--un-text-opacity), transparent) !important; }\n .radix-themes .text-textMuted{ color: color-mix(in srgb, var(--color-muted) var(--un-text-opacity), transparent) !important; }\n .radix-themes .text-textInput{ color: color-mix(in srgb, var(--color-foreground) var(--un-text-opacity), transparent) !important; }\n `,\n },\n {\n getCSS: () => `\n @keyframes fade-in {\n 0% { opacity: 0; transform: scale(0.95); }\n 100% { opacity: 1; transform: scale(1); }\n }\n @keyframes fade-out {\n 0% { opacity: 1; transform: scale(1); }\n 100% { opacity: 0; transform: scale(0.95); }\n }\n @keyframes slide-in-right {\n 0% { transform: translateX(100%); opacity: 0; }\n 100% { transform: translateX(0); opacity: 1; }\n }\n @keyframes slide-out-right {\n 0% { transform: translateX(0); opacity: 1; }\n 100% { transform: translateX(100%); opacity: 0; }\n }\n @keyframes slide-in-left {\n 0% { transform: translateX(-100%); opacity: 0; }\n 100% { transform: translateX(0); opacity: 1; }\n }\n @keyframes slide-out-left {\n 0% { transform: translateX(0); opacity: 1; }\n 100% { transform: translateX(-100%); opacity: 0; }\n }\n @keyframes bounce-in {\n 0% { transform: scale(0.3); opacity: 0; }\n 50% { transform: scale(1.05); }\n 70% { transform: scale(0.9); }\n 100% { transform: scale(1); opacity: 1; }\n }\n @keyframes bounce-out {\n 0% { transform: scale(1); opacity: 1; }\n 100% { transform: scale(0.3); opacity: 0; }\n }\n @keyframes wave {\n 0% { background-position: 200% 0; }\n 100% { background-position: 0 0; }\n }\n @keyframes shimmer {\n 100% { transform: translateX(100%); }\n }\n @keyframes progress-slide {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(350%); }\n }\n @keyframes slide-in-top {\n 0% { transform: translateY(-100%); opacity: 0; }\n 100% { transform: translateY(0); opacity: 1; }\n }\n @keyframes slide-in-bottom {\n 0% { transform: translateY(100%); opacity: 0; }\n 100% { transform: translateY(0); opacity: 1; }\n }\n `,\n },\n {\n // Radix Themes gives every portaled Dialog/AlertDialog its own nested\n // \"root theme\" wrapper (data-is-root-theme=\"true\", carrying the same\n // .radix-themes class as the app-level wrapper), so it has its own\n // theme context regardless of where in the DOM the portal lands.\n // @radix-ui/themes/styles.css's own rules for that wrapper\n // (`.radix-themes:where([data-is-root-theme=\"true\"]) { position:\n // relative; ... }`, meant for the *app-level* wrapper) and for the\n // dialog overlay itself (`.rt-BaseDialogOverlay { position: fixed;\n // inset: 0; }`) are the same specificity and both unlayered, so which\n // one wins is decided purely by their order in the final bundled\n // CSS — order that shifts across builds/bundlers. When the root-theme\n // rule wins, the overlay stops being a fixed, viewport-covering layer\n // and renders in normal document flow instead, pushing the dialog\n // far down the page (looks like \"no dialog appears\"). Force the\n // overlay back to fixed positioning regardless of bundle order.\n // Covers AlertDialog too — it reuses the same rt-BaseDialogOverlay.\n getCSS: () => `\n .rt-BaseDialogOverlay {\n position: fixed !important;\n }\n `,\n },\n ],\n\n rules: [\n [\"custom-rule\", { color: \"red\" }],\n [\"checked:bg-warning-9\", { \"background-color\": \"var(--warning-9)\" }],\n [\"checked:border-warning-9\", { \"border-color\": \"var(--warning-9)\" }],\n [\"list-disc\", { \"list-style-type\": \"disc\" }],\n [\"list-decimal\", { \"list-style-type\": \"decimal\" }],\n [\"list-inside\", { \"list-style-position\": \"inside\" }],\n [\"list-square\", { \"list-style-type\": \"square\" }],\n [\"list-circle\", { \"list-style-type\": \"circle\" }],\n [\"list-outside\", { \"list-style-position\": \"outside\" }],\n [\"list-[upper-roman]\", { \"list-style-type\": \"upper-roman\" }],\n [\"list-[lower-roman]\", { \"list-style-type\": \"lower-roman\" }],\n [\"list-[upper-alpha]\", { \"list-style-type\": \"upper-alpha\" }],\n [\"list-[lower-alpha]\", { \"list-style-type\": \"lower-alpha\" }],\n [\"list-[🔥]\", { \"list-style-type\": '\"🔥\"' }],\n [\"ul,ol\", { \"list-style\": \"revert\" }],\n [\n /^checked:tick$/,\n (_, { rawSelector }) => ({\n [`${rawSelector}::after`]: {\n content: '\"✓\"',\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n color: \"#ffffff\",\n \"font-size\": \"12px\",\n \"font-weight\": \"bold\",\n opacity: \"1\",\n },\n }),\n ],\n [\n \"animate-wave\",\n {\n \"background-image\": `linear-gradient(to right, var(--neutral-5) 0%, var(--neutral-3) 20%, var(--neutral-5) 40%, var(--neutral-5) 100%)`,\n \"background-size\": \"200% 100%\",\n animation: \"wave 1.5s linear infinite\",\n },\n ],\n [\"animate-fade-in\", { animation: \"fade-in 0.3s ease-in-out\" }],\n [\"animate-fade-out\", { animation: \"fade-out 0.3s ease-in-out\" }],\n [\"animate-slide-in-right\", { animation: \"slide-in-right 0.3s ease-out\" }],\n [\"animate-slide-out-right\", { animation: \"slide-out-right 0.3s ease-in\" }],\n [\"animate-slide-in-left\", { animation: \"slide-in-left 0.3s ease-out\" }],\n [\"animate-slide-out-left\", { animation: \"slide-out-left 0.3s ease-in\" }],\n [\"animate-bounce-in\", { animation: \"bounce-in 0.5s ease-out\" }],\n [\"animate-bounce-out\", { animation: \"bounce-out 0.3s ease-in\" }],\n [\"animate-progress-indeterminate\", { animation: \"progress-slide 1.5s ease-in-out infinite\" }],\n [\"animate-slide-in-top\", { animation: \"slide-in-top 0.3s ease-out\" }],\n [\"animate-slide-in-bottom\", { animation: \"slide-in-bottom 0.3s ease-out\" }],\n [\"table\", { \"border-collapse\": \"collapse\", \"border-style\": \"solid\" }],\n [\"shadow-soft\", { \"box-shadow\": \"0 0 20px var(--shadow-color)\" }],\n [\"shadow-spread\", { \"box-shadow\": \"0 0 30px 6px var(--shadow-color)\" }],\n [\"grid-card-wrapper\", { \"grid-template-columns\": \"repeat(auto-fill, minmax(285px, auto))\" }],\n [\"split-equal\", { \"grid-template-columns\": \"1fr 1fr\" }],\n [\"split-sidebar-left\", { \"grid-template-columns\": \"3fr 7fr\" }],\n [\"split-sidebar-right\", { \"grid-template-columns\": \"7fr 3fr\" }],\n [\"split-wide-left\", { \"grid-template-columns\": \"6fr 4fr\" }],\n [\"split-wide-right\", { \"grid-template-columns\": \"4fr 6fr\" }],\n ],\n\n shortcuts: {\n \"custom-shortcut\": \"text-lg text-primary-11 hover:text-primary-12\",\n \"card-gradient-border\":\n \"relative p-0.5 bg-gradient-to-r from-info-9 to-primary-9 rounded-2xl\",\n \"card-gradient-content\": \"bg-card rounded-[22px] h-full w-full\",\n \"glass-card\": \"bg-glass backdrop-blur-md rounded-xl p-4\",\n },\n\n theme: {\n colors: {\n ...generateUnoColors(),\n bg: \"var(--bg)\",\n text: \"var(--text)\",\n textSecondary: \"var(--text-secondary)\",\n button: \"var(--button-bg)\",\n buttonHover: \"var(--button-hover-bg)\",\n textLink: \"var(--text-link)\",\n glass: \"var(--glass-bg)\",\n shadow: \"var(--shadow-color)\",\n bgAuth: \"var(--bg-auth-colour)\",\n authButton: \"var(--auth-button-bg)\",\n bgInput: \"var(--bg-input)\",\n bgSurface: \"var(--bg-surface)\",\n textInput: \"var(--text-input)\",\n textMuted: \"var(--text-muted)\",\n borderInput: \"var(--border-input)\",\n bgSkeleton: \"var(--bg-skeleton)\",\n // On-solid contrast text — correct readable color on each solid-9 surface\n onPrimary: \"var(--accent-contrast)\",\n onError: \"var(--error-contrast)\",\n onSuccess: \"var(--success-contrast)\",\n onInfo: \"var(--info-contrast)\",\n onWarning: \"var(--warning-contrast)\",\n },\n keyframes: {\n wave: {\n \"0%\": { \"background-position\": \"200% 0\" },\n \"100%\": { \"background-position\": \"0 0\" },\n },\n \"fade-in\": {\n \"0%\": { opacity: \"0\", transform: \"scale(0.95)\" },\n \"100%\": { opacity: \"1\", transform: \"scale(1)\" },\n },\n \"fade-out\": {\n \"0%\": { opacity: \"1\", transform: \"scale(1)\" },\n \"100%\": { opacity: \"0\", transform: \"scale(0.95)\" },\n },\n \"slide-in-right\": {\n \"0%\": { transform: \"translateX(100%)\", opacity: \"0\" },\n \"100%\": { transform: \"translateX(0)\", opacity: \"1\" },\n },\n \"slide-out-right\": {\n \"0%\": { transform: \"translateX(0)\", opacity: \"1\" },\n \"100%\": { transform: \"translateX(100%)\", opacity: \"0\" },\n },\n \"slide-in-left\": {\n \"0%\": { transform: \"translateX(-100%)\", opacity: \"0\" },\n \"100%\": { transform: \"translateX(0)\", opacity: \"1\" },\n },\n \"slide-out-left\": {\n \"0%\": { transform: \"translateX(0)\", opacity: \"1\" },\n \"100%\": { transform: \"translateX(-100%)\", opacity: \"0\" },\n },\n \"bounce-in\": {\n \"0%\": { transform: \"scale(0.3)\", opacity: \"0\" },\n \"50%\": { transform: \"scale(1.05)\" },\n \"70%\": { transform: \"scale(0.9)\" },\n \"100%\": { transform: \"scale(1)\", opacity: \"1\" },\n },\n \"bounce-out\": {\n \"0%\": { transform: \"scale(1)\", opacity: \"1\" },\n \"100%\": { transform: \"scale(0.3)\", opacity: \"0\" },\n },\n },\n },\n\n safelist: [\n \"animate-wave\",\n \"animate-fade-in\",\n \"animate-fade-out\",\n \"animate-slide-in-right\",\n \"animate-slide-out-right\",\n \"animate-slide-in-left\",\n \"animate-slide-out-left\",\n \"animate-bounce-in\",\n \"animate-bounce-out\",\n // Radix 1-12 checked variants (replaced old warning-500 rules)\n \"checked:bg-warning-9\",\n \"checked:border-warning-9\",\n \"checked:tick\",\n // ── Radix 1-12 color utilities ─────────────────────────────────────\n // primary (yellow)\n \"bg-primary-1\",\n \"bg-primary-2\",\n \"bg-primary-3\",\n \"bg-primary-4\",\n \"bg-primary-5\",\n \"bg-primary-6\",\n \"bg-primary-7\",\n \"bg-primary-8\",\n \"bg-primary-9\",\n \"bg-primary-10\",\n \"bg-primary-11\",\n \"bg-primary-12\",\n \"text-primary-1\",\n \"text-primary-2\",\n \"text-primary-3\",\n \"text-primary-9\",\n \"text-primary-10\",\n \"text-primary-11\",\n \"text-primary-12\",\n \"border-primary-6\",\n \"border-primary-7\",\n \"border-primary-8\",\n \"border-primary-9\",\n \"hover:bg-primary-3\",\n \"hover:bg-primary-4\",\n \"hover:bg-primary-10\",\n \"hover:text-primary-12\",\n \"hover:border-primary-9\",\n \"focus:ring-primary-8\",\n \"focus-visible:ring-primary-8\",\n \"active:bg-primary-10\",\n // neutral (mauve)\n \"bg-neutral-1\",\n \"bg-neutral-2\",\n \"bg-neutral-3\",\n \"bg-neutral-4\",\n \"bg-neutral-5\",\n \"bg-neutral-6\",\n \"bg-neutral-7\",\n \"bg-neutral-8\",\n \"bg-neutral-9\",\n \"bg-neutral-10\",\n \"bg-neutral-11\",\n \"bg-neutral-12\",\n \"text-neutral-1\",\n \"text-neutral-2\",\n \"text-neutral-10\",\n \"text-neutral-11\",\n \"text-neutral-12\",\n \"border-neutral-6\",\n \"border-neutral-7\",\n \"border-neutral-8\",\n \"hover:bg-neutral-3\",\n \"hover:bg-neutral-4\",\n // error (red)\n \"bg-error-2\",\n \"bg-error-3\",\n \"bg-error-4\",\n \"bg-error-9\",\n \"bg-error-10\",\n \"text-error-9\",\n \"text-error-11\",\n \"text-error-12\",\n \"border-error-6\",\n \"border-error-7\",\n \"border-error-8\",\n \"border-error-9\",\n \"hover:bg-error-3\",\n \"hover:bg-error-4\",\n \"hover:bg-error-10\",\n \"hover:text-error-12\",\n \"hover:border-error-9\",\n \"focus:ring-error-8\",\n \"focus-visible:ring-error-8\",\n \"active:bg-error-10\",\n // success (green)\n \"bg-success-2\",\n \"bg-success-3\",\n \"bg-success-4\",\n \"bg-success-9\",\n \"bg-success-10\",\n \"text-success-9\",\n \"text-success-11\",\n \"text-success-12\",\n \"border-success-6\",\n \"border-success-7\",\n \"border-success-8\",\n \"border-success-9\",\n \"hover:bg-success-3\",\n \"hover:bg-success-4\",\n \"hover:bg-success-10\",\n \"focus:ring-success-8\",\n // warning (amber)\n \"bg-warning-2\",\n \"bg-warning-3\",\n \"bg-warning-4\",\n \"bg-warning-9\",\n \"bg-warning-10\",\n \"text-warning-9\",\n \"text-warning-11\",\n \"text-warning-12\",\n \"border-warning-6\",\n \"border-warning-7\",\n \"border-warning-8\",\n \"border-warning-9\",\n \"hover:bg-warning-3\",\n \"hover:bg-warning-4\",\n \"hover:bg-warning-10\",\n \"focus:ring-warning-8\",\n // info (blue)\n \"bg-info-2\",\n \"bg-info-3\",\n \"bg-info-4\",\n \"bg-info-9\",\n \"bg-info-10\",\n \"text-info-9\",\n \"text-info-11\",\n \"text-info-12\",\n \"border-info-6\",\n \"border-info-7\",\n \"border-info-8\",\n \"border-info-9\",\n \"hover:bg-info-3\",\n \"hover:bg-info-4\",\n \"hover:bg-info-10\",\n \"focus:ring-info-8\",\n // ──────────────────────────────────────────────────────────────────\n \"list-[upper-roman]\",\n \"list-[lower-roman]\",\n \"list-[upper-alpha]\",\n \"list-[lower-alpha]\",\n \"list-[🔥]\",\n // ── Semantic alias utilities ──────────────────────────────────────\n \"text-text\",\n \"text-textSecondary\",\n \"text-textMuted\",\n \"text-textInput\",\n \"bg-bgInput\",\n \"bg-bgSurface\",\n \"bg-bgSkeleton\",\n \"border-borderInput\",\n // On-solid contrast text utilities\n \"text-onPrimary\",\n \"text-onError\",\n \"text-onSuccess\",\n \"text-onInfo\",\n \"text-onWarning\",\n \"bg-bg\",\n \"text-white\",\n \"border\",\n \"border-t\",\n \"w-64\",\n \"w-16\",\n \"group-hover:text-text\",\n \"pointer-events-none\",\n \"rounded-xl\",\n \"rounded-full\",\n \"rounded-lg\",\n \"cursor-pointer\",\n \"hover:border-neutral-7\",\n \"hover:border-neutral-8\",\n \"transition-colors\",\n \"w-full\",\n \"items-start\",\n \"justify-between\",\n \"gap-1\",\n \"gap-1.5\",\n \"w-8\",\n \"h-8\",\n \"md:w-10\",\n \"md:h-10\",\n \"flex-shrink-0\",\n \"overflow-hidden\",\n \"object-cover\",\n \"inline-flex\",\n \"px-2.5\",\n \"py-1\",\n \"border-red-500\",\n \"text-red-600\",\n \"absolute\",\n \"top-3\",\n \"right-3\",\n \"top-10\",\n \"p-1\",\n \"p-3\",\n \"md:p-4\",\n \"hover:bg-neutral-3\",\n \"hover:bg-neutral-4\",\n \"bg-neutral-3\",\n \"text-xs\",\n \"md:text-sm\",\n \"font-medium\",\n \"truncate\",\n \"w-40\",\n \"shadow-md\",\n \"z-50\",\n \"mb-3\",\n \"bg-bgSkeleton\",\n \"before:absolute\",\n \"before:inset-0\",\n \"before:-translate-x-full\",\n \"before:animate-[shimmer_2s_infinite]\",\n \"before:bg-gradient-to-r\",\n \"before:from-transparent\",\n \"before:via-white/40\",\n \"before:to-transparent\",\n \"focus:ring-primary\",\n \"focus:border-primary\",\n \"placeholder:text-neutral-10\",\n \"max-h-60\",\n \"text-center\",\n \"inset-y-0\",\n \"inset-x-0\",\n \"top-4\",\n \"right-4\",\n \"w-64\",\n \"w-80\",\n \"w-[480px]\",\n \"h-64\",\n \"h-80\",\n \"h-96\",\n \"flex-col\",\n \"border-t\",\n \"mt-auto\",\n \"animate-slide-in-top\",\n \"animate-slide-in-bottom\",\n \"w-72\",\n \"inline-block\",\n \"gap-2\",\n \"px-3\",\n \"py-1\",\n \"outline-none\",\n \"focus:bg-neutral-3\",\n \"my-1\",\n \"focus-visible:ring-error-8\",\n \"focus-visible:ring-neutral-8\",\n \"fixed\",\n \"inset-0\",\n \"bg-black/50\",\n \"max-w-sm\",\n \"max-w-md\",\n \"max-w-lg\",\n \"max-w-full\",\n \"mx-4\",\n \"overflow-y-auto\",\n \"max-h-[90vh]\",\n \"p-6\",\n \"pb-0\",\n \"pt-0\",\n \"justify-end\",\n \"font-semibold\",\n \"focus-visible:ring-2\",\n \"focus-visible:ring-primary\",\n \"focus-visible:ring-offset-2\",\n \"bg-neutral-6\",\n \"w-3\",\n \"translate-x-0.5\",\n \"translate-x-4\",\n \"w-11\",\n \"translate-x-5\",\n \"w-14\",\n \"translate-x-7\",\n \"h-7\",\n \"w-7\",\n \"h-9\",\n \"w-9\",\n \"text-neutral-10\",\n \"divide-y\",\n \"divide-neutral-6\",\n \"py-4\",\n \"text-left\",\n \"hover:bg-neutral-2\",\n \"text-neutral-11\",\n \"transition-transform\",\n \"duration-200\",\n \"rotate-180\",\n // grid-rows trick: animates accordion open/close via CSS grid-template-rows transition\n \"grid-rows-[1fr]\",\n \"grid-rows-[0fr]\",\n \"transition-[grid-template-rows]\",\n \"ease-in-out\",\n \"pb-4\",\n \"h-1\",\n \"h-2\",\n \"h-3\",\n \"w-2/5\",\n \"animate-progress-indeterminate\",\n \"transition-all\",\n \"duration-300\",\n \"border-b\",\n \"w-fit\",\n \"px-4\",\n \"py-2\",\n \"rounded-md\",\n \"border-b-2\",\n \"-mb-px\",\n \"border-primary\",\n \"border-transparent\",\n \"hover:border-neutral-300\",\n \"py-1.5\",\n \"bg-white\",\n \"shadow-sm\",\n \"pt-4\",\n \"flex-wrap\",\n \"max-w-48\",\n \"text-neutral-400\",\n \"px-0.5\",\n \"text-textSecondary\",\n \"hover:underline\",\n \"hover:text-text\",\n \"group\",\n \"bg-neutral-800\",\n \"whitespace-nowrap\",\n \"pointer-events-none\",\n \"group-hover:opacity-100\",\n \"group-focus-within:opacity-100\",\n \"bottom-full\",\n \"left-1/2\",\n \"-translate-x-1/2\",\n \"mb-2\",\n \"top-full\",\n \"mt-2\",\n \"right-full\",\n \"top-1/2\",\n \"-translate-y-1/2\",\n \"mr-2\",\n \"left-full\",\n \"ml-2\",\n \"relative\",\n \"bg-neutral-200\",\n \"text-neutral-600\",\n \"select-none\",\n \"w-6\",\n \"h-6\",\n \"w-10\",\n \"h-10\",\n \"w-16\",\n \"h-16\",\n \"text-base\",\n \"text-lg\",\n \"uppercase\",\n \"leading-none\",\n \"w-1/2\",\n \"h-1/2\",\n \"bottom-0\",\n \"right-0\",\n \"w-2.5\",\n \"h-2.5\",\n \"ring-2\",\n \"ring-white\",\n \"bg-success-9\",\n \"bg-neutral-9\",\n \"bg-error-9\",\n \"bg-warning-9\",\n \"h-px\",\n \"w-px\",\n \"h-full\",\n \"shrink-0\",\n \"opacity-50\",\n \"cursor-not-allowed\",\n \"text-error-11\",\n \"flex\",\n \"flex-1\",\n \"gap-3\",\n \"p-4\",\n \"p-0.5\",\n \"mt-0.5\",\n \"min-w-0\",\n \"h-5\",\n \"w-5\",\n \"font-semibold\",\n \"mb-1\",\n \"opacity-90\",\n \"rounded\",\n \"hover:opacity-70\",\n \"transition-opacity\",\n \"bg-info-3\",\n \"border-info-6\",\n \"text-info-12\",\n \"text-info-11\",\n \"bg-success-3\",\n \"border-success-6\",\n \"text-success-12\",\n \"text-success-11\",\n \"bg-warning-3\",\n \"border-warning-6\",\n \"text-warning-12\",\n \"text-warning-11\",\n \"bg-error-3\",\n \"border-error-6\",\n \"text-error-12\",\n \"text-error-11\",\n \"bg-primary-3\",\n \"bg-success-3\",\n \"text-success-11\",\n \"bg-warning-3\",\n \"text-warning-11\",\n \"bg-error-3\",\n \"text-error-11\",\n \"text-sm\",\n \"px-2\",\n \"py-0.5\",\n \"animate-spin\",\n \"block\",\n \"sr-only\",\n \"items-center\",\n \"justify-center\",\n \"w-4\",\n \"h-4\",\n \"w-12\",\n \"h-12\",\n \"border-2\",\n \"border-4\",\n \"border-t-primary-9\",\n \"border-t-neutral-9\",\n \"border-t-neutral-11\",\n \"border-t-white\",\n \"border-white/30\",\n \"py-0\",\n \"py-6\",\n \"py-12\",\n \"py-20\",\n \"py-32\",\n \"bg-transparent\",\n \"bg-neutral-50\",\n \"grid\",\n \"grid-cols-1\",\n \"split-equal\",\n \"split-sidebar-left\",\n \"split-sidebar-right\",\n \"split-wide-left\",\n \"split-wide-right\",\n \"sm:split-equal\",\n \"sm:split-sidebar-left\",\n \"sm:split-sidebar-right\",\n \"sm:split-wide-left\",\n \"sm:split-wide-right\",\n \"md:split-equal\",\n \"md:split-sidebar-left\",\n \"md:split-sidebar-right\",\n \"md:split-wide-left\",\n \"md:split-wide-right\",\n \"lg:split-equal\",\n \"lg:split-sidebar-left\",\n \"lg:split-sidebar-right\",\n \"lg:split-wide-left\",\n \"lg:split-wide-right\",\n \"gap-0\",\n \"gap-4\",\n \"gap-6\",\n \"gap-8\",\n // Radix UI data-state variants — must be safelisted so consuming apps\n // that don't scan library sources still get these generated.\n // data-[state=open/closed] — Dialog, Drawer, Popover, Tooltip, Accordion, Select\n \"data-[state=open]:animate-in\",\n \"data-[state=open]:fade-in-0\",\n \"data-[state=open]:zoom-in-95\",\n \"data-[state=open]:slide-in-from-right\",\n \"data-[state=open]:slide-in-from-left\",\n \"data-[state=open]:slide-in-from-top\",\n \"data-[state=open]:slide-in-from-bottom\",\n \"data-[state=open]:grid-rows-[1fr]\",\n \"data-[state=open]:rotate-180\",\n \"data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0\",\n \"data-[state=closed]:zoom-out-95\",\n \"data-[state=closed]:slide-out-to-right\",\n \"data-[state=closed]:slide-out-to-left\",\n \"data-[state=closed]:slide-out-to-top\",\n \"data-[state=closed]:slide-out-to-bottom\",\n \"data-[state=closed]:grid-rows-[0fr]\",\n // data-[state=delayed-open] — Tooltip\n \"data-[state=delayed-open]:animate-in\",\n \"data-[state=delayed-open]:fade-in-0\",\n \"data-[state=delayed-open]:zoom-in-95\",\n // data-[state=checked/unchecked] — Checkbox, Switch\n \"data-[state=checked]:bg-primary\",\n \"data-[state=checked]:border-primary\",\n \"data-[state=checked]:translate-x-4\",\n \"data-[state=checked]:translate-x-5\",\n \"data-[state=checked]:translate-x-7\",\n \"data-[state=unchecked]:bg-neutral-300\",\n \"data-[state=unchecked]:translate-x-0.5\",\n // data-[state=active/inactive] — Tabs\n \"data-[state=active]:text-primary\",\n \"data-[state=active]:border-primary\",\n \"data-[state=active]:bg-white\", // legacy — kept for backward compat\n \"data-[state=active]:bg-neutral-1\", // new Radix — pills active tab bg\n \"data-[state=active]:shadow-sm\",\n \"data-[state=active]:text-text\",\n // data-[side=*] — Popover, Tooltip, DropdownMenu, Select\n \"data-[side=bottom]:slide-in-from-top-1\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=bottom]:translate-y-1\",\n \"data-[side=top]:slide-in-from-bottom-1\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n \"data-[side=top]:-translate-y-1\",\n \"data-[side=left]:slide-in-from-right-1\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-1\",\n \"data-[side=right]:slide-in-from-left-2\",\n // data-[disabled] / data-[placeholder] — Select, DropdownMenu\n \"data-[disabled]:opacity-50\",\n \"data-[disabled]:pointer-events-none\",\n \"data-[placeholder]:text-textMuted\",\n // group-data-[state=open] — Accordion chevron rotation\n \"group-data-[state=open]:rotate-180\",\n // ── Phase 12B: Radix 1-12 data-state variants ──────────────────────\n // Checkbox, Radio, Switch\n \"data-[state=checked]:bg-primary-9\",\n \"data-[state=checked]:border-primary-9\",\n \"data-[state=unchecked]:bg-neutral-6\",\n // Toggle, ToggleGroup, ToolbarToggleItem\n \"data-[state=on]:bg-primary-4\",\n \"data-[state=on]:bg-primary-3\",\n \"data-[state=on]:text-primary-12\",\n \"data-[state=on]:text-primary-11\",\n \"data-[state=on]:border-primary-8\",\n \"data-[state=on]:bg-neutral-4\",\n \"data-[state=on]:bg-neutral-5\",\n \"data-[state=on]:text-neutral-12\",\n // Tabs\n \"data-[state=active]:text-primary-11\",\n \"data-[state=active]:border-primary-9\",\n \"data-[state=active]:text-neutral-12\",\n // NavigationMenu trigger\n \"data-[active]:bg-neutral-3\",\n \"data-[state=open]:bg-neutral-3\",\n // Menubar / ContextMenu subtrigger\n \"data-[state=open]:bg-neutral-4\",\n // ── Phase 12B: hover / focus / group-hover utilities ───────────────\n \"hover:text-neutral-12\",\n \"hover:border-neutral-7\",\n \"hover:border-neutral-8\",\n \"hover:bg-neutral-8\",\n \"focus:bg-neutral-3\",\n \"focus:bg-neutral-4\",\n \"focus-visible:ring-neutral-8\",\n \"group-hover:bg-neutral-4\",\n \"group-hover:text-neutral-12\",\n // ── Phase 12B: spinner border-t, accordion divide ──────────────────\n \"border-t-primary-9\",\n \"border-t-neutral-9\",\n \"divide-neutral-6\",\n ],\n };\n});\n","import { colors } from \"./theme\";\n\nfunction radixScale(alias: string): Record<number | string, string> {\n const scale: Record<number | string, string> = {};\n for (let i = 1; i <= 12; i++) {\n scale[i] = `var(--${alias}-${i})`;\n }\n scale[\"DEFAULT\"] = `var(--${alias}-9)`;\n return scale;\n}\n\n/**\n * Generates UnoCSS-compatible color configuration.\n *\n * Runs both the Radix 1-12 CSS-var scale (new) and the legacy 50-900\n * hex shades (kept for backward-compat during Phase 12B component migration).\n * After all components are migrated the 50-900 entries will be removed.\n */\nexport function generateUnoColors() {\n return {\n // ── New Radix 1-12 scales + legacy 50-900 shades ─────────────\n primary: { ...colors.primary, ...radixScale(\"primary\"), foreground: \"#ffffff\" },\n neutral: { ...colors.neutral, ...radixScale(\"neutral\") },\n error: { ...colors.error, ...radixScale(\"error\") },\n success: { ...colors.success, ...radixScale(\"success\") },\n warning: { ...colors.warning, ...radixScale(\"warning\") },\n info: { ...colors.info, ...radixScale(\"info\") },\n\n // ── Secondary: keep legacy shades (Phase 12B will migrate) ────\n secondary: {\n ...colors.secondary,\n DEFAULT: colors.secondary[500],\n foreground: \"#ffffff\",\n },\n\n // ── Semantic alias tokens ─────────────────────────────────────\n destructive: { DEFAULT: \"var(--error-9)\", foreground: \"var(--neutral-1)\" },\n muted: { DEFAULT: \"var(--neutral-3)\", foreground: \"var(--neutral-11)\" },\n accent: { DEFAULT: \"var(--neutral-3)\", foreground: \"var(--neutral-12)\" },\n popover: { DEFAULT: \"var(--neutral-1)\", foreground: \"var(--neutral-12)\" },\n card: { DEFAULT: \"var(--neutral-1)\", foreground: \"var(--neutral-12)\" },\n\n // ── Meta tokens ───────────────────────────────────────────────\n border: \"var(--neutral-6)\",\n input: \"var(--neutral-7)\",\n ring: \"var(--primary-8)\",\n background: \"var(--neutral-1)\",\n foreground: \"var(--neutral-12)\",\n };\n}\n"]}
|
package/dist/style.css
CHANGED
|
@@ -843,6 +843,7 @@
|
|
|
843
843
|
[truncate=""]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
844
844
|
.uppercase,
|
|
845
845
|
[uppercase=""]{text-transform:uppercase;}
|
|
846
|
+
.lowercase{text-transform:lowercase;}
|
|
846
847
|
.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color, currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
|
|
847
848
|
.ring-2{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color, currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
|
|
848
849
|
.focus\:ring-2:focus{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color, currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
|
package/package.json
CHANGED