@aracreate/arm-ui 3.8.0 → 3.9.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/dist/preset.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkHJKF66OVjs = require('./chunk-HJKF66OV.js');var _unocss = require('unocss');var _presetwind4 = require('@unocss/preset-wind4'); var _presetwind42 = _interopRequireDefault(_presetwind4);var _presetattributify = require('@unocss/preset-attributify'); var _presetattributify2 = _interopRequireDefault(_presetattributify);function e(o){let t={};for(let a=1;a<=12;a++)t[a]=`var(--${o}-${a})`;return t.DEFAULT=`var(--${o}-9)`,t}function n(){return{primary:{..._chunkHJKF66OVjs.c.primary,...e("primary"),foreground:"#ffffff"},neutral:{..._chunkHJKF66OVjs.c.neutral,...e("neutral")},error:{..._chunkHJKF66OVjs.c.error,...e("error")},success:{..._chunkHJKF66OVjs.c.success,...e("success")},warning:{..._chunkHJKF66OVjs.c.warning,...e("warning")},info:{..._chunkHJKF66OVjs.c.info,...e("info")},secondary:{..._chunkHJKF66OVjs.c.secondary,DEFAULT:_chunkHJKF66OVjs.c.secondary[500],foreground:"#ffffff"},destructive:{DEFAULT:"var(--error-9)",foreground:"var(--neutral-1)"},muted:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-11)"},accent:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-12)"},popover:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},card:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},border:"var(--neutral-6)",input:"var(--neutral-7)",ring:"var(--primary-8)",background:"var(--neutral-1)",foreground:"var(--neutral-12)"}}var b=_unocss.definePreset.call(void 0, ()=>({name:"ac-ui-preset",presets:[_presetwind42.default.call(void 0, ),_presetattributify2.default.call(void 0, ),_unocss.presetIcons.call(void 0, {scale:1.2,cdn:"https://esm.sh/"})],preflights:[{getCSS:()=>`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkTD6NGM5Ijs = require('./chunk-TD6NGM5I.js');var _unocss = require('unocss');var _presetwind4 = require('@unocss/preset-wind4'); var _presetwind42 = _interopRequireDefault(_presetwind4);var _presetattributify = require('@unocss/preset-attributify'); var _presetattributify2 = _interopRequireDefault(_presetattributify);function e(o){let t={};for(let a=1;a<=12;a++)t[a]=`var(--${o}-${a})`;return t.DEFAULT=`var(--${o}-9)`,t}function n(){return{primary:{..._chunkTD6NGM5Ijs.a.primary,...e("primary"),foreground:"#ffffff"},neutral:{..._chunkTD6NGM5Ijs.a.neutral,...e("neutral")},error:{..._chunkTD6NGM5Ijs.a.error,...e("error")},success:{..._chunkTD6NGM5Ijs.a.success,...e("success")},warning:{..._chunkTD6NGM5Ijs.a.warning,...e("warning")},info:{..._chunkTD6NGM5Ijs.a.info,...e("info")},secondary:{..._chunkTD6NGM5Ijs.a.secondary,DEFAULT:_chunkTD6NGM5Ijs.a.secondary[500],foreground:"#ffffff"},destructive:{DEFAULT:"var(--error-9)",foreground:"var(--neutral-1)"},muted:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-11)"},accent:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-12)"},popover:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},card:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},border:"var(--neutral-6)",input:"var(--neutral-7)",ring:"var(--primary-8)",background:"var(--neutral-1)",foreground:"var(--neutral-12)"}}var b=_unocss.definePreset.call(void 0, ()=>({name:"ac-ui-preset",presets:[_presetwind42.default.call(void 0, ),_presetattributify2.default.call(void 0, ),_unocss.presetIcons.call(void 0, {scale:1.2,cdn:"https://esm.sh/"})],preflights:[{getCSS:()=>`
2
2
  :root {
3
3
  /* \u2500\u2500 Non-color semantic tokens (fallback outside .radix-themes) \u2500\u2500 */
4
4
  --glass-bg: rgba(255, 255, 255, 0.3);
@@ -1 +1 @@
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"]}
1
+ {"version":3,"sources":["/Users/kishor/Work/01-araCreate/arm/library/arm-ui-library/.claude/worktrees/accordion-drawer/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/.claude/worktrees/accordion-drawer/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/preset.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{c as r}from"./chunk-OWU3I5NQ.mjs";import{definePreset as i,presetIcons as s}from"unocss";import l from"@unocss/preset-wind4";import c from"@unocss/preset-attributify";function e(o){let t={};for(let a=1;a<=12;a++)t[a]=`var(--${o}-${a})`;return t.DEFAULT=`var(--${o}-9)`,t}function n(){return{primary:{...r.primary,...e("primary"),foreground:"#ffffff"},neutral:{...r.neutral,...e("neutral")},error:{...r.error,...e("error")},success:{...r.success,...e("success")},warning:{...r.warning,...e("warning")},info:{...r.info,...e("info")},secondary:{...r.secondary,DEFAULT:r.secondary[500],foreground:"#ffffff"},destructive:{DEFAULT:"var(--error-9)",foreground:"var(--neutral-1)"},muted:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-11)"},accent:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-12)"},popover:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},card:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},border:"var(--neutral-6)",input:"var(--neutral-7)",ring:"var(--primary-8)",background:"var(--neutral-1)",foreground:"var(--neutral-12)"}}var b=i(()=>({name:"ac-ui-preset",presets:[l(),c(),s({scale:1.2,cdn:"https://esm.sh/"})],preflights:[{getCSS:()=>`
1
+ import{a as r}from"./chunk-LGJWNA6J.mjs";import{definePreset as i,presetIcons as s}from"unocss";import l from"@unocss/preset-wind4";import c from"@unocss/preset-attributify";function e(o){let t={};for(let a=1;a<=12;a++)t[a]=`var(--${o}-${a})`;return t.DEFAULT=`var(--${o}-9)`,t}function n(){return{primary:{...r.primary,...e("primary"),foreground:"#ffffff"},neutral:{...r.neutral,...e("neutral")},error:{...r.error,...e("error")},success:{...r.success,...e("success")},warning:{...r.warning,...e("warning")},info:{...r.info,...e("info")},secondary:{...r.secondary,DEFAULT:r.secondary[500],foreground:"#ffffff"},destructive:{DEFAULT:"var(--error-9)",foreground:"var(--neutral-1)"},muted:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-11)"},accent:{DEFAULT:"var(--neutral-3)",foreground:"var(--neutral-12)"},popover:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},card:{DEFAULT:"var(--neutral-1)",foreground:"var(--neutral-12)"},border:"var(--neutral-6)",input:"var(--neutral-7)",ring:"var(--primary-8)",background:"var(--neutral-1)",foreground:"var(--neutral-12)"}}var b=i(()=>({name:"ac-ui-preset",presets:[l(),c(),s({scale:1.2,cdn:"https://esm.sh/"})],preflights:[{getCSS:()=>`
2
2
  :root {
3
3
  /* \u2500\u2500 Non-color semantic tokens (fallback outside .radix-themes) \u2500\u2500 */
4
4
  --glass-bg: rgba(255, 255, 255, 0.3);
package/dist/style.css CHANGED
@@ -753,6 +753,7 @@
753
753
  [size~="\34 "]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);}
754
754
  [size~="\35 "]{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);}
755
755
  [size~="\36 "]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);}
756
+ [size~="md"]{width:var(--container-md);height:var(--container-md);}
756
757
  [size~="var\(--space-6\)"]{width:var(--space-6);height:var(--space-6);}
757
758
  [size~="var\(--space-8\)"]{width:var(--space-8);height:var(--space-8);}
758
759
  [size~="var\(--space-9\)"]{width:var(--space-9);height:var(--space-9);}
package/dist/tokens.css CHANGED
@@ -767,3 +767,137 @@
767
767
  display: none;
768
768
  }
769
769
  }
770
+
771
+ /* Accordion — collapsible sections (Accordion.tsx). The values are the ones the
772
+ core-fe wrapper had as utilities (neutral-N = gray-N, px-4 = 1rem, text-sm),
773
+ moved here because consumers' UnoCSS does not scan this package. */
774
+ .arm-accordion {
775
+ border: 1px solid var(--gray-6);
776
+ border-radius: 0.5rem;
777
+ }
778
+ .arm-accordion__item + .arm-accordion__item {
779
+ border-top: 1px solid var(--gray-6);
780
+ }
781
+ .arm-accordion__header {
782
+ display: flex;
783
+ margin: 0;
784
+ }
785
+ .arm-accordion__trigger {
786
+ display: flex;
787
+ width: 100%;
788
+ align-items: center;
789
+ justify-content: space-between;
790
+ padding: 1rem;
791
+ border: none;
792
+ background: none;
793
+ font: inherit;
794
+ font-size: 0.875rem;
795
+ line-height: 1.25rem;
796
+ font-weight: 500;
797
+ color: var(--gray-12);
798
+ text-align: left;
799
+ cursor: pointer;
800
+ transition: background-color 150ms ease;
801
+ outline: none;
802
+ }
803
+ .arm-accordion__trigger:hover {
804
+ background: var(--gray-3);
805
+ }
806
+ .arm-accordion__trigger:focus-visible {
807
+ outline: 2px solid var(--accent-8);
808
+ outline-offset: -2px;
809
+ }
810
+ .arm-accordion__trigger:disabled {
811
+ opacity: 0.5;
812
+ cursor: not-allowed;
813
+ }
814
+ .arm-accordion__chevron {
815
+ width: 1rem;
816
+ height: 1rem;
817
+ flex-shrink: 0;
818
+ color: var(--gray-10);
819
+ transition: transform 200ms ease;
820
+ }
821
+ .arm-accordion__trigger[data-state="open"] .arm-accordion__chevron {
822
+ transform: rotate(180deg);
823
+ }
824
+ .arm-accordion__content {
825
+ overflow: hidden;
826
+ }
827
+ .arm-accordion__body {
828
+ padding: 0 1rem 1rem;
829
+ font-size: 0.875rem;
830
+ line-height: 1.25rem;
831
+ color: var(--gray-11);
832
+ }
833
+
834
+ /* Drawer — side sheet (Drawer.tsx). Same values as the core-fe wrapper's
835
+ utilities; width set by data-size, edge by data-side. */
836
+ .arm-drawer__overlay {
837
+ position: fixed;
838
+ inset: 0;
839
+ background: rgb(0 0 0 / 0.5);
840
+ z-index: 50;
841
+ }
842
+ .arm-drawer {
843
+ position: fixed;
844
+ top: 0;
845
+ bottom: 0;
846
+ z-index: 50;
847
+ display: flex;
848
+ flex-direction: column;
849
+ background: var(--color-panel-solid);
850
+ box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
851
+ outline: none;
852
+ }
853
+ .arm-drawer[data-side="right"] { right: 0; }
854
+ .arm-drawer[data-side="left"] { left: 0; }
855
+ .arm-drawer[data-size="sm"] { width: 16rem; }
856
+ .arm-drawer[data-size="md"] { width: 20rem; }
857
+ .arm-drawer[data-size="lg"] { width: 480px; }
858
+ .arm-drawer__header {
859
+ display: flex;
860
+ align-items: center;
861
+ justify-content: space-between;
862
+ padding: 0.75rem 1rem;
863
+ border-bottom: 1px solid var(--gray-6);
864
+ }
865
+ .arm-drawer__title {
866
+ margin: 0;
867
+ font-size: 1rem;
868
+ line-height: 1.5rem;
869
+ font-weight: 600;
870
+ color: var(--gray-12);
871
+ }
872
+ .arm-drawer__description {
873
+ margin: 0;
874
+ font-size: 0.875rem;
875
+ line-height: 1.25rem;
876
+ color: var(--gray-11);
877
+ }
878
+ .arm-drawer__close {
879
+ position: absolute;
880
+ top: 1rem;
881
+ right: 1rem;
882
+ display: flex;
883
+ padding: 0.25rem;
884
+ border: none;
885
+ border-radius: 0.375rem;
886
+ background: none;
887
+ color: var(--gray-11);
888
+ cursor: pointer;
889
+ transition: background-color 150ms ease, color 150ms ease;
890
+ outline: none;
891
+ }
892
+ .arm-drawer__close:hover {
893
+ background: var(--gray-3);
894
+ color: var(--gray-12);
895
+ }
896
+ .arm-drawer__close:focus-visible {
897
+ outline: 2px solid var(--accent-8);
898
+ outline-offset: 1px;
899
+ }
900
+ .arm-drawer__close-icon {
901
+ width: 1rem;
902
+ height: 1rem;
903
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aracreate/arm-ui",
3
- "version": "3.8.0",
3
+ "version": "3.9.0",
4
4
  "description": "A modern, lightweight, and customizable React UI library built with TypeScript, UnoCSS, and Storybook",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -44,7 +44,8 @@
44
44
  "test:watch": "vitest --config vitest.components.config.ts",
45
45
  "test:storybook": "vitest run --config vitest.config.ts",
46
46
  "test:storybook:watch": "vitest --config vitest.config.ts",
47
- "prepublishOnly": "npm run clean && npm run build",
47
+ "prepublishOnly": "npm run clean && npm run build && npm run check:dist",
48
+ "check:dist": "node scripts/check-dist-exports.mjs",
48
49
  "release": "semantic-release",
49
50
  "storybook": "npm run build:css && storybook dev -p 6006",
50
51
  "build-storybook": "storybook build"
@@ -54,6 +55,8 @@
54
55
  "src/styles/**"
55
56
  ],
56
57
  "dependencies": {
58
+ "@radix-ui/react-accordion": "^1.2.20",
59
+ "@radix-ui/react-dialog": "^1.1.23",
57
60
  "@radix-ui/react-icons": "^1.3.2",
58
61
  "@radix-ui/themes": "^3.3.0",
59
62
  "clsx": "^2.1.1",
@@ -88,14 +91,12 @@
88
91
  "@eslint/js": "^10.0.1",
89
92
  "@fontsource/poppins": "^5.3.0",
90
93
  "@radix-ui/react-accessible-icon": "^1.1.15",
91
- "@radix-ui/react-accordion": "^1.2.20",
92
94
  "@radix-ui/react-alert-dialog": "^1.1.23",
93
95
  "@radix-ui/react-aspect-ratio": "^1.1.15",
94
96
  "@radix-ui/react-avatar": "^1.2.6",
95
97
  "@radix-ui/react-checkbox": "^1.3.11",
96
98
  "@radix-ui/react-collapsible": "^1.1.20",
97
99
  "@radix-ui/react-context-menu": "^2.3.7",
98
- "@radix-ui/react-dialog": "^1.1.23",
99
100
  "@radix-ui/react-dropdown-menu": "^2.1.24",
100
101
  "@radix-ui/react-form": "^0.1.16",
101
102
  "@radix-ui/react-hover-card": "^1.1.23",
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},s=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!d.call(o,t)&&t!==r&&a(o,t,{get:()=>e[t],enumerable:!(i=f(e,t))||i.enumerable});return o},u= exports.b =(o,e,r)=>(s(o,e,"default"),r&&s(r,e,"default"));var n={primary:{50:"#fef7e6",100:"#fdecc0",200:"#fbd886",300:"#f9c44c",400:"#f7b01f",500:"#F9BF3B",600:"#e6a82d",700:"#cc8f1f",800:"#b37611",900:"#995d03"},secondary:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"},success:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},error:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},warning:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},info:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},background:{primary:"#ffffff",secondary:"#f8fafc",tertiary:"#f1f5f9"},text:{primary:"#0f172a",secondary:"#475569",tertiary:"#64748b",disabled:"#94a3b8"},border:{primary:"#e2e8f0",secondary:"#cbd5e1",focus:"#3b82f6",error:"#ef4444"}},p= exports.d ={colors:n,base:{transition:"transition-all duration-200 ease-in-out motion-reduce:transition-none",focus:"focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-background-primary focus-visible:ring-2",disabled:"disabled:opacity-60 disabled:cursor-not-allowed disabled:pointer-events-none",interactive:"cursor-pointer select-none",highContrast:"forced-colors:border forced-colors:border-solid"},sizes:{xs:{text:"text-xs",padding:"px-2 py-1",height:"h-6",icon:"h-3 w-3",gap:"gap-1"},sm:{text:"text-sm",padding:"px-3 py-1.5",height:"h-8",icon:"h-4 w-4",gap:"gap-1.5"},md:{text:"text-base",padding:"px-4 py-2",height:"h-10",icon:"h-5 w-5",gap:"gap-2"},lg:{text:"text-lg",padding:"px-5 py-2.5",height:"h-12",icon:"h-6 w-6",gap:"gap-2.5"},xl:{text:"text-xl",padding:"px-6 py-3",height:"h-14",icon:"h-7 w-7",gap:"gap-3"}},variants:{primary:{solid:"bg-primary-9 text-neutral-12 hover:bg-primary-10 focus:ring-primary-8 active:bg-primary-10",outline:"border border-primary-8 text-primary-11 hover:bg-primary-3 hover:border-primary-9 focus:ring-primary-8",ghost:"text-primary-11 hover:bg-primary-3 hover:text-primary-12 focus:ring-primary-8",soft:"bg-primary-3 text-primary-11 hover:bg-primary-4 focus:ring-primary-8"},secondary:{solid:"bg-secondary-500 text-white hover:bg-secondary-600 focus:ring-secondary-500 active:bg-secondary-700",outline:"border border-secondary-300 text-secondary-700 hover:bg-secondary-50 hover:border-secondary-400 focus:ring-secondary-500",ghost:"text-secondary-700 hover:bg-secondary-100 hover:text-secondary-800 focus:ring-secondary-500",soft:"bg-secondary-100 text-secondary-800 hover:bg-secondary-200 focus:ring-secondary-500"},destructive:{solid:"bg-error-9 text-white hover:bg-error-10 focus:ring-error-8 active:bg-error-10",outline:"border border-error-8 text-error-11 hover:bg-error-3 hover:border-error-9 focus:ring-error-8",ghost:"text-error-11 hover:bg-error-3 hover:text-error-12 focus:ring-error-8",soft:"bg-error-3 text-error-11 hover:bg-error-4 focus:ring-error-8"},success:{solid:"bg-success-9 text-white hover:bg-success-10 focus:ring-success-8 active:bg-success-10",outline:"border border-success-8 text-success-11 hover:bg-success-3 hover:border-success-9 focus:ring-success-8",ghost:"text-success-11 hover:bg-success-3 hover:text-success-12 focus:ring-success-8",soft:"bg-success-3 text-success-11 hover:bg-success-4 focus:ring-success-8"},warning:{solid:"bg-warning-9 text-neutral-12 hover:bg-warning-10 focus:ring-warning-8 active:bg-warning-10",outline:"border border-warning-8 text-warning-11 hover:bg-warning-3 hover:border-warning-9 focus:ring-warning-8",ghost:"text-warning-11 hover:bg-warning-3 hover:text-warning-12 focus:ring-warning-8",soft:"bg-warning-3 text-warning-11 hover:bg-warning-4 focus:ring-warning-8"},info:{solid:"bg-info-9 text-white hover:bg-info-10 focus:ring-info-8 active:bg-info-10",outline:"border border-info-8 text-info-11 hover:bg-info-3 hover:border-info-9 focus:ring-info-8",ghost:"text-info-11 hover:bg-info-3 hover:text-info-12 focus:ring-info-8",soft:"bg-info-3 text-info-11 hover:bg-info-4 focus:ring-info-8"}},radius:{none:"rounded-none",xs:"rounded-xs",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",xl:"rounded-xl","2xl":"rounded-2xl","3xl":"rounded-3xl",full:"rounded-full"},spacing:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8","3xl":"gap-12"},typography:{xs:"text-xs leading-4",sm:"text-sm leading-5",base:"text-base leading-6",lg:"text-lg leading-7",xl:"text-xl leading-8","2xl":"text-2xl leading-9","3xl":"text-3xl leading-10"},animations:{duration:{fast:"duration-150",normal:"duration-200",slow:"duration-300"},easing:{linear:"ease-linear",in:"ease-in",out:"ease-out",inOut:"ease-in-out"},fadeIn:"animate-in fade-in",fadeOut:"animate-out fade-out",slideIn:"animate-in slide-in-from-bottom-2",slideOut:"animate-out slide-out-to-bottom-2",scaleIn:"animate-in zoom-in-95",scaleOut:"animate-out zoom-out-95"},accessibility:{srOnly:"sr-only",focusTrap:"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",highContrast:"forced-colors:border forced-colors:border-solid",reducedMotion:"motion-reduce:transition-none motion-reduce:animate-none",touchTarget:"min-h-11 min-w-11"}},y= exports.e =(o,e=500)=>{let r=n[o];return typeof r=="object"&&r!==null&&e in r?r[String(e)]:n.primary[500]};exports.a = g; exports.b = u; exports.c = n; exports.d = p; exports.e = y;
2
- //# sourceMappingURL=chunk-HJKF66OV.js.map
@@ -1,2 +0,0 @@
1
- var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},s=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!d.call(o,t)&&t!==r&&a(o,t,{get:()=>e[t],enumerable:!(i=f(e,t))||i.enumerable});return o},u=(o,e,r)=>(s(o,e,"default"),r&&s(r,e,"default"));var n={primary:{50:"#fef7e6",100:"#fdecc0",200:"#fbd886",300:"#f9c44c",400:"#f7b01f",500:"#F9BF3B",600:"#e6a82d",700:"#cc8f1f",800:"#b37611",900:"#995d03"},secondary:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"},success:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},error:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},warning:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},info:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},background:{primary:"#ffffff",secondary:"#f8fafc",tertiary:"#f1f5f9"},text:{primary:"#0f172a",secondary:"#475569",tertiary:"#64748b",disabled:"#94a3b8"},border:{primary:"#e2e8f0",secondary:"#cbd5e1",focus:"#3b82f6",error:"#ef4444"}},p={colors:n,base:{transition:"transition-all duration-200 ease-in-out motion-reduce:transition-none",focus:"focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-background-primary focus-visible:ring-2",disabled:"disabled:opacity-60 disabled:cursor-not-allowed disabled:pointer-events-none",interactive:"cursor-pointer select-none",highContrast:"forced-colors:border forced-colors:border-solid"},sizes:{xs:{text:"text-xs",padding:"px-2 py-1",height:"h-6",icon:"h-3 w-3",gap:"gap-1"},sm:{text:"text-sm",padding:"px-3 py-1.5",height:"h-8",icon:"h-4 w-4",gap:"gap-1.5"},md:{text:"text-base",padding:"px-4 py-2",height:"h-10",icon:"h-5 w-5",gap:"gap-2"},lg:{text:"text-lg",padding:"px-5 py-2.5",height:"h-12",icon:"h-6 w-6",gap:"gap-2.5"},xl:{text:"text-xl",padding:"px-6 py-3",height:"h-14",icon:"h-7 w-7",gap:"gap-3"}},variants:{primary:{solid:"bg-primary-9 text-neutral-12 hover:bg-primary-10 focus:ring-primary-8 active:bg-primary-10",outline:"border border-primary-8 text-primary-11 hover:bg-primary-3 hover:border-primary-9 focus:ring-primary-8",ghost:"text-primary-11 hover:bg-primary-3 hover:text-primary-12 focus:ring-primary-8",soft:"bg-primary-3 text-primary-11 hover:bg-primary-4 focus:ring-primary-8"},secondary:{solid:"bg-secondary-500 text-white hover:bg-secondary-600 focus:ring-secondary-500 active:bg-secondary-700",outline:"border border-secondary-300 text-secondary-700 hover:bg-secondary-50 hover:border-secondary-400 focus:ring-secondary-500",ghost:"text-secondary-700 hover:bg-secondary-100 hover:text-secondary-800 focus:ring-secondary-500",soft:"bg-secondary-100 text-secondary-800 hover:bg-secondary-200 focus:ring-secondary-500"},destructive:{solid:"bg-error-9 text-white hover:bg-error-10 focus:ring-error-8 active:bg-error-10",outline:"border border-error-8 text-error-11 hover:bg-error-3 hover:border-error-9 focus:ring-error-8",ghost:"text-error-11 hover:bg-error-3 hover:text-error-12 focus:ring-error-8",soft:"bg-error-3 text-error-11 hover:bg-error-4 focus:ring-error-8"},success:{solid:"bg-success-9 text-white hover:bg-success-10 focus:ring-success-8 active:bg-success-10",outline:"border border-success-8 text-success-11 hover:bg-success-3 hover:border-success-9 focus:ring-success-8",ghost:"text-success-11 hover:bg-success-3 hover:text-success-12 focus:ring-success-8",soft:"bg-success-3 text-success-11 hover:bg-success-4 focus:ring-success-8"},warning:{solid:"bg-warning-9 text-neutral-12 hover:bg-warning-10 focus:ring-warning-8 active:bg-warning-10",outline:"border border-warning-8 text-warning-11 hover:bg-warning-3 hover:border-warning-9 focus:ring-warning-8",ghost:"text-warning-11 hover:bg-warning-3 hover:text-warning-12 focus:ring-warning-8",soft:"bg-warning-3 text-warning-11 hover:bg-warning-4 focus:ring-warning-8"},info:{solid:"bg-info-9 text-white hover:bg-info-10 focus:ring-info-8 active:bg-info-10",outline:"border border-info-8 text-info-11 hover:bg-info-3 hover:border-info-9 focus:ring-info-8",ghost:"text-info-11 hover:bg-info-3 hover:text-info-12 focus:ring-info-8",soft:"bg-info-3 text-info-11 hover:bg-info-4 focus:ring-info-8"}},radius:{none:"rounded-none",xs:"rounded-xs",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",xl:"rounded-xl","2xl":"rounded-2xl","3xl":"rounded-3xl",full:"rounded-full"},spacing:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8","3xl":"gap-12"},typography:{xs:"text-xs leading-4",sm:"text-sm leading-5",base:"text-base leading-6",lg:"text-lg leading-7",xl:"text-xl leading-8","2xl":"text-2xl leading-9","3xl":"text-3xl leading-10"},animations:{duration:{fast:"duration-150",normal:"duration-200",slow:"duration-300"},easing:{linear:"ease-linear",in:"ease-in",out:"ease-out",inOut:"ease-in-out"},fadeIn:"animate-in fade-in",fadeOut:"animate-out fade-out",slideIn:"animate-in slide-in-from-bottom-2",slideOut:"animate-out slide-out-to-bottom-2",scaleIn:"animate-in zoom-in-95",scaleOut:"animate-out zoom-out-95"},accessibility:{srOnly:"sr-only",focusTrap:"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",highContrast:"forced-colors:border forced-colors:border-solid",reducedMotion:"motion-reduce:transition-none motion-reduce:animate-none",touchTarget:"min-h-11 min-w-11"}},y=(o,e=500)=>{let r=n[o];return typeof r=="object"&&r!==null&&e in r?r[String(e)]:n.primary[500]};export{g as a,u as b,n as c,p as d,y as e};
2
- //# sourceMappingURL=chunk-OWU3I5NQ.mjs.map