@misael703/ui 1.10.0 → 1.12.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/{chunk-EJ263Y5X.mjs → chunk-4AJLEFZ6.mjs} +3 -3
- package/dist/{chunk-EJ263Y5X.mjs.map → chunk-4AJLEFZ6.mjs.map} +1 -1
- package/dist/{chunk-YSU3WFND.mjs → chunk-4QNCTJM6.mjs} +3 -3
- package/dist/{chunk-YSU3WFND.mjs.map → chunk-4QNCTJM6.mjs.map} +1 -1
- package/dist/{chunk-DIDQCPXU.js → chunk-5SIFW4SD.js} +3 -3
- package/dist/{chunk-DIDQCPXU.js.map → chunk-5SIFW4SD.js.map} +1 -1
- package/dist/{chunk-FA6526ME.mjs → chunk-APPJTIZQ.mjs} +3 -3
- package/dist/{chunk-FA6526ME.mjs.map → chunk-APPJTIZQ.mjs.map} +1 -1
- package/dist/{chunk-QM7BCSCL.mjs → chunk-BHEHMWKC.mjs} +3 -3
- package/dist/{chunk-QM7BCSCL.mjs.map → chunk-BHEHMWKC.mjs.map} +1 -1
- package/dist/{chunk-56NJXIH7.js → chunk-BHNVAG53.js} +3 -3
- package/dist/{chunk-56NJXIH7.js.map → chunk-BHNVAG53.js.map} +1 -1
- package/dist/{chunk-TS2WNAQC.js → chunk-BY4FFM5Y.js} +36 -14
- package/dist/chunk-BY4FFM5Y.js.map +1 -0
- package/dist/{chunk-D7RM4AY4.js → chunk-CF3A3CXK.js} +4 -4
- package/dist/{chunk-D7RM4AY4.js.map → chunk-CF3A3CXK.js.map} +1 -1
- package/dist/{chunk-U3I4IMJI.js → chunk-CHIU6AMF.js} +3 -3
- package/dist/{chunk-U3I4IMJI.js.map → chunk-CHIU6AMF.js.map} +1 -1
- package/dist/{chunk-BGIX6G5V.mjs → chunk-DQ7P7K5S.mjs} +4 -4
- package/dist/{chunk-BGIX6G5V.mjs.map → chunk-DQ7P7K5S.mjs.map} +1 -1
- package/dist/{chunk-ZMRN4DMC.js → chunk-ECROP3VI.js} +4 -4
- package/dist/{chunk-ZMRN4DMC.js.map → chunk-ECROP3VI.js.map} +1 -1
- package/dist/{chunk-BCE5WXM6.mjs → chunk-FURQZLAW.mjs} +3 -3
- package/dist/{chunk-BCE5WXM6.mjs.map → chunk-FURQZLAW.mjs.map} +1 -1
- package/dist/{chunk-DY3DCHWD.mjs → chunk-GSACAIYF.mjs} +4 -4
- package/dist/{chunk-DY3DCHWD.mjs.map → chunk-GSACAIYF.mjs.map} +1 -1
- package/dist/{chunk-GD3IZ66H.mjs → chunk-GWMRDF6R.mjs} +36 -14
- package/dist/chunk-GWMRDF6R.mjs.map +1 -0
- package/dist/{chunk-VDBGWTIG.js → chunk-HJVMFD34.js} +3 -3
- package/dist/{chunk-VDBGWTIG.js.map → chunk-HJVMFD34.js.map} +1 -1
- package/dist/{chunk-O72DMPH6.js → chunk-KIOJVQ6T.js} +3 -3
- package/dist/{chunk-O72DMPH6.js.map → chunk-KIOJVQ6T.js.map} +1 -1
- package/dist/{chunk-IZ3FMCZ5.js → chunk-KRTCWOBI.js} +3 -3
- package/dist/{chunk-IZ3FMCZ5.js.map → chunk-KRTCWOBI.js.map} +1 -1
- package/dist/{chunk-TIO7MIUN.js → chunk-LFADLQJV.js} +4 -4
- package/dist/{chunk-TIO7MIUN.js.map → chunk-LFADLQJV.js.map} +1 -1
- package/dist/{chunk-YL2IWHUZ.mjs → chunk-MMOHFCOU.mjs} +3 -3
- package/dist/{chunk-YL2IWHUZ.mjs.map → chunk-MMOHFCOU.mjs.map} +1 -1
- package/dist/{chunk-HRDLEOYO.mjs → chunk-PHS5G7WB.mjs} +3 -3
- package/dist/{chunk-HRDLEOYO.mjs.map → chunk-PHS5G7WB.mjs.map} +1 -1
- package/dist/{chunk-TS6HCQLX.mjs → chunk-PKVBXOL4.mjs} +3 -3
- package/dist/{chunk-TS6HCQLX.mjs.map → chunk-PKVBXOL4.mjs.map} +1 -1
- package/dist/{chunk-CPATAMLH.js → chunk-QHAOVLDR.js} +3 -3
- package/dist/{chunk-CPATAMLH.js.map → chunk-QHAOVLDR.js.map} +1 -1
- package/dist/{chunk-OJNEGJ3P.mjs → chunk-QRBZH2ZZ.mjs} +3 -3
- package/dist/{chunk-OJNEGJ3P.mjs.map → chunk-QRBZH2ZZ.mjs.map} +1 -1
- package/dist/{chunk-WDDSHKU2.mjs → chunk-VQXRU6WL.mjs} +3 -3
- package/dist/{chunk-WDDSHKU2.mjs.map → chunk-VQXRU6WL.mjs.map} +1 -1
- package/dist/{chunk-VCBVLG3Q.js → chunk-YELYJNK3.js} +3 -3
- package/dist/{chunk-VCBVLG3Q.js.map → chunk-YELYJNK3.js.map} +1 -1
- package/dist/{chunk-VFZ2X655.mjs → chunk-YZMUANQD.mjs} +3 -3
- package/dist/{chunk-VFZ2X655.mjs.map → chunk-YZMUANQD.mjs.map} +1 -1
- package/dist/{chunk-IKGW7HHG.js → chunk-ZGJ6VFJD.js} +4 -4
- package/dist/{chunk-IKGW7HHG.js.map → chunk-ZGJ6VFJD.js.map} +1 -1
- package/dist/{chunk-GKSUYHGO.js → chunk-ZY7KPFPW.js} +3 -3
- package/dist/{chunk-GKSUYHGO.js.map → chunk-ZY7KPFPW.js.map} +1 -1
- package/dist/components/AdvancedPickers.js +8 -8
- package/dist/components/AdvancedPickers.mjs +4 -4
- package/dist/components/Comments.js +6 -6
- package/dist/components/Comments.mjs +3 -3
- package/dist/components/ContextMenu.js +3 -3
- package/dist/components/ContextMenu.mjs +2 -2
- package/dist/components/DataTable.js +8 -8
- package/dist/components/DataTable.mjs +2 -2
- package/dist/components/Display.d.mts +19 -1
- package/dist/components/Display.d.ts +19 -1
- package/dist/components/Display.js +13 -13
- package/dist/components/Display.mjs +2 -2
- package/dist/components/Display2.js +6 -6
- package/dist/components/Display2.mjs +2 -2
- package/dist/components/Display3.js +10 -10
- package/dist/components/Display3.mjs +4 -4
- package/dist/components/Editing.js +7 -7
- package/dist/components/Editing.mjs +2 -2
- package/dist/components/HoverCard.js +3 -3
- package/dist/components/HoverCard.mjs +2 -2
- package/dist/components/Layout.js +20 -20
- package/dist/components/Layout.mjs +3 -3
- package/dist/components/Menubar.js +3 -3
- package/dist/components/Menubar.mjs +2 -2
- package/dist/components/NavigationMenu.js +3 -3
- package/dist/components/NavigationMenu.mjs +2 -2
- package/dist/components/Pickers.js +8 -8
- package/dist/components/Pickers.mjs +3 -3
- package/dist/components/Popover.js +3 -3
- package/dist/components/Popover.mjs +2 -2
- package/dist/index.js +295 -295
- package/dist/index.mjs +30 -30
- package/dist/presets/elalba/styles.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-GD3IZ66H.mjs.map +0 -1
- package/dist/chunk-TS2WNAQC.js.map +0 -1
package/dist/tokens.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--color-primary:var(--color-primary-800);--color-secondary:var(--color-secondary-400);--color-primary-900:#2e2b26;--color-primary-800:#423e37;--color-primary-700:#554839;--color-primary-600:#6b5a47;--color-primary-500:#87735e;--color-primary-400:#a8957f;--color-primary-300:#c8b8a6;--color-primary-200:#dfd3c6;--color-primary-100:#f0e9e1;--color-primary-50:#faf6f2;--color-secondary-900:#573820;--color-secondary-800:#7a4f30;--color-secondary-700:#9c6840;--color-secondary-600:#be8456;--color-secondary-500:#d4a074;--color-secondary-400:#e4bb97;--color-secondary-300:#ebcbab;--color-secondary-200:#f1dbc2;--color-secondary-100:#f8eddf;--color-secondary-50:#fcf7f1;--color-ink:#1c1917;--color-gray-900:#292524;--color-gray-800:#44403c;--color-gray-700:#57534e;--color-gray-600:#78716c;--color-gray-500:#a8a29e;--color-gray-400:#c4bcb4;--color-gray-300:#d6d3d1;--color-gray-200:#e7e5e4;--color-gray-150:#efedeb;--color-gray-100:#f5f5f4;--color-gray-50:#fafaf9;--color-white:#fff;--color-green-900:#0f4d22;--color-green-800:#166130;--color-green-700:#1f7a3d;--color-green-600:#2f9e44;--color-green-500:#4ab35a;--color-green-400:#6ec47e;--color-green-300:#95d5a1;--color-green-200:#c1e6c8;--color-green-100:#e0f1e3;--color-green-50:#f0f8f2;--color-yellow-900:#6b4400;--color-yellow-800:#8c5800;--color-yellow-700:#b67200;--color-yellow-600:#d68b00;--color-yellow-500:#f59f00;--color-yellow-400:#f7b633;--color-yellow-300:#f9cc66;--color-yellow-200:#fbe199;--color-yellow-100:#fdedc4;--color-yellow-50:#fef7e3;--color-red-900:#5b0e0e;--color-red-800:#7e1818;--color-red-700:#b91c1c;--color-red-600:#dc2626;--color-red-500:#ef4444;--color-red-400:#f87171;--color-red-300:#fca5a5;--color-red-200:#fecaca;--color-red-100:#fee2e2;--color-red-50:#fef2f2;--color-info-900:#0a3a66;--color-info-800:#0f4d85;--color-info-700:#1660a5;--color-info-600:#1a73c2;--color-info-500:#408fd0;--color-info-400:#6ba9da;--color-info-300:#95c2e4;--color-info-200:#c0d8ee;--color-info-100:#dee9f5;--color-info-50:#eef4fa;--color-success:var(--color-green-600);--color-warning:var(--color-yellow-500);--color-danger:var(--color-red-600);--color-info:var(--color-info-600);--bg-canvas:#fef5ef;--bg-surface:var(--color-white);--bg-subtle:var(--color-gray-100);--bg-muted:var(--color-gray-150);--bg-inverse:var(--color-primary);--bg-inverse-strong:var(--color-primary-900);--fg-default:var(--color-ink);--fg-muted:#6b6560;--fg-subtle:#726c66;--fg-on-brand:var(--color-white);--fg-on-secondary:var(--color-primary);--fg-link:var(--color-primary);--fg-link-hover:var(--color-secondary-600);--accent-primary:var(--color-primary);--accent-secondary:var(--color-secondary);--border-default:var(--color-gray-200);--border-strong:var(--color-gray-300);--border-brand:var(--color-primary);--border-focus:var(--color-secondary);--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--font-display:"Outfit","Helvetica Neue",Arial,sans-serif;--font-body:"DM Sans","Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--weight-thin:100;--weight-extralight:200;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.5rem;--text-5xl:3.25rem;--text-6xl:4.25rem;--text-7xl:5.5rem;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-wider:0.08em;--tt-label:uppercase;--tt-data:none;--tt-title:none;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(12,18,32,.06);--shadow-sm:0 2px 6px rgba(12,18,32,.08);--shadow-md:0 8px 20px rgba(12,18,32,.1);--shadow-lg:0 18px 40px rgba(12,18,32,.14);--shadow-brand:0 10px 30px rgba(0,47,135,.25);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-out-quint:cubic-bezier(0.22,1,0.36,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-standard:var(--ease-out-quint);--ease-out:var(--ease-out-quint);--ease-in:cubic-bezier(0.4,0,1,1);--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--duration-exit:150ms;--z-base:1;--z-dropdown:50;--z-sticky:60;--z-overlay:100;--z-toast:200;--z-tooltip:1000;--z-popover:1300;--z-floating:1300;--focus-ring-brand:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);--focus-ring-accent:0 0 0 3px color-mix(in srgb,var(--color-secondary) 35%,transparent);--focus-ring-danger:0 0 0 3px color-mix(in srgb,var(--color-red-600) 18%,transparent);--backdrop:color-mix(in srgb,var(--color-ink) 55%,transparent)}.h-display,.h1{font-size:var(--text-6xl);line-height:var(--leading-tight)}.h-display,.h1,.h2{color:var(--fg-default);font-family:var(--font-display);font-weight:700;letter-spacing:var(--tracking-tight);text-transform:var(--tt-title)}.h2{font-size:var(--text-4xl);line-height:var(--leading-snug)}.h3{font-family:var(--font-display);font-size:var(--text-2xl);text-transform:var(--tt-title)}.h3,.h4{color:var(--fg-default);font-weight:700;line-height:var(--leading-snug)}.h4{font-size:var(--text-xl)}.eyebrow,.h4{font-family:var(--font-body)}.eyebrow{color:var(--accent-secondary);font-size:var(--text-sm);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:var(--tt-label)}.body-lg{font-size:var(--text-lg)}.body,.body-lg,p{color:var(--fg-default);font-family:var(--font-body);font-weight:400;line-height:var(--leading-relaxed)}.body,p{font-size:var(--text-md)}.body-sm{
|
|
1
|
+
:root{--color-primary:var(--color-primary-800);--color-secondary:var(--color-secondary-400);--color-primary-900:#2e2b26;--color-primary-800:#423e37;--color-primary-700:#554839;--color-primary-600:#6b5a47;--color-primary-500:#87735e;--color-primary-400:#a8957f;--color-primary-300:#c8b8a6;--color-primary-200:#dfd3c6;--color-primary-100:#f0e9e1;--color-primary-50:#faf6f2;--color-secondary-900:#573820;--color-secondary-800:#7a4f30;--color-secondary-700:#9c6840;--color-secondary-600:#be8456;--color-secondary-500:#d4a074;--color-secondary-400:#e4bb97;--color-secondary-300:#ebcbab;--color-secondary-200:#f1dbc2;--color-secondary-100:#f8eddf;--color-secondary-50:#fcf7f1;--color-ink:#1c1917;--color-gray-900:#292524;--color-gray-800:#44403c;--color-gray-700:#57534e;--color-gray-600:#78716c;--color-gray-500:#a8a29e;--color-gray-400:#c4bcb4;--color-gray-300:#d6d3d1;--color-gray-200:#e7e5e4;--color-gray-150:#efedeb;--color-gray-100:#f5f5f4;--color-gray-50:#fafaf9;--color-white:#fff;--color-green-900:#0f4d22;--color-green-800:#166130;--color-green-700:#1f7a3d;--color-green-600:#2f9e44;--color-green-500:#4ab35a;--color-green-400:#6ec47e;--color-green-300:#95d5a1;--color-green-200:#c1e6c8;--color-green-100:#e0f1e3;--color-green-50:#f0f8f2;--color-yellow-900:#6b4400;--color-yellow-800:#8c5800;--color-yellow-700:#b67200;--color-yellow-600:#d68b00;--color-yellow-500:#f59f00;--color-yellow-400:#f7b633;--color-yellow-300:#f9cc66;--color-yellow-200:#fbe199;--color-yellow-100:#fdedc4;--color-yellow-50:#fef7e3;--color-red-900:#5b0e0e;--color-red-800:#7e1818;--color-red-700:#b91c1c;--color-red-600:#dc2626;--color-red-500:#ef4444;--color-red-400:#f87171;--color-red-300:#fca5a5;--color-red-200:#fecaca;--color-red-100:#fee2e2;--color-red-50:#fef2f2;--color-info-900:#0a3a66;--color-info-800:#0f4d85;--color-info-700:#1660a5;--color-info-600:#1a73c2;--color-info-500:#408fd0;--color-info-400:#6ba9da;--color-info-300:#95c2e4;--color-info-200:#c0d8ee;--color-info-100:#dee9f5;--color-info-50:#eef4fa;--color-success:var(--color-green-600);--color-warning:var(--color-yellow-500);--color-danger:var(--color-red-600);--color-info:var(--color-info-600);--bg-canvas:#fef5ef;--bg-surface:var(--color-white);--bg-subtle:var(--color-gray-100);--bg-muted:var(--color-gray-150);--bg-inverse:var(--color-primary);--bg-inverse-strong:var(--color-primary-900);--fg-default:var(--color-ink);--fg-muted:#6b6560;--fg-subtle:#726c66;--fg-on-brand:var(--color-white);--fg-on-secondary:var(--color-primary);--fg-link:var(--color-primary);--fg-link-hover:var(--color-secondary-600);--accent-primary:var(--color-primary);--accent-secondary:var(--color-secondary);--border-default:var(--color-gray-200);--border-strong:var(--color-gray-300);--border-brand:var(--color-primary);--border-focus:var(--color-secondary);--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--font-display:"Outfit","Helvetica Neue",Arial,sans-serif;--font-body:"DM Sans","Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--weight-thin:100;--weight-extralight:200;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.5rem;--text-5xl:3.25rem;--text-6xl:4.25rem;--text-7xl:5.5rem;--leading-tight:1.05;--leading-snug:1.2;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-wider:0.08em;--tt-label:uppercase;--tt-data:none;--tt-title:none;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(12,18,32,.06);--shadow-sm:0 2px 6px rgba(12,18,32,.08);--shadow-md:0 8px 20px rgba(12,18,32,.1);--shadow-lg:0 18px 40px rgba(12,18,32,.14);--shadow-brand:0 10px 30px rgba(0,47,135,.25);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-out-quint:cubic-bezier(0.22,1,0.36,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-standard:var(--ease-out-quint);--ease-out:var(--ease-out-quint);--ease-in:cubic-bezier(0.4,0,1,1);--duration-fast:120ms;--duration-base:200ms;--duration-slow:320ms;--duration-exit:150ms;--z-base:1;--z-dropdown:50;--z-sticky:60;--z-overlay:100;--z-toast:200;--z-tooltip:1000;--z-popover:1300;--z-floating:1300;--focus-ring-brand:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent);--focus-ring-accent:0 0 0 3px color-mix(in srgb,var(--color-secondary) 35%,transparent);--focus-ring-danger:0 0 0 3px color-mix(in srgb,var(--color-red-600) 18%,transparent);--backdrop:color-mix(in srgb,var(--color-ink) 55%,transparent)}.h-display,.h1{font-size:var(--text-6xl);line-height:var(--leading-tight)}.h-display,.h1,.h2{color:var(--fg-default);font-family:var(--font-display);font-weight:700;letter-spacing:var(--tracking-tight);text-transform:var(--tt-title)}.h2{font-size:var(--text-4xl);line-height:var(--leading-snug)}.h3{font-family:var(--font-display);font-size:var(--text-2xl);text-transform:var(--tt-title)}.h3,.h4{color:var(--fg-default);font-weight:700;line-height:var(--leading-snug)}.h4{font-size:var(--text-xl)}.eyebrow,.h4{font-family:var(--font-body)}.eyebrow{color:var(--accent-secondary);font-size:var(--text-sm);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:var(--tt-label)}.body-lg{font-size:var(--text-lg)}.body,.body-lg,p{color:var(--fg-default);font-family:var(--font-body);font-weight:400;line-height:var(--leading-relaxed)}.body,p{font-size:var(--text-md)}.body-sm{font-weight:400;line-height:var(--leading-normal)}.body-sm,.label{color:var(--fg-muted);font-family:var(--font-body);font-size:var(--text-sm)}.label{font-weight:500;text-transform:var(--tt-data)}.caption,.label{letter-spacing:var(--tracking-wide)}.caption{color:var(--fg-subtle);font-family:var(--font-body);font-size:var(--text-xs);font-weight:400}.mono,code{font-family:var(--font-mono);font-size:.95em}.mono,:not(pre)>code{background:var(--bg-subtle);border-radius:var(--radius-sm);padding:2px 6px}a{border-bottom:1px solid transparent;color:var(--fg-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}a:hover{border-bottom-color:currentColor;color:var(--fg-link-hover)}.surface-inverse,[data-tone=inverse]{--fg-default:var(--fg-on-brand);--fg-muted:color-mix(in srgb,var(--fg-on-brand) 70%,transparent);--fg-subtle:color-mix(in srgb,var(--fg-on-brand) 50%,transparent);--fg-link:var(--fg-on-brand);--fg-link-hover:var(--color-secondary);--border-default:color-mix(in srgb,var(--fg-on-brand) 20%,transparent);--border-strong:color-mix(in srgb,var(--fg-on-brand) 35%,transparent);--bg-subtle:color-mix(in srgb,var(--fg-on-brand) 12%,transparent);--bg-muted:color-mix(in srgb,var(--fg-on-brand) 18%,transparent);color:var(--fg-default)}.surface-inverse--brand{background:var(--color-primary)}.surface-inverse--dark{background:var(--color-primary-900)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@misael703/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "Generic React + TypeScript UI kit, optimized for Next.js. Tokens, accessible components, runtime-configurable theming via presets.",
|
|
5
5
|
"author": "Misael Ocas <misael.ocas@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Display.tsx"],"names":["Card","CardHeader","CardBody","CardFooter","ChipGroup"],"mappings":"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","file":"chunk-GD3IZ66H.mjs","sourcesContent":["import * as React from 'react';\nimport { cx } from '../utils/cx';\nimport { X } from './Icons';\nimport { useLocale } from '../locale/LocaleProvider';\nimport { Slot } from './Primitives';\nimport type { Extensible } from '../utils/types';\n\nexport type CardAccent = 'brand' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';\n\nexport interface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n interactive?: boolean;\n accent?: Extensible<CardAccent>;\n /**\n * Render as the provided single child element instead of `<div>` (e.g.\n * a clickable card as `next/link`'s `<a>`). Card classes, ref and handlers\n * are merged onto it. Default `false` (identical behavior).\n */\n asChild?: boolean;\n}\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(function Card(\n { interactive, accent, className, asChild = false, ...rest },\n ref\n) {\n const cls = cx(\n 'card',\n interactive && 'card--interactive',\n accent && `card--accent-${accent}`,\n className\n );\n if (asChild) {\n return <Slot ref={ref as React.Ref<HTMLElement>} className={cls} {...rest} />;\n }\n return <div ref={ref} className={cls} {...rest} />;\n});\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardHeader({ className, ...rest }, ref) {\n return <div ref={ref} className={cx('card__header', className)} {...rest} />;\n }\n);\n\nexport const CardBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardBody({ className, ...rest }, ref) {\n return <div ref={ref} className={cx('card__body', className)} {...rest} />;\n }\n);\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardFooter({ className, ...rest }, ref) {\n return <div ref={ref} className={cx('card__footer', className)} {...rest} />;\n }\n);\n\n// ---------- Badge --------------------------------------------------------\nexport type BadgeVariant =\n | 'primary' | 'accent' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n variant?: Extensible<BadgeVariant>;\n dot?: boolean;\n /**\n * Pulsing status dot. Lets ONE component cover a \"status\" column\n * (previously you had to mix `StatusIndicator` + `Badge`, which read\n * inconsistently). Implies a dot. Respects `prefers-reduced-motion`.\n */\n pulse?: boolean;\n}\n\nexport function Badge({ variant = 'neutral', dot, pulse, className, children, ...rest }: BadgeProps) {\n const showDot = dot || pulse;\n return (\n <span className={cx('badge', `badge--${variant}`, className)} {...rest}>\n {showDot && (\n <span\n className={cx('badge__dot', pulse && 'is-pulsing')}\n aria-hidden=\"true\"\n />\n )}\n {children}\n </span>\n );\n}\n\n// ---------- Alert --------------------------------------------------------\nexport type AlertVariant = 'info' | 'success' | 'warning' | 'danger';\n\nexport interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n variant?: Extensible<AlertVariant>;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n onClose?: () => void;\n}\n\nexport function Alert({ variant = 'info', title, icon, onClose, className, children, ...rest }: AlertProps) {\n const t = useLocale();\n return (\n <div role=\"alert\" className={cx('alert', `alert--${variant}`, className)} {...rest}>\n {icon && <span className=\"alert__icon\" aria-hidden=\"true\">{icon}</span>}\n <div className=\"alert__body\">\n {title && <div className=\"alert__title\">{title}</div>}\n {children && <div className=\"alert__desc\">{children}</div>}\n </div>\n {onClose && (\n <button type=\"button\" className=\"alert__close\" onClick={onClose} aria-label={t['alert.close']}>\n <X size={16} />\n </button>\n )}\n </div>\n );\n}\n\n// ---------- Skeleton & Spinner ------------------------------------------\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n height?: number | string;\n rounded?: boolean;\n}\n\nexport function Skeleton({ width, height, rounded, className, style, ...rest }: SkeletonProps) {\n return (\n <div\n className={cx('skel', className)}\n style={{ width, height, borderRadius: rounded ? 999 : undefined, ...style }}\n aria-hidden=\"true\"\n {...rest}\n />\n );\n}\n\nexport interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {\n size?: 'sm' | 'md' | 'lg';\n inverse?: boolean;\n}\n\nexport function Spinner({ size = 'md', inverse, className, ...rest }: SpinnerProps) {\n const t = useLocale();\n return (\n <span\n role=\"status\"\n aria-label={t['spinner.loading']}\n className={cx('spinner', size === 'lg' && 'spinner--lg', inverse && 'spinner--inverse', className)}\n {...rest}\n />\n );\n}\n\n// ---------- Chip + ChipGroup --------------------------------------------\nexport interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {\n active?: boolean;\n onRemove?: () => void;\n removeLabel?: string;\n}\n\nexport function Chip({ active, onRemove, removeLabel, className, children, ...rest }: ChipProps) {\n const t = useLocale();\n return (\n <span className={cx('chip', active && 'chip--active', className)} {...rest}>\n <span>{children}</span>\n {onRemove && (\n <button\n type=\"button\"\n className=\"chip__close\"\n aria-label={removeLabel ?? t['chip.remove']}\n onClick={(e) => { e.stopPropagation(); onRemove(); }}\n >\n <X size={12} />\n </button>\n )}\n </span>\n );\n}\n\nexport const ChipGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function ChipGroup({ className, style, ...rest }, ref) {\n return (\n <div\n ref={ref}\n className={cx('chip-group', className)}\n style={{ display: 'flex', flexWrap: 'wrap', gap: 8, ...style }}\n {...rest}\n />\n );\n }\n);\n\n// ---------- ProductCard -------------------------------------------------\nexport interface ProductCardProps extends React.HTMLAttributes<HTMLElement> {\n sku?: React.ReactNode;\n name: React.ReactNode;\n price?: React.ReactNode;\n image?: string;\n imageAlt?: string;\n tag?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nexport function ProductCard({\n sku, name, price, image, imageAlt, tag, footer, className, ...rest\n}: ProductCardProps) {\n return (\n <article className={cx('product-card', className)} {...rest}>\n {tag && <span className=\"product-card__tag\">{tag}</span>}\n <div className=\"product-card__media\">\n {image ? (\n <img src={image} alt={imageAlt ?? (typeof name === 'string' ? name : '')} />\n ) : (\n <div className=\"product-card__placeholder\">{sku ? `[ ${sku} ]` : 'SKU'}</div>\n )}\n </div>\n <div className=\"product-card__body\">\n {sku && <div className=\"product-card__sku\">{sku}</div>}\n <h4 className=\"product-card__title\">{name}</h4>\n {price && <div className=\"product-card__price\">{price}</div>}\n </div>\n {footer && <div className=\"product-card__footer\">{footer}</div>}\n </article>\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Display.tsx"],"names":["React","Card","cx","Slot","CardHeader","jsx","CardBody","CardFooter","jsxs","useLocale","X","ChipGroup"],"mappings":"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","file":"chunk-TS2WNAQC.js","sourcesContent":["import * as React from 'react';\nimport { cx } from '../utils/cx';\nimport { X } from './Icons';\nimport { useLocale } from '../locale/LocaleProvider';\nimport { Slot } from './Primitives';\nimport type { Extensible } from '../utils/types';\n\nexport type CardAccent = 'brand' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';\n\nexport interface CardProps extends React.HTMLAttributes<HTMLDivElement> {\n interactive?: boolean;\n accent?: Extensible<CardAccent>;\n /**\n * Render as the provided single child element instead of `<div>` (e.g.\n * a clickable card as `next/link`'s `<a>`). Card classes, ref and handlers\n * are merged onto it. Default `false` (identical behavior).\n */\n asChild?: boolean;\n}\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(function Card(\n { interactive, accent, className, asChild = false, ...rest },\n ref\n) {\n const cls = cx(\n 'card',\n interactive && 'card--interactive',\n accent && `card--accent-${accent}`,\n className\n );\n if (asChild) {\n return <Slot ref={ref as React.Ref<HTMLElement>} className={cls} {...rest} />;\n }\n return <div ref={ref} className={cls} {...rest} />;\n});\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardHeader({ className, ...rest }, ref) {\n return <div ref={ref} className={cx('card__header', className)} {...rest} />;\n }\n);\n\nexport const CardBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardBody({ className, ...rest }, ref) {\n return <div ref={ref} className={cx('card__body', className)} {...rest} />;\n }\n);\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardFooter({ className, ...rest }, ref) {\n return <div ref={ref} className={cx('card__footer', className)} {...rest} />;\n }\n);\n\n// ---------- Badge --------------------------------------------------------\nexport type BadgeVariant =\n | 'primary' | 'accent' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n variant?: Extensible<BadgeVariant>;\n dot?: boolean;\n /**\n * Pulsing status dot. Lets ONE component cover a \"status\" column\n * (previously you had to mix `StatusIndicator` + `Badge`, which read\n * inconsistently). Implies a dot. Respects `prefers-reduced-motion`.\n */\n pulse?: boolean;\n}\n\nexport function Badge({ variant = 'neutral', dot, pulse, className, children, ...rest }: BadgeProps) {\n const showDot = dot || pulse;\n return (\n <span className={cx('badge', `badge--${variant}`, className)} {...rest}>\n {showDot && (\n <span\n className={cx('badge__dot', pulse && 'is-pulsing')}\n aria-hidden=\"true\"\n />\n )}\n {children}\n </span>\n );\n}\n\n// ---------- Alert --------------------------------------------------------\nexport type AlertVariant = 'info' | 'success' | 'warning' | 'danger';\n\nexport interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n variant?: Extensible<AlertVariant>;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n onClose?: () => void;\n}\n\nexport function Alert({ variant = 'info', title, icon, onClose, className, children, ...rest }: AlertProps) {\n const t = useLocale();\n return (\n <div role=\"alert\" className={cx('alert', `alert--${variant}`, className)} {...rest}>\n {icon && <span className=\"alert__icon\" aria-hidden=\"true\">{icon}</span>}\n <div className=\"alert__body\">\n {title && <div className=\"alert__title\">{title}</div>}\n {children && <div className=\"alert__desc\">{children}</div>}\n </div>\n {onClose && (\n <button type=\"button\" className=\"alert__close\" onClick={onClose} aria-label={t['alert.close']}>\n <X size={16} />\n </button>\n )}\n </div>\n );\n}\n\n// ---------- Skeleton & Spinner ------------------------------------------\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n height?: number | string;\n rounded?: boolean;\n}\n\nexport function Skeleton({ width, height, rounded, className, style, ...rest }: SkeletonProps) {\n return (\n <div\n className={cx('skel', className)}\n style={{ width, height, borderRadius: rounded ? 999 : undefined, ...style }}\n aria-hidden=\"true\"\n {...rest}\n />\n );\n}\n\nexport interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {\n size?: 'sm' | 'md' | 'lg';\n inverse?: boolean;\n}\n\nexport function Spinner({ size = 'md', inverse, className, ...rest }: SpinnerProps) {\n const t = useLocale();\n return (\n <span\n role=\"status\"\n aria-label={t['spinner.loading']}\n className={cx('spinner', size === 'lg' && 'spinner--lg', inverse && 'spinner--inverse', className)}\n {...rest}\n />\n );\n}\n\n// ---------- Chip + ChipGroup --------------------------------------------\nexport interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {\n active?: boolean;\n onRemove?: () => void;\n removeLabel?: string;\n}\n\nexport function Chip({ active, onRemove, removeLabel, className, children, ...rest }: ChipProps) {\n const t = useLocale();\n return (\n <span className={cx('chip', active && 'chip--active', className)} {...rest}>\n <span>{children}</span>\n {onRemove && (\n <button\n type=\"button\"\n className=\"chip__close\"\n aria-label={removeLabel ?? t['chip.remove']}\n onClick={(e) => { e.stopPropagation(); onRemove(); }}\n >\n <X size={12} />\n </button>\n )}\n </span>\n );\n}\n\nexport const ChipGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function ChipGroup({ className, style, ...rest }, ref) {\n return (\n <div\n ref={ref}\n className={cx('chip-group', className)}\n style={{ display: 'flex', flexWrap: 'wrap', gap: 8, ...style }}\n {...rest}\n />\n );\n }\n);\n\n// ---------- ProductCard -------------------------------------------------\nexport interface ProductCardProps extends React.HTMLAttributes<HTMLElement> {\n sku?: React.ReactNode;\n name: React.ReactNode;\n price?: React.ReactNode;\n image?: string;\n imageAlt?: string;\n tag?: React.ReactNode;\n footer?: React.ReactNode;\n}\n\nexport function ProductCard({\n sku, name, price, image, imageAlt, tag, footer, className, ...rest\n}: ProductCardProps) {\n return (\n <article className={cx('product-card', className)} {...rest}>\n {tag && <span className=\"product-card__tag\">{tag}</span>}\n <div className=\"product-card__media\">\n {image ? (\n <img src={image} alt={imageAlt ?? (typeof name === 'string' ? name : '')} />\n ) : (\n <div className=\"product-card__placeholder\">{sku ? `[ ${sku} ]` : 'SKU'}</div>\n )}\n </div>\n <div className=\"product-card__body\">\n {sku && <div className=\"product-card__sku\">{sku}</div>}\n <h4 className=\"product-card__title\">{name}</h4>\n {price && <div className=\"product-card__price\">{price}</div>}\n </div>\n {footer && <div className=\"product-card__footer\">{footer}</div>}\n </article>\n );\n}\n"]}
|