kappa mirror: ui + q closures (2357 objects, blake3-addressed) - U3 (part 6)
Browse files- b/9229bfb74e71b0fa0781c5dd364691fb97b95e86b9495afa5933f0b57e78481d +68 -0
- b/92622e96f68cb588040e5e469082331e1a018abf29554123d67d864db2bb41bc +51 -0
- b/92cd66128f2e3ab1e08941d183b8b57a549552b8f0f76ace6b01ae22cefd808d +28 -0
- b/93117462d9154a8797b42c13dbdbe7776781282c72986dfab9cb143511e457f0 +294 -0
- b/93197ca13faf65288cdf2a1874676382cd1645277fcae91267999245f8ec266a +7 -0
- b/934737790b8b93ec493e0c1931bd95be87161d5affb8666d07ef62dd399d12b8 +0 -0
- b/936a8e41b9b238a811e76a50716d4735a8ed018cd06e1028a9eba161555774aa +27 -0
- b/936e98eb8c4ee87523cc396502c2a5270fc2f17e2cc7c4a1bd35d8b7764f80a5 +127 -0
- b/937322728e0fd41b2aaa9af477697e8b485fb137776cf55759193e1c872354ce +74 -0
- b/93b420ee47c2b6e6de5cfc7f35e8671be8029629bb76ec22a51d9d32497b4a6c +0 -0
- b/93c757c1c3002f2d9e1b34d421033170bd9db2a7bc18a530931c01d214a680a1 +114 -0
- b/93d26d9155ccd112424bb01284c12addda33d3ada1f7d9974cc4458a83d9ec7b +52 -0
- b/93f95423bff25d0135f48929529cff4d88f2b981f4f7d552907659effe3085d4 +1 -0
- b/93ffa4ad9dba28fd5326e247c9a79b49fb53cffcec65c95b7bb240ab06e11346 +67 -0
- b/9403abf7f39a688a36930595ff79ca2b788d40eafe16ac16648391da2e3bc8e7 +5 -0
- b/94205016d958f7abd4ce6c049d2f47548a6ca34baacd5c43096ac4b2fb1c8fda +31 -0
- b/9424fd4141a2b2dd2a987cfb700cb6c9c333d5f2da2afa1c709d1a76608732f4 +1 -0
- b/9426b569adb38217454707cf6f3786a9bc8d4df4ef4ab4ab26c1187bf8635c61 +21 -0
- b/946e2eecb7609521381ef6a513121160ac89a49af8c463bbae73dc5251dbf252 +0 -0
- b/949d3af66ee2484e3810333c10dd39f0f3cfc9f482d7b9828519a76a0f2444e7 +53 -0
b/9229bfb74e71b0fa0781c5dd364691fb97b95e86b9495afa5933f0b57e78481d
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// m12a-stream.mjs — WORKING-SET STREAMING INFERENCE on a REAL .holo/GGUF model. Run a model whose
|
| 2 |
+
// weights are LARGER than a RAM budget by streaming each per-tensor κ-block on demand, verifying it
|
| 3 |
+
// (L5 sha256), and EVICTING under an LRU budget. Peak resident = budget, NOT model size. Correctness:
|
| 4 |
+
// streamed logits must be BYTE-IDENTICAL to fully-resident logits (greedy). No compression — full fidelity.
|
| 5 |
+
import { readFileSync, writeFileSync, mkdirSync, rmSync } from "node:fs";
|
| 6 |
+
import { performance } from "node:perf_hooks";
|
| 7 |
+
import { forgeGguf } from "./gguf-forge.mjs";
|
| 8 |
+
import { synthesizeGraph } from "./gguf-forge-graph.mjs";
|
| 9 |
+
import { forward } from "./gguf-forge-exec.mjs";
|
| 10 |
+
import { sha256hex } from "../../../../holo-os/system/os/usr/lib/holo/holo-uor.mjs";
|
| 11 |
+
|
| 12 |
+
const MODEL = ".models/qwen2.5-0.5b-instruct-q4_k_m.gguf";
|
| 13 |
+
const SHARDS = "C:/Users/pavel/AppData/Local/Temp/claude/C--Users-pavel-Desktop-HOLOGRAM/9be01320-de05-4b56-a1ab-35f38d512e16/scratchpad/_m12shards";
|
| 14 |
+
const MiB = 1024 * 1024;
|
| 15 |
+
const hexOf = (k) => String(k).split(":").pop();
|
| 16 |
+
|
| 17 |
+
const buf = new Uint8Array(readFileSync(MODEL));
|
| 18 |
+
const f = forgeGguf(buf); // one-time ingest (the seal): builds per-tensor κ-blocks
|
| 19 |
+
const graph = synthesizeGraph(f.plan);
|
| 20 |
+
const modelBytes = [...f.blocks.values()].reduce((a, b) => a + b.byteLength, 0);
|
| 21 |
+
console.log(`REAL model qwen2.5-0.5b — ${(modelBytes / MiB).toFixed(0)} MiB, ${f.blocks.size} κ-tensor-blocks`);
|
| 22 |
+
|
| 23 |
+
// shard to per-κ files (once) — the streaming source; then FREE the resident model
|
| 24 |
+
rmSync(SHARDS, { recursive: true, force: true }); mkdirSync(SHARDS, { recursive: true });
|
| 25 |
+
for (const [hex, bytes] of f.blocks) writeFileSync(`${SHARDS}/${hex}.bin`, Buffer.from(bytes));
|
| 26 |
+
|
| 27 |
+
// RESIDENT baseline store (whole model in RAM) — the incumbent
|
| 28 |
+
const residentStore = { get: (hex) => f.blocks.get(hex) };
|
| 29 |
+
|
| 30 |
+
// STREAMING store: read a κ-block from disk on demand, VERIFY (L5), LRU-cache under a byte budget, evict.
|
| 31 |
+
function streamingStore(budgetBytes) {
|
| 32 |
+
const lru = new Map(); let resident = 0, peak = 0, streamed = 0, reads = 0, verifyFail = 0;
|
| 33 |
+
return {
|
| 34 |
+
get(hex) {
|
| 35 |
+
if (lru.has(hex)) { const b = lru.get(hex); lru.delete(hex); lru.set(hex, b); return b; } // LRU touch
|
| 36 |
+
const b = new Uint8Array(readFileSync(`${SHARDS}/${hex}.bin`)); reads++; streamed += b.byteLength;
|
| 37 |
+
if (sha256hex(b) !== hex) { verifyFail++; throw new Error("L5 refuse " + hex); } // verify-on-receipt
|
| 38 |
+
lru.set(hex, b); resident += b.byteLength;
|
| 39 |
+
while (resident > budgetBytes && lru.size > 1) { const [k, v] = lru.entries().next().value; lru.delete(k); resident -= v.byteLength; }
|
| 40 |
+
if (resident > peak) peak = resident;
|
| 41 |
+
return b;
|
| 42 |
+
},
|
| 43 |
+
stats: () => ({ peakMiB: peak / MiB, streamedMiB: streamed / MiB, reads, verifyFail }),
|
| 44 |
+
};
|
| 45 |
+
}
|
| 46 |
+
const mkLoad = (store) => { const seen = new Set(); return (st, k) => { const hex = hexOf(k); const b = store.get(hex); if (!seen.has(hex)) { if (sha256hex(b) !== hex) throw new Error("L5"); seen.add(hex); } return b; }; };
|
| 47 |
+
|
| 48 |
+
const tokens = [785, 6722, 374, 264];
|
| 49 |
+
const logitsK = (l) => sha256hex(new Uint8Array(l.buffer, l.byteOffset, l.byteLength));
|
| 50 |
+
|
| 51 |
+
// RESIDENT (baseline)
|
| 52 |
+
let t = performance.now(); const rl = forward(f.plan, graph, residentStore, tokens, { load: mkLoad(residentStore) }); const residentMs = performance.now() - t;
|
| 53 |
+
const rk = logitsK(rl);
|
| 54 |
+
|
| 55 |
+
console.log(`\nbudget(MiB) peak-resident streamed time tok(argmax) logits==resident`);
|
| 56 |
+
console.log(` RESIDENT ${(modelBytes / MiB).toFixed(0).padStart(6)} MiB — ${residentMs.toFixed(0).padStart(6)}ms ${argmax(rl)} (baseline)`);
|
| 57 |
+
for (const budgetMiB of [64, 32, 16]) {
|
| 58 |
+
const ss = streamingStore(budgetMiB * MiB);
|
| 59 |
+
const t2 = performance.now(); const sl = forward(f.plan, graph, ss, tokens, { load: mkLoad(ss) }); const ms = performance.now() - t2;
|
| 60 |
+
const s = ss.stats();
|
| 61 |
+
console.log(` ${String(budgetMiB).padStart(3)} ${s.peakMiB.toFixed(0).padStart(6)} MiB ${s.streamedMiB.toFixed(0).padStart(4)} MiB ${ms.toFixed(0).padStart(6)}ms ${argmax(sl)} ${logitsK(sl) === rk ? "YES ✓ byte-identical" : "NO ✗"} (verifyFail=${s.verifyFail})`);
|
| 62 |
+
}
|
| 63 |
+
function argmax(l) { let a = 0; for (let i = 1; i < l.length; i++) if (l[i] > l[a]) a = i; return a; }
|
| 64 |
+
|
| 65 |
+
const ratio = modelBytes / (16 * MiB);
|
| 66 |
+
console.log(`\nHEADLINE: the ${(modelBytes / MiB).toFixed(0)} MiB model runs in as little as 16 MiB resident (${ratio.toFixed(0)}x smaller footprint), every block VERIFIED, output BYTE-IDENTICAL to fully-resident.`);
|
| 67 |
+
console.log(`Honest cost: streaming reads ~the whole model from disk per forward (I/O-bound) → slower than resident; wins when model >> RAM, loses when it fits. Locality (kmemo cache + prewarm + routed experts) is 12d.`);
|
| 68 |
+
rmSync(SHARDS, { recursive: true, force: true });
|
b/92622e96f68cb588040e5e469082331e1a018abf29554123d67d864db2bb41bc
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var mt=Object.defineProperty;var Lt=(e,a)=>{for(var t in a)mt(e,t,{get:a[t],enumerable:!0})};import{forwardRef as xt,createElement as Ct}from"react";var sa=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ge=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();import{forwardRef as It,createElement as fa}from"react";var da={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var ia=It(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:u,iconNode:l,...s},f)=>fa("svg",{ref:f,...da,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:ge("lucide",r),...s},[...l.map(([d,n])=>fa(d,n)),...Array.isArray(u)?u:[u]]));var na=(e,a)=>{let t=xt(({className:o,...r},u)=>Ct(ia,{ref:u,iconNode:a,className:ge(`lucide-${sa(e)}`,o),...r}));return t.displayName=`${e}`,t};var ie=na("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);import*as La from"react";import*as vt from"react-dom";import*as M from"react";import*as pa from"react";function ca(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function ht(...e){return a=>{let t=!1,o=e.map(r=>{let u=ca(r,a);return!t&&typeof u=="function"&&(t=!0),u});if(t)return()=>{for(let r=0;r<o.length;r++){let u=o[r];typeof u=="function"?u():ca(e[r],null)}}}}function H(...e){return pa.useCallback(ht(...e),e)}function ne(e){let a=M.forwardRef((t,o)=>{let{children:r,...u}=t,l=null,s=!1,f=[];ma(r)&&typeof Se=="function"&&(r=Se(r._payload)),M.Children.forEach(r,C=>{if(kt(C)){s=!0;let x=C,S="child"in x.props?x.props.child:x.props.children;ma(S)&&typeof Se=="function"&&(S=Se(S._payload)),l=St(x,S),f.push(l?.props?.children)}else f.push(C)}),l?l=M.cloneElement(l,void 0,f):!s&&M.Children.count(r)===1&&M.isValidElement(r)&&(l=r);let d=l?bt(l):void 0,n=H(o,d);if(!l){if(r||r===0)throw new Error(s?yt(e):At(e));return r}let m=wt(u,l.props??{});return l.type!==M.Fragment&&(m.ref=o?n:d),M.cloneElement(l,m)});return a.displayName=`${e}.Slot`,a}var gt=Symbol.for("radix.slottable");var St=(e,a)=>{if("child"in e.props){let t=e.props.child;return M.isValidElement(t)?M.cloneElement(t,void 0,e.props.children(t.props.children)):null}return M.isValidElement(a)?a:null};function wt(e,a){let t={...a};for(let o in a){let r=e[o],u=a[o];/^on[A-Z]/.test(o)?r&&u?t[o]=(...s)=>{let f=u(...s);return r(...s),f}:r&&(t[o]=r):o==="style"?t[o]={...r,...u}:o==="className"&&(t[o]=[r,u].filter(Boolean).join(" "))}return{...e,...t}}function bt(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function kt(e){return M.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gt}var Pt=Symbol.for("react.lazy");function ma(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Pt&&"_payload"in e&&Rt(e._payload)}function Rt(e){return typeof e=="object"&&e!==null&&"then"in e}var At=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,yt=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Se=M[" use ".trim().toString()];import{jsx as Mt}from"react/jsx-runtime";var Ft=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],X=Ft.reduce((e,a)=>{let t=ne(`Primitive.${a}`),o=La.forwardRef((r,u)=>{let{asChild:l,...s}=r,f=l?t:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),Mt(f,{...s,ref:u})});return o.displayName=`Primitive.${a}`,{...e,[a]:o}},{});import*as K from"react";import{jsx as Bt}from"react/jsx-runtime";function $(e,a=[]){let t=[];function o(u,l){let s=K.createContext(l);s.displayName=u+"Context";let f=t.length;t=[...t,l];let d=m=>{let{scope:C,children:x,...S}=m,g=C?.[e]?.[f]||s,I=K.useMemo(()=>S,Object.values(S));return Bt(g.Provider,{value:I,children:x})};d.displayName=u+"Provider";function n(m,C){let x=C?.[e]?.[f]||s,S=K.useContext(x);if(S)return S;if(l!==void 0)return l;throw new Error(`\`${m}\` must be used within \`${u}\``)}return[d,n]}let r=()=>{let u=t.map(l=>K.createContext(l));return function(s){let f=s?.[e]||u;return K.useMemo(()=>({[`__scope${e}`]:{...s,[e]:f}}),[s,f])}};return r.scopeName=e,[o,Dt(r,...a)]}function Dt(...e){let a=e[0];if(e.length===1)return a;let t=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(u){let l=o.reduce((s,{useScope:f,scopeName:d})=>{let m=f(u)[`__scope${d}`];return{...s,...m}},{});return K.useMemo(()=>({[`__scope${a.scopeName}`]:l}),[l])}};return t.scopeName=a.scopeName,t}import*as N from"react";import{jsx as Ge}from"react/jsx-runtime";import*as we from"react";import{jsx as Ur}from"react/jsx-runtime";function Ia(e){let a=e+"CollectionProvider",[t,o]=$(a),[r,u]=t(a,{collectionRef:{current:null},itemMap:new Map}),l=g=>{let{scope:I,children:w}=g,b=N.useRef(null),k=N.useRef(new Map).current;return Ge(r,{scope:I,itemMap:k,collectionRef:b,children:w})};l.displayName=a;let s=e+"CollectionSlot",f=ne(s),d=N.forwardRef((g,I)=>{let{scope:w,children:b}=g,k=u(s,w),P=H(I,k.collectionRef);return Ge(f,{ref:P,children:b})});d.displayName=s;let n=e+"CollectionItemSlot",m="data-radix-collection-item",C=ne(n),x=N.forwardRef((g,I)=>{let{scope:w,children:b,...k}=g,P=N.useRef(null),B=H(I,P),D=u(n,w);return N.useEffect(()=>(D.itemMap.set(P,{ref:P,...k}),()=>void D.itemMap.delete(P))),Ge(C,{[m]:"",ref:B,children:b})});x.displayName=n;function S(g){let I=u(e+"CollectionConsumer",g);return N.useCallback(()=>{let b=I.collectionRef.current;if(!b)return[];let k=Array.from(b.querySelectorAll(`[${m}]`));return Array.from(I.itemMap.values()).sort((D,U)=>k.indexOf(D.ref.current)-k.indexOf(U.ref.current))},[I.collectionRef,I.itemMap])}return[{Provider:l,Slot:d,ItemSlot:x},S,o]}var Hr=!!(typeof window<"u"&&window.document&&window.document.createElement);function G(e,a,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e?.(r),t===!1||!r.defaultPrevented)return a?.(r)}}import*as z from"react";import*as xa from"react";var j=globalThis?.document?xa.useLayoutEffect:()=>{};import*as ke from"react";var Tt=z[" useInsertionEffect ".trim().toString()]||j;function be({prop:e,defaultProp:a,onChange:t=()=>{},caller:o}){let[r,u,l]=qt({defaultProp:a,onChange:t}),s=e!==void 0,f=s?e:r;{let n=z.useRef(e!==void 0);z.useEffect(()=>{let m=n.current;m!==s&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),n.current=s},[s,o])}let d=z.useCallback(n=>{if(s){let m=Ot(n)?n(e):n;m!==e&&l.current?.(m)}else u(n)},[s,e,u,l]);return[f,d]}function qt({defaultProp:e,onChange:a}){let[t,o]=z.useState(e),r=z.useRef(t),u=z.useRef(a);return Tt(()=>{u.current=a},[a]),z.useEffect(()=>{r.current!==t&&(u.current?.(t),r.current=t)},[t,r]),[t,o,u]}function Ot(e){return typeof e=="function"}var Vr=Symbol("RADIX:SYNC_STATE");import*as F from"react";import*as ha from"react";function Ut(e,a){return ha.useReducer((t,o)=>a[t][o]??t,e)}var ze=e=>{let{present:a,children:t}=e,o=Et(a),r=typeof t=="function"?t({present:o.isPresent}):F.Children.only(t),u=Ht(o.ref,Gt(r));return typeof t=="function"||o.isPresent?F.cloneElement(r,{ref:u}):null};ze.displayName="Presence";function Et(e){let[a,t]=F.useState(),o=F.useRef(null),r=F.useRef(e),u=F.useRef("none"),l=e?"mounted":"unmounted",[s,f]=Ut(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return F.useEffect(()=>{let d=Pe(o.current);u.current=s==="mounted"?d:"none"},[s]),j(()=>{let d=o.current,n=r.current;if(n!==e){let C=u.current,x=Pe(d);e?f("MOUNT"):x==="none"||d?.display==="none"?f("UNMOUNT"):f(n&&C!==x?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,f]),j(()=>{if(a){let d,n=a.ownerDocument.defaultView??window,m=x=>{let g=Pe(o.current).includes(CSS.escape(x.animationName));if(x.target===a&&g&&(f("ANIMATION_END"),!r.current)){let I=a.style.animationFillMode;a.style.animationFillMode="forwards",d=n.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=I)})}},C=x=>{x.target===a&&(u.current=Pe(o.current))};return a.addEventListener("animationstart",C),a.addEventListener("animationcancel",m),a.addEventListener("animationend",m),()=>{n.clearTimeout(d),a.removeEventListener("animationstart",C),a.removeEventListener("animationcancel",m),a.removeEventListener("animationend",m)}}else f("ANIMATION_END")},[a,f]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:F.useCallback(d=>{o.current=d?getComputedStyle(d):null,t(d)},[])}}function Ca(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function Ht(...e){let a=F.useRef(e);return a.current=e,F.useCallback(t=>{let o=a.current,r=!1,u=o.map(l=>{let s=Ca(l,t);return!r&&typeof s=="function"&&(r=!0),s});if(r)return()=>{for(let l=0;l<u.length;l++){let s=u[l];typeof s=="function"?s():Ca(o[l],null)}}},[])}function Pe(e){return e?.animationName||"none"}function Gt(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}import*as Ne from"react";var zt=Ne[" useId ".trim().toString()]||(()=>{}),Nt=0;function ga(e){let[a,t]=Ne.useState(zt());return j(()=>{e||t(o=>o??String(Nt++))},[e]),e||(a?`radix-${a}`:"")}import*as Re from"react";import{jsx as Jr}from"react/jsx-runtime";var Vt=Re.createContext(void 0);function Ae(e){let a=Re.useContext(Vt);return e||a||"ltr"}import*as se from"react";function Sa(e){let a=se.useRef(e);return se.useEffect(()=>{a.current=e}),se.useMemo(()=>(...t)=>a.current?.(...t),[])}import*as ye from"react";function wa(e){let a=ye.useRef({value:e,previous:e});return ye.useMemo(()=>(a.current.value!==e&&(a.current.previous=a.current.value,a.current.value=e),a.current.previous),[e])}import*as ba from"react";function ka(e){let[a,t]=ba.useState(void 0);return j(()=>{if(e){t({width:e.offsetWidth,height:e.offsetHeight});let o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;let u=r[0],l,s;if("borderBoxSize"in u){let f=u.borderBoxSize,d=Array.isArray(f)?f[0]:f;l=d.inlineSize,s=d.blockSize}else l=e.offsetWidth,s=e.offsetHeight;t({width:l,height:s})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else t(void 0)},[e]),a}import*as v from"react";import{jsx as te}from"react/jsx-runtime";var Ve="rovingFocusGroup.onEntryFocus",Wt={bubbles:!1,cancelable:!0},ce="RovingFocusGroup",[We,Pa,_t]=Ia(ce),[Xt,_e]=$(ce,[_t]),[Kt,jt]=Xt(ce),Ra=v.forwardRef((e,a)=>te(We.Provider,{scope:e.__scopeRovingFocusGroup,children:te(We.Slot,{scope:e.__scopeRovingFocusGroup,children:te(Zt,{...e,ref:a})})}));Ra.displayName=ce;var Zt=v.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:t,orientation:o,loop:r=!1,dir:u,currentTabStopId:l,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:f,onEntryFocus:d,preventScrollOnEntryFocus:n=!1,...m}=e,C=v.useRef(null),x=H(a,C),S=Ae(u),[g,I]=be({prop:l,defaultProp:s??null,onChange:f,caller:ce}),[w,b]=v.useState(!1),k=Sa(d),P=Pa(t),B=v.useRef(!1),[D,U]=v.useState(0);return v.useEffect(()=>{let i=C.current;if(i)return i.addEventListener(Ve,k),()=>i.removeEventListener(Ve,k)},[k]),te(Kt,{scope:t,orientation:o,dir:S,loop:r,currentTabStopId:g,onItemFocus:v.useCallback(i=>I(i),[I]),onItemShiftTab:v.useCallback(()=>b(!0),[]),onFocusableItemAdd:v.useCallback(()=>U(i=>i+1),[]),onFocusableItemRemove:v.useCallback(()=>U(i=>i-1),[]),children:te(X.div,{tabIndex:w||D===0?-1:0,"data-orientation":o,...m,ref:x,style:{outline:"none",...e.style},onMouseDown:G(e.onMouseDown,()=>{B.current=!0}),onFocus:G(e.onFocus,i=>{let T=!B.current;if(i.target===i.currentTarget&&T&&!w){let fe=new CustomEvent(Ve,Wt);if(i.currentTarget.dispatchEvent(fe),!fe.defaultPrevented){let le=P().filter(R=>R.focusable),ue=le.find(R=>R.active),me=le.find(R=>R.id===g),J=[ue,me,...le].filter(Boolean).map(R=>R.ref.current);va(J,n)}}B.current=!1}),onBlur:G(e.onBlur,()=>b(!1))})})}),Aa="RovingFocusGroupItem",ya=v.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:t,focusable:o=!0,active:r=!1,tabStopId:u,children:l,...s}=e,f=ga(),d=u||f,n=jt(Aa,t),m=n.currentTabStopId===d,C=Pa(t),{onFocusableItemAdd:x,onFocusableItemRemove:S,currentTabStopId:g}=n;return v.useEffect(()=>{if(o)return x(),()=>S()},[o,x,S]),te(We.ItemSlot,{scope:t,id:d,focusable:o,active:r,children:te(X.span,{tabIndex:m?0:-1,"data-orientation":n.orientation,...s,ref:a,onMouseDown:G(e.onMouseDown,I=>{o?n.onItemFocus(d):I.preventDefault()}),onFocus:G(e.onFocus,()=>n.onItemFocus(d)),onKeyDown:G(e.onKeyDown,I=>{if(I.key==="Tab"&&I.shiftKey){n.onItemShiftTab();return}if(I.target!==I.currentTarget)return;let w=Qt(I,n.orientation,n.dir);if(w!==void 0){if(I.metaKey||I.ctrlKey||I.altKey||I.shiftKey)return;I.preventDefault();let k=C().filter(P=>P.focusable).map(P=>P.ref.current);if(w==="last")k.reverse();else if(w==="prev"||w==="next"){w==="prev"&&k.reverse();let P=k.indexOf(I.currentTarget);k=n.loop?Yt(k,P+1):k.slice(P+1)}setTimeout(()=>va(k))}}),children:typeof l=="function"?l({isCurrentTabStop:m,hasTabStop:g!=null}):l})})});ya.displayName=Aa;var Jt={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function $t(e,a){return a!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Qt(e,a,t){let o=$t(e.key,t);if(!(a==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(a==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Jt[o]}function va(e,a=!1){let t=document.activeElement;for(let o of e)if(o===t||(o.focus({preventScroll:a}),document.activeElement!==t))return}function Yt(e,a){return e.map((t,o)=>e[(a+o)%e.length])}var Ma=Ra,Fa=ya;var de={};Lt(de,{Indicator:()=>Wa,Item:()=>Va,RadioGroup:()=>Ga,RadioGroupIndicator:()=>Wa,RadioGroupItem:()=>Va,Root:()=>Ga,createRadioGroupScope:()=>co,unstable_ItemBubbleInput:()=>Je,unstable_ItemProvider:()=>Na,unstable_ItemTrigger:()=>Ze,unstable_RadioGroupItemBubbleInput:()=>Je,unstable_RadioGroupItemProvider:()=>Na,unstable_RadioGroupItemTrigger:()=>Ze});import*as W from"react";import*as E from"react";import{Fragment as ao,jsx as Q,jsxs as to}from"react/jsx-runtime";import{Fragment as so,jsx as V,jsxs as fo}from"react/jsx-runtime";var Xe="Radio",[oo,Ba]=$(Xe),[ro,ve]=oo(Xe);function Da(e){let{__scopeRadio:a,checked:t=!1,children:o,disabled:r,form:u,name:l,onCheck:s,required:f,value:d="on",internal_do_not_use_render:n}=e,[m,C]=E.useState(null),[x,S]=E.useState(null),g=E.useRef(!1),I=m?!!u||!!m.closest("form"):!0,w={checked:t,disabled:r,required:f,name:l,form:u,value:d,control:m,setControl:C,hasConsumerStoppedPropagationRef:g,isFormControl:I,bubbleInput:x,setBubbleInput:S,onCheck:()=>s?.()};return Q(ro,{scope:a,...w,children:uo(n)?n(w):o})}var Ta="RadioTrigger",Ke=E.forwardRef(({__scopeRadio:e,onClick:a,...t},o)=>{let{checked:r,disabled:u,value:l,setControl:s,onCheck:f,hasConsumerStoppedPropagationRef:d,isFormControl:n,bubbleInput:m}=ve(Ta,e),C=H(o,s);return Q(X.button,{type:"button",role:"radio","aria-checked":r,"data-state":Ea(r),"data-disabled":u?"":void 0,disabled:u,value:l,...t,ref:C,onClick:G(a,x=>{r||f(),m&&n&&(d.current=x.isPropagationStopped(),d.current||x.stopPropagation())})})});Ke.displayName=Ta;var lo=E.forwardRef((e,a)=>{let{__scopeRadio:t,name:o,checked:r,required:u,disabled:l,value:s,onCheck:f,form:d,...n}=e;return Q(Da,{__scopeRadio:t,checked:r,disabled:l,required:u,onCheck:f,name:o,form:d,value:s,internal_do_not_use_render:({isFormControl:m})=>to(ao,{children:[Q(Ke,{...n,ref:a,__scopeRadio:t}),m&&Q(je,{__scopeRadio:t})]})})});lo.displayName=Xe;var qa="RadioIndicator",Oa=E.forwardRef((e,a)=>{let{__scopeRadio:t,forceMount:o,...r}=e,u=ve(qa,t);return Q(ze,{present:o||u.checked,children:Q(X.span,{"data-state":Ea(u.checked),"data-disabled":u.disabled?"":void 0,...r,ref:a})})});Oa.displayName=qa;var Ua="RadioBubbleInput",je=E.forwardRef(({__scopeRadio:e,...a},t)=>{let{control:o,checked:r,required:u,disabled:l,name:s,value:f,form:d,bubbleInput:n,setBubbleInput:m,hasConsumerStoppedPropagationRef:C}=ve(Ua,e),x=H(t,m),S=wa(r),g=ka(o);E.useEffect(()=>{let w=n;if(!w)return;let b=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(b,"checked").set,B=!C.current;if(S!==r&&P){let D=new Event("click",{bubbles:B});P.call(w,r),w.dispatchEvent(D)}},[n,S,r,C]);let I=E.useRef(r);return Q(X.input,{type:"radio","aria-hidden":!0,defaultChecked:I.current,required:u,disabled:l,name:s,value:f,form:d,...a,tabIndex:-1,ref:x,style:{...a.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});je.displayName=Ua;function uo(e){return typeof e=="function"}function Ea(e){return e?"checked":"unchecked"}var io=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Me="RadioGroup",[no,co]=$(Me,[_e,Ba]),Ha=_e(),Fe=Ba(),[po,mo]=no(Me),Ga=W.forwardRef((e,a)=>{let{__scopeRadioGroup:t,name:o,defaultValue:r,value:u,required:l=!1,disabled:s=!1,orientation:f,dir:d,loop:n=!0,onValueChange:m,...C}=e,x=Ha(t),S=Ae(d),[g,I]=be({prop:u,defaultProp:r??null,onChange:m,caller:Me});return V(po,{scope:t,name:o,required:l,disabled:s,value:g,onValueChange:I,children:V(Ma,{asChild:!0,...x,orientation:f,dir:S,loop:n,children:V(X.div,{role:"radiogroup","aria-required":l,"aria-orientation":f,"data-disabled":s?"":void 0,dir:S,...C,ref:a})})})});Ga.displayName=Me;var Lo="RadioGroupItem",Io="RadioGroupItemProvider",za="RadioGroupItemTrigger",xo="RadioGroupItemBubbleInput";function Na(e){let{__scopeRadioGroup:a,value:t,disabled:o,children:r,internal_do_not_use_render:u}=e,l=mo(Io,a),s=Fe(a),f=l.disabled||o;return V(Da,{...s,checked:l.value===t,disabled:f,required:l.required,name:l.name,value:t,onCheck:()=>l.onValueChange(t),internal_do_not_use_render:u,children:r})}var Ze=W.forwardRef((e,a)=>{let{__scopeRadioGroup:t,...o}=e,r=Ha(t),u=Fe(t),{checked:l,disabled:s}=ve(za,u.__scopeRadio),f=W.useRef(null),d=H(a,f),n=W.useRef(!1);return W.useEffect(()=>{let m=x=>{io.includes(x.key)&&(n.current=!0)},C=()=>n.current=!1;return document.addEventListener("keydown",m),document.addEventListener("keyup",C),()=>{document.removeEventListener("keydown",m),document.removeEventListener("keyup",C)}},[]),V(Fa,{asChild:!0,...r,focusable:!s,active:l,children:V(Ke,{...u,...o,ref:d,onKeyDown:G(o.onKeyDown,m=>{m.key==="Enter"&&m.preventDefault()}),onFocus:G(o.onFocus,()=>{n.current&&f.current?.click()})})})});Ze.displayName=za;var Va=W.forwardRef((e,a)=>{let{__scopeRadioGroup:t,value:o,disabled:r,...u}=e;return V(Na,{__scopeRadioGroup:t,value:o,disabled:r,internal_do_not_use_render:({isFormControl:l})=>fo(so,{children:[V(Ze,{...u,ref:a,__scopeRadioGroup:t}),l&&V(Je,{__scopeRadioGroup:t})]})})});Va.displayName=Lo;var Je=W.forwardRef((e,a)=>{let{__scopeRadioGroup:t,...o}=e,r=Fe(t);return V(je,{...r,...o,ref:a})});Je.displayName=xo;var Co="RadioGroupIndicator",Wa=W.forwardRef((e,a)=>{let{__scopeRadioGroup:t,...o}=e,r=Fe(t);return V(Oa,{...r,...o,ref:a})});Wa.displayName=Co;function _a(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(a=0;a<r;a++)e[a]&&(t=_a(e[a]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function Xa(){for(var e,a,t=0,o="",r=arguments.length;t<r;t++)(e=arguments[t])&&(a=_a(e))&&(o&&(o+=" "),o+=a);return o}var ho=(e,a)=>{let t=new Array(e.length+a.length);for(let o=0;o<e.length;o++)t[o]=e[o];for(let o=0;o<a.length;o++)t[e.length+o]=a[o];return t},go=(e,a)=>({classGroupId:e,validator:a}),Ya=(e=new Map,a=null,t)=>({nextPart:e,validators:a,classGroupId:t}),Te="-",Ka=[],So="arbitrary..",wo=e=>{let a=ko(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return bo(l);let s=l.split(Te),f=s[0]===""&&s.length>1?1:0;return et(s,f,a)},getConflictingClassGroupIds:(l,s)=>{if(s){let f=o[l],d=t[l];return f?d?ho(d,f):f:d||Ka}return t[l]||Ka}}},et=(e,a,t)=>{if(e.length-a===0)return t.classGroupId;let r=e[a],u=t.nextPart.get(r);if(u){let d=et(e,a+1,u);if(d)return d}let l=t.validators;if(l===null)return;let s=a===0?e.join(Te):e.slice(a).join(Te),f=l.length;for(let d=0;d<f;d++){let n=l[d];if(n.validator(s))return n.classGroupId}},bo=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let a=e.slice(1,-1),t=a.indexOf(":"),o=a.slice(0,t);return o?So+o:void 0})(),ko=e=>{let{theme:a,classGroups:t}=e;return Po(t,a)},Po=(e,a)=>{let t=Ya();for(let o in e){let r=e[o];Ye(r,t,o,a)}return t},Ye=(e,a,t,o)=>{let r=e.length;for(let u=0;u<r;u++){let l=e[u];Ro(l,a,t,o)}},Ro=(e,a,t,o)=>{if(typeof e=="string"){Ao(e,a,t);return}if(typeof e=="function"){yo(e,a,t,o);return}vo(e,a,t,o)},Ao=(e,a,t)=>{let o=e===""?a:at(a,e);o.classGroupId=t},yo=(e,a,t,o)=>{if(Mo(e)){Ye(e(o),a,t,o);return}a.validators===null&&(a.validators=[]),a.validators.push(go(t,e))},vo=(e,a,t,o)=>{let r=Object.entries(e),u=r.length;for(let l=0;l<u;l++){let[s,f]=r[l];Ye(f,at(a,s),t,o)}},at=(e,a)=>{let t=e,o=a.split(Te),r=o.length;for(let u=0;u<r;u++){let l=o[u],s=t.nextPart.get(l);s||(s=Ya(),t.nextPart.set(l,s)),t=s}return t},Mo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Fo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,t=Object.create(null),o=Object.create(null),r=(u,l)=>{t[u]=l,a++,a>e&&(a=0,o=t,t=Object.create(null))};return{get(u){let l=t[u];if(l!==void 0)return l;if((l=o[u])!==void 0)return r(u,l),l},set(u,l){u in t?t[u]=l:r(u,l)}}},Qe="!",ja=":",Bo=[],Za=(e,a,t,o,r)=>({modifiers:e,hasImportantModifier:a,baseClassName:t,maybePostfixModifierPosition:o,isExternal:r}),Do=e=>{let{prefix:a,experimentalParseClassName:t}=e,o=r=>{let u=[],l=0,s=0,f=0,d,n=r.length;for(let g=0;g<n;g++){let I=r[g];if(l===0&&s===0){if(I===ja){u.push(r.slice(f,g)),f=g+1;continue}if(I==="/"){d=g;continue}}I==="["?l++:I==="]"?l--:I==="("?s++:I===")"&&s--}let m=u.length===0?r:r.slice(f),C=m,x=!1;m.endsWith(Qe)?(C=m.slice(0,-1),x=!0):m.startsWith(Qe)&&(C=m.slice(1),x=!0);let S=d&&d>f?d-f:void 0;return Za(u,x,C,S)};if(a){let r=a+ja,u=o;o=l=>l.startsWith(r)?u(l.slice(r.length)):Za(Bo,!1,l,void 0,!0)}if(t){let r=o;o=u=>t({className:u,parseClassName:r})}return o},To=e=>{let a=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{a.set(t,1e6+o)}),t=>{let o=[],r=[];for(let u=0;u<t.length;u++){let l=t[u],s=l[0]==="[",f=a.has(l);s||f?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(l)):r.push(l)}return r.length>0&&(r.sort(),o.push(...r)),o}},qo=e=>({cache:Fo(e.cacheSize),parseClassName:Do(e),sortModifiers:To(e),postfixLookupClassGroupIds:Oo(e),...wo(e)}),Oo=e=>{let a=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let o=0;o<t.length;o++)a[t[o]]=!0;return a},Uo=/\s+/,Eo=(e,a)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:u,postfixLookupClassGroupIds:l}=a,s=[],f=e.trim().split(Uo),d="";for(let n=f.length-1;n>=0;n-=1){let m=f[n],{isExternal:C,modifiers:x,hasImportantModifier:S,baseClassName:g,maybePostfixModifierPosition:I}=t(m);if(C){d=m+(d.length>0?" "+d:d);continue}let w=!!I,b;if(w){let U=g.substring(0,I);b=o(U);let i=b&&l[b]?o(g):void 0;i&&i!==b&&(b=i,w=!1)}else b=o(g);if(!b){if(!w){d=m+(d.length>0?" "+d:d);continue}if(b=o(g),!b){d=m+(d.length>0?" "+d:d);continue}w=!1}let k=x.length===0?"":x.length===1?x[0]:u(x).join(":"),P=S?k+Qe:k,B=P+b;if(s.indexOf(B)>-1)continue;s.push(B);let D=r(b,w);for(let U=0;U<D.length;++U){let i=D[U];s.push(P+i)}d=m+(d.length>0?" "+d:d)}return d},Ho=(...e)=>{let a=0,t,o,r="";for(;a<e.length;)(t=e[a++])&&(o=tt(t))&&(r&&(r+=" "),r+=o);return r},tt=e=>{if(typeof e=="string")return e;let a,t="";for(let o=0;o<e.length;o++)e[o]&&(a=tt(e[o]))&&(t&&(t+=" "),t+=a);return t},Go=(e,...a)=>{let t,o,r,u,l=f=>{let d=a.reduce((n,m)=>m(n),e());return t=qo(d),o=t.cache.get,r=t.cache.set,u=s,s(f)},s=f=>{let d=o(f);if(d)return d;let n=Eo(f,t);return r(f,n),n};return u=l,(...f)=>u(Ho(...f))},zo=[],A=e=>{let a=t=>t[e]||zo;return a.isThemeGetter=!0,a},ot=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,rt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,No=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Vo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Wo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,_o=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Xo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ko=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Y=e=>No.test(e),h=e=>!!e&&!Number.isNaN(Number(e)),_=e=>!!e&&Number.isInteger(Number(e)),$e=e=>e.endsWith("%")&&h(e.slice(0,-1)),Z=e=>Vo.test(e),lt=()=>!0,jo=e=>Wo.test(e)&&!_o.test(e),ea=()=>!1,Zo=e=>Xo.test(e),Jo=e=>Ko.test(e),$o=e=>!c(e)&&!p(e),Qo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Yo=e=>ee(e,dt,ea),c=e=>ot.test(e),oe=e=>ee(e,ft,jo),Ja=e=>ee(e,sr,h),er=e=>ee(e,nt,lt),ar=e=>ee(e,it,ea),$a=e=>ee(e,ut,ea),tr=e=>ee(e,st,Jo),Be=e=>ee(e,ct,Zo),p=e=>rt.test(e),pe=e=>re(e,ft),or=e=>re(e,it),Qa=e=>re(e,ut),rr=e=>re(e,dt),lr=e=>re(e,st),De=e=>re(e,ct,!0),ur=e=>re(e,nt,!0),ee=(e,a,t)=>{let o=ot.exec(e);return o?o[1]?a(o[1]):t(o[2]):!1},re=(e,a,t=!1)=>{let o=rt.exec(e);return o?o[1]?a(o[1]):t:!1},ut=e=>e==="position"||e==="percentage",st=e=>e==="image"||e==="url",dt=e=>e==="length"||e==="size"||e==="bg-size",ft=e=>e==="length",sr=e=>e==="number",it=e=>e==="family-name",nt=e=>e==="number"||e==="weight",ct=e=>e==="shadow";var dr=()=>{let e=A("color"),a=A("font"),t=A("text"),o=A("font-weight"),r=A("tracking"),u=A("leading"),l=A("breakpoint"),s=A("container"),f=A("spacing"),d=A("radius"),n=A("shadow"),m=A("inset-shadow"),C=A("text-shadow"),x=A("drop-shadow"),S=A("blur"),g=A("perspective"),I=A("aspect"),w=A("ease"),b=A("animate"),k=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...P(),p,c],D=()=>["auto","hidden","clip","visible","scroll"],U=()=>["auto","contain","none"],i=()=>[p,c,f],T=()=>[Y,"full","auto",...i()],fe=()=>[_,"none","subgrid",p,c],le=()=>["auto",{span:["full",_,p,c]},_,p,c],ue=()=>[_,"auto",p,c],me=()=>["auto","min","max","fr",p,c],Le=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],J=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...i()],ae=()=>[Y,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],Oe=()=>[Y,"screen","full","dvw","lvw","svw","min","max","fit",...i()],Ue=()=>[Y,"screen","full","lh","dvh","lvh","svh","min","max","fit",...i()],L=()=>[e,p,c],ta=()=>[...P(),Qa,$a,{position:[p,c]}],oa=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ra=()=>["auto","cover","contain",rr,Yo,{size:[p,c]}],Ee=()=>[$e,pe,oe],q=()=>["","none","full",d,p,c],O=()=>["",h,pe,oe],Ie=()=>["solid","dashed","dotted","double"],la=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],y=()=>[h,$e,Qa,$a],ua=()=>["","none",S,p,c],xe=()=>["none",h,p,c],Ce=()=>["none",h,p,c],He=()=>[h,p,c],he=()=>[Y,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Z],breakpoint:[Z],color:[lt],container:[Z],"drop-shadow":[Z],ease:["in","out","in-out"],font:[$o],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Z],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Z],shadow:[Z],spacing:["px",h],text:[Z],"text-shadow":[Z],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Y,c,p,I]}],container:["container"],"container-type":[{"@container":["","normal","size",p,c]}],"container-named":[Qo],columns:[{columns:[h,c,p,s]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:B()}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:U()}],"overscroll-x":[{"overscroll-x":U()}],"overscroll-y":[{"overscroll-y":U()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:["visible","invisible","collapse"],z:[{z:[_,"auto",p,c]}],basis:[{basis:[Y,"full","auto",s,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[h,Y,"auto","initial","none",c]}],grow:[{grow:["",h,p,c]}],shrink:[{shrink:["",h,p,c]}],order:[{order:[_,"first","last","none",p,c]}],"grid-cols":[{"grid-cols":fe()}],"col-start-end":[{col:le()}],"col-start":[{"col-start":ue()}],"col-end":[{"col-end":ue()}],"grid-rows":[{"grid-rows":fe()}],"row-start-end":[{row:le()}],"row-start":[{"row-start":ue()}],"row-end":[{"row-end":ue()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":me()}],"auto-rows":[{"auto-rows":me()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...Le(),"normal"]}],"justify-items":[{"justify-items":[...J(),"normal"]}],"justify-self":[{"justify-self":["auto",...J()]}],"align-content":[{content:["normal",...Le()]}],"align-items":[{items:[...J(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...J(),{baseline:["","last"]}]}],"place-content":[{"place-content":Le()}],"place-items":[{"place-items":[...J(),"baseline"]}],"place-self":[{"place-self":["auto",...J()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pbs:[{pbs:i()}],pbe:[{pbe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mbs:[{mbs:R()}],mbe:[{mbe:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:ae()}],"inline-size":[{inline:["auto",...Oe()]}],"min-inline-size":[{"min-inline":["auto",...Oe()]}],"max-inline-size":[{"max-inline":["none",...Oe()]}],"block-size":[{block:["auto",...Ue()]}],"min-block-size":[{"min-block":["auto",...Ue()]}],"max-block-size":[{"max-block":["none",...Ue()]}],w:[{w:[s,"screen",...ae()]}],"min-w":[{"min-w":[s,"screen","none",...ae()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[l]},...ae()]}],h:[{h:["screen","lh",...ae()]}],"min-h":[{"min-h":["screen","lh","none",...ae()]}],"max-h":[{"max-h":["screen","lh",...ae()]}],"font-size":[{text:["base",t,pe,oe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,ur,er]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",$e,c]}],"font-family":[{font:[or,ar,a]}],"font-features":[{"font-features":[c]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,p,c]}],"line-clamp":[{"line-clamp":[h,"none",p,Ja]}],leading:[{leading:[u,...i()]}],"list-image":[{"list-image":["none",p,c]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",p,c]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ie(),"wavy"]}],"text-decoration-thickness":[{decoration:[h,"from-font","auto",p,oe]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[h,"auto",p,c]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"tab-size":[{tab:[_,p,c]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",p,c]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",p,c]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ta()}],"bg-repeat":[{bg:oa()}],"bg-size":[{bg:ra()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_,p,c],radial:["",p,c],conic:[_,p,c]},lr,tr]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:q()}],"rounded-s":[{"rounded-s":q()}],"rounded-e":[{"rounded-e":q()}],"rounded-t":[{"rounded-t":q()}],"rounded-r":[{"rounded-r":q()}],"rounded-b":[{"rounded-b":q()}],"rounded-l":[{"rounded-l":q()}],"rounded-ss":[{"rounded-ss":q()}],"rounded-se":[{"rounded-se":q()}],"rounded-ee":[{"rounded-ee":q()}],"rounded-es":[{"rounded-es":q()}],"rounded-tl":[{"rounded-tl":q()}],"rounded-tr":[{"rounded-tr":q()}],"rounded-br":[{"rounded-br":q()}],"rounded-bl":[{"rounded-bl":q()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-bs":[{"border-bs":O()}],"border-w-be":[{"border-be":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ie(),"hidden","none"]}],"divide-style":[{divide:[...Ie(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-bs":[{"border-bs":L()}],"border-color-be":[{"border-be":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...Ie(),"none","hidden"]}],"outline-offset":[{"outline-offset":[h,p,c]}],"outline-w":[{outline:["",h,pe,oe]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",n,De,Be]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",m,De,Be]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[h,oe]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",C,De,Be]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[h,p,c]}],"mix-blend":[{"mix-blend":[...la(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":la()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[h]}],"mask-image-linear-from-pos":[{"mask-linear-from":y()}],"mask-image-linear-to-pos":[{"mask-linear-to":y()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":y()}],"mask-image-t-to-pos":[{"mask-t-to":y()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":y()}],"mask-image-r-to-pos":[{"mask-r-to":y()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":y()}],"mask-image-b-to-pos":[{"mask-b-to":y()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":y()}],"mask-image-l-to-pos":[{"mask-l-to":y()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":y()}],"mask-image-x-to-pos":[{"mask-x-to":y()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":y()}],"mask-image-y-to-pos":[{"mask-y-to":y()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[p,c]}],"mask-image-radial-from-pos":[{"mask-radial-from":y()}],"mask-image-radial-to-pos":[{"mask-radial-to":y()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[h]}],"mask-image-conic-from-pos":[{"mask-conic-from":y()}],"mask-image-conic-to-pos":[{"mask-conic-to":y()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ta()}],"mask-repeat":[{mask:oa()}],"mask-size":[{mask:ra()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",p,c]}],filter:[{filter:["","none",p,c]}],blur:[{blur:ua()}],brightness:[{brightness:[h,p,c]}],contrast:[{contrast:[h,p,c]}],"drop-shadow":[{"drop-shadow":["","none",x,De,Be]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",h,p,c]}],"hue-rotate":[{"hue-rotate":[h,p,c]}],invert:[{invert:["",h,p,c]}],saturate:[{saturate:[h,p,c]}],sepia:[{sepia:["",h,p,c]}],"backdrop-filter":[{"backdrop-filter":["","none",p,c]}],"backdrop-blur":[{"backdrop-blur":ua()}],"backdrop-brightness":[{"backdrop-brightness":[h,p,c]}],"backdrop-contrast":[{"backdrop-contrast":[h,p,c]}],"backdrop-grayscale":[{"backdrop-grayscale":["",h,p,c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[h,p,c]}],"backdrop-invert":[{"backdrop-invert":["",h,p,c]}],"backdrop-opacity":[{"backdrop-opacity":[h,p,c]}],"backdrop-saturate":[{"backdrop-saturate":[h,p,c]}],"backdrop-sepia":[{"backdrop-sepia":["",h,p,c]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",p,c]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[h,"initial",p,c]}],ease:[{ease:["linear","initial",w,p,c]}],delay:[{delay:[h,p,c]}],animate:[{animate:["none",b,p,c]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,p,c]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:xe()}],"rotate-x":[{"rotate-x":xe()}],"rotate-y":[{"rotate-y":xe()}],"rotate-z":[{"rotate-z":xe()}],scale:[{scale:Ce()}],"scale-x":[{"scale-x":Ce()}],"scale-y":[{"scale-y":Ce()}],"scale-z":[{"scale-z":Ce()}],"scale-3d":["scale-3d"],skew:[{skew:He()}],"skew-x":[{"skew-x":He()}],"skew-y":[{"skew-y":He()}],transform:[{transform:[p,c,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:he()}],"translate-x":[{"translate-x":he()}],"translate-y":[{"translate-y":he()}],"translate-z":[{"translate-z":he()}],"translate-none":["translate-none"],zoom:[{zoom:[_,p,c]}],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",p,c]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":L()}],"scrollbar-track-color":[{"scrollbar-track":L()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mbs":[{"scroll-mbs":i()}],"scroll-mbe":[{"scroll-mbe":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pbs":[{"scroll-pbs":i()}],"scroll-pbe":[{"scroll-pbe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",p,c]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[h,pe,oe,Ja]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var pt=Go(dr);function aa(...e){return pt(Xa(e))}import{jsx as qe}from"react/jsx-runtime";function Ul({className:e,...a}){return qe(de.Root,{"data-slot":"radio-group",className:aa("grid gap-3",e),...a})}function El({className:e,...a}){return qe(de.Item,{"data-slot":"radio-group-item",className:aa("aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40",e),...a,children:qe(de.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:qe(ie,{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-primary"})})})}export{Ul as RadioGroup,El as RadioGroupItem};
|
| 2 |
+
/*! Bundled license information:
|
| 3 |
+
|
| 4 |
+
lucide-react/dist/esm/shared/src/utils.js:
|
| 5 |
+
(**
|
| 6 |
+
* @license lucide-react v0.456.0 - ISC
|
| 7 |
+
*
|
| 8 |
+
* This source code is licensed under the ISC license.
|
| 9 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 10 |
+
*)
|
| 11 |
+
|
| 12 |
+
lucide-react/dist/esm/defaultAttributes.js:
|
| 13 |
+
(**
|
| 14 |
+
* @license lucide-react v0.456.0 - ISC
|
| 15 |
+
*
|
| 16 |
+
* This source code is licensed under the ISC license.
|
| 17 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 18 |
+
*)
|
| 19 |
+
|
| 20 |
+
lucide-react/dist/esm/Icon.js:
|
| 21 |
+
(**
|
| 22 |
+
* @license lucide-react v0.456.0 - ISC
|
| 23 |
+
*
|
| 24 |
+
* This source code is licensed under the ISC license.
|
| 25 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 26 |
+
*)
|
| 27 |
+
|
| 28 |
+
lucide-react/dist/esm/createLucideIcon.js:
|
| 29 |
+
(**
|
| 30 |
+
* @license lucide-react v0.456.0 - ISC
|
| 31 |
+
*
|
| 32 |
+
* This source code is licensed under the ISC license.
|
| 33 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 34 |
+
*)
|
| 35 |
+
|
| 36 |
+
lucide-react/dist/esm/icons/circle.js:
|
| 37 |
+
(**
|
| 38 |
+
* @license lucide-react v0.456.0 - ISC
|
| 39 |
+
*
|
| 40 |
+
* This source code is licensed under the ISC license.
|
| 41 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 42 |
+
*)
|
| 43 |
+
|
| 44 |
+
lucide-react/dist/esm/lucide-react.js:
|
| 45 |
+
(**
|
| 46 |
+
* @license lucide-react v0.456.0 - ISC
|
| 47 |
+
*
|
| 48 |
+
* This source code is licensed under the ISC license.
|
| 49 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 50 |
+
*)
|
| 51 |
+
*/
|
b/92cd66128f2e3ab1e08941d183b8b57a549552b8f0f76ace6b01ae22cefd808d
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client"
|
| 2 |
+
|
| 3 |
+
import TextareaAutosize from "react-textarea-autosize"
|
| 4 |
+
|
| 5 |
+
import {
|
| 6 |
+
InputGroup,
|
| 7 |
+
InputGroupAddon,
|
| 8 |
+
InputGroupButton,
|
| 9 |
+
} from "@/registry/new-york-v4/ui/input-group"
|
| 10 |
+
|
| 11 |
+
export default function InputGroupCustom() {
|
| 12 |
+
return (
|
| 13 |
+
<div className="grid w-full max-w-sm gap-6">
|
| 14 |
+
<InputGroup>
|
| 15 |
+
<TextareaAutosize
|
| 16 |
+
data-slot="input-group-control"
|
| 17 |
+
className="flex field-sizing-content min-h-16 w-full resize-none rounded-md bg-transparent px-3 py-2.5 text-base transition-[color,box-shadow] outline-none md:text-sm"
|
| 18 |
+
placeholder="Autoresize textarea..."
|
| 19 |
+
/>
|
| 20 |
+
<InputGroupAddon align="block-end">
|
| 21 |
+
<InputGroupButton className="ml-auto" size="sm" variant="default">
|
| 22 |
+
Submit
|
| 23 |
+
</InputGroupButton>
|
| 24 |
+
</InputGroupAddon>
|
| 25 |
+
</InputGroup>
|
| 26 |
+
</div>
|
| 27 |
+
)
|
| 28 |
+
}
|
b/93117462d9154a8797b42c13dbdbe7776781282c72986dfab9cb143511e457f0
ADDED
|
@@ -0,0 +1,294 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// GGUF Forge — Tier-A integer-dot matmul oracle (float32-EXACT).
|
| 2 |
+
//
|
| 3 |
+
// This is ggml's ACTUAL quantized matmul path, distinct from dequant-then-float-
|
| 4 |
+
// GEMV: F32 activations are quantized to Q8_K, then a weight row (Q4_K/Q6_K) is
|
| 5 |
+
// dotted against it with INTEGER products (exact) and only the final scale in
|
| 6 |
+
// float32. Reproducing this — not a dequantized float dot — is what makes logits
|
| 7 |
+
// bit-exact to llama.cpp.
|
| 8 |
+
//
|
| 9 |
+
// Transcribed from qvac-fabric-llm.cpp (llama.cpp b7248):
|
| 10 |
+
// ggml/src/ggml-quants.c quantize_row_q8_K_ref (:3357), nearest_int (:559)
|
| 11 |
+
// ggml/src/ggml-cpu/quants.c ggml_vec_dot_q4_K_q8_K_generic (:1098)
|
| 12 |
+
// ggml_vec_dot_q6_K_q8_K_generic (:1253)
|
| 13 |
+
|
| 14 |
+
import { f16ToF32 } from "../qvac-ingest.mjs";
|
| 15 |
+
|
| 16 |
+
const fr = Math.fround;
|
| 17 |
+
const QK_K = 256;
|
| 18 |
+
|
| 19 |
+
// nearest_int (ggml-quants.c:559): the add-magic-constant round-to-nearest-even trick.
|
| 20 |
+
const _f32 = new Float32Array(1), _i32 = new Int32Array(_f32.buffer);
|
| 21 |
+
export function nearestInt(fval) {
|
| 22 |
+
_f32[0] = fr(fval + 12582912.0); // 1.5 * 2^23
|
| 23 |
+
const i = _i32[0];
|
| 24 |
+
return (i & 0x007fffff) - 0x00400000;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
// quantize_row_q8_K_ref (ggml-quants.c:3357). x: Float32Array (k elements, k%256==0).
|
| 28 |
+
// Returns the Q8_K block fields the dot consumes.
|
| 29 |
+
export function quantizeRowQ8K(x, k = x.length) {
|
| 30 |
+
const nb = k / QK_K;
|
| 31 |
+
const d = new Float32Array(nb), qs = new Int8Array(k), bsums = new Int16Array(nb * 16);
|
| 32 |
+
for (let i = 0; i < nb; i++) {
|
| 33 |
+
const base = i * QK_K;
|
| 34 |
+
let amax = 0, max = 0;
|
| 35 |
+
for (let j = 0; j < QK_K; ++j) { const ax = Math.abs(x[base + j]); if (ax > amax) { amax = ax; max = x[base + j]; } }
|
| 36 |
+
if (amax === 0) { d[i] = 0; continue; } // qs already zero
|
| 37 |
+
const iscale = fr(-127.0 / max);
|
| 38 |
+
for (let j = 0; j < QK_K; ++j) {
|
| 39 |
+
const v = nearestInt(fr(iscale * x[base + j]));
|
| 40 |
+
qs[base + j] = Math.min(127, v); // note: ggml clamps only the +side
|
| 41 |
+
}
|
| 42 |
+
for (let j = 0; j < 16; ++j) {
|
| 43 |
+
let sum = 0;
|
| 44 |
+
for (let ii = 0; ii < 16; ++ii) sum += qs[base + j * 16 + ii];
|
| 45 |
+
bsums[i * 16 + j] = sum;
|
| 46 |
+
}
|
| 47 |
+
d[i] = fr(1.0 / iscale);
|
| 48 |
+
}
|
| 49 |
+
return { d, qs, bsums };
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
// ── Q8_0-activation path (Q4_0/Q5_0/Q8_0 weights dot against a Q8_0-quantized
|
| 53 |
+
// activation, vec_dot_type = Q8_0). ──
|
| 54 |
+
|
| 55 |
+
const roundAway = (x) => x >= 0 ? Math.floor(x + 0.5) : Math.ceil(x - 0.5); // roundf
|
| 56 |
+
// f32 -> f16 bits, round-to-nearest-even (matches GGML_FP32_TO_FP16 software path).
|
| 57 |
+
const _f = new Float32Array(1), _u = new Uint32Array(_f.buffer);
|
| 58 |
+
export function f32ToF16(val) {
|
| 59 |
+
_f[0] = val; const x = _u[0];
|
| 60 |
+
const sign = (x >>> 16) & 0x8000;
|
| 61 |
+
let exp = (x >>> 23) & 0xff, mant = x & 0x7fffff;
|
| 62 |
+
if (exp === 0xff) return sign | (mant ? 0x7e00 : 0x7c00);
|
| 63 |
+
exp = exp - 127 + 15;
|
| 64 |
+
if (exp >= 0x1f) return sign | 0x7c00;
|
| 65 |
+
if (exp <= 0) {
|
| 66 |
+
if (exp < -10) return sign;
|
| 67 |
+
mant |= 0x800000;
|
| 68 |
+
const shift = 14 - exp, h = mant >> shift, rem = mant & ((1 << shift) - 1), half = 1 << (shift - 1);
|
| 69 |
+
return sign | (h + ((rem > half || (rem === half && (h & 1))) ? 1 : 0));
|
| 70 |
+
}
|
| 71 |
+
const h = (exp << 10) | (mant >> 13), rem = mant & 0x1fff;
|
| 72 |
+
return sign | (h + ((rem > 0x1000 || (rem === 0x1000 && (h & 1))) ? 1 : 0));
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
// quantize_row_q8_0_ref (ggml-quants.c:234). Returns {d: f16-roundtripped scale per
|
| 76 |
+
// block, qs: int8 quants}. qs uses the FULL-precision id; d is the stored fp16 value.
|
| 77 |
+
export function quantizeRowQ8_0(x, k = x.length) {
|
| 78 |
+
const nb = k / 32, d = new Float32Array(nb), qs = new Int8Array(k);
|
| 79 |
+
for (let i = 0; i < nb; i++) {
|
| 80 |
+
const base = i * 32;
|
| 81 |
+
let amax = 0; for (let j = 0; j < 32; j++) { const a = Math.abs(x[base + j]); if (a > amax) amax = a; }
|
| 82 |
+
const dFull = fr(amax / 127), id = dFull ? fr(1.0 / dFull) : 0;
|
| 83 |
+
d[i] = f16ToF32(f32ToF16(dFull));
|
| 84 |
+
for (let j = 0; j < 32; j++) qs[base + j] = roundAway(fr(x[base + j] * id));
|
| 85 |
+
}
|
| 86 |
+
return { d, qs };
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
+
// vec_dot_q8_0_q8_0_generic (quants.c:740)
|
| 90 |
+
export function vecDotQ8_0(nb, q8w, q8a, wOff = 0, aBlk = 0) {
|
| 91 |
+
const dv = new DataView(q8w.buffer, q8w.byteOffset, q8w.byteLength);
|
| 92 |
+
let sumf = 0;
|
| 93 |
+
for (let ib = 0; ib < nb; ib++) {
|
| 94 |
+
const bp = wOff + ib * 34, qb = bp + 2, ab = (aBlk + ib) * 32;
|
| 95 |
+
let sumi = 0; for (let j = 0; j < 32; j++) sumi += ((q8w[qb + j] << 24) >> 24) * q8a.qs[ab + j];
|
| 96 |
+
sumf = fr(sumf + fr(fr(f16ToF32(dv.getUint16(bp, true)) * q8a.d[aBlk + ib]) * sumi));
|
| 97 |
+
}
|
| 98 |
+
return sumf;
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
// vec_dot_q5_0_q8_0_generic (quants.c:654)
|
| 102 |
+
export function vecDotQ5_0(nb, q5w, q8a, wOff = 0, aBlk = 0) {
|
| 103 |
+
const dv = new DataView(q5w.buffer, q5w.byteOffset, q5w.byteLength);
|
| 104 |
+
let sumf = 0;
|
| 105 |
+
for (let ib = 0; ib < nb; ib++) {
|
| 106 |
+
const bp = wOff + ib * 22, qs = bp + 6, ab = (aBlk + ib) * 32;
|
| 107 |
+
const qh = dv.getUint32(bp + 2, true);
|
| 108 |
+
let s0 = 0, s1 = 0;
|
| 109 |
+
for (let j = 0; j < 16; j++) {
|
| 110 |
+
const xh0 = ((qh & (1 << j)) >>> j) << 4;
|
| 111 |
+
const xh1 = (qh & (1 << (j + 16))) >>> (j + 12);
|
| 112 |
+
const x0 = (((q5w[qs + j] & 0x0f) | xh0) - 16) << 24 >> 24;
|
| 113 |
+
const x1 = (((q5w[qs + j] >> 4) | xh1) - 16) << 24 >> 24;
|
| 114 |
+
s0 += x0 * q8a.qs[ab + j]; s1 += x1 * q8a.qs[ab + j + 16];
|
| 115 |
+
}
|
| 116 |
+
sumf = fr(sumf + fr(fr(f16ToF32(dv.getUint16(bp, true)) * q8a.d[aBlk + ib]) * (s0 + s1)));
|
| 117 |
+
}
|
| 118 |
+
return sumf;
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
// vec_dot_q4_0_q8_0_generic (quants.c:514)
|
| 122 |
+
export function vecDotQ4_0(nb, q4w, q8a, wOff = 0, aBlk = 0) {
|
| 123 |
+
const dv = new DataView(q4w.buffer, q4w.byteOffset, q4w.byteLength);
|
| 124 |
+
let sumf = 0;
|
| 125 |
+
for (let ib = 0; ib < nb; ib++) {
|
| 126 |
+
const bp = wOff + ib * 18, qs = bp + 2, ab = (aBlk + ib) * 32;
|
| 127 |
+
let s0 = 0, s1 = 0;
|
| 128 |
+
for (let j = 0; j < 16; j++) { s0 += ((q4w[qs + j] & 0x0f) - 8) * q8a.qs[ab + j]; s1 += ((q4w[qs + j] >> 4) - 8) * q8a.qs[ab + j + 16]; }
|
| 129 |
+
sumf = fr(sumf + fr(fr(f16ToF32(dv.getUint16(bp, true)) * q8a.d[aBlk + ib]) * (s0 + s1)));
|
| 130 |
+
}
|
| 131 |
+
return sumf;
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
// 65536-entry f16→f32 LUT (== f16ToF32, branch-free). Every f16 is exactly representable
|
| 135 |
+
// in f32, so lut[h] is the exact decoded weight element.
|
| 136 |
+
let _f16lut = null;
|
| 137 |
+
function f16Lut() {
|
| 138 |
+
if (_f16lut) return _f16lut;
|
| 139 |
+
const t = new Float32Array(65536);
|
| 140 |
+
for (let h = 0; h < 65536; h++) t[h] = f16ToF32(h);
|
| 141 |
+
return (_f16lut = t);
|
| 142 |
+
}
|
| 143 |
+
// ggml_fp32_to_fp16_row: round an f32 activation row to the f16 grid (the from_float for
|
| 144 |
+
// vec_dot_type=GGML_TYPE_F16). Returns a Float32Array of the f16-rounded values; compute
|
| 145 |
+
// ONCE per matvec and share across all output rows (exec.mjs F16 case does this).
|
| 146 |
+
export function f16Row(x, K = x.length) {
|
| 147 |
+
const out = new Float32Array(K), lut = f16Lut();
|
| 148 |
+
for (let i = 0; i < K; i++) out[i] = lut[f32ToF16(x[i])];
|
| 149 |
+
return out;
|
| 150 |
+
}
|
| 151 |
+
|
| 152 |
+
// F16 weight · F16 activation, BIT-EXACT to ggml's ggml_vec_dot_f16 (vec.cpp:264) — and,
|
| 153 |
+
// for f16 operands, to BOTH x86 CPU tiers at once:
|
| 154 |
+
// • SSE3 (forge-ref's build: GGML_FMA/F16C/AVX OFF, SSE42 ON; simd-mappings.h:887):
|
| 155 |
+
// GGML_F16_STEP=32, EPR=4, ARR=8; FMA macro'd to add(mul(b,c),a) → two f32 roundings.
|
| 156 |
+
// • AVX/AVX2 (+F16C+FMA; simd-mappings.h:568/622/583): STEP=32, EPR=8, ARR=4;
|
| 157 |
+
// _mm256_fmadd_ps → one fused rounding.
|
| 158 |
+
// These two produce IDENTICAL bits for f16·f16: (1) STEP=32 in both ⇒ the 32 position-in-
|
| 159 |
+
// block accumulators sum element i+p across blocks in the same order, and their reduce
|
| 160 |
+
// folds to the same tree (16→8→4 then two horizontal adds); (2) each product is exact in
|
| 161 |
+
// f32 — an f16 has an ≤11-bit significand, so w·x has ≤22 bits ≤ f32's 24 — hence the
|
| 162 |
+
// intermediate rounding in SSE3's two-step FMA is a no-op and equals AVX's fused FMA.
|
| 163 |
+
// Proven empirically below + by witness vs vecdot-ref.exe (SSE3) AND vecdot-ref-avx2.exe.
|
| 164 |
+
// NOT covered: AVX512F (STEP=64 ⇒ different reduce tree) and AVX512-FP16 (native f16
|
| 165 |
+
// accumulate) — neither is forge-ref; if a build ever uses them this needs its own model.
|
| 166 |
+
// `dv` is a DataView over the weight bytes, `wOff` the byte offset of the row; `xh` is the
|
| 167 |
+
// f16-rounded activation from f16Row().
|
| 168 |
+
export function vecDotF16(dv, K, xh, wOff = 0) {
|
| 169 |
+
const lut = f16Lut();
|
| 170 |
+
const np = K & ~31; // largest multiple of GGML_F16_STEP (32)
|
| 171 |
+
const acc = new Float32Array(32); // 32 position-in-block accumulators
|
| 172 |
+
for (let i = 0; i < np; i += 32)
|
| 173 |
+
for (let p = 0; p < 32; p++) { const idx = i + p; acc[p] = fr(acc[p] + fr(lut[dv.getUint16(wOff + idx * 2, true)] * xh[idx])); }
|
| 174 |
+
// reduce: fold 16→8→4 lane-wise (f32), then two horizontal adds (identical across tiers)
|
| 175 |
+
for (let p = 0; p < 16; p++) acc[p] = fr(acc[p] + acc[p + 16]);
|
| 176 |
+
for (let p = 0; p < 8; p++) acc[p] = fr(acc[p] + acc[p + 8]);
|
| 177 |
+
for (let p = 0; p < 4; p++) acc[p] = fr(acc[p] + acc[p + 4]);
|
| 178 |
+
const h0 = fr(acc[0] + acc[1]), h1 = fr(acc[2] + acc[3]);
|
| 179 |
+
let sumf = fr(h0 + h1); // f32 horizontal sum → promoted to double
|
| 180 |
+
for (let i = np; i < K; i++) sumf += fr(lut[dv.getUint16(wOff + i * 2, true)] * xh[i]); // tail in double
|
| 181 |
+
return fr(sumf); // *s = (float) sumf
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
// ggml_vec_dot_tq2_0_q8_K_generic (quants.c:851). BitNet ternary weight (block_tq2_0:
|
| 185 |
+
// qs[QK_K/4]=64 bytes of 2-bit codes, f16 d at offset 64; 66 B/256 elems) dotted against
|
| 186 |
+
// a Q8_K-quantized activation. Each code is {0,1,2} → ternary value (code-1) ∈ {-1,0,1};
|
| 187 |
+
// the dot is a pure integer sum, scaled once per block by y.d·f16(x.d).
|
| 188 |
+
export function vecDotTq2_0(nb, qw, q8k, wOff = 0, q8kBlk = 0) {
|
| 189 |
+
const dv = new DataView(qw.buffer, qw.byteOffset, qw.byteLength);
|
| 190 |
+
let sumf = 0;
|
| 191 |
+
for (let i = 0; i < nb; ++i) {
|
| 192 |
+
const bp = wOff + i * 66, q8 = q8k.qs, q8base = (q8kBlk + i) * QK_K;
|
| 193 |
+
let sumi = 0;
|
| 194 |
+
for (let j = 0; j < 64; j += 32)
|
| 195 |
+
for (let l = 0; l < 4; ++l)
|
| 196 |
+
for (let k = 0; k < 32; ++k)
|
| 197 |
+
sumi += q8[q8base + j * 4 + l * 32 + k] * ((((qw[bp + j + k] >> (l * 2)) & 3)) - 1);
|
| 198 |
+
const d = fr(q8k.d[q8kBlk + i] * f16ToF32(dv.getUint16(bp + 64, true)));
|
| 199 |
+
sumf = fr(sumf + fr(sumi * d));
|
| 200 |
+
}
|
| 201 |
+
return sumf;
|
| 202 |
+
}
|
| 203 |
+
|
| 204 |
+
const kmask1 = 0x3f3f3f3f, kmask2 = 0x0f0f0f0f, kmask3 = 0x03030303;
|
| 205 |
+
|
| 206 |
+
// ggml_vec_dot_q4_K_q8_K_generic (quants.c:1098). q4k: Uint8Array(nb*144). q8k: {d,qs,bsums}.
|
| 207 |
+
// Returns the float32 dot of `nb*256` weights against the activation block.
|
| 208 |
+
export function vecDotQ4K(nb, q4k, q8k, q4kOff = 0, q8kBlk = 0) {
|
| 209 |
+
const dv = new DataView(q4k.buffer, q4k.byteOffset, q4k.byteLength);
|
| 210 |
+
const aux8 = new Int8Array(QK_K), aux16 = new Int16Array(8), aux32 = new Int32Array(8);
|
| 211 |
+
const sums = new Float32Array(8);
|
| 212 |
+
const utmp = new Uint32Array(4), ubytes = new Uint8Array(utmp.buffer); // scales=ubytes[0..7], mins=ubytes[8..15]
|
| 213 |
+
let sumf = 0;
|
| 214 |
+
for (let i = 0; i < nb; ++i) {
|
| 215 |
+
const bp = q4kOff + i * 144;
|
| 216 |
+
const dW = f16ToF32(dv.getUint16(bp, true)), dminW = f16ToF32(dv.getUint16(bp + 2, true));
|
| 217 |
+
const scBase = bp + 4, q4Base = bp + 16;
|
| 218 |
+
// unpack nibbles into aux8 (low32 then high32 per 64-group) — raw 0..15
|
| 219 |
+
let a = 0, q4 = q4Base;
|
| 220 |
+
for (let j = 0; j < QK_K / 64; ++j) {
|
| 221 |
+
for (let l = 0; l < 32; ++l) aux8[a + l] = q4k[q4 + l] & 0x0f;
|
| 222 |
+
a += 32;
|
| 223 |
+
for (let l = 0; l < 32; ++l) aux8[a + l] = q4k[q4 + l] >> 4;
|
| 224 |
+
a += 32; q4 += 32;
|
| 225 |
+
}
|
| 226 |
+
// 6-bit scales/mins via the kmask trick (== get_scale_min_k4, vectorised)
|
| 227 |
+
utmp[0] = dv.getUint32(scBase, true); utmp[1] = dv.getUint32(scBase + 4, true); utmp[2] = dv.getUint32(scBase + 8, true);
|
| 228 |
+
utmp[3] = ((utmp[2] >>> 4) & kmask2) | (((utmp[1] >>> 6) & kmask3) << 4);
|
| 229 |
+
const uaux = utmp[1] & kmask1;
|
| 230 |
+
utmp[1] = (utmp[2] & kmask2) | (((utmp[0] >>> 6) & kmask3) << 4);
|
| 231 |
+
utmp[2] = uaux;
|
| 232 |
+
utmp[0] = utmp[0] & kmask1;
|
| 233 |
+
|
| 234 |
+
aux32.fill(0);
|
| 235 |
+
const q8 = q8k.qs, q8base = (q8kBlk + i) * QK_K, bs = q8k.bsums, bsBase = (q8kBlk + i) * 16;
|
| 236 |
+
let sumi = 0;
|
| 237 |
+
for (let j = 0; j < 16; ++j) sumi += bs[bsBase + j] * ubytes[8 + (j >> 1)]; // mins[j/2]
|
| 238 |
+
a = 0; let qi = q8base, is = 0;
|
| 239 |
+
for (let j = 0; j < QK_K / 32; ++j) {
|
| 240 |
+
const scale = ubytes[is++];
|
| 241 |
+
for (let g = 0; g < 4; ++g) {
|
| 242 |
+
for (let l = 0; l < 8; ++l) aux16[l] = q8[qi + l] * aux8[a + l];
|
| 243 |
+
for (let l = 0; l < 8; ++l) aux32[l] += scale * aux16[l];
|
| 244 |
+
qi += 8; a += 8;
|
| 245 |
+
}
|
| 246 |
+
}
|
| 247 |
+
const d = fr(fr(dW * q8k.d[q8kBlk + i]));
|
| 248 |
+
for (let l = 0; l < 8; ++l) sums[l] = fr(sums[l] + fr(d * aux32[l]));
|
| 249 |
+
const dmin = fr(dminW * q8k.d[q8kBlk + i]);
|
| 250 |
+
sumf = fr(sumf - fr(dmin * sumi));
|
| 251 |
+
}
|
| 252 |
+
for (let l = 0; l < 8; ++l) sumf = fr(sumf + sums[l]);
|
| 253 |
+
return sumf;
|
| 254 |
+
}
|
| 255 |
+
|
| 256 |
+
// ggml_vec_dot_q6_K_q8_K_generic (quants.c:1253). q6k: Uint8Array(nb*210).
|
| 257 |
+
export function vecDotQ6K(nb, q6k, q8k, q6kOff = 0, q8kBlk = 0) {
|
| 258 |
+
const dv = new DataView(q6k.buffer, q6k.byteOffset, q6k.byteLength);
|
| 259 |
+
const s8 = (b) => (b << 24) >> 24;
|
| 260 |
+
const aux8 = new Int8Array(QK_K), aux16 = new Int16Array(8), aux32 = new Int32Array(8);
|
| 261 |
+
const sums = new Float32Array(8);
|
| 262 |
+
let sumf = 0;
|
| 263 |
+
for (let i = 0; i < nb; ++i) {
|
| 264 |
+
const bp = q6kOff + i * 210;
|
| 265 |
+
const dW = f16ToF32(dv.getUint16(bp + 208, true));
|
| 266 |
+
let ql = bp, qh = bp + 128, sc = bp + 192;
|
| 267 |
+
// build aux8 (signed 6-bit q - 32)
|
| 268 |
+
let a = 0;
|
| 269 |
+
for (let j = 0; j < QK_K; j += 128) {
|
| 270 |
+
for (let l = 0; l < 32; ++l) {
|
| 271 |
+
aux8[a + l + 0] = s8((q6k[ql + l + 0] & 0x0f) | (((q6k[qh + l] >> 0) & 3) << 4)) - 32;
|
| 272 |
+
aux8[a + l + 32] = s8((q6k[ql + l + 32] & 0x0f) | (((q6k[qh + l] >> 2) & 3) << 4)) - 32;
|
| 273 |
+
aux8[a + l + 64] = s8((q6k[ql + l + 0] >> 4) | (((q6k[qh + l] >> 4) & 3) << 4)) - 32;
|
| 274 |
+
aux8[a + l + 96] = s8((q6k[ql + l + 32] >> 4) | (((q6k[qh + l] >> 6) & 3) << 4)) - 32;
|
| 275 |
+
}
|
| 276 |
+
a += 128; ql += 64; qh += 32;
|
| 277 |
+
}
|
| 278 |
+
aux32.fill(0);
|
| 279 |
+
const q8 = q8k.qs, q8base = (q8kBlk + i) * QK_K;
|
| 280 |
+
a = 0; let qi = q8base, is = 0;
|
| 281 |
+
for (let j = 0; j < QK_K / 16; ++j) {
|
| 282 |
+
const scale = s8(q6k[sc + is++]);
|
| 283 |
+
for (let g = 0; g < 2; ++g) {
|
| 284 |
+
for (let l = 0; l < 8; ++l) aux16[l] = q8[qi + l] * aux8[a + l];
|
| 285 |
+
for (let l = 0; l < 8; ++l) aux32[l] += scale * aux16[l];
|
| 286 |
+
qi += 8; a += 8;
|
| 287 |
+
}
|
| 288 |
+
}
|
| 289 |
+
const d = fr(dW * q8k.d[q8kBlk + i]);
|
| 290 |
+
for (let l = 0; l < 8; ++l) sums[l] = fr(sums[l] + fr(d * aux32[l]));
|
| 291 |
+
}
|
| 292 |
+
for (let l = 0; l < 8; ++l) sumf = fr(sumf + sums[l]);
|
| 293 |
+
return sumf;
|
| 294 |
+
}
|
b/93197ca13faf65288cdf2a1874676382cd1645277fcae91267999245f8ec266a
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import glass from './object.js';
|
| 2 |
+
import { addPrefix } from '../../functions/addPrefix.js';
|
| 3 |
+
|
| 4 |
+
export default ({ addUtilities, prefix = '' }) => {
|
| 5 |
+
const prefixedglass = addPrefix(glass, prefix);
|
| 6 |
+
addUtilities({ ...prefixedglass });
|
| 7 |
+
};
|
b/934737790b8b93ec493e0c1931bd95be87161d5affb8666d07ef62dd399d12b8
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
b/936a8e41b9b238a811e76a50716d4735a8ed018cd06e1028a9eba161555774aa
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "org.hologram.ui.daisyui.breadcrumbs",
|
| 3 |
+
"name": "daisyui-breadcrumbs",
|
| 4 |
+
"tier": "component",
|
| 5 |
+
"library": "daisyui",
|
| 6 |
+
"category": "Navigation",
|
| 7 |
+
"upstream": "https://cdn.jsdelivr.net/npm/daisyui@5.5.23/components/breadcrumbs.css",
|
| 8 |
+
"docs": "https://daisyui.com/components/breadcrumbs/",
|
| 9 |
+
"did": "did:holo:sha256:2acc50b30fc34f7b1abb01cc16ccfe32d7d390d0d33906f42a48db266ab22284",
|
| 10 |
+
"import": "holo://sha256:2acc50b30fc34f7b1abb01cc16ccfe32d7d390d0d33906f42a48db266ab22284",
|
| 11 |
+
"integrity": "sha256-KsxQsw/DT3sauwHMFsz+MtfTkNDTOQb0KkjbJmqyIoQ=",
|
| 12 |
+
"kappa": "sha256:2acc50b30fc34f7b1abb01cc16ccfe32d7d390d0d33906f42a48db266ab22284",
|
| 13 |
+
"moduleKappa": "sha256:2acc50b30fc34f7b1abb01cc16ccfe32d7d390d0d33906f42a48db266ab22284",
|
| 14 |
+
"renderExport": null,
|
| 15 |
+
"format": "css",
|
| 16 |
+
"source": "components/breadcrumbs.css",
|
| 17 |
+
"module": "vendor/daisyui/components/breadcrumbs.css",
|
| 18 |
+
"exports": [],
|
| 19 |
+
"bytes": 4677,
|
| 20 |
+
"provenance": {
|
| 21 |
+
"package": "daisyui",
|
| 22 |
+
"version": "5.5.23",
|
| 23 |
+
"integrity": "sha512-xuheNUSL4T6ZVtWXoioqcNkjoyGX85QTDz4HTw2aBPfqk4fuMjax5HDo8qCmpV6M1YN8bGvfx5BpYCoDeRlt+A==",
|
| 24 |
+
"file": "components/breadcrumbs.css"
|
| 25 |
+
},
|
| 26 |
+
"license": "MIT"
|
| 27 |
+
}
|
b/936e98eb8c4ee87523cc396502c2a5270fc2f17e2cc7c4a1bd35d8b7764f80a5
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* eslint-disable react/no-children-prop */
|
| 2 |
+
"use client"
|
| 3 |
+
|
| 4 |
+
import { useForm } from "@tanstack/react-form"
|
| 5 |
+
import { toast } from "sonner"
|
| 6 |
+
import * as z from "zod"
|
| 7 |
+
|
| 8 |
+
import { Button } from "@/registry/new-york-v4/ui/button"
|
| 9 |
+
import {
|
| 10 |
+
Card,
|
| 11 |
+
CardContent,
|
| 12 |
+
CardDescription,
|
| 13 |
+
CardFooter,
|
| 14 |
+
CardHeader,
|
| 15 |
+
CardTitle,
|
| 16 |
+
} from "@/registry/new-york-v4/ui/card"
|
| 17 |
+
import {
|
| 18 |
+
Field,
|
| 19 |
+
FieldDescription,
|
| 20 |
+
FieldError,
|
| 21 |
+
FieldGroup,
|
| 22 |
+
FieldLabel,
|
| 23 |
+
} from "@/registry/new-york-v4/ui/field"
|
| 24 |
+
import { Input } from "@/registry/new-york-v4/ui/input"
|
| 25 |
+
|
| 26 |
+
const formSchema = z.object({
|
| 27 |
+
username: z
|
| 28 |
+
.string()
|
| 29 |
+
.min(3, "Username must be at least 3 characters.")
|
| 30 |
+
.max(10, "Username must be at most 10 characters.")
|
| 31 |
+
.regex(
|
| 32 |
+
/^[a-zA-Z0-9_]+$/,
|
| 33 |
+
"Username can only contain letters, numbers, and underscores."
|
| 34 |
+
),
|
| 35 |
+
})
|
| 36 |
+
|
| 37 |
+
export default function FormTanstackInput() {
|
| 38 |
+
const form = useForm({
|
| 39 |
+
defaultValues: {
|
| 40 |
+
username: "",
|
| 41 |
+
},
|
| 42 |
+
validators: {
|
| 43 |
+
onSubmit: formSchema,
|
| 44 |
+
},
|
| 45 |
+
onSubmit: async ({ value }) => {
|
| 46 |
+
toast("You submitted the following values:", {
|
| 47 |
+
description: (
|
| 48 |
+
<pre className="mt-2 w-[320px] overflow-x-auto rounded-md bg-code p-4 text-code-foreground">
|
| 49 |
+
<code>{JSON.stringify(value, null, 2)}</code>
|
| 50 |
+
</pre>
|
| 51 |
+
),
|
| 52 |
+
position: "bottom-right",
|
| 53 |
+
classNames: {
|
| 54 |
+
content: "flex flex-col gap-2",
|
| 55 |
+
},
|
| 56 |
+
style: {
|
| 57 |
+
"--border-radius": "calc(var(--radius) + 4px)",
|
| 58 |
+
} as React.CSSProperties,
|
| 59 |
+
})
|
| 60 |
+
},
|
| 61 |
+
})
|
| 62 |
+
|
| 63 |
+
return (
|
| 64 |
+
<Card className="w-full sm:max-w-md">
|
| 65 |
+
<CardHeader>
|
| 66 |
+
<CardTitle>Profile Settings</CardTitle>
|
| 67 |
+
<CardDescription>
|
| 68 |
+
Update your profile information below.
|
| 69 |
+
</CardDescription>
|
| 70 |
+
</CardHeader>
|
| 71 |
+
<CardContent>
|
| 72 |
+
<form
|
| 73 |
+
id="form-tanstack-input"
|
| 74 |
+
onSubmit={(e) => {
|
| 75 |
+
e.preventDefault()
|
| 76 |
+
form.handleSubmit()
|
| 77 |
+
}}
|
| 78 |
+
>
|
| 79 |
+
<FieldGroup>
|
| 80 |
+
<form.Field
|
| 81 |
+
name="username"
|
| 82 |
+
children={(field) => {
|
| 83 |
+
const isInvalid =
|
| 84 |
+
field.state.meta.isTouched && !field.state.meta.isValid
|
| 85 |
+
return (
|
| 86 |
+
<Field data-invalid={isInvalid}>
|
| 87 |
+
<FieldLabel htmlFor="form-tanstack-input-username">
|
| 88 |
+
Username
|
| 89 |
+
</FieldLabel>
|
| 90 |
+
<Input
|
| 91 |
+
id="form-tanstack-input-username"
|
| 92 |
+
name={field.name}
|
| 93 |
+
value={field.state.value}
|
| 94 |
+
onBlur={field.handleBlur}
|
| 95 |
+
onChange={(e) => field.handleChange(e.target.value)}
|
| 96 |
+
aria-invalid={isInvalid}
|
| 97 |
+
placeholder="shadcn"
|
| 98 |
+
autoComplete="username"
|
| 99 |
+
/>
|
| 100 |
+
<FieldDescription>
|
| 101 |
+
This is your public display name. Must be between 3 and 10
|
| 102 |
+
characters. Must only contain letters, numbers, and
|
| 103 |
+
underscores.
|
| 104 |
+
</FieldDescription>
|
| 105 |
+
{isInvalid && (
|
| 106 |
+
<FieldError errors={field.state.meta.errors} />
|
| 107 |
+
)}
|
| 108 |
+
</Field>
|
| 109 |
+
)
|
| 110 |
+
}}
|
| 111 |
+
/>
|
| 112 |
+
</FieldGroup>
|
| 113 |
+
</form>
|
| 114 |
+
</CardContent>
|
| 115 |
+
<CardFooter>
|
| 116 |
+
<Field orientation="horizontal">
|
| 117 |
+
<Button type="button" variant="outline" onClick={() => form.reset()}>
|
| 118 |
+
Reset
|
| 119 |
+
</Button>
|
| 120 |
+
<Button type="submit" form="form-tanstack-input">
|
| 121 |
+
Save
|
| 122 |
+
</Button>
|
| 123 |
+
</Field>
|
| 124 |
+
</CardFooter>
|
| 125 |
+
</Card>
|
| 126 |
+
)
|
| 127 |
+
}
|
b/937322728e0fd41b2aaa9af477697e8b485fb137776cf55759193e1c872354ce
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { type ComponentPropsWithoutRef } from "react"
|
| 2 |
+
|
| 3 |
+
import { cn } from "@/lib/utils"
|
| 4 |
+
|
| 5 |
+
interface MarqueeProps extends ComponentPropsWithoutRef<"div"> {
|
| 6 |
+
/**
|
| 7 |
+
* Optional CSS class name to apply custom styles
|
| 8 |
+
*/
|
| 9 |
+
className?: string
|
| 10 |
+
/**
|
| 11 |
+
* Whether to reverse the animation direction
|
| 12 |
+
* @default false
|
| 13 |
+
*/
|
| 14 |
+
reverse?: boolean
|
| 15 |
+
/**
|
| 16 |
+
* Whether to pause the animation on hover
|
| 17 |
+
* @default false
|
| 18 |
+
*/
|
| 19 |
+
pauseOnHover?: boolean
|
| 20 |
+
/**
|
| 21 |
+
* Content to be displayed in the marquee
|
| 22 |
+
*/
|
| 23 |
+
children: React.ReactNode
|
| 24 |
+
/**
|
| 25 |
+
* Whether to animate vertically instead of horizontally
|
| 26 |
+
* @default false
|
| 27 |
+
*/
|
| 28 |
+
vertical?: boolean
|
| 29 |
+
/**
|
| 30 |
+
* Number of times to repeat the content
|
| 31 |
+
* @default 4
|
| 32 |
+
*/
|
| 33 |
+
repeat?: number
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
export function Marquee({
|
| 37 |
+
className,
|
| 38 |
+
reverse = false,
|
| 39 |
+
pauseOnHover = false,
|
| 40 |
+
children,
|
| 41 |
+
vertical = false,
|
| 42 |
+
repeat = 4,
|
| 43 |
+
...props
|
| 44 |
+
}: MarqueeProps) {
|
| 45 |
+
return (
|
| 46 |
+
<div
|
| 47 |
+
{...props}
|
| 48 |
+
className={cn(
|
| 49 |
+
"group flex gap-(--gap) overflow-hidden p-2 [--duration:40s] [--gap:1rem]",
|
| 50 |
+
{
|
| 51 |
+
"flex-row": !vertical,
|
| 52 |
+
"flex-col": vertical,
|
| 53 |
+
},
|
| 54 |
+
className
|
| 55 |
+
)}
|
| 56 |
+
>
|
| 57 |
+
{Array(repeat)
|
| 58 |
+
.fill(0)
|
| 59 |
+
.map((_, i) => (
|
| 60 |
+
<div
|
| 61 |
+
key={i}
|
| 62 |
+
className={cn("flex shrink-0 justify-around gap-(--gap)", {
|
| 63 |
+
"animate-marquee flex-row": !vertical,
|
| 64 |
+
"animate-marquee-vertical flex-col": vertical,
|
| 65 |
+
"group-hover:[animation-play-state:paused]": pauseOnHover,
|
| 66 |
+
"[animation-direction:reverse]": reverse,
|
| 67 |
+
})}
|
| 68 |
+
>
|
| 69 |
+
{children}
|
| 70 |
+
</div>
|
| 71 |
+
))}
|
| 72 |
+
</div>
|
| 73 |
+
)
|
| 74 |
+
}
|
b/93b420ee47c2b6e6de5cfc7f35e8671be8029629bb76ec22a51d9d32497b4a6c
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
b/93c757c1c3002f2d9e1b34d421033170bd9db2a7bc18a530931c01d214a680a1
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client"
|
| 2 |
+
|
| 3 |
+
import * as React from "react"
|
| 4 |
+
import {
|
| 5 |
+
ArchiveIcon,
|
| 6 |
+
ArrowLeftIcon,
|
| 7 |
+
CalendarPlusIcon,
|
| 8 |
+
ClockIcon,
|
| 9 |
+
ListFilterIcon,
|
| 10 |
+
MailCheckIcon,
|
| 11 |
+
MoreHorizontalIcon,
|
| 12 |
+
TagIcon,
|
| 13 |
+
Trash2Icon,
|
| 14 |
+
} from "lucide-react"
|
| 15 |
+
|
| 16 |
+
import { Button } from "@/registry/new-york-v4/ui/button"
|
| 17 |
+
import { ButtonGroup } from "@/registry/new-york-v4/ui/button-group"
|
| 18 |
+
import {
|
| 19 |
+
DropdownMenu,
|
| 20 |
+
DropdownMenuContent,
|
| 21 |
+
DropdownMenuGroup,
|
| 22 |
+
DropdownMenuItem,
|
| 23 |
+
DropdownMenuRadioGroup,
|
| 24 |
+
DropdownMenuRadioItem,
|
| 25 |
+
DropdownMenuSeparator,
|
| 26 |
+
DropdownMenuSub,
|
| 27 |
+
DropdownMenuSubContent,
|
| 28 |
+
DropdownMenuSubTrigger,
|
| 29 |
+
DropdownMenuTrigger,
|
| 30 |
+
} from "@/registry/new-york-v4/ui/dropdown-menu"
|
| 31 |
+
|
| 32 |
+
export default function ButtonGroupDemo() {
|
| 33 |
+
const [label, setLabel] = React.useState("personal")
|
| 34 |
+
|
| 35 |
+
return (
|
| 36 |
+
<ButtonGroup>
|
| 37 |
+
<ButtonGroup className="hidden sm:flex">
|
| 38 |
+
<Button variant="outline" size="icon" aria-label="Go Back">
|
| 39 |
+
<ArrowLeftIcon />
|
| 40 |
+
</Button>
|
| 41 |
+
</ButtonGroup>
|
| 42 |
+
<ButtonGroup>
|
| 43 |
+
<Button variant="outline">Archive</Button>
|
| 44 |
+
<Button variant="outline">Report</Button>
|
| 45 |
+
</ButtonGroup>
|
| 46 |
+
<ButtonGroup>
|
| 47 |
+
<Button variant="outline">Snooze</Button>
|
| 48 |
+
<DropdownMenu>
|
| 49 |
+
<DropdownMenuTrigger asChild>
|
| 50 |
+
<Button variant="outline" size="icon" aria-label="More Options">
|
| 51 |
+
<MoreHorizontalIcon />
|
| 52 |
+
</Button>
|
| 53 |
+
</DropdownMenuTrigger>
|
| 54 |
+
<DropdownMenuContent align="end" className="w-52">
|
| 55 |
+
<DropdownMenuGroup>
|
| 56 |
+
<DropdownMenuItem>
|
| 57 |
+
<MailCheckIcon />
|
| 58 |
+
Mark as Read
|
| 59 |
+
</DropdownMenuItem>
|
| 60 |
+
<DropdownMenuItem>
|
| 61 |
+
<ArchiveIcon />
|
| 62 |
+
Archive
|
| 63 |
+
</DropdownMenuItem>
|
| 64 |
+
</DropdownMenuGroup>
|
| 65 |
+
<DropdownMenuSeparator />
|
| 66 |
+
<DropdownMenuGroup>
|
| 67 |
+
<DropdownMenuItem>
|
| 68 |
+
<ClockIcon />
|
| 69 |
+
Snooze
|
| 70 |
+
</DropdownMenuItem>
|
| 71 |
+
<DropdownMenuItem>
|
| 72 |
+
<CalendarPlusIcon />
|
| 73 |
+
Add to Calendar
|
| 74 |
+
</DropdownMenuItem>
|
| 75 |
+
<DropdownMenuItem>
|
| 76 |
+
<ListFilterIcon />
|
| 77 |
+
Add to List
|
| 78 |
+
</DropdownMenuItem>
|
| 79 |
+
<DropdownMenuSub>
|
| 80 |
+
<DropdownMenuSubTrigger>
|
| 81 |
+
<TagIcon />
|
| 82 |
+
Label As...
|
| 83 |
+
</DropdownMenuSubTrigger>
|
| 84 |
+
<DropdownMenuSubContent>
|
| 85 |
+
<DropdownMenuRadioGroup
|
| 86 |
+
value={label}
|
| 87 |
+
onValueChange={setLabel}
|
| 88 |
+
>
|
| 89 |
+
<DropdownMenuRadioItem value="personal">
|
| 90 |
+
Personal
|
| 91 |
+
</DropdownMenuRadioItem>
|
| 92 |
+
<DropdownMenuRadioItem value="work">
|
| 93 |
+
Work
|
| 94 |
+
</DropdownMenuRadioItem>
|
| 95 |
+
<DropdownMenuRadioItem value="other">
|
| 96 |
+
Other
|
| 97 |
+
</DropdownMenuRadioItem>
|
| 98 |
+
</DropdownMenuRadioGroup>
|
| 99 |
+
</DropdownMenuSubContent>
|
| 100 |
+
</DropdownMenuSub>
|
| 101 |
+
</DropdownMenuGroup>
|
| 102 |
+
<DropdownMenuSeparator />
|
| 103 |
+
<DropdownMenuGroup>
|
| 104 |
+
<DropdownMenuItem variant="destructive">
|
| 105 |
+
<Trash2Icon />
|
| 106 |
+
Trash
|
| 107 |
+
</DropdownMenuItem>
|
| 108 |
+
</DropdownMenuGroup>
|
| 109 |
+
</DropdownMenuContent>
|
| 110 |
+
</DropdownMenu>
|
| 111 |
+
</ButtonGroup>
|
| 112 |
+
</ButtonGroup>
|
| 113 |
+
)
|
| 114 |
+
}
|
b/93d26d9155ccd112424bb01284c12addda33d3ada1f7d9974cc4458a83d9ec7b
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { AppSidebar } from "@/registry/new-york-v4/blocks/sidebar-03/components/app-sidebar"
|
| 2 |
+
import {
|
| 3 |
+
Breadcrumb,
|
| 4 |
+
BreadcrumbItem,
|
| 5 |
+
BreadcrumbLink,
|
| 6 |
+
BreadcrumbList,
|
| 7 |
+
BreadcrumbPage,
|
| 8 |
+
BreadcrumbSeparator,
|
| 9 |
+
} from "@/registry/new-york-v4/ui/breadcrumb"
|
| 10 |
+
import { Separator } from "@/registry/new-york-v4/ui/separator"
|
| 11 |
+
import {
|
| 12 |
+
SidebarInset,
|
| 13 |
+
SidebarProvider,
|
| 14 |
+
SidebarTrigger,
|
| 15 |
+
} from "@/registry/new-york-v4/ui/sidebar"
|
| 16 |
+
|
| 17 |
+
export default function Page() {
|
| 18 |
+
return (
|
| 19 |
+
<SidebarProvider>
|
| 20 |
+
<AppSidebar />
|
| 21 |
+
<SidebarInset>
|
| 22 |
+
<header className="flex h-16 shrink-0 items-center gap-2 border-b">
|
| 23 |
+
<div className="flex items-center gap-2 px-3">
|
| 24 |
+
<SidebarTrigger />
|
| 25 |
+
<Separator orientation="vertical" className="mr-2 h-4" />
|
| 26 |
+
<Breadcrumb>
|
| 27 |
+
<BreadcrumbList>
|
| 28 |
+
<BreadcrumbItem className="hidden md:block">
|
| 29 |
+
<BreadcrumbLink href="#">
|
| 30 |
+
Build Your Application
|
| 31 |
+
</BreadcrumbLink>
|
| 32 |
+
</BreadcrumbItem>
|
| 33 |
+
<BreadcrumbSeparator className="hidden md:block" />
|
| 34 |
+
<BreadcrumbItem>
|
| 35 |
+
<BreadcrumbPage>Data Fetching</BreadcrumbPage>
|
| 36 |
+
</BreadcrumbItem>
|
| 37 |
+
</BreadcrumbList>
|
| 38 |
+
</Breadcrumb>
|
| 39 |
+
</div>
|
| 40 |
+
</header>
|
| 41 |
+
<div className="flex flex-1 flex-col gap-4 p-4">
|
| 42 |
+
<div className="grid auto-rows-min gap-4 md:grid-cols-3">
|
| 43 |
+
<div className="aspect-video rounded-xl bg-muted/50" />
|
| 44 |
+
<div className="aspect-video rounded-xl bg-muted/50" />
|
| 45 |
+
<div className="aspect-video rounded-xl bg-muted/50" />
|
| 46 |
+
</div>
|
| 47 |
+
<div className="min-h-[100vh] flex-1 rounded-xl bg-muted/50 md:min-h-min" />
|
| 48 |
+
</div>
|
| 49 |
+
</SidebarInset>
|
| 50 |
+
</SidebarProvider>
|
| 51 |
+
)
|
| 52 |
+
}
|
b/93f95423bff25d0135f48929529cff4d88f2b981f4f7d552907659effe3085d4
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
export default {"color-scheme":"light","--color-base-100":"oklch(94.51% 0.179 104.32)","--color-base-200":"oklch(91.51% 0.179 104.32)","--color-base-300":"oklch(85.51% 0.179 104.32)","--color-base-content":"oklch(0% 0 0)","--color-primary":"oklch(74.22% 0.209 6.35)","--color-primary-content":"oklch(14.844% 0.041 6.35)","--color-secondary":"oklch(83.33% 0.184 204.72)","--color-secondary-content":"oklch(16.666% 0.036 204.72)","--color-accent":"oklch(71.86% 0.217 310.43)","--color-accent-content":"oklch(14.372% 0.043 310.43)","--color-neutral":"oklch(23.04% 0.065 269.31)","--color-neutral-content":"oklch(94.51% 0.179 104.32)","--color-info":"oklch(72.06% 0.191 231.6)","--color-info-content":"oklch(0% 0 0)","--color-success":"oklch(64.8% 0.15 160)","--color-success-content":"oklch(0% 0 0)","--color-warning":"oklch(84.71% 0.199 83.87)","--color-warning-content":"oklch(0% 0 0)","--color-error":"oklch(71.76% 0.221 22.18)","--color-error-content":"oklch(0% 0 0)","--radius-selector":"0rem","--radius-field":"0rem","--radius-box":"0rem","--size-selector":"0.25rem","--size-field":"0.25rem","--border":"1px","--depth":"0","--noise":"0"};
|
b/93ffa4ad9dba28fd5326e247c9a79b49fb53cffcec65c95b7bb240ab06e11346
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var ut=Object.defineProperty;var st=(e,t)=>{for(var a in t)ut(e,a,{get:t[a],enumerable:!0})};import{forwardRef as ft,createElement as it}from"react";var la=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),we=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as dt,createElement as sa}from"react";var ua={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var da=dt(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:l,iconNode:u,...s},n)=>sa("svg",{ref:n,...ua,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:we("lucide",r),...s},[...u.map(([d,p])=>sa(d,p)),...Array.isArray(l)?l:[l]]));var re=(e,t)=>{let a=ft(({className:o,...r},l)=>it(da,{ref:l,iconNode:t,className:we(`lucide-${la(e)}`,o),...r}));return a.displayName=`${e}`,a};var fe=re("Bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]);var ie=re("Italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]);var ne=re("Underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]);import*as Oe from"react";import*as ca from"react";import*as St from"react-dom";import*as M from"react";import*as ia from"react";function fa(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function nt(...e){return t=>{let a=!1,o=e.map(r=>{let l=fa(r,t);return!a&&typeof l=="function"&&(a=!0),l});if(a)return()=>{for(let r=0;r<o.length;r++){let l=o[r];typeof l=="function"?l():fa(e[r],null)}}}}function $(...e){return ia.useCallback(nt(...e),e)}function ce(e){let t=M.forwardRef((a,o)=>{let{children:r,...l}=a,u=null,s=!1,n=[];na(r)&&typeof ke=="function"&&(r=ke(r._payload)),M.Children.forEach(r,g=>{if(It(g)){s=!0;let h=g,k="child"in h.props?h.props.child:h.props.children;na(k)&&typeof ke=="function"&&(k=ke(k._payload)),u=pt(h,k),n.push(u?.props?.children)}else n.push(g)}),u?u=M.cloneElement(u,void 0,n):!s&&M.Children.count(r)===1&&M.isValidElement(r)&&(u=r);let d=u?Lt(u):void 0,p=$(o,d);if(!u){if(r||r===0)throw new Error(s?ht(e):Ct(e));return r}let m=mt(l,u.props??{});return u.type!==M.Fragment&&(m.ref=o?p:d),M.cloneElement(u,m)});return t.displayName=`${e}.Slot`,t}var ct=Symbol.for("radix.slottable");var pt=(e,t)=>{if("child"in e.props){let a=e.props.child;return M.isValidElement(a)?M.cloneElement(a,void 0,e.props.children(a.props.children)):null}return M.isValidElement(t)?t:null};function mt(e,t){let a={...t};for(let o in t){let r=e[o],l=t[o];/^on[A-Z]/.test(o)?r&&l?a[o]=(...s)=>{let n=l(...s);return r(...s),n}:r&&(a[o]=r):o==="style"?a[o]={...r,...l}:o==="className"&&(a[o]=[r,l].filter(Boolean).join(" "))}return{...e,...a}}function Lt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function It(e){return M.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ct}var xt=Symbol.for("react.lazy");function na(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===xt&&"_payload"in e&>(e._payload)}function gt(e){return typeof e=="object"&&e!==null&&"then"in e}var Ct=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ht=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,ke=M[" use ".trim().toString()];import{jsx as wt}from"react/jsx-runtime";var kt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],_=kt.reduce((e,t)=>{let a=ce(`Primitive.${t}`),o=ca.forwardRef((r,l)=>{let{asChild:u,...s}=r,n=u?a:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),wt(n,{...s,ref:l})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});import*as V from"react";import{jsx as bt}from"react/jsx-runtime";function le(e,t=[]){let a=[];function o(l,u){let s=V.createContext(u);s.displayName=l+"Context";let n=a.length;a=[...a,u];let d=m=>{let{scope:g,children:h,...k}=m,C=g?.[e]?.[n]||s,I=V.useMemo(()=>k,Object.values(k));return bt(C.Provider,{value:I,children:h})};d.displayName=l+"Provider";function p(m,g){let h=g?.[e]?.[n]||s,k=V.useContext(h);if(k)return k;if(u!==void 0)return u;throw new Error(`\`${m}\` must be used within \`${l}\``)}return[d,p]}let r=()=>{let l=a.map(u=>V.createContext(u));return function(s){let n=s?.[e]||l;return V.useMemo(()=>({[`__scope${e}`]:{...s,[e]:n}}),[s,n])}};return r.scopeName=e,[o,Pt(r,...t)]}function Pt(...e){let t=e[0];if(e.length===1)return t;let a=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(l){let u=o.reduce((s,{useScope:n,scopeName:d})=>{let m=n(l)[`__scope${d}`];return{...s,...m}},{});return V.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return a.scopeName=t.scopeName,a}import*as E from"react";import{jsx as Ve}from"react/jsx-runtime";import*as be from"react";import{jsx as br}from"react/jsx-runtime";function pa(e){let t=e+"CollectionProvider",[a,o]=le(t),[r,l]=a(t,{collectionRef:{current:null},itemMap:new Map}),u=C=>{let{scope:I,children:b}=C,S=E.useRef(null),w=E.useRef(new Map).current;return Ve(r,{scope:I,itemMap:w,collectionRef:S,children:b})};u.displayName=t;let s=e+"CollectionSlot",n=ce(s),d=E.forwardRef((C,I)=>{let{scope:b,children:S}=C,w=l(s,b),P=$(I,w.collectionRef);return Ve(n,{ref:P,children:S})});d.displayName=s;let p=e+"CollectionItemSlot",m="data-radix-collection-item",g=ce(p),h=E.forwardRef((C,I)=>{let{scope:b,children:S,...w}=C,P=E.useRef(null),U=$(I,P),H=l(p,b);return E.useEffect(()=>(H.itemMap.set(P,{ref:P,...w}),()=>void H.itemMap.delete(P))),Ve(g,{[m]:"",ref:U,children:S})});h.displayName=p;function k(C){let I=l(e+"CollectionConsumer",C);return E.useCallback(()=>{let S=I.collectionRef.current;if(!S)return[];let w=Array.from(S.querySelectorAll(`[${m}]`));return Array.from(I.itemMap.values()).sort((H,q)=>w.indexOf(H.ref.current)-w.indexOf(q.ref.current))},[I.collectionRef,I.itemMap])}return[{Provider:u,Slot:d,ItemSlot:h},k,o]}var Rr=!!(typeof window<"u"&&window.document&&window.document.createElement);function W(e,t,{checkForDefaultPrevented:a=!0}={}){return function(r){if(e?.(r),a===!1||!r.defaultPrevented)return t?.(r)}}import*as G from"react";import*as ma from"react";var Pe=globalThis?.document?ma.useLayoutEffect:()=>{};import*as Re from"react";var Rt=G[" useInsertionEffect ".trim().toString()]||Pe;function Q({prop:e,defaultProp:t,onChange:a=()=>{},caller:o}){let[r,l,u]=At({defaultProp:t,onChange:a}),s=e!==void 0,n=s?e:r;{let p=G.useRef(e!==void 0);G.useEffect(()=>{let m=p.current;m!==s&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),p.current=s},[s,o])}let d=G.useCallback(p=>{if(s){let m=yt(p)?p(e):p;m!==e&&u.current?.(m)}else l(p)},[s,e,l,u]);return[n,d]}function At({defaultProp:e,onChange:t}){let[a,o]=G.useState(e),r=G.useRef(a),l=G.useRef(t);return Rt(()=>{l.current=t},[t]),G.useEffect(()=>{r.current!==a&&(l.current?.(a),r.current=a)},[a,r]),[a,o,l]}function yt(e){return typeof e=="function"}var Mr=Symbol("RADIX:SYNC_STATE");import*as We from"react";var vt=We[" useId ".trim().toString()]||(()=>{}),Mt=0;function La(e){let[t,a]=We.useState(vt());return Pe(()=>{e||a(o=>o??String(Mt++))},[e]),e||(t?`radix-${t}`:"")}import*as Ae from"react";import{jsx as qr}from"react/jsx-runtime";var Ft=Ae.createContext(void 0);function ye(e){let t=Ae.useContext(Ft);return e||t||"ltr"}import*as ue from"react";function Ia(e){let t=ue.useRef(e);return ue.useEffect(()=>{t.current=e}),ue.useMemo(()=>(...a)=>t.current?.(...a),[])}import*as v from"react";import{jsx as Y}from"react/jsx-runtime";var Ne="rovingFocusGroup.onEntryFocus",Bt={bubbles:!1,cancelable:!0},pe="RovingFocusGroup",[Xe,xa,Dt]=pa(pe),[Tt,_e]=le(pe,[Dt]),[qt,Ot]=Tt(pe),ga=v.forwardRef((e,t)=>Y(Xe.Provider,{scope:e.__scopeRovingFocusGroup,children:Y(Xe.Slot,{scope:e.__scopeRovingFocusGroup,children:Y(Ut,{...e,ref:t})})}));ga.displayName=pe;var Ut=v.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:a,orientation:o,loop:r=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:n,onEntryFocus:d,preventScrollOnEntryFocus:p=!1,...m}=e,g=v.useRef(null),h=$(t,g),k=ye(l),[C,I]=Q({prop:u,defaultProp:s??null,onChange:n,caller:pe}),[b,S]=v.useState(!1),w=Ia(d),P=xa(a),U=v.useRef(!1),[H,q]=v.useState(0);return v.useEffect(()=>{let f=g.current;if(f)return f.addEventListener(Ne,w),()=>f.removeEventListener(Ne,w)},[w]),Y(qt,{scope:a,orientation:o,dir:k,loop:r,currentTabStopId:C,onItemFocus:v.useCallback(f=>I(f),[I]),onItemShiftTab:v.useCallback(()=>S(!0),[]),onFocusableItemAdd:v.useCallback(()=>q(f=>f+1),[]),onFocusableItemRemove:v.useCallback(()=>q(f=>f-1),[]),children:Y(_.div,{tabIndex:b||H===0?-1:0,"data-orientation":o,...m,ref:h,style:{outline:"none",...e.style},onMouseDown:W(e.onMouseDown,()=>{U.current=!0}),onFocus:W(e.onFocus,f=>{let F=!U.current;if(f.target===f.currentTarget&&F&&!b){let de=new CustomEvent(Ne,Bt);if(f.currentTarget.dispatchEvent(de),!de.defaultPrevented){let te=P().filter(R=>R.focusable),oe=te.find(R=>R.active),Ie=te.find(R=>R.id===C),X=[oe,Ie,...te].filter(Boolean).map(R=>R.ref.current);Sa(X,p)}}U.current=!1}),onBlur:W(e.onBlur,()=>S(!1))})})}),Ca="RovingFocusGroupItem",ha=v.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:a,focusable:o=!0,active:r=!1,tabStopId:l,children:u,...s}=e,n=La(),d=l||n,p=Ot(Ca,a),m=p.currentTabStopId===d,g=xa(a),{onFocusableItemAdd:h,onFocusableItemRemove:k,currentTabStopId:C}=p;return v.useEffect(()=>{if(o)return h(),()=>k()},[o,h,k]),Y(Xe.ItemSlot,{scope:a,id:d,focusable:o,active:r,children:Y(_.span,{tabIndex:m?0:-1,"data-orientation":p.orientation,...s,ref:t,onMouseDown:W(e.onMouseDown,I=>{o?p.onItemFocus(d):I.preventDefault()}),onFocus:W(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:W(e.onKeyDown,I=>{if(I.key==="Tab"&&I.shiftKey){p.onItemShiftTab();return}if(I.target!==I.currentTarget)return;let b=Et(I,p.orientation,p.dir);if(b!==void 0){if(I.metaKey||I.ctrlKey||I.altKey||I.shiftKey)return;I.preventDefault();let w=g().filter(P=>P.focusable).map(P=>P.ref.current);if(b==="last")w.reverse();else if(b==="prev"||b==="next"){b==="prev"&&w.reverse();let P=w.indexOf(I.currentTarget);w=p.loop?zt(w,P+1):w.slice(P+1)}setTimeout(()=>Sa(w))}}),children:typeof u=="function"?u({isCurrentTabStop:m,hasTabStop:C!=null}):u})})});ha.displayName=Ca;var Ht={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Gt(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Et(e,t,a){let o=Gt(e.key,a);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Ht[o]}function Sa(e,t=!1){let a=document.activeElement;for(let o of e)if(o===a||(o.focus({preventScroll:t}),document.activeElement!==a))return}function zt(e,t){return e.map((a,o)=>e[(t+o)%e.length])}var wa=ga,ka=ha;import*as ba from"react";import{jsx as Wt}from"react/jsx-runtime";var Pa="Toggle",Ke=ba.forwardRef((e,t)=>{let{pressed:a,defaultPressed:o,onPressedChange:r,...l}=e,[u,s]=Q({prop:a,onChange:r,defaultProp:o??!1,caller:Pa});return Wt(_.button,{type:"button","aria-pressed":u,"data-state":u?"on":"off","data-disabled":e.disabled?"":void 0,...l,ref:t,onClick:W(e.onClick,()=>{e.disabled||s(!u)})})});Ke.displayName=Pa;var me={};st(me,{Item:()=>Jt,Root:()=>Zt,ToggleGroup:()=>Me,ToggleGroupItem:()=>je,createToggleGroupScope:()=>Nt});import*as T from"react";import{jsx as O}from"react/jsx-runtime";var K="ToggleGroup",[Aa,Nt]=le(K,[_e]),ya=_e(),Me=T.forwardRef((e,t)=>{let{type:a,...o}=e;if(a==="single")return O(Xt,{...o,ref:t});if(a==="multiple")return O(_t,{...o,ref:t});throw new Error(`Missing prop \`type\` expected on \`${K}\``)});Me.displayName=K;var[va,Ma]=Aa(K),Xt=T.forwardRef((e,t)=>{let{value:a,defaultValue:o,onValueChange:r=()=>{},...l}=e,[u,s]=Q({prop:a,defaultProp:o??"",onChange:r,caller:K});return O(va,{scope:e.__scopeToggleGroup,type:"single",value:T.useMemo(()=>u?[u]:[],[u]),onItemActivate:s,onItemDeactivate:T.useCallback(()=>s(""),[s]),children:O(Fa,{...l,ref:t})})}),_t=T.forwardRef((e,t)=>{let{value:a,defaultValue:o,onValueChange:r=()=>{},...l}=e,[u,s]=Q({prop:a,defaultProp:o??[],onChange:r,caller:K}),n=T.useCallback(p=>s((m=[])=>[...m,p]),[s]),d=T.useCallback(p=>s((m=[])=>m.filter(g=>g!==p)),[s]);return O(va,{scope:e.__scopeToggleGroup,type:"multiple",value:u,onItemActivate:n,onItemDeactivate:d,children:O(Fa,{...l,ref:t})})});Me.displayName=K;var[Kt,jt]=Aa(K),Fa=T.forwardRef((e,t)=>{let{__scopeToggleGroup:a,disabled:o=!1,rovingFocus:r=!0,orientation:l,dir:u,loop:s=!0,...n}=e,d=ya(a),p=ye(u),m={role:"group",dir:p,...n};return O(Kt,{scope:a,rovingFocus:r,disabled:o,children:r?O(wa,{asChild:!0,...d,orientation:l,dir:p,loop:s,children:O(_.div,{...m,ref:t})}):O(_.div,{...m,ref:t})})}),ve="ToggleGroupItem",je=T.forwardRef((e,t)=>{let a=Ma(ve,e.__scopeToggleGroup),o=jt(ve,e.__scopeToggleGroup),r=ya(e.__scopeToggleGroup),l=a.value.includes(e.value),u=o.disabled||e.disabled,s={...e,pressed:l,disabled:u},n=T.useRef(null);return o.rovingFocus?O(ka,{asChild:!0,...r,focusable:!u,active:l,ref:n,children:O(Ra,{...s,ref:t})}):O(Ra,{...s,ref:t})});je.displayName=ve;var Ra=T.forwardRef((e,t)=>{let{__scopeToggleGroup:a,value:o,...r}=e,l=Ma(ve,a),u={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},s=l.type==="single"?u:void 0;return O(Ke,{...s,...r,ref:t,onPressedChange:n=>{n?l.onItemActivate(o):l.onItemDeactivate(o)}})}),Zt=Me,Jt=je;function Ba(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(a=Ba(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function Fe(){for(var e,t,a=0,o="",r=arguments.length;a<r;a++)(e=arguments[a])&&(t=Ba(e))&&(o&&(o+=" "),o+=t);return o}var $t=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},Qt=(e,t)=>({classGroupId:e,validator:t}),Ga=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),Te="-",Da=[],Yt="arbitrary..",eo=e=>{let t=to(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return ao(u);let s=u.split(Te),n=s[0]===""&&s.length>1?1:0;return Ea(s,n,t)},getConflictingClassGroupIds:(u,s)=>{if(s){let n=o[u],d=a[u];return n?d?$t(d,n):n:d||Da}return a[u]||Da}}},Ea=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let r=e[t],l=a.nextPart.get(r);if(l){let d=Ea(e,t+1,l);if(d)return d}let u=a.validators;if(u===null)return;let s=t===0?e.join(Te):e.slice(t).join(Te),n=u.length;for(let d=0;d<n;d++){let p=u[d];if(p.validator(s))return p.classGroupId}},ao=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?Yt+o:void 0})(),to=e=>{let{theme:t,classGroups:a}=e;return oo(a,t)},oo=(e,t)=>{let a=Ga();for(let o in e){let r=e[o];$e(r,a,o,t)}return a},$e=(e,t,a,o)=>{let r=e.length;for(let l=0;l<r;l++){let u=e[l];ro(u,t,a,o)}},ro=(e,t,a,o)=>{if(typeof e=="string"){lo(e,t,a);return}if(typeof e=="function"){uo(e,t,a,o);return}so(e,t,a,o)},lo=(e,t,a)=>{let o=e===""?t:za(t,e);o.classGroupId=a},uo=(e,t,a,o)=>{if(fo(e)){$e(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Qt(a,e))},so=(e,t,a,o)=>{let r=Object.entries(e),l=r.length;for(let u=0;u<l;u++){let[s,n]=r[u];$e(n,za(t,s),a,o)}},za=(e,t)=>{let a=e,o=t.split(Te),r=o.length;for(let l=0;l<r;l++){let u=o[l],s=a.nextPart.get(u);s||(s=Ga(),a.nextPart.set(u,s)),a=s}return a},fo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,io=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),r=(l,u)=>{a[l]=u,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(l){let u=a[l];if(u!==void 0)return u;if((u=o[l])!==void 0)return r(l,u),u},set(l,u){l in a?a[l]=u:r(l,u)}}},Je="!",Ta=":",no=[],qa=(e,t,a,o,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),co=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=r=>{let l=[],u=0,s=0,n=0,d,p=r.length;for(let C=0;C<p;C++){let I=r[C];if(u===0&&s===0){if(I===Ta){l.push(r.slice(n,C)),n=C+1;continue}if(I==="/"){d=C;continue}}I==="["?u++:I==="]"?u--:I==="("?s++:I===")"&&s--}let m=l.length===0?r:r.slice(n),g=m,h=!1;m.endsWith(Je)?(g=m.slice(0,-1),h=!0):m.startsWith(Je)&&(g=m.slice(1),h=!0);let k=d&&d>n?d-n:void 0;return qa(l,h,g,k)};if(t){let r=t+Ta,l=o;o=u=>u.startsWith(r)?l(u.slice(r.length)):qa(no,!1,u,void 0,!0)}if(a){let r=o;o=l=>a({className:l,parseClassName:r})}return o},po=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],r=[];for(let l=0;l<a.length;l++){let u=a[l],s=u[0]==="[",n=t.has(u);s||n?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(u)):r.push(u)}return r.length>0&&(r.sort(),o.push(...r)),o}},mo=e=>({cache:io(e.cacheSize),parseClassName:co(e),sortModifiers:po(e),postfixLookupClassGroupIds:Lo(e),...eo(e)}),Lo=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},Io=/\s+/,xo=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:l,postfixLookupClassGroupIds:u}=t,s=[],n=e.trim().split(Io),d="";for(let p=n.length-1;p>=0;p-=1){let m=n[p],{isExternal:g,modifiers:h,hasImportantModifier:k,baseClassName:C,maybePostfixModifierPosition:I}=a(m);if(g){d=m+(d.length>0?" "+d:d);continue}let b=!!I,S;if(b){let q=C.substring(0,I);S=o(q);let f=S&&u[S]?o(C):void 0;f&&f!==S&&(S=f,b=!1)}else S=o(C);if(!S){if(!b){d=m+(d.length>0?" "+d:d);continue}if(S=o(C),!S){d=m+(d.length>0?" "+d:d);continue}b=!1}let w=h.length===0?"":h.length===1?h[0]:l(h).join(":"),P=k?w+Je:w,U=P+S;if(s.indexOf(U)>-1)continue;s.push(U);let H=r(S,b);for(let q=0;q<H.length;++q){let f=H[q];s.push(P+f)}d=m+(d.length>0?" "+d:d)}return d},go=(...e)=>{let t=0,a,o,r="";for(;t<e.length;)(a=e[t++])&&(o=Va(a))&&(r&&(r+=" "),r+=o);return r},Va=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=Va(e[o]))&&(a&&(a+=" "),a+=t);return a},Co=(e,...t)=>{let a,o,r,l,u=n=>{let d=t.reduce((p,m)=>m(p),e());return a=mo(d),o=a.cache.get,r=a.cache.set,l=s,s(n)},s=n=>{let d=o(n);if(d)return d;let p=xo(n,a);return r(n,p),p};return l=u,(...n)=>l(go(...n))},ho=[],A=e=>{let t=a=>a[e]||ho;return t.isThemeGetter=!0,t},Wa=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Na=/^\((?:(\w[\w-]*):)?(.+)\)$/i,So=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,wo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ko=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,bo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Po=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ro=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,j=e=>So.test(e),x=e=>!!e&&!Number.isNaN(Number(e)),z=e=>!!e&&Number.isInteger(Number(e)),Ze=e=>e.endsWith("%")&&x(e.slice(0,-1)),N=e=>wo.test(e),Xa=()=>!0,Ao=e=>ko.test(e)&&!bo.test(e),Qe=()=>!1,yo=e=>Po.test(e),vo=e=>Ro.test(e),Mo=e=>!i(e)&&!c(e),Fo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Bo=e=>Z(e,ja,Qe),i=e=>Wa.test(e),ee=e=>Z(e,Za,Ao),Oa=e=>Z(e,Eo,x),Do=e=>Z(e,$a,Xa),To=e=>Z(e,Ja,Qe),Ua=e=>Z(e,_a,Qe),qo=e=>Z(e,Ka,vo),Be=e=>Z(e,Qa,yo),c=e=>Na.test(e),Le=e=>ae(e,Za),Oo=e=>ae(e,Ja),Ha=e=>ae(e,_a),Uo=e=>ae(e,ja),Ho=e=>ae(e,Ka),De=e=>ae(e,Qa,!0),Go=e=>ae(e,$a,!0),Z=(e,t,a)=>{let o=Wa.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},ae=(e,t,a=!1)=>{let o=Na.exec(e);return o?o[1]?t(o[1]):a:!1},_a=e=>e==="position"||e==="percentage",Ka=e=>e==="image"||e==="url",ja=e=>e==="length"||e==="size"||e==="bg-size",Za=e=>e==="length",Eo=e=>e==="number",Ja=e=>e==="family-name",$a=e=>e==="number"||e==="weight",Qa=e=>e==="shadow";var zo=()=>{let e=A("color"),t=A("font"),a=A("text"),o=A("font-weight"),r=A("tracking"),l=A("leading"),u=A("breakpoint"),s=A("container"),n=A("spacing"),d=A("radius"),p=A("shadow"),m=A("inset-shadow"),g=A("text-shadow"),h=A("drop-shadow"),k=A("blur"),C=A("perspective"),I=A("aspect"),b=A("ease"),S=A("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],U=()=>[...P(),c,i],H=()=>["auto","hidden","clip","visible","scroll"],q=()=>["auto","contain","none"],f=()=>[c,i,n],F=()=>[j,"full","auto",...f()],de=()=>[z,"none","subgrid",c,i],te=()=>["auto",{span:["full",z,c,i]},z,c,i],oe=()=>[z,"auto",c,i],Ie=()=>["auto","min","max","fr",c,i],xe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...f()],J=()=>[j,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],He=()=>[j,"screen","full","dvw","lvw","svw","min","max","fit",...f()],Ge=()=>[j,"screen","full","lh","dvh","lvh","svh","min","max","fit",...f()],L=()=>[e,c,i],ea=()=>[...P(),Ha,Ua,{position:[c,i]}],aa=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ta=()=>["auto","cover","contain",Uo,Bo,{size:[c,i]}],Ee=()=>[Ze,Le,ee],B=()=>["","none","full",d,c,i],D=()=>["",x,Le,ee],ge=()=>["solid","dashed","dotted","double"],oa=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],y=()=>[x,Ze,Ha,Ua],ra=()=>["","none",k,c,i],Ce=()=>["none",x,c,i],he=()=>["none",x,c,i],ze=()=>[x,c,i],Se=()=>[j,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[N],breakpoint:[N],color:[Xa],container:[N],"drop-shadow":[N],ease:["in","out","in-out"],font:[Mo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[N],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[N],shadow:[N],spacing:["px",x],text:[N],"text-shadow":[N],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",j,i,c,I]}],container:["container"],"container-type":[{"@container":["","normal","size",c,i]}],"container-named":[Fo],columns:[{columns:[x,i,c,s]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:U()}],overflow:[{overflow:H()}],"overflow-x":[{"overflow-x":H()}],"overflow-y":[{"overflow-y":H()}],overscroll:[{overscroll:q()}],"overscroll-x":[{"overscroll-x":q()}],"overscroll-y":[{"overscroll-y":q()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:F()}],"inset-x":[{"inset-x":F()}],"inset-y":[{"inset-y":F()}],start:[{"inset-s":F(),start:F()}],end:[{"inset-e":F(),end:F()}],"inset-bs":[{"inset-bs":F()}],"inset-be":[{"inset-be":F()}],top:[{top:F()}],right:[{right:F()}],bottom:[{bottom:F()}],left:[{left:F()}],visibility:["visible","invisible","collapse"],z:[{z:[z,"auto",c,i]}],basis:[{basis:[j,"full","auto",s,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[x,j,"auto","initial","none",i]}],grow:[{grow:["",x,c,i]}],shrink:[{shrink:["",x,c,i]}],order:[{order:[z,"first","last","none",c,i]}],"grid-cols":[{"grid-cols":de()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":oe()}],"col-end":[{"col-end":oe()}],"grid-rows":[{"grid-rows":de()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":oe()}],"row-end":[{"row-end":oe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ie()}],"auto-rows":[{"auto-rows":Ie()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...xe(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...xe()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":xe()}],"place-items":[{"place-items":[...X(),"baseline"]}],"place-self":[{"place-self":["auto",...X()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pbs:[{pbs:f()}],pbe:[{pbe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mbs:[{mbs:R()}],mbe:[{mbe:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],"inline-size":[{inline:["auto",...He()]}],"min-inline-size":[{"min-inline":["auto",...He()]}],"max-inline-size":[{"max-inline":["none",...He()]}],"block-size":[{block:["auto",...Ge()]}],"min-block-size":[{"min-block":["auto",...Ge()]}],"max-block-size":[{"max-block":["none",...Ge()]}],w:[{w:[s,"screen",...J()]}],"min-w":[{"min-w":[s,"screen","none",...J()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[u]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",a,Le,ee]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Go,Do]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ze,i]}],"font-family":[{font:[Oo,To,t]}],"font-features":[{"font-features":[i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,c,i]}],"line-clamp":[{"line-clamp":[x,"none",c,Oa]}],leading:[{leading:[l,...f()]}],"list-image":[{"list-image":["none",c,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",c,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ge(),"wavy"]}],"text-decoration-thickness":[{decoration:[x,"from-font","auto",c,ee]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[x,"auto",c,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"tab-size":[{tab:[z,c,i]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",c,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",c,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ea()}],"bg-repeat":[{bg:aa()}],"bg-size":[{bg:ta()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},z,c,i],radial:["",c,i],conic:[z,c,i]},Ho,qo]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:D()}],"border-w-x":[{"border-x":D()}],"border-w-y":[{"border-y":D()}],"border-w-s":[{"border-s":D()}],"border-w-e":[{"border-e":D()}],"border-w-bs":[{"border-bs":D()}],"border-w-be":[{"border-be":D()}],"border-w-t":[{"border-t":D()}],"border-w-r":[{"border-r":D()}],"border-w-b":[{"border-b":D()}],"border-w-l":[{"border-l":D()}],"divide-x":[{"divide-x":D()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":D()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ge(),"hidden","none"]}],"divide-style":[{divide:[...ge(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-bs":[{"border-bs":L()}],"border-color-be":[{"border-be":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...ge(),"none","hidden"]}],"outline-offset":[{"outline-offset":[x,c,i]}],"outline-w":[{outline:["",x,Le,ee]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",p,De,Be]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",m,De,Be]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[x,ee]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":D()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",g,De,Be]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[x,c,i]}],"mix-blend":[{"mix-blend":[...oa(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":oa()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[x]}],"mask-image-linear-from-pos":[{"mask-linear-from":y()}],"mask-image-linear-to-pos":[{"mask-linear-to":y()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":y()}],"mask-image-t-to-pos":[{"mask-t-to":y()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":y()}],"mask-image-r-to-pos":[{"mask-r-to":y()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":y()}],"mask-image-b-to-pos":[{"mask-b-to":y()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":y()}],"mask-image-l-to-pos":[{"mask-l-to":y()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":y()}],"mask-image-x-to-pos":[{"mask-x-to":y()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":y()}],"mask-image-y-to-pos":[{"mask-y-to":y()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[c,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":y()}],"mask-image-radial-to-pos":[{"mask-radial-to":y()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[x]}],"mask-image-conic-from-pos":[{"mask-conic-from":y()}],"mask-image-conic-to-pos":[{"mask-conic-to":y()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ea()}],"mask-repeat":[{mask:aa()}],"mask-size":[{mask:ta()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",c,i]}],filter:[{filter:["","none",c,i]}],blur:[{blur:ra()}],brightness:[{brightness:[x,c,i]}],contrast:[{contrast:[x,c,i]}],"drop-shadow":[{"drop-shadow":["","none",h,De,Be]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",x,c,i]}],"hue-rotate":[{"hue-rotate":[x,c,i]}],invert:[{invert:["",x,c,i]}],saturate:[{saturate:[x,c,i]}],sepia:[{sepia:["",x,c,i]}],"backdrop-filter":[{"backdrop-filter":["","none",c,i]}],"backdrop-blur":[{"backdrop-blur":ra()}],"backdrop-brightness":[{"backdrop-brightness":[x,c,i]}],"backdrop-contrast":[{"backdrop-contrast":[x,c,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",x,c,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[x,c,i]}],"backdrop-invert":[{"backdrop-invert":["",x,c,i]}],"backdrop-opacity":[{"backdrop-opacity":[x,c,i]}],"backdrop-saturate":[{"backdrop-saturate":[x,c,i]}],"backdrop-sepia":[{"backdrop-sepia":["",x,c,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",c,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[x,"initial",c,i]}],ease:[{ease:["linear","initial",b,c,i]}],delay:[{delay:[x,c,i]}],animate:[{animate:["none",S,c,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,c,i]}],"perspective-origin":[{"perspective-origin":U()}],rotate:[{rotate:Ce()}],"rotate-x":[{"rotate-x":Ce()}],"rotate-y":[{"rotate-y":Ce()}],"rotate-z":[{"rotate-z":Ce()}],scale:[{scale:he()}],"scale-x":[{"scale-x":he()}],"scale-y":[{"scale-y":he()}],"scale-z":[{"scale-z":he()}],"scale-3d":["scale-3d"],skew:[{skew:ze()}],"skew-x":[{"skew-x":ze()}],"skew-y":[{"skew-y":ze()}],transform:[{transform:[c,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:U()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Se()}],"translate-x":[{"translate-x":Se()}],"translate-y":[{"translate-y":Se()}],"translate-z":[{"translate-z":Se()}],"translate-none":["translate-none"],zoom:[{zoom:[z,c,i]}],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",c,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":L()}],"scrollbar-track-color":[{"scrollbar-track":L()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mbs":[{"scroll-mbs":f()}],"scroll-mbe":[{"scroll-mbe":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pbs":[{"scroll-pbs":f()}],"scroll-pbe":[{"scroll-pbe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",c,i]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[x,Le,ee,Oa]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Ya=Co(zo);function qe(...e){return Ya(Fe(e))}var et=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,at=Fe,tt=(e,t)=>a=>{var o;if(t?.variants==null)return at(e,a?.class,a?.className);let{variants:r,defaultVariants:l}=t,u=Object.keys(r).map(d=>{let p=a?.[d],m=l?.[d];if(p===null)return null;let g=et(p)||et(m);return r[d][g]}),s=a&&Object.entries(a).reduce((d,p)=>{let[m,g]=p;return g===void 0||(d[m]=g),d},{}),n=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,p)=>{let{class:m,className:g,...h}=p;return Object.entries(h).every(k=>{let[C,I]=k;return Array.isArray(I)?I.includes({...l,...s}[C]):{...l,...s}[C]===I})?[...d,m,g]:d},[]);return at(e,u,n,a?.class,a?.className)};import{jsx as xl}from"react/jsx-runtime";var ot=tt("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 min-w-9 px-2",sm:"h-8 min-w-8 px-1.5",lg:"h-10 min-w-10 px-2.5"}},defaultVariants:{variant:"default",size:"default"}});import{jsx as Ye}from"react/jsx-runtime";var rt=Oe.createContext({size:"default",variant:"default",spacing:0});function lt({className:e,variant:t,size:a,spacing:o=0,children:r,...l}){return Ye(me.Root,{"data-slot":"toggle-group","data-variant":t,"data-size":a,"data-spacing":o,style:{"--gap":o},className:qe("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs",e),...l,children:Ye(rt.Provider,{value:{variant:t,size:a,spacing:o},children:r})})}function Ue({className:e,children:t,variant:a,size:o,...r}){let l=Oe.useContext(rt);return Ye(me.Item,{"data-slot":"toggle-group-item","data-variant":l.variant||a,"data-size":l.size||o,"data-spacing":l.spacing,className:qe(ot({variant:l.variant||a,size:l.size||o}),"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10","data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l",e),...r,children:t})}import{jsx as se,jsxs as Wo}from"react/jsx-runtime";function Vo(){return Wo(lt,{type:"multiple",disabled:!0,children:[se(Ue,{value:"bold","aria-label":"Toggle bold",children:se(fe,{className:"h-4 w-4"})}),se(Ue,{value:"italic","aria-label":"Toggle italic",children:se(ie,{className:"h-4 w-4"})}),se(Ue,{value:"strikethrough","aria-label":"Toggle strikethrough",children:se(ne,{className:"h-4 w-4"})})]})}export{Vo as default};
|
| 2 |
+
/*! Bundled license information:
|
| 3 |
+
|
| 4 |
+
lucide-react/dist/esm/shared/src/utils.js:
|
| 5 |
+
(**
|
| 6 |
+
* @license lucide-react v0.456.0 - ISC
|
| 7 |
+
*
|
| 8 |
+
* This source code is licensed under the ISC license.
|
| 9 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 10 |
+
*)
|
| 11 |
+
|
| 12 |
+
lucide-react/dist/esm/defaultAttributes.js:
|
| 13 |
+
(**
|
| 14 |
+
* @license lucide-react v0.456.0 - ISC
|
| 15 |
+
*
|
| 16 |
+
* This source code is licensed under the ISC license.
|
| 17 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 18 |
+
*)
|
| 19 |
+
|
| 20 |
+
lucide-react/dist/esm/Icon.js:
|
| 21 |
+
(**
|
| 22 |
+
* @license lucide-react v0.456.0 - ISC
|
| 23 |
+
*
|
| 24 |
+
* This source code is licensed under the ISC license.
|
| 25 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 26 |
+
*)
|
| 27 |
+
|
| 28 |
+
lucide-react/dist/esm/createLucideIcon.js:
|
| 29 |
+
(**
|
| 30 |
+
* @license lucide-react v0.456.0 - ISC
|
| 31 |
+
*
|
| 32 |
+
* This source code is licensed under the ISC license.
|
| 33 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 34 |
+
*)
|
| 35 |
+
|
| 36 |
+
lucide-react/dist/esm/icons/bold.js:
|
| 37 |
+
(**
|
| 38 |
+
* @license lucide-react v0.456.0 - ISC
|
| 39 |
+
*
|
| 40 |
+
* This source code is licensed under the ISC license.
|
| 41 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 42 |
+
*)
|
| 43 |
+
|
| 44 |
+
lucide-react/dist/esm/icons/italic.js:
|
| 45 |
+
(**
|
| 46 |
+
* @license lucide-react v0.456.0 - ISC
|
| 47 |
+
*
|
| 48 |
+
* This source code is licensed under the ISC license.
|
| 49 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 50 |
+
*)
|
| 51 |
+
|
| 52 |
+
lucide-react/dist/esm/icons/underline.js:
|
| 53 |
+
(**
|
| 54 |
+
* @license lucide-react v0.456.0 - ISC
|
| 55 |
+
*
|
| 56 |
+
* This source code is licensed under the ISC license.
|
| 57 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 58 |
+
*)
|
| 59 |
+
|
| 60 |
+
lucide-react/dist/esm/lucide-react.js:
|
| 61 |
+
(**
|
| 62 |
+
* @license lucide-react v0.456.0 - ISC
|
| 63 |
+
*
|
| 64 |
+
* This source code is licensed under the ISC license.
|
| 65 |
+
* See the LICENSE file in the root directory of this source tree.
|
| 66 |
+
*)
|
| 67 |
+
*/
|
b/9403abf7f39a688a36930595ff79ca2b788d40eafe16ac16648391da2e3bc8e7
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { Badge } from "@/registry/new-york-v4/ui/badge"
|
| 2 |
+
|
| 3 |
+
export default function BadgeSecondary() {
|
| 4 |
+
return <Badge variant="secondary">Secondary</Badge>
|
| 5 |
+
}
|
b/94205016d958f7abd4ce6c049d2f47548a6ca34baacd5c43096ac4b2fb1c8fda
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
:root:has(input.theme-controller[value=cupcake]:checked),[data-theme="cupcake"] {
|
| 2 |
+
color-scheme: light;
|
| 3 |
+
--color-base-100: oklch(97.788% 0.004 56.375);
|
| 4 |
+
--color-base-200: oklch(93.982% 0.007 61.449);
|
| 5 |
+
--color-base-300: oklch(91.586% 0.006 53.44);
|
| 6 |
+
--color-base-content: oklch(23.574% 0.066 313.189);
|
| 7 |
+
--color-primary: oklch(85% 0.138 181.071);
|
| 8 |
+
--color-primary-content: oklch(43% 0.078 188.216);
|
| 9 |
+
--color-secondary: oklch(89% 0.061 343.231);
|
| 10 |
+
--color-secondary-content: oklch(45% 0.187 3.815);
|
| 11 |
+
--color-accent: oklch(90% 0.076 70.697);
|
| 12 |
+
--color-accent-content: oklch(47% 0.157 37.304);
|
| 13 |
+
--color-neutral: oklch(27% 0.006 286.033);
|
| 14 |
+
--color-neutral-content: oklch(92% 0.004 286.32);
|
| 15 |
+
--color-info: oklch(68% 0.169 237.323);
|
| 16 |
+
--color-info-content: oklch(29% 0.066 243.157);
|
| 17 |
+
--color-success: oklch(69% 0.17 162.48);
|
| 18 |
+
--color-success-content: oklch(26% 0.051 172.552);
|
| 19 |
+
--color-warning: oklch(79% 0.184 86.047);
|
| 20 |
+
--color-warning-content: oklch(28% 0.066 53.813);
|
| 21 |
+
--color-error: oklch(64% 0.246 16.439);
|
| 22 |
+
--color-error-content: oklch(27% 0.105 12.094);
|
| 23 |
+
--radius-selector: 1rem;
|
| 24 |
+
--radius-field: 2rem;
|
| 25 |
+
--radius-box: 1rem;
|
| 26 |
+
--size-selector: 0.25rem;
|
| 27 |
+
--size-field: 0.25rem;
|
| 28 |
+
--border: 2px;
|
| 29 |
+
--depth: 1;
|
| 30 |
+
--noise: 0;
|
| 31 |
+
}
|
b/9424fd4141a2b2dd2a987cfb700cb6c9c333d5f2da2afa1c709d1a76608732f4
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
var Qe=Object.defineProperty;var eo=(e,r)=>{for(var o in r)Qe(e,o,{get:r[o],enumerable:!0})};function xe(e){var r,o,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(r=0;r<s;r++)e[r]&&(o=xe(e[r]))&&(t&&(t+=" "),t+=o)}else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function Z(){for(var e,r,o=0,t="",s=arguments.length;o<s;o++)(e=arguments[o])&&(r=xe(e))&&(t&&(t+=" "),t+=r);return t}var ve=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ke=Z,we=(e,r)=>o=>{var t;if(r?.variants==null)return ke(e,o?.class,o?.className);let{variants:s,defaultVariants:l}=r,n=Object.keys(s).map(d=>{let b=o?.[d],g=l?.[d];if(b===null)return null;let y=ve(b)||ve(g);return s[d][y]}),p=o&&Object.entries(o).reduce((d,b)=>{let[g,y]=b;return y===void 0||(d[g]=y),d},{}),f=r==null||(t=r.compoundVariants)===null||t===void 0?void 0:t.reduce((d,b)=>{let{class:g,className:y,...v}=b;return Object.entries(v).every(P=>{let[w,z]=P;return Array.isArray(z)?z.includes({...l,...p}[w]):{...l,...p}[w]===z})?[...d,g,y]:d},[]);return ke(e,n,f,o?.class,o?.className)};var K={};eo(K,{Root:()=>ro,Slot:()=>ro,Slottable:()=>to,createSlot:()=>Ae,createSlottable:()=>Ge});import*as k from"react";import*as Ce from"react";function ze(e,r){if(typeof e=="function")return e(r);e!=null&&(e.current=r)}function oo(...e){return r=>{let o=!1,t=e.map(s=>{let l=ze(s,r);return!o&&typeof l=="function"&&(o=!0),l});if(o)return()=>{for(let s=0;s<t.length;s++){let l=t[s];typeof l=="function"?l():ze(e[s],null)}}}}function Se(...e){return Ce.useCallback(oo(...e),e)}function Ae(e){let r=k.forwardRef((o,t)=>{let{children:s,...l}=o,n=null,p=!1,f=[];Re(s)&&typeof J=="function"&&(s=J(s._payload)),k.Children.forEach(s,y=>{if(ao(y)){p=!0;let v=y,P="child"in v.props?v.props.child:v.props.children;Re(P)&&typeof J=="function"&&(P=J(P._payload)),n=so(v,P),f.push(n?.props?.children)}else f.push(y)}),n?n=k.cloneElement(n,void 0,f):!p&&k.Children.count(s)===1&&k.isValidElement(s)&&(n=s);let d=n?io(n):void 0,b=Se(t,d);if(!n){if(s||s===0)throw new Error(p?po(e):mo(e));return s}let g=no(l,n.props??{});return n.type!==k.Fragment&&(g.ref=t?b:d),k.cloneElement(n,g)});return r.displayName=`${e}.Slot`,r}var ro=Ae("Slot"),Pe=Symbol.for("radix.slottable");function Ge(e){let r=o=>"child"in o?o.children(o.child):o.children;return r.displayName=`${e}.Slottable`,r.__radixId=Pe,r}var to=Ge("Slottable"),so=(e,r)=>{if("child"in e.props){let o=e.props.child;return k.isValidElement(o)?k.cloneElement(o,void 0,e.props.children(o.props.children)):null}return k.isValidElement(r)?r:null};function no(e,r){let o={...r};for(let t in r){let s=e[t],l=r[t];/^on[A-Z]/.test(t)?s&&l?o[t]=(...p)=>{let f=l(...p);return s(...p),f}:s&&(o[t]=s):t==="style"?o[t]={...s,...l}:t==="className"&&(o[t]=[s,l].filter(Boolean).join(" "))}return{...e,...o}}function io(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,o=r&&"isReactWarning"in r&&r.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}function ao(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Pe}var lo=Symbol.for("react.lazy");function Re(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===lo&&"_payload"in e&&co(e._payload)}function co(e){return typeof e=="object"&&e!==null&&"then"in e}var mo=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,po=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,J=k[" use ".trim().toString()];var uo=(e,r)=>{let o=new Array(e.length+r.length);for(let t=0;t<e.length;t++)o[t]=e[t];for(let t=0;t<r.length;t++)o[e.length+t]=r[t];return o},fo=(e,r)=>({classGroupId:e,validator:r}),Le=(e=new Map,r=null,o)=>({nextPart:e,validators:r,classGroupId:o}),oe="-",Me=[],bo="arbitrary..",go=e=>{let r=yo(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return ho(n);let p=n.split(oe),f=p[0]===""&&p.length>1?1:0;return Ne(p,f,r)},getConflictingClassGroupIds:(n,p)=>{if(p){let f=t[n],d=o[n];return f?d?uo(d,f):f:d||Me}return o[n]||Me}}},Ne=(e,r,o)=>{if(e.length-r===0)return o.classGroupId;let s=e[r],l=o.nextPart.get(s);if(l){let d=Ne(e,r+1,l);if(d)return d}let n=o.validators;if(n===null)return;let p=r===0?e.join(oe):e.slice(r).join(oe),f=n.length;for(let d=0;d<f;d++){let b=n[d];if(b.validator(p))return b.classGroupId}},ho=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let r=e.slice(1,-1),o=r.indexOf(":"),t=r.slice(0,o);return t?bo+t:void 0})(),yo=e=>{let{theme:r,classGroups:o}=e;return xo(o,r)},xo=(e,r)=>{let o=Le();for(let t in e){let s=e[t];ce(s,o,t,r)}return o},ce=(e,r,o,t)=>{let s=e.length;for(let l=0;l<s;l++){let n=e[l];vo(n,r,o,t)}},vo=(e,r,o,t)=>{if(typeof e=="string"){ko(e,r,o);return}if(typeof e=="function"){wo(e,r,o,t);return}zo(e,r,o,t)},ko=(e,r,o)=>{let t=e===""?r:Oe(r,e);t.classGroupId=o},wo=(e,r,o,t)=>{if(Co(e)){ce(e(t),r,o,t);return}r.validators===null&&(r.validators=[]),r.validators.push(fo(o,e))},zo=(e,r,o,t)=>{let s=Object.entries(e),l=s.length;for(let n=0;n<l;n++){let[p,f]=s[n];ce(f,Oe(r,p),o,t)}},Oe=(e,r)=>{let o=e,t=r.split(oe),s=t.length;for(let l=0;l<s;l++){let n=t[l],p=o.nextPart.get(n);p||(p=Le(),o.nextPart.set(n,p)),o=p}return o},Co=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,So=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,o=Object.create(null),t=Object.create(null),s=(l,n)=>{o[l]=n,r++,r>e&&(r=0,t=o,o=Object.create(null))};return{get(l){let n=o[l];if(n!==void 0)return n;if((n=t[l])!==void 0)return s(l,n),n},set(l,n){l in o?o[l]=n:s(l,n)}}},le="!",Ie=":",Ro=[],Te=(e,r,o,t,s)=>({modifiers:e,hasImportantModifier:r,baseClassName:o,maybePostfixModifierPosition:t,isExternal:s}),Ao=e=>{let{prefix:r,experimentalParseClassName:o}=e,t=s=>{let l=[],n=0,p=0,f=0,d,b=s.length;for(let w=0;w<b;w++){let z=s[w];if(n===0&&p===0){if(z===Ie){l.push(s.slice(f,w)),f=w+1;continue}if(z==="/"){d=w;continue}}z==="["?n++:z==="]"?n--:z==="("?p++:z===")"&&p--}let g=l.length===0?s:s.slice(f),y=g,v=!1;g.endsWith(le)?(y=g.slice(0,-1),v=!0):g.startsWith(le)&&(y=g.slice(1),v=!0);let P=d&&d>f?d-f:void 0;return Te(l,v,y,P)};if(r){let s=r+Ie,l=t;t=n=>n.startsWith(s)?l(n.slice(s.length)):Te(Ro,!1,n,void 0,!0)}if(o){let s=t;t=l=>o({className:l,parseClassName:s})}return t},Po=e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((o,t)=>{r.set(o,1e6+t)}),o=>{let t=[],s=[];for(let l=0;l<o.length;l++){let n=o[l],p=n[0]==="[",f=r.has(n);p||f?(s.length>0&&(s.sort(),t.push(...s),s=[]),t.push(n)):s.push(n)}return s.length>0&&(s.sort(),t.push(...s)),t}},Go=e=>({cache:So(e.cacheSize),parseClassName:Ao(e),sortModifiers:Po(e),postfixLookupClassGroupIds:Mo(e),...go(e)}),Mo=e=>{let r=Object.create(null),o=e.postfixLookupClassGroups;if(o)for(let t=0;t<o.length;t++)r[o[t]]=!0;return r},Io=/\s+/,To=(e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:n}=r,p=[],f=e.trim().split(Io),d="";for(let b=f.length-1;b>=0;b-=1){let g=f[b],{isExternal:y,modifiers:v,hasImportantModifier:P,baseClassName:w,maybePostfixModifierPosition:z}=o(g);if(y){d=g+(d.length>0?" "+d:d);continue}let _=!!z,R;if(_){let I=w.substring(0,z);R=t(I);let c=R&&n[R]?t(w):void 0;c&&c!==R&&(R=c,_=!1)}else R=t(w);if(!R){if(!_){d=g+(d.length>0?" "+d:d);continue}if(R=t(w),!R){d=g+(d.length>0?" "+d:d);continue}_=!1}let $=v.length===0?"":v.length===1?v[0]:l(v).join(":"),W=P?$+le:$,j=W+R;if(p.indexOf(j)>-1)continue;p.push(j);let F=s(R,_);for(let I=0;I<F.length;++I){let c=F[I];p.push(W+c)}d=g+(d.length>0?" "+d:d)}return d},Eo=(...e)=>{let r=0,o,t,s="";for(;r<e.length;)(o=e[r++])&&(t=We(o))&&(s&&(s+=" "),s+=t);return s},We=e=>{if(typeof e=="string")return e;let r,o="";for(let t=0;t<e.length;t++)e[t]&&(r=We(e[t]))&&(o&&(o+=" "),o+=r);return o},Vo=(e,...r)=>{let o,t,s,l,n=f=>{let d=r.reduce((b,g)=>g(b),e());return o=Go(d),t=o.cache.get,s=o.cache.set,l=p,p(f)},p=f=>{let d=t(f);if(d)return d;let b=To(f,o);return s(f,b),b};return l=n,(...f)=>l(Eo(...f))},_o=[],h=e=>{let r=o=>o[e]||_o;return r.isThemeGetter=!0,r},je=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Fe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Lo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,No=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Oo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Fo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,E=e=>Lo.test(e),u=e=>!!e&&!Number.isNaN(Number(e)),M=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith("%")&&u(e.slice(0,-1)),T=e=>No.test(e),Be=()=>!0,Bo=e=>Oo.test(e)&&!Wo.test(e),de=()=>!1,$o=e=>jo.test(e),Do=e=>Fo.test(e),Uo=e=>!i(e)&&!a(e),Yo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Ho=e=>V(e,Ue,de),i=e=>je.test(e),N=e=>V(e,Ye,Bo),Ee=e=>V(e,or,u),qo=e=>V(e,qe,Be),Xo=e=>V(e,He,de),Ve=e=>V(e,$e,de),Zo=e=>V(e,De,Do),Q=e=>V(e,Xe,$o),a=e=>Fe.test(e),D=e=>O(e,Ye),Jo=e=>O(e,He),_e=e=>O(e,$e),Ko=e=>O(e,Ue),Qo=e=>O(e,De),ee=e=>O(e,Xe,!0),er=e=>O(e,qe,!0),V=(e,r,o)=>{let t=je.exec(e);return t?t[1]?r(t[1]):o(t[2]):!1},O=(e,r,o=!1)=>{let t=Fe.exec(e);return t?t[1]?r(t[1]):o:!1},$e=e=>e==="position"||e==="percentage",De=e=>e==="image"||e==="url",Ue=e=>e==="length"||e==="size"||e==="bg-size",Ye=e=>e==="length",or=e=>e==="number",He=e=>e==="family-name",qe=e=>e==="number"||e==="weight",Xe=e=>e==="shadow";var rr=()=>{let e=h("color"),r=h("font"),o=h("text"),t=h("font-weight"),s=h("tracking"),l=h("leading"),n=h("breakpoint"),p=h("container"),f=h("spacing"),d=h("radius"),b=h("shadow"),g=h("inset-shadow"),y=h("text-shadow"),v=h("drop-shadow"),P=h("blur"),w=h("perspective"),z=h("aspect"),_=h("ease"),R=h("animate"),$=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],j=()=>[...W(),a,i],F=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],c=()=>[a,i,f],A=()=>[E,"full","auto",...c()],me=()=>[M,"none","subgrid",a,i],pe=()=>["auto",{span:["full",M,a,i]},M,a,i],U=()=>[M,"auto",a,i],ue=()=>["auto","min","max","fr",a,i],re=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...c()],L=()=>[E,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...c()],te=()=>[E,"screen","full","dvw","lvw","svw","min","max","fit",...c()],se=()=>[E,"screen","full","lh","dvh","lvh","svh","min","max","fit",...c()],m=()=>[e,a,i],fe=()=>[...W(),_e,Ve,{position:[a,i]}],be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ge=()=>["auto","cover","contain",Ko,Ho,{size:[a,i]}],ne=()=>[ae,D,N],C=()=>["","none","full",d,a,i],S=()=>["",u,D,N],Y=()=>["solid","dashed","dotted","double"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],x=()=>[u,ae,_e,Ve],ye=()=>["","none",P,a,i],H=()=>["none",u,a,i],q=()=>["none",u,a,i],ie=()=>[u,a,i],X=()=>[E,"full",...c()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[T],breakpoint:[T],color:[Be],container:[T],"drop-shadow":[T],ease:["in","out","in-out"],font:[Uo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[T],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[T],shadow:[T],spacing:["px",u],text:[T],"text-shadow":[T],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",E,i,a,z]}],container:["container"],"container-type":[{"@container":["","normal","size",a,i]}],"container-named":[Yo],columns:[{columns:[u,i,a,p]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:j()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[M,"auto",a,i]}],basis:[{basis:[E,"full","auto",p,...c()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[u,E,"auto","initial","none",i]}],grow:[{grow:["",u,a,i]}],shrink:[{shrink:["",u,a,i]}],order:[{order:[M,"first","last","none",a,i]}],"grid-cols":[{"grid-cols":me()}],"col-start-end":[{col:pe()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":me()}],"row-start-end":[{row:pe()}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ue()}],"auto-rows":[{"auto-rows":ue()}],gap:[{gap:c()}],"gap-x":[{"gap-x":c()}],"gap-y":[{"gap-y":c()}],"justify-content":[{justify:[...re(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...re()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:c()}],px:[{px:c()}],py:[{py:c()}],ps:[{ps:c()}],pe:[{pe:c()}],pbs:[{pbs:c()}],pbe:[{pbe:c()}],pt:[{pt:c()}],pr:[{pr:c()}],pb:[{pb:c()}],pl:[{pl:c()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":c()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":c()}],"space-y-reverse":["space-y-reverse"],size:[{size:L()}],"inline-size":[{inline:["auto",...te()]}],"min-inline-size":[{"min-inline":["auto",...te()]}],"max-inline-size":[{"max-inline":["none",...te()]}],"block-size":[{block:["auto",...se()]}],"min-block-size":[{"min-block":["auto",...se()]}],"max-block-size":[{"max-block":["none",...se()]}],w:[{w:[p,"screen",...L()]}],"min-w":[{"min-w":[p,"screen","none",...L()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[n]},...L()]}],h:[{h:["screen","lh",...L()]}],"min-h":[{"min-h":["screen","lh","none",...L()]}],"max-h":[{"max-h":["screen","lh",...L()]}],"font-size":[{text:["base",o,D,N]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,er,qo]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ae,i]}],"font-family":[{font:[Jo,Xo,r]}],"font-features":[{"font-features":[i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,a,i]}],"line-clamp":[{"line-clamp":[u,"none",a,Ee]}],leading:[{leading:[l,...c()]}],"list-image":[{"list-image":["none",a,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",a,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:m()}],"text-color":[{text:m()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[u,"from-font","auto",a,N]}],"text-decoration-color":[{decoration:m()}],"underline-offset":[{"underline-offset":[u,"auto",a,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:c()}],"tab-size":[{tab:[M,a,i]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",a,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",a,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:fe()}],"bg-repeat":[{bg:be()}],"bg-size":[{bg:ge()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},M,a,i],radial:["",a,i],conic:[M,a,i]},Qo,Zo]}],"bg-color":[{bg:m()}],"gradient-from-pos":[{from:ne()}],"gradient-via-pos":[{via:ne()}],"gradient-to-pos":[{to:ne()}],"gradient-from":[{from:m()}],"gradient-via":[{via:m()}],"gradient-to":[{to:m()}],rounded:[{rounded:C()}],"rounded-s":[{"rounded-s":C()}],"rounded-e":[{"rounded-e":C()}],"rounded-t":[{"rounded-t":C()}],"rounded-r":[{"rounded-r":C()}],"rounded-b":[{"rounded-b":C()}],"rounded-l":[{"rounded-l":C()}],"rounded-ss":[{"rounded-ss":C()}],"rounded-se":[{"rounded-se":C()}],"rounded-ee":[{"rounded-ee":C()}],"rounded-es":[{"rounded-es":C()}],"rounded-tl":[{"rounded-tl":C()}],"rounded-tr":[{"rounded-tr":C()}],"rounded-br":[{"rounded-br":C()}],"rounded-bl":[{"rounded-bl":C()}],"border-w":[{border:S()}],"border-w-x":[{"border-x":S()}],"border-w-y":[{"border-y":S()}],"border-w-s":[{"border-s":S()}],"border-w-e":[{"border-e":S()}],"border-w-bs":[{"border-bs":S()}],"border-w-be":[{"border-be":S()}],"border-w-t":[{"border-t":S()}],"border-w-r":[{"border-r":S()}],"border-w-b":[{"border-b":S()}],"border-w-l":[{"border-l":S()}],"divide-x":[{"divide-x":S()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":S()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:m()}],"border-color-x":[{"border-x":m()}],"border-color-y":[{"border-y":m()}],"border-color-s":[{"border-s":m()}],"border-color-e":[{"border-e":m()}],"border-color-bs":[{"border-bs":m()}],"border-color-be":[{"border-be":m()}],"border-color-t":[{"border-t":m()}],"border-color-r":[{"border-r":m()}],"border-color-b":[{"border-b":m()}],"border-color-l":[{"border-l":m()}],"divide-color":[{divide:m()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[u,a,i]}],"outline-w":[{outline:["",u,D,N]}],"outline-color":[{outline:m()}],shadow:[{shadow:["","none",b,ee,Q]}],"shadow-color":[{shadow:m()}],"inset-shadow":[{"inset-shadow":["none",g,ee,Q]}],"inset-shadow-color":[{"inset-shadow":m()}],"ring-w":[{ring:S()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:m()}],"ring-offset-w":[{"ring-offset":[u,N]}],"ring-offset-color":[{"ring-offset":m()}],"inset-ring-w":[{"inset-ring":S()}],"inset-ring-color":[{"inset-ring":m()}],"text-shadow":[{"text-shadow":["none",y,ee,Q]}],"text-shadow-color":[{"text-shadow":m()}],opacity:[{opacity:[u,a,i]}],"mix-blend":[{"mix-blend":[...he(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[u]}],"mask-image-linear-from-pos":[{"mask-linear-from":x()}],"mask-image-linear-to-pos":[{"mask-linear-to":x()}],"mask-image-linear-from-color":[{"mask-linear-from":m()}],"mask-image-linear-to-color":[{"mask-linear-to":m()}],"mask-image-t-from-pos":[{"mask-t-from":x()}],"mask-image-t-to-pos":[{"mask-t-to":x()}],"mask-image-t-from-color":[{"mask-t-from":m()}],"mask-image-t-to-color":[{"mask-t-to":m()}],"mask-image-r-from-pos":[{"mask-r-from":x()}],"mask-image-r-to-pos":[{"mask-r-to":x()}],"mask-image-r-from-color":[{"mask-r-from":m()}],"mask-image-r-to-color":[{"mask-r-to":m()}],"mask-image-b-from-pos":[{"mask-b-from":x()}],"mask-image-b-to-pos":[{"mask-b-to":x()}],"mask-image-b-from-color":[{"mask-b-from":m()}],"mask-image-b-to-color":[{"mask-b-to":m()}],"mask-image-l-from-pos":[{"mask-l-from":x()}],"mask-image-l-to-pos":[{"mask-l-to":x()}],"mask-image-l-from-color":[{"mask-l-from":m()}],"mask-image-l-to-color":[{"mask-l-to":m()}],"mask-image-x-from-pos":[{"mask-x-from":x()}],"mask-image-x-to-pos":[{"mask-x-to":x()}],"mask-image-x-from-color":[{"mask-x-from":m()}],"mask-image-x-to-color":[{"mask-x-to":m()}],"mask-image-y-from-pos":[{"mask-y-from":x()}],"mask-image-y-to-pos":[{"mask-y-to":x()}],"mask-image-y-from-color":[{"mask-y-from":m()}],"mask-image-y-to-color":[{"mask-y-to":m()}],"mask-image-radial":[{"mask-radial":[a,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":x()}],"mask-image-radial-to-pos":[{"mask-radial-to":x()}],"mask-image-radial-from-color":[{"mask-radial-from":m()}],"mask-image-radial-to-color":[{"mask-radial-to":m()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":W()}],"mask-image-conic-pos":[{"mask-conic":[u]}],"mask-image-conic-from-pos":[{"mask-conic-from":x()}],"mask-image-conic-to-pos":[{"mask-conic-to":x()}],"mask-image-conic-from-color":[{"mask-conic-from":m()}],"mask-image-conic-to-color":[{"mask-conic-to":m()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:fe()}],"mask-repeat":[{mask:be()}],"mask-size":[{mask:ge()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",a,i]}],filter:[{filter:["","none",a,i]}],blur:[{blur:ye()}],brightness:[{brightness:[u,a,i]}],contrast:[{contrast:[u,a,i]}],"drop-shadow":[{"drop-shadow":["","none",v,ee,Q]}],"drop-shadow-color":[{"drop-shadow":m()}],grayscale:[{grayscale:["",u,a,i]}],"hue-rotate":[{"hue-rotate":[u,a,i]}],invert:[{invert:["",u,a,i]}],saturate:[{saturate:[u,a,i]}],sepia:[{sepia:["",u,a,i]}],"backdrop-filter":[{"backdrop-filter":["","none",a,i]}],"backdrop-blur":[{"backdrop-blur":ye()}],"backdrop-brightness":[{"backdrop-brightness":[u,a,i]}],"backdrop-contrast":[{"backdrop-contrast":[u,a,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",u,a,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u,a,i]}],"backdrop-invert":[{"backdrop-invert":["",u,a,i]}],"backdrop-opacity":[{"backdrop-opacity":[u,a,i]}],"backdrop-saturate":[{"backdrop-saturate":[u,a,i]}],"backdrop-sepia":[{"backdrop-sepia":["",u,a,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":c()}],"border-spacing-x":[{"border-spacing-x":c()}],"border-spacing-y":[{"border-spacing-y":c()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",a,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[u,"initial",a,i]}],ease:[{ease:["linear","initial",_,a,i]}],delay:[{delay:[u,a,i]}],animate:[{animate:["none",R,a,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,a,i]}],"perspective-origin":[{"perspective-origin":j()}],rotate:[{rotate:H()}],"rotate-x":[{"rotate-x":H()}],"rotate-y":[{"rotate-y":H()}],"rotate-z":[{"rotate-z":H()}],scale:[{scale:q()}],"scale-x":[{"scale-x":q()}],"scale-y":[{"scale-y":q()}],"scale-z":[{"scale-z":q()}],"scale-3d":["scale-3d"],skew:[{skew:ie()}],"skew-x":[{"skew-x":ie()}],"skew-y":[{"skew-y":ie()}],transform:[{transform:[a,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:j()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],zoom:[{zoom:[M,a,i]}],accent:[{accent:m()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:m()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",a,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":m()}],"scrollbar-track-color":[{"scrollbar-track":m()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":c()}],"scroll-mx":[{"scroll-mx":c()}],"scroll-my":[{"scroll-my":c()}],"scroll-ms":[{"scroll-ms":c()}],"scroll-me":[{"scroll-me":c()}],"scroll-mbs":[{"scroll-mbs":c()}],"scroll-mbe":[{"scroll-mbe":c()}],"scroll-mt":[{"scroll-mt":c()}],"scroll-mr":[{"scroll-mr":c()}],"scroll-mb":[{"scroll-mb":c()}],"scroll-ml":[{"scroll-ml":c()}],"scroll-p":[{"scroll-p":c()}],"scroll-px":[{"scroll-px":c()}],"scroll-py":[{"scroll-py":c()}],"scroll-ps":[{"scroll-ps":c()}],"scroll-pe":[{"scroll-pe":c()}],"scroll-pbs":[{"scroll-pbs":c()}],"scroll-pbe":[{"scroll-pbe":c()}],"scroll-pt":[{"scroll-pt":c()}],"scroll-pr":[{"scroll-pr":c()}],"scroll-pb":[{"scroll-pb":c()}],"scroll-pl":[{"scroll-pl":c()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",a,i]}],fill:[{fill:["none",...m()]}],"stroke-w":[{stroke:[u,D,N,Ee]}],stroke:[{stroke:["none",...m()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Ze=Vo(rr);function Je(...e){return Ze(Z(e))}import{jsx as sr}from"react/jsx-runtime";var tr=we("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Ke({className:e,variant:r="default",size:o="default",asChild:t=!1,...s}){let l=t?K.Root:"button";return sr(l,{"data-slot":"button","data-variant":r,"data-size":o,className:Je(tr({variant:r,size:o,className:e})),...s})}import{jsx as ir}from"react/jsx-runtime";function nr(){return ir(Ke,{variant:"secondary",children:"Secondary"})}export{nr as default};
|
b/9426b569adb38217454707cf6f3786a9bc8d4df4ef4ab4ab26c1187bf8635c61
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"id": "org.hologram.ui.chart.chart-radar-radius",
|
| 3 |
+
"name": "chart-radar-radius",
|
| 4 |
+
"tier": "chart",
|
| 5 |
+
"library": "shadcn",
|
| 6 |
+
"category": "Charts · Radar",
|
| 7 |
+
"upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-radar-radius.json",
|
| 8 |
+
"did": "did:holo:sha256:5a64fa9fa2300034b7451dddce0e84afb2005218d461c4385e641837760e60c6",
|
| 9 |
+
"import": "holo://sha256:f759f085d1efdaa28c455db5f86dfd633675766580abc473cfe2b17e1bf09556",
|
| 10 |
+
"integrity": "sha256-91nwhdHv2qKMRV21+G39YzZ1dmWAq8Rzz+KxfhvwlVY=",
|
| 11 |
+
"kappa": "sha256:5a64fa9fa2300034b7451dddce0e84afb2005218d461c4385e641837760e60c6",
|
| 12 |
+
"moduleKappa": "sha256:f759f085d1efdaa28c455db5f86dfd633675766580abc473cfe2b17e1bf09556",
|
| 13 |
+
"renderExport": "ChartRadarRadius",
|
| 14 |
+
"source": "registry/new-york-v4/charts/chart-radar-radius.tsx",
|
| 15 |
+
"module": "vendor/components/chart-radar-radius.js",
|
| 16 |
+
"exports": [
|
| 17 |
+
"description",
|
| 18 |
+
"ChartRadarRadius"
|
| 19 |
+
],
|
| 20 |
+
"license": "MIT"
|
| 21 |
+
}
|
b/946e2eecb7609521381ef6a513121160ac89a49af8c463bbae73dc5251dbf252
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
b/949d3af66ee2484e3810333c10dd39f0f3cfc9f482d7b9828519a76a0f2444e7
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import Link from "next/link"
|
| 2 |
+
import { ChevronDownIcon, SlashIcon } from "lucide-react"
|
| 3 |
+
|
| 4 |
+
import {
|
| 5 |
+
Breadcrumb,
|
| 6 |
+
BreadcrumbItem,
|
| 7 |
+
BreadcrumbLink,
|
| 8 |
+
BreadcrumbList,
|
| 9 |
+
BreadcrumbPage,
|
| 10 |
+
BreadcrumbSeparator,
|
| 11 |
+
} from "@/registry/new-york-v4/ui/breadcrumb"
|
| 12 |
+
import {
|
| 13 |
+
DropdownMenu,
|
| 14 |
+
DropdownMenuContent,
|
| 15 |
+
DropdownMenuItem,
|
| 16 |
+
DropdownMenuTrigger,
|
| 17 |
+
} from "@/registry/new-york-v4/ui/dropdown-menu"
|
| 18 |
+
|
| 19 |
+
export default function BreadcrumbWithDropdown() {
|
| 20 |
+
return (
|
| 21 |
+
<Breadcrumb>
|
| 22 |
+
<BreadcrumbList>
|
| 23 |
+
<BreadcrumbItem>
|
| 24 |
+
<BreadcrumbLink asChild>
|
| 25 |
+
<Link href="/">Home</Link>
|
| 26 |
+
</BreadcrumbLink>
|
| 27 |
+
</BreadcrumbItem>
|
| 28 |
+
<BreadcrumbSeparator>
|
| 29 |
+
<SlashIcon />
|
| 30 |
+
</BreadcrumbSeparator>
|
| 31 |
+
<BreadcrumbItem>
|
| 32 |
+
<DropdownMenu>
|
| 33 |
+
<DropdownMenuTrigger className="flex items-center gap-1 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5">
|
| 34 |
+
Components
|
| 35 |
+
<ChevronDownIcon />
|
| 36 |
+
</DropdownMenuTrigger>
|
| 37 |
+
<DropdownMenuContent align="start">
|
| 38 |
+
<DropdownMenuItem>Documentation</DropdownMenuItem>
|
| 39 |
+
<DropdownMenuItem>Themes</DropdownMenuItem>
|
| 40 |
+
<DropdownMenuItem>GitHub</DropdownMenuItem>
|
| 41 |
+
</DropdownMenuContent>
|
| 42 |
+
</DropdownMenu>
|
| 43 |
+
</BreadcrumbItem>
|
| 44 |
+
<BreadcrumbSeparator>
|
| 45 |
+
<SlashIcon />
|
| 46 |
+
</BreadcrumbSeparator>
|
| 47 |
+
<BreadcrumbItem>
|
| 48 |
+
<BreadcrumbPage>Breadcrumb</BreadcrumbPage>
|
| 49 |
+
</BreadcrumbItem>
|
| 50 |
+
</BreadcrumbList>
|
| 51 |
+
</Breadcrumb>
|
| 52 |
+
)
|
| 53 |
+
}
|