Humuhumu33 commited on
Commit
3cde062
·
verified ·
1 Parent(s): 8767528

kappa mirror: ui + q closures (2357 objects, blake3-addressed) - U3 (part 5)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. b/6b4b8b8235a9af036cad46dc64fd411eb56884d283e0a1606fc648f67bce5c03 +3 -46
  2. b/6b64041cb374eeb55ae50e75e85021b4e490fd46cd74f05ca27caa3ac34bbab7 +3 -11
  3. b/6b776e1939a02ed5f6ffa2702a356805b9221318e51cca7b7dcf4a50215e6b15 +3 -59
  4. b/6b8dbab17f20207f4c95f00ed8e82808d5bd9e417925aea295755928ad9aff00 +3 -22
  5. b/6b9dcec02240ee13eb78762e0b3f6cee1d6ddc2cbcb8a7f8b889632c5264c68d +3 -1
  6. b/6be006c6182f48c588ba76a4e34de594d017a6887a37a3bdf074c1dce7e41d41 +3 -1
  7. b/6be369a06d9c6ad34479cd6691ccd81211783571b8d3b86b277e73adc2e99da3 +3 -20
  8. b/6be92392dfbd6ee0a0a5d97efab287701d9f76e95f6dae450306e721c2f35f46 +3 -38
  9. b/6c32761c5cabc3e05e986986698b4ad74493b8711bf3de84b0589cc2c65ef013 +3 -21
  10. b/6c505c47c9cdeeddce014481b5d198c96cd546509c9eada2b81c73fbe5103edd +3 -7
  11. b/6c924350ba2921766013932a480fcaf98a7ba5ffa7251df93c6cf849c4c6def0 +3 -1
  12. b/6cb9d510f8de13010391f37df268f9d89f9d14ff9dfc96314e58350bb3fd1a25 +3 -48
  13. b/6cedb837778da5a63a6f17085213d01a4ae1d542b2cb626fb50010e68c7b2e71 +3 -1
  14. b/6cf9ca1766dcf3ec9daaae61492de75ed629c4d084fe8d8cefc5e67f2596024e +3 -20
  15. b/6d021c294e26f2b10011242e720ab2110c608db7b39075d746f2652fb5daccdd +3 -20
  16. b/6d460764cf0fcdd86f936a414040f1198cf342d2688b9e54baf2e8715a1b5bc0 +3 -54
  17. b/6da178e05f63a53e42f2e7a397f5f7e385162b9a12717584a46f99e5568236cc +3 -1
  18. b/6df0048156f14cf95874a6e17d9d26b2a505cb1427667f158009e0d1a66096eb +3 -20
  19. b/6e0e48b6e6251e64cd5db55beb1f1a925ddf60d7134ddc5edf2ebb46dc4dd202 +3 -61
  20. b/6e496f3f2578b826928fbf5d5158a07aca603da129c76e4d7e8687661dd5a56a +3 -20
  21. b/6e72215775e48367032c89a774c0cb84dd5f2165c3271c414300dc57b2dfd8db +0 -0
  22. b/6e90e9a20ebd7b0f9783bcdbacc86187527d8e52d37a4db5b8915e49a4a9f74b +3 -20
  23. b/6eb4487e1ed7f19ef123aea1f9085355dfb00d525ef77ebd1a202b401d681319 +3 -83
  24. b/6f1190f6fec8915d08f5d2a5d226e8ce204d7ee7e498cfdfb2621e3d7a51d65e +0 -0
  25. b/6f14fcff247694eaf421522f67e74a57f604e23d089b1ca377bf402d880f5854 +3 -52
  26. b/6f1a160e16459fe8bf7f1030a64439fb3e29407999a1c9a76c7ec35ba02c4c77 +0 -0
  27. b/6f321c1a7e7dc3629a8e0470e33cc8d69a9ea72ab1a9ec43cd99ab3116585b3c +3 -58
  28. b/6f3f57a6f962a7bdc0eed0366fdf9534c8e3f92f894d0ccda63cfef8446c363a +3 -26
  29. b/6f3fc9648576109c5f13c08d5b5737dcd4aca6ffa3221154a5096247b574aa7f +3 -257
  30. b/6f442283ad549ced4db96d2d0d03fadf59abb31fe3ab9a11cc3726efddeb7e18 +3 -20
  31. b/6f48d16edc538c5668e979ab4c95f9c220242eda91bafacafd08ca9efa620da6 +3 -23
  32. b/6f6265f8e29ccabed2d1b00e46115e46f611bd6fca763961936edf1b2ca24adf +0 -0
  33. b/6f827b986032b404e7ef63e3eb99606f0c1561b86fd5195eab9669976d2e3d99 +3 -22
  34. b/6f846bec6ed3a23e167be3585a359b5604d5a92f89b3c54b64412057198dc329 +3 -46
  35. b/6fa5ac11952ec411380f9f2b702b327f35d5faf91ba5a56e20a642d7527e5004 +3 -75
  36. b/6fd871a55c937ca12904f2a1b429327fb4d2668b4f64b63d1e3ee1c54b68ee23 +3 -58
  37. b/6fdf1c7245aed6ac0f0831c9764ad0ba8c201da1bc2c9a408cfe4373ed1394a4 +3 -63
  38. b/6fec2243975de84e5aac9f3cf15ac4b9fcfae7b132ad7759c0fc3c72c8ad0456 +3 -11
  39. b/702f1600e5b352204f1bb862465ea43111db58732d6a96f7ba91a4c082d41e01 +0 -0
  40. b/704f09d62f0604bd47cfd7c11bbba44dc47e77af65c051ff810afdc3cad56c2b +3 -321
  41. b/7093a63dcd2a6dd1c180d0ce08d28c25a79656e38e5ff1bff72bd762c64df2d7 +3 -1
  42. b/70a8be11004e64f537c21f740f445d3742e5b3a452fc99460f9c13d7dc79c93f +3 -47
  43. b/70beacc89e5f37a13d7284a4350d01f8095b283c0a0351c2ece7e589c1ed2851 +3 -51
  44. b/70c3d8237f9690986b99efa620193dc43fdc031464432afcb61614537881886d +3 -364
  45. b/70deeb235d7fea6700bf564cea4841fb7355e5c9c574cd1751e820e9d91e6639 +3 -1
  46. b/70df938642c34d7be353028f673b4444a9930bad575f62e23e68b47e4762be2f +3 -56
  47. b/70e9358710b89224fbc73acbb1df4bd929689cc042a00b14ba4b70cf031e25a4 +3 -32
  48. b/70ed7109dd66a32f3e0b81297b80f75364b6707a884f62f96a9ee14ce5420a74 +3 -36
  49. b/7113bcdb06feac4447b87fac11943024138a4c810ff7c5efa38fe6ac543e66fc +3 -21
  50. b/71980df7adeb081fdceea20e4cfb4cfa40f77e0662ce062ab62245dac55ffa5c +3 -1
b/6b4b8b8235a9af036cad46dc64fd411eb56884d283e0a1606fc648f67bce5c03 CHANGED
@@ -1,46 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { ChevronsUpDown } from "lucide-react"
5
-
6
- import { Button } from "@/registry/new-york-v4/ui/button"
7
- import {
8
- Collapsible,
9
- CollapsibleContent,
10
- CollapsibleTrigger,
11
- } from "@/registry/new-york-v4/ui/collapsible"
12
-
13
- export default function CollapsibleDemo() {
14
- const [isOpen, setIsOpen] = React.useState(false)
15
-
16
- return (
17
- <Collapsible
18
- open={isOpen}
19
- onOpenChange={setIsOpen}
20
- className="flex w-[350px] flex-col gap-2"
21
- >
22
- <div className="flex items-center justify-between gap-4 px-4">
23
- <h4 className="text-sm font-semibold">
24
- @peduarte starred 3 repositories
25
- </h4>
26
- <CollapsibleTrigger asChild>
27
- <Button variant="ghost" size="icon" className="size-8">
28
- <ChevronsUpDown />
29
- <span className="sr-only">Toggle</span>
30
- </Button>
31
- </CollapsibleTrigger>
32
- </div>
33
- <div className="rounded-md border px-4 py-2 font-mono text-sm">
34
- @radix-ui/primitives
35
- </div>
36
- <CollapsibleContent className="flex flex-col gap-2">
37
- <div className="rounded-md border px-4 py-2 font-mono text-sm">
38
- @radix-ui/colors
39
- </div>
40
- <div className="rounded-md border px-4 py-2 font-mono text-sm">
41
- @stitches/react
42
- </div>
43
- </CollapsibleContent>
44
- </Collapsible>
45
- )
46
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37abc88bacbc1d98d6b675a48a457096f3a40ff0722369ae61476c59f048d278
3
+ size 1369
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6b64041cb374eeb55ae50e75e85021b4e490fd46cd74f05ca27caa3ac34bbab7 CHANGED
@@ -1,11 +1,3 @@
1
- "use client"
2
-
3
- import { AspectRatio as AspectRatioPrimitive } from "radix-ui"
4
-
5
- function AspectRatio({
6
- ...props
7
- }: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {
8
- return <AspectRatioPrimitive.Root data-slot="aspect-ratio" {...props} />
9
- }
10
-
11
- export { AspectRatio }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b1c157886236782cb92d8fbcd4749532aaf6d8aabefd6e157ca40358f902f407
3
+ size 274
 
 
 
 
 
 
 
 
b/6b776e1939a02ed5f6ffa2702a356805b9221318e51cca7b7dcf4a50215e6b15 CHANGED
@@ -1,59 +1,3 @@
1
- var la=Object.defineProperty;var ra=(e,a)=>{for(var t in a)la(e,t,{get:a[t],enumerable:!0})};import{forwardRef as da,createElement as sa}from"react";var be=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ee=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();import{forwardRef as ua,createElement as Ae}from"react";var Pe={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 Be=ua(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:l="",children:s,iconNode:r,...n},m)=>Ae("svg",{ref:m,...Pe,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:ee("lucide",l),...n},[...r.map(([c,L])=>Ae(c,L)),...Array.isArray(s)?s:[s]]));var ae=(e,a)=>{let t=da(({className:o,...l},s)=>sa(Be,{ref:s,iconNode:a,className:ee(`lucide-${be(e)}`,o),...l}));return t.displayName=`${e}`,t};var Z=ae("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var q=ae("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var oe={};ra(oe,{Root:()=>ia,Slot:()=>ia,Slottable:()=>ca,createSlot:()=>Re,createSlottable:()=>qe});import*as g from"react";import*as Me from"react";function ye(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function fa(...e){return a=>{let t=!1,o=e.map(l=>{let s=ye(l,a);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let l=0;l<o.length;l++){let s=o[l];typeof s=="function"?s():ye(e[l],null)}}}}function Fe(...e){return Me.useCallback(fa(...e),e)}function Re(e){let a=g.forwardRef((t,o)=>{let{children:l,...s}=t,r=null,n=!1,m=[];De(l)&&typeof te=="function"&&(l=te(l._payload)),g.Children.forEach(l,A=>{if(La(A)){n=!0;let h=A,M="child"in h.props?h.props.child:h.props.children;De(M)&&typeof te=="function"&&(M=te(M._payload)),r=na(h,M),m.push(r?.props?.children)}else m.push(A)}),r?r=g.cloneElement(r,void 0,m):!n&&g.Children.count(l)===1&&g.isValidElement(l)&&(r=l);let c=r?ma(r):void 0,L=Fe(o,c);if(!r){if(l||l===0)throw new Error(n?ga(e):Ca(e));return l}let x=pa(s,r.props??{});return r.type!==g.Fragment&&(x.ref=o?L:c),g.cloneElement(r,x)});return a.displayName=`${e}.Slot`,a}var ia=Re("Slot"),Te=Symbol.for("radix.slottable");function qe(e){let a=t=>"child"in t?t.children(t.child):t.children;return a.displayName=`${e}.Slottable`,a.__radixId=Te,a}var ca=qe("Slottable"),na=(e,a)=>{if("child"in e.props){let t=e.props.child;return g.isValidElement(t)?g.cloneElement(t,void 0,e.props.children(t.props.children)):null}return g.isValidElement(a)?a:null};function pa(e,a){let t={...a};for(let o in a){let l=e[o],s=a[o];/^on[A-Z]/.test(o)?l&&s?t[o]=(...n)=>{let m=s(...n);return l(...n),m}:l&&(t[o]=l):o==="style"?t[o]={...l,...s}:o==="className"&&(t[o]=[l,s].filter(Boolean).join(" "))}return{...e,...t}}function ma(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 La(e){return g.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Te}var Ia=Symbol.for("react.lazy");function De(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ia&&"_payload"in e&&xa(e._payload)}function xa(e){return typeof e=="object"&&e!==null&&"then"in e}var Ca=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ga=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,te=g[" use ".trim().toString()];function ve(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(a=0;a<l;a++)e[a]&&(t=ve(e[a]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function Ue(){for(var e,a,t=0,o="",l=arguments.length;t<l;t++)(e=arguments[t])&&(a=ve(e))&&(o&&(o+=" "),o+=a);return o}var ha=(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},Sa=(e,a)=>({classGroupId:e,validator:a}),We=(e=new Map,a=null,t)=>({nextPart:e,validators:a,classGroupId:t}),ue="-",Oe=[],wa="arbitrary..",ka=e=>{let a=Pa(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:r=>{if(r.startsWith("[")&&r.endsWith("]"))return ba(r);let n=r.split(ue),m=n[0]===""&&n.length>1?1:0;return Ne(n,m,a)},getConflictingClassGroupIds:(r,n)=>{if(n){let m=o[r],c=t[r];return m?c?ha(c,m):m:c||Oe}return t[r]||Oe}}},Ne=(e,a,t)=>{if(e.length-a===0)return t.classGroupId;let l=e[a],s=t.nextPart.get(l);if(s){let c=Ne(e,a+1,s);if(c)return c}let r=t.validators;if(r===null)return;let n=a===0?e.join(ue):e.slice(a).join(ue),m=r.length;for(let c=0;c<m;c++){let L=r[c];if(L.validator(n))return L.classGroupId}},ba=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?wa+o:void 0})(),Pa=e=>{let{theme:a,classGroups:t}=e;return Aa(t,a)},Aa=(e,a)=>{let t=We();for(let o in e){let l=e[o];me(l,t,o,a)}return t},me=(e,a,t,o)=>{let l=e.length;for(let s=0;s<l;s++){let r=e[s];Ba(r,a,t,o)}},Ba=(e,a,t,o)=>{if(typeof e=="string"){ya(e,a,t);return}if(typeof e=="function"){Ma(e,a,t,o);return}Fa(e,a,t,o)},ya=(e,a,t)=>{let o=e===""?a:Xe(a,e);o.classGroupId=t},Ma=(e,a,t,o)=>{if(Da(e)){me(e(o),a,t,o);return}a.validators===null&&(a.validators=[]),a.validators.push(Sa(t,e))},Fa=(e,a,t,o)=>{let l=Object.entries(e),s=l.length;for(let r=0;r<s;r++){let[n,m]=l[r];me(m,Xe(a,n),t,o)}},Xe=(e,a)=>{let t=e,o=a.split(ue),l=o.length;for(let s=0;s<l;s++){let r=o[s],n=t.nextPart.get(r);n||(n=We(),t.nextPart.set(r,n)),t=n}return t},Da=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Ra=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,t=Object.create(null),o=Object.create(null),l=(s,r)=>{t[s]=r,a++,a>e&&(a=0,o=t,t=Object.create(null))};return{get(s){let r=t[s];if(r!==void 0)return r;if((r=o[s])!==void 0)return l(s,r),r},set(s,r){s in t?t[s]=r:l(s,r)}}},pe="!",He=":",Ta=[],Ge=(e,a,t,o,l)=>({modifiers:e,hasImportantModifier:a,baseClassName:t,maybePostfixModifierPosition:o,isExternal:l}),qa=e=>{let{prefix:a,experimentalParseClassName:t}=e,o=l=>{let s=[],r=0,n=0,m=0,c,L=l.length;for(let k=0;k<L;k++){let B=l[k];if(r===0&&n===0){if(B===He){s.push(l.slice(m,k)),m=k+1;continue}if(B==="/"){c=k;continue}}B==="["?r++:B==="]"?r--:B==="("?n++:B===")"&&n--}let x=s.length===0?l:l.slice(m),A=x,h=!1;x.endsWith(pe)?(A=x.slice(0,-1),h=!0):x.startsWith(pe)&&(A=x.slice(1),h=!0);let M=c&&c>m?c-m:void 0;return Ge(s,h,A,M)};if(a){let l=a+He,s=o;o=r=>r.startsWith(l)?s(r.slice(l.length)):Ge(Ta,!1,r,void 0,!0)}if(t){let l=o;o=s=>t({className:s,parseClassName:l})}return o},va=e=>{let a=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{a.set(t,1e6+o)}),t=>{let o=[],l=[];for(let s=0;s<t.length;s++){let r=t[s],n=r[0]==="[",m=a.has(r);n||m?(l.length>0&&(l.sort(),o.push(...l),l=[]),o.push(r)):l.push(r)}return l.length>0&&(l.sort(),o.push(...l)),o}},Ua=e=>({cache:Ra(e.cacheSize),parseClassName:qa(e),sortModifiers:va(e),postfixLookupClassGroupIds:Oa(e),...ka(e)}),Oa=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},Ha=/\s+/,Ga=(e,a)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:l,sortModifiers:s,postfixLookupClassGroupIds:r}=a,n=[],m=e.trim().split(Ha),c="";for(let L=m.length-1;L>=0;L-=1){let x=m[L],{isExternal:A,modifiers:h,hasImportantModifier:M,baseClassName:k,maybePostfixModifierPosition:B}=t(x);if(A){c=x+(c.length>0?" "+c:c);continue}let O=!!B,b;if(O){let D=k.substring(0,B);b=o(D);let f=b&&r[b]?o(k):void 0;f&&f!==b&&(b=f,O=!1)}else b=o(k);if(!b){if(!O){c=x+(c.length>0?" "+c:c);continue}if(b=o(k),!b){c=x+(c.length>0?" "+c:c);continue}O=!1}let K=h.length===0?"":h.length===1?h[0]:s(h).join(":"),E=M?K+pe:K,W=E+b;if(n.indexOf(W)>-1)continue;n.push(W);let N=l(b,O);for(let D=0;D<N.length;++D){let f=N[D];n.push(E+f)}c=x+(c.length>0?" "+c:c)}return c},za=(...e)=>{let a=0,t,o,l="";for(;a<e.length;)(t=e[a++])&&(o=Ke(t))&&(l&&(l+=" "),l+=o);return l},Ke=e=>{if(typeof e=="string")return e;let a,t="";for(let o=0;o<e.length;o++)e[o]&&(a=Ke(e[o]))&&(t&&(t+=" "),t+=a);return t},Va=(e,...a)=>{let t,o,l,s,r=m=>{let c=a.reduce((L,x)=>x(L),e());return t=Ua(c),o=t.cache.get,l=t.cache.set,s=n,n(m)},n=m=>{let c=o(m);if(c)return c;let L=Ga(m,t);return l(m,L),L};return s=r,(...m)=>s(za(...m))},Ea=[],I=e=>{let a=t=>t[e]||Ea;return a.isThemeGetter=!0,a},Ze=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Je=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Wa=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Na=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Xa=/\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$/,Ka=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Za=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ja=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,v=e=>Wa.test(e),p=e=>!!e&&!Number.isNaN(Number(e)),F=e=>!!e&&Number.isInteger(Number(e)),ne=e=>e.endsWith("%")&&p(e.slice(0,-1)),R=e=>Na.test(e),_e=()=>!0,_a=e=>Xa.test(e)&&!Ka.test(e),Le=()=>!1,Qa=e=>Za.test(e),ja=e=>Ja.test(e),$a=e=>!u(e)&&!d(e),Ya=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)),et=e=>U(e,$e,Le),u=e=>Ze.test(e),G=e=>U(e,Ye,_a),ze=e=>U(e,st,p),at=e=>U(e,aa,_e),tt=e=>U(e,ea,Le),Ve=e=>U(e,Qe,Le),ot=e=>U(e,je,ja),le=e=>U(e,ta,Qa),d=e=>Je.test(e),J=e=>z(e,Ye),lt=e=>z(e,ea),Ee=e=>z(e,Qe),rt=e=>z(e,$e),ut=e=>z(e,je),re=e=>z(e,ta,!0),dt=e=>z(e,aa,!0),U=(e,a,t)=>{let o=Ze.exec(e);return o?o[1]?a(o[1]):t(o[2]):!1},z=(e,a,t=!1)=>{let o=Je.exec(e);return o?o[1]?a(o[1]):t:!1},Qe=e=>e==="position"||e==="percentage",je=e=>e==="image"||e==="url",$e=e=>e==="length"||e==="size"||e==="bg-size",Ye=e=>e==="length",st=e=>e==="number",ea=e=>e==="family-name",aa=e=>e==="number"||e==="weight",ta=e=>e==="shadow";var ft=()=>{let e=I("color"),a=I("font"),t=I("text"),o=I("font-weight"),l=I("tracking"),s=I("leading"),r=I("breakpoint"),n=I("container"),m=I("spacing"),c=I("radius"),L=I("shadow"),x=I("inset-shadow"),A=I("text-shadow"),h=I("drop-shadow"),M=I("blur"),k=I("perspective"),B=I("aspect"),O=I("ease"),b=I("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],E=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],W=()=>[...E(),d,u],N=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],f=()=>[d,u,m],P=()=>[v,"full","auto",...f()],Ie=()=>[F,"none","subgrid",d,u],xe=()=>["auto",{span:["full",F,d,u]},F,d,u],_=()=>[F,"auto",d,u],Ce=()=>["auto","min","max","fr",d,u],de=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],y=()=>["auto",...f()],H=()=>[v,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],se=()=>[v,"screen","full","dvw","lvw","svw","min","max","fit",...f()],fe=()=>[v,"screen","full","lh","dvh","lvh","svh","min","max","fit",...f()],i=()=>[e,d,u],ge=()=>[...E(),Ee,Ve,{position:[d,u]}],he=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Se=()=>["auto","cover","contain",rt,et,{size:[d,u]}],ie=()=>[ne,J,G],S=()=>["","none","full",c,d,u],w=()=>["",p,J,G],Q=()=>["solid","dashed","dotted","double"],we=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[p,ne,Ee,Ve],ke=()=>["","none",M,d,u],j=()=>["none",p,d,u],$=()=>["none",p,d,u],ce=()=>[p,d,u],Y=()=>[v,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[R],breakpoint:[R],color:[_e],container:[R],"drop-shadow":[R],ease:["in","out","in-out"],font:[$a],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[R],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[R],shadow:[R],spacing:["px",p],text:[R],"text-shadow":[R],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",v,u,d,B]}],container:["container"],"container-type":[{"@container":["","normal","size",d,u]}],"container-named":[Ya],columns:[{columns:[p,u,d,n]}],"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:W()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{"inset-s":P(),start:P()}],end:[{"inset-e":P(),end:P()}],"inset-bs":[{"inset-bs":P()}],"inset-be":[{"inset-be":P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[F,"auto",d,u]}],basis:[{basis:[v,"full","auto",n,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[p,v,"auto","initial","none",u]}],grow:[{grow:["",p,d,u]}],shrink:[{shrink:["",p,d,u]}],order:[{order:[F,"first","last","none",d,u]}],"grid-cols":[{"grid-cols":Ie()}],"col-start-end":[{col:xe()}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":Ie()}],"row-start-end":[{row:xe()}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ce()}],"auto-rows":[{"auto-rows":Ce()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...de(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...de()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":de()}],"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:y()}],mx:[{mx:y()}],my:[{my:y()}],ms:[{ms:y()}],me:[{me:y()}],mbs:[{mbs:y()}],mbe:[{mbe:y()}],mt:[{mt:y()}],mr:[{mr:y()}],mb:[{mb:y()}],ml:[{ml:y()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...se()]}],"min-inline-size":[{"min-inline":["auto",...se()]}],"max-inline-size":[{"max-inline":["none",...se()]}],"block-size":[{block:["auto",...fe()]}],"min-block-size":[{"min-block":["auto",...fe()]}],"max-block-size":[{"max-block":["none",...fe()]}],w:[{w:[n,"screen",...H()]}],"min-w":[{"min-w":[n,"screen","none",...H()]}],"max-w":[{"max-w":[n,"screen","none","prose",{screen:[r]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",t,J,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,dt,at]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ne,u]}],"font-family":[{font:[lt,tt,a]}],"font-features":[{"font-features":[u]}],"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:[l,d,u]}],"line-clamp":[{"line-clamp":[p,"none",d,ze]}],leading:[{leading:[s,...f()]}],"list-image":[{"list-image":["none",d,u]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",d,u]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:i()}],"text-color":[{text:i()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Q(),"wavy"]}],"text-decoration-thickness":[{decoration:[p,"from-font","auto",d,G]}],"text-decoration-color":[{decoration:i()}],"underline-offset":[{"underline-offset":[p,"auto",d,u]}],"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:[F,d,u]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",d,u]}],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",d,u]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ge()}],"bg-repeat":[{bg:he()}],"bg-size":[{bg:Se()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},F,d,u],radial:["",d,u],conic:[F,d,u]},ut,ot]}],"bg-color":[{bg:i()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:i()}],"gradient-via":[{via:i()}],"gradient-to":[{to:i()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-bs":[{"border-bs":w()}],"border-w-be":[{"border-be":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Q(),"hidden","none"]}],"divide-style":[{divide:[...Q(),"hidden","none"]}],"border-color":[{border:i()}],"border-color-x":[{"border-x":i()}],"border-color-y":[{"border-y":i()}],"border-color-s":[{"border-s":i()}],"border-color-e":[{"border-e":i()}],"border-color-bs":[{"border-bs":i()}],"border-color-be":[{"border-be":i()}],"border-color-t":[{"border-t":i()}],"border-color-r":[{"border-r":i()}],"border-color-b":[{"border-b":i()}],"border-color-l":[{"border-l":i()}],"divide-color":[{divide:i()}],"outline-style":[{outline:[...Q(),"none","hidden"]}],"outline-offset":[{"outline-offset":[p,d,u]}],"outline-w":[{outline:["",p,J,G]}],"outline-color":[{outline:i()}],shadow:[{shadow:["","none",L,re,le]}],"shadow-color":[{shadow:i()}],"inset-shadow":[{"inset-shadow":["none",x,re,le]}],"inset-shadow-color":[{"inset-shadow":i()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:i()}],"ring-offset-w":[{"ring-offset":[p,G]}],"ring-offset-color":[{"ring-offset":i()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":i()}],"text-shadow":[{"text-shadow":["none",A,re,le]}],"text-shadow-color":[{"text-shadow":i()}],opacity:[{opacity:[p,d,u]}],"mix-blend":[{"mix-blend":[...we(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":we()}],"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":[p]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":i()}],"mask-image-linear-to-color":[{"mask-linear-to":i()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":i()}],"mask-image-t-to-color":[{"mask-t-to":i()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":i()}],"mask-image-r-to-color":[{"mask-r-to":i()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":i()}],"mask-image-b-to-color":[{"mask-b-to":i()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":i()}],"mask-image-l-to-color":[{"mask-l-to":i()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":i()}],"mask-image-x-to-color":[{"mask-x-to":i()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":i()}],"mask-image-y-to-color":[{"mask-y-to":i()}],"mask-image-radial":[{"mask-radial":[d,u]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":i()}],"mask-image-radial-to-color":[{"mask-radial-to":i()}],"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":E()}],"mask-image-conic-pos":[{"mask-conic":[p]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":i()}],"mask-image-conic-to-color":[{"mask-conic-to":i()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ge()}],"mask-repeat":[{mask:he()}],"mask-size":[{mask:Se()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",d,u]}],filter:[{filter:["","none",d,u]}],blur:[{blur:ke()}],brightness:[{brightness:[p,d,u]}],contrast:[{contrast:[p,d,u]}],"drop-shadow":[{"drop-shadow":["","none",h,re,le]}],"drop-shadow-color":[{"drop-shadow":i()}],grayscale:[{grayscale:["",p,d,u]}],"hue-rotate":[{"hue-rotate":[p,d,u]}],invert:[{invert:["",p,d,u]}],saturate:[{saturate:[p,d,u]}],sepia:[{sepia:["",p,d,u]}],"backdrop-filter":[{"backdrop-filter":["","none",d,u]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[p,d,u]}],"backdrop-contrast":[{"backdrop-contrast":[p,d,u]}],"backdrop-grayscale":[{"backdrop-grayscale":["",p,d,u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p,d,u]}],"backdrop-invert":[{"backdrop-invert":["",p,d,u]}],"backdrop-opacity":[{"backdrop-opacity":[p,d,u]}],"backdrop-saturate":[{"backdrop-saturate":[p,d,u]}],"backdrop-sepia":[{"backdrop-sepia":["",p,d,u]}],"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",d,u]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[p,"initial",d,u]}],ease:[{ease:["linear","initial",O,d,u]}],delay:[{delay:[p,d,u]}],animate:[{animate:["none",b,d,u]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,d,u]}],"perspective-origin":[{"perspective-origin":W()}],rotate:[{rotate:j()}],"rotate-x":[{"rotate-x":j()}],"rotate-y":[{"rotate-y":j()}],"rotate-z":[{"rotate-z":j()}],scale:[{scale:$()}],"scale-x":[{"scale-x":$()}],"scale-y":[{"scale-y":$()}],"scale-z":[{"scale-z":$()}],"scale-3d":["scale-3d"],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[d,u,"","none","gpu","cpu"]}],"transform-origin":[{origin:W()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Y()}],"translate-x":[{"translate-x":Y()}],"translate-y":[{"translate-y":Y()}],"translate-z":[{"translate-z":Y()}],"translate-none":["translate-none"],zoom:[{zoom:[F,d,u]}],accent:[{accent:i()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:i()}],"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",d,u]}],"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":i()}],"scrollbar-track-color":[{"scrollbar-track":i()}],"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",d,u]}],fill:[{fill:["none",...i()]}],"stroke-w":[{stroke:[p,J,G,ze]}],stroke:[{stroke:["none",...i()]}],"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 oa=Va(ft);function V(...e){return oa(Ue(e))}import{jsx as T,jsxs as it}from"react/jsx-runtime";function zt({...e}){return T("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...e})}function Vt({className:e,...a}){return T("ol",{"data-slot":"breadcrumb-list",className:V("flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5",e),...a})}function Et({className:e,...a}){return T("li",{"data-slot":"breadcrumb-item",className:V("inline-flex items-center gap-1.5",e),...a})}function Wt({asChild:e,className:a,...t}){let o=e?oe.Root:"a";return T(o,{"data-slot":"breadcrumb-link",className:V("transition-colors hover:text-foreground",a),...t})}function Nt({className:e,...a}){return T("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:V("font-normal text-foreground",e),...a})}function Xt({children:e,className:a,...t}){return T("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:V("[&>svg]:size-3.5",a),...t,children:e??T(Z,{})})}function Kt({className:e,...a}){return it("span",{"data-slot":"breadcrumb-ellipsis",role:"presentation","aria-hidden":"true",className:V("flex size-9 items-center justify-center",e),...a,children:[T(q,{className:"size-4"}),T("span",{className:"sr-only",children:"More"})]})}export{zt as Breadcrumb,Kt as BreadcrumbEllipsis,Et as BreadcrumbItem,Wt as BreadcrumbLink,Vt as BreadcrumbList,Nt as BreadcrumbPage,Xt as BreadcrumbSeparator};
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/chevron-right.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/ellipsis.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/lucide-react.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
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:27302a3d1682beb4990b5294733815f20072d7557054fde1a39188a30393e383
3
+ size 34284
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6b8dbab17f20207f4c95f00ed8e82808d5bd9e417925aea295755928ad9aff00 CHANGED
@@ -1,22 +1,3 @@
1
- import { Bold, Italic, Underline } from "lucide-react"
2
-
3
- import {
4
- ToggleGroup,
5
- ToggleGroupItem,
6
- } from "@/registry/new-york-v4/ui/toggle-group"
7
-
8
- export default function ToggleGroupDemo() {
9
- return (
10
- <ToggleGroup type="multiple" disabled>
11
- <ToggleGroupItem value="bold" aria-label="Toggle bold">
12
- <Bold className="h-4 w-4" />
13
- </ToggleGroupItem>
14
- <ToggleGroupItem value="italic" aria-label="Toggle italic">
15
- <Italic className="h-4 w-4" />
16
- </ToggleGroupItem>
17
- <ToggleGroupItem value="strikethrough" aria-label="Toggle strikethrough">
18
- <Underline className="h-4 w-4" />
19
- </ToggleGroupItem>
20
- </ToggleGroup>
21
- )
22
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb2922074778eee0ccaae2fb4649c69305c7372e82158ed00e2fbdbd09ac9cd9
3
+ size 672
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6b9dcec02240ee13eb78762e0b3f6cee1d6ddc2cbcb8a7f8b889632c5264c68d CHANGED
@@ -1 +1,3 @@
1
- export default {".join":{"display":"inline-flex","align-items":"stretch","--join-ss":"0","--join-se":"0","--join-es":"0","--join-ee":"0",":where(.join-item)":{"border-start-start-radius":"var(--join-ss, 0)","border-start-end-radius":"var(--join-se, 0)","border-end-start-radius":"var(--join-es, 0)","border-end-end-radius":"var(--join-ee, 0)","*":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"}},"> .join-item:where(:first-child)":{"--join-ss":"var(--radius-field)","--join-se":"0","--join-es":"var(--radius-field)","--join-ee":"0"},":first-child:not(:last-child)":{":where(.join-item)":{"--join-ss":"var(--radius-field)","--join-se":"0","--join-es":"var(--radius-field)","--join-ee":"0"}},"> .join-item:where(:last-child)":{"--join-ss":"0","--join-se":"var(--radius-field)","--join-es":"0","--join-ee":"var(--radius-field)"},":last-child:not(:first-child)":{":where(.join-item)":{"--join-ss":"0","--join-se":"var(--radius-field)","--join-es":"0","--join-ee":"var(--radius-field)"}},"> .join-item:where(:only-child)":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"},":only-child":{":where(.join-item)":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"}},"> :where(:focus, :has(:focus))":{"z-index":1},"@media (hover: hover)":{"> :where(.btn:hover, :has(.btn:hover))":{"isolation":"isolate"}}},".join-item":{"&:where(*:not(:first-child, :disabled, [disabled], .btn-disabled))":{"margin-inline-start":"calc(var(--border, 1px) * -1)","margin-block-start":"0"},"&:where(*:is(:disabled, [disabled], .btn-disabled))":{"border-width":"var(--border, 1px) 0 var(--border, 1px) var(--border, 1px)"}},".join-vertical":{"flex-direction":"column","> .join-item:first-child":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"0","--join-ee":"0"},":first-child:not(:last-child)":{".join-item":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"0","--join-ee":"0"}},"> .join-item:last-child":{"--join-ss":"0","--join-se":"0","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"},":last-child:not(:first-child)":{".join-item":{"--join-ss":"0","--join-se":"0","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"}},"> .join-item:only-child":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"},":only-child":{".join-item":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"}},".join-item":{"&:where(*:not(:first-child))":{"margin-inline-start":"0","margin-block-start":"calc(var(--border, 1px) * -1)"}}},".join-horizontal":{"flex-direction":"row","> .join-item:first-child":{"--join-ss":"var(--radius-field)","--join-se":"0","--join-es":"var(--radius-field)","--join-ee":"0"},":first-child:not(:last-child)":{".join-item":{"--join-ss":"var(--radius-field)","--join-se":"0","--join-es":"var(--radius-field)","--join-ee":"0"}},"> .join-item:last-child":{"--join-ss":"0","--join-se":"var(--radius-field)","--join-es":"0","--join-ee":"var(--radius-field)"},":last-child:not(:first-child)":{".join-item":{"--join-ss":"0","--join-se":"var(--radius-field)","--join-es":"0","--join-ee":"var(--radius-field)"}},"> .join-item:only-child":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"},":only-child":{".join-item":{"--join-ss":"var(--radius-field)","--join-se":"var(--radius-field)","--join-es":"var(--radius-field)","--join-ee":"var(--radius-field)"}},".join-item":{"&:where(*:not(:first-child))":{"margin-inline-start":"calc(var(--border, 1px) * -1)","margin-block-start":"0"}}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35662562a8ebda54d1f487c5cf50cb951f2e5e00a3081bd0387c3f201ea117a8
3
+ size 3972
b/6be006c6182f48c588ba76a4e34de594d017a6887a37a3bdf074c1dce7e41d41 CHANGED
@@ -1 +1,3 @@
1
- var Ct=Object.defineProperty;var ve=(e,o)=>{for(var t in o)Ct(e,t,{get:o[t],enumerable:!0})};function Ve(e){var o,t,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(o=0;o<n;o++)e[o]&&(t=Ve(e[o]))&&(r&&(r+=" "),r+=t)}else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function ee(){for(var e,o,t=0,r="",n=arguments.length;t<n;t++)(e=arguments[t])&&(o=Ve(e))&&(r&&(r+=" "),r+=o);return r}var _e=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Oe=ee,te=(e,o)=>t=>{var r;if(o?.variants==null)return Oe(e,t?.class,t?.className);let{variants:n,defaultVariants:s}=o,a=Object.keys(n).map(d=>{let b=t?.[d],g=s?.[d];if(b===null)return null;let v=_e(b)||_e(g);return n[d][v]}),p=t&&Object.entries(t).reduce((d,b)=>{let[g,v]=b;return v===void 0||(d[g]=v),d},{}),u=o==null||(r=o.compoundVariants)===null||r===void 0?void 0:r.reduce((d,b)=>{let{class:g,className:v,...w}=b;return Object.entries(w).every(F=>{let[R,C]=F;return Array.isArray(C)?C.includes({...s,...p}[R]):{...s,...p}[R]===C})?[...d,g,v]:d},[]);return Oe(e,a,u,t?.class,t?.className)};import*as Ye from"react";import*as Et from"react-dom";var ne={};ve(ne,{Root:()=>zt,Slot:()=>zt,Slottable:()=>Pt,createSlot:()=>re,createSlottable:()=>Ue});import*as k from"react";import*as We from"react";function De(e,o){if(typeof e=="function")return e(o);e!=null&&(e.current=o)}function St(...e){return o=>{let t=!1,r=e.map(n=>{let s=De(n,o);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let n=0;n<r.length;n++){let s=r[n];typeof s=="function"?s():De(e[n],null)}}}}function je(...e){return We.useCallback(St(...e),e)}function re(e){let o=k.forwardRef((t,r)=>{let{children:n,...s}=t,a=null,p=!1,u=[];$e(n)&&typeof oe=="function"&&(n=oe(n._payload)),k.Children.forEach(n,v=>{if(Mt(v)){p=!0;let w=v,F="child"in w.props?w.props.child:w.props.children;$e(F)&&typeof oe=="function"&&(F=oe(F._payload)),a=At(w,F),u.push(a?.props?.children)}else u.push(v)}),a?a=k.cloneElement(a,void 0,u):!p&&k.Children.count(n)===1&&k.isValidElement(n)&&(a=n);let d=a?Ft(a):void 0,b=je(r,d);if(!a){if(n||n===0)throw new Error(p?Lt(e):Tt(e));return n}let g=Nt(s,a.props??{});return a.type!==k.Fragment&&(g.ref=r?b:d),k.cloneElement(a,g)});return o.displayName=`${e}.Slot`,o}var zt=re("Slot"),Be=Symbol.for("radix.slottable");function Ue(e){let o=t=>"child"in t?t.children(t.child):t.children;return o.displayName=`${e}.Slottable`,o.__radixId=Be,o}var Pt=Ue("Slottable"),At=(e,o)=>{if("child"in e.props){let t=e.props.child;return k.isValidElement(t)?k.cloneElement(t,void 0,e.props.children(t.props.children)):null}return k.isValidElement(o)?o:null};function Nt(e,o){let t={...o};for(let r in o){let n=e[r],s=o[r];/^on[A-Z]/.test(r)?n&&s?t[r]=(...p)=>{let u=s(...p);return n(...p),u}:n&&(t[r]=n):r==="style"?t[r]={...n,...s}:r==="className"&&(t[r]=[n,s].filter(Boolean).join(" "))}return{...e,...t}}function Ft(e){let o=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=o&&"isReactWarning"in o&&o.isReactWarning;return t?e.ref:(o=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=o&&"isReactWarning"in o&&o.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function Mt(e){return k.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Be}var Gt=Symbol.for("react.lazy");function $e(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Gt&&"_payload"in e&&It(e._payload)}function It(e){return typeof e=="object"&&e!==null&&"then"in e}var Tt=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Lt=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,oe=k[" use ".trim().toString()];import{jsx as Vt}from"react/jsx-runtime";var _t=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],se=_t.reduce((e,o)=>{let t=re(`Primitive.${o}`),r=Ye.forwardRef((n,s)=>{let{asChild:a,...p}=n,u=a?t:o;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),Vt(u,{...p,ref:s})});return r.displayName=`Primitive.${o}`,{...e,[o]:r}},{});var ae={};ve(ae,{Label:()=>ye,Root:()=>Wt});import*as qe from"react";import{jsx as Ot}from"react/jsx-runtime";var Dt="Label",ye=qe.forwardRef((e,o)=>Ot(se.label,{...e,ref:o,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));ye.displayName=Dt;var Wt=ye;var ie={};ve(ie,{Root:()=>Yt,Separator:()=>we});import*as Ke from"react";import{jsx as jt}from"react/jsx-runtime";var $t="Separator",He="horizontal",Bt=["horizontal","vertical"],we=Ke.forwardRef((e,o)=>{let{decorative:t,orientation:r=He,...n}=e,s=Ut(r)?r:He,p=t?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return jt(se.div,{"data-orientation":s,...p,...n,ref:o})});we.displayName=$t;function Ut(e){return Bt.includes(e)}var Yt=we;var qt=(e,o)=>{let t=new Array(e.length+o.length);for(let r=0;r<e.length;r++)t[r]=e[r];for(let r=0;r<o.length;r++)t[e.length+r]=o[r];return t},Ht=(e,o)=>({classGroupId:e,validator:o}),ot=(e=new Map,o=null,t)=>({nextPart:e,validators:o,classGroupId:t}),de="-",Xe=[],Kt="arbitrary..",Xt=e=>{let o=Jt(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Zt(a);let p=a.split(de),u=p[0]===""&&p.length>1?1:0;return rt(p,u,o)},getConflictingClassGroupIds:(a,p)=>{if(p){let u=r[a],d=t[a];return u?d?qt(d,u):u:d||Xe}return t[a]||Xe}}},rt=(e,o,t)=>{if(e.length-o===0)return t.classGroupId;let n=e[o],s=t.nextPart.get(n);if(s){let d=rt(e,o+1,s);if(d)return d}let a=t.validators;if(a===null)return;let p=o===0?e.join(de):e.slice(o).join(de),u=a.length;for(let d=0;d<u;d++){let b=a[d];if(b.validator(p))return b.classGroupId}},Zt=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let o=e.slice(1,-1),t=o.indexOf(":"),r=o.slice(0,t);return r?Kt+r:void 0})(),Jt=e=>{let{theme:o,classGroups:t}=e;return Qt(t,o)},Qt=(e,o)=>{let t=ot();for(let r in e){let n=e[r];Ce(n,t,r,o)}return t},Ce=(e,o,t,r)=>{let n=e.length;for(let s=0;s<n;s++){let a=e[s];eo(a,o,t,r)}},eo=(e,o,t,r)=>{if(typeof e=="string"){to(e,o,t);return}if(typeof e=="function"){oo(e,o,t,r);return}ro(e,o,t,r)},to=(e,o,t)=>{let r=e===""?o:nt(o,e);r.classGroupId=t},oo=(e,o,t,r)=>{if(no(e)){Ce(e(r),o,t,r);return}o.validators===null&&(o.validators=[]),o.validators.push(Ht(t,e))},ro=(e,o,t,r)=>{let n=Object.entries(e),s=n.length;for(let a=0;a<s;a++){let[p,u]=n[a];Ce(u,nt(o,p),t,r)}},nt=(e,o)=>{let t=e,r=o.split(de),n=r.length;for(let s=0;s<n;s++){let a=r[s],p=t.nextPart.get(a);p||(p=ot(),t.nextPart.set(a,p)),t=p}return t},no=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,so=e=>{if(e<1)return{get:()=>{},set:()=>{}};let o=0,t=Object.create(null),r=Object.create(null),n=(s,a)=>{t[s]=a,o++,o>e&&(o=0,r=t,t=Object.create(null))};return{get(s){let a=t[s];if(a!==void 0)return a;if((a=r[s])!==void 0)return n(s,a),a},set(s,a){s in t?t[s]=a:n(s,a)}}},Re="!",Ze=":",ao=[],Je=(e,o,t,r,n)=>({modifiers:e,hasImportantModifier:o,baseClassName:t,maybePostfixModifierPosition:r,isExternal:n}),io=e=>{let{prefix:o,experimentalParseClassName:t}=e,r=n=>{let s=[],a=0,p=0,u=0,d,b=n.length;for(let R=0;R<b;R++){let C=n[R];if(a===0&&p===0){if(C===Ze){s.push(n.slice(u,R)),u=R+1;continue}if(C==="/"){d=R;continue}}C==="["?a++:C==="]"?a--:C==="("?p++:C===")"&&p--}let g=s.length===0?n:n.slice(u),v=g,w=!1;g.endsWith(Re)?(v=g.slice(0,-1),w=!0):g.startsWith(Re)&&(v=g.slice(1),w=!0);let F=d&&d>u?d-u:void 0;return Je(s,w,v,F)};if(o){let n=o+Ze,s=r;r=a=>a.startsWith(n)?s(a.slice(n.length)):Je(ao,!1,a,void 0,!0)}if(t){let n=r;r=s=>t({className:s,parseClassName:n})}return r},lo=e=>{let o=new Map;return e.orderSensitiveModifiers.forEach((t,r)=>{o.set(t,1e6+r)}),t=>{let r=[],n=[];for(let s=0;s<t.length;s++){let a=t[s],p=a[0]==="[",u=o.has(a);p||u?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(a)):n.push(a)}return n.length>0&&(n.sort(),r.push(...n)),r}},co=e=>({cache:so(e.cacheSize),parseClassName:io(e),sortModifiers:lo(e),postfixLookupClassGroupIds:mo(e),...Xt(e)}),mo=e=>{let o=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let r=0;r<t.length;r++)o[t[r]]=!0;return o},po=/\s+/,uo=(e,o)=>{let{parseClassName:t,getClassGroupId:r,getConflictingClassGroupIds:n,sortModifiers:s,postfixLookupClassGroupIds:a}=o,p=[],u=e.trim().split(po),d="";for(let b=u.length-1;b>=0;b-=1){let g=u[b],{isExternal:v,modifiers:w,hasImportantModifier:F,baseClassName:R,maybePostfixModifierPosition:C}=t(g);if(v){d=g+(d.length>0?" "+d:d);continue}let _=!!C,A;if(_){let I=R.substring(0,C);A=r(I);let c=A&&a[A]?r(R):void 0;c&&c!==A&&(A=c,_=!1)}else A=r(R);if(!A){if(!_){d=g+(d.length>0?" "+d:d);continue}if(A=r(R),!A){d=g+(d.length>0?" "+d:d);continue}_=!1}let q=w.length===0?"":w.length===1?w[0]:s(w).join(":"),$=F?q+Re:q,B=$+A;if(p.indexOf(B)>-1)continue;p.push(B);let U=n(A,_);for(let I=0;I<U.length;++I){let c=U[I];p.push($+c)}d=g+(d.length>0?" "+d:d)}return d},fo=(...e)=>{let o=0,t,r,n="";for(;o<e.length;)(t=e[o++])&&(r=st(t))&&(n&&(n+=" "),n+=r);return n},st=e=>{if(typeof e=="string")return e;let o,t="";for(let r=0;r<e.length;r++)e[r]&&(o=st(e[r]))&&(t&&(t+=" "),t+=o);return t},bo=(e,...o)=>{let t,r,n,s,a=u=>{let d=o.reduce((b,g)=>g(b),e());return t=co(d),r=t.cache.get,n=t.cache.set,s=p,p(u)},p=u=>{let d=r(u);if(d)return d;let b=uo(u,t);return n(u,b),b};return s=a,(...u)=>s(fo(...u))},go=[],h=e=>{let o=t=>t[e]||go;return o.isThemeGetter=!0,o},at=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,it=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ho=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,xo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vo=/\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$/,yo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,wo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ko=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,E=e=>ho.test(e),f=e=>!!e&&!Number.isNaN(Number(e)),G=e=>!!e&&Number.isInteger(Number(e)),ke=e=>e.endsWith("%")&&f(e.slice(0,-1)),T=e=>xo.test(e),lt=()=>!0,Ro=e=>vo.test(e)&&!yo.test(e),Se=()=>!1,Co=e=>wo.test(e),So=e=>ko.test(e),zo=e=>!i(e)&&!l(e),Po=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)),Ao=e=>V(e,mt,Se),i=e=>at.test(e),D=e=>V(e,pt,Ro),Qe=e=>V(e,Eo,f),No=e=>V(e,ft,lt),Fo=e=>V(e,ut,Se),et=e=>V(e,ct,Se),Mo=e=>V(e,dt,So),le=e=>V(e,bt,Co),l=e=>it.test(e),H=e=>W(e,pt),Go=e=>W(e,ut),tt=e=>W(e,ct),Io=e=>W(e,mt),To=e=>W(e,dt),ce=e=>W(e,bt,!0),Lo=e=>W(e,ft,!0),V=(e,o,t)=>{let r=at.exec(e);return r?r[1]?o(r[1]):t(r[2]):!1},W=(e,o,t=!1)=>{let r=it.exec(e);return r?r[1]?o(r[1]):t:!1},ct=e=>e==="position"||e==="percentage",dt=e=>e==="image"||e==="url",mt=e=>e==="length"||e==="size"||e==="bg-size",pt=e=>e==="length",Eo=e=>e==="number",ut=e=>e==="family-name",ft=e=>e==="number"||e==="weight",bt=e=>e==="shadow";var Vo=()=>{let e=h("color"),o=h("font"),t=h("text"),r=h("font-weight"),n=h("tracking"),s=h("leading"),a=h("breakpoint"),p=h("container"),u=h("spacing"),d=h("radius"),b=h("shadow"),g=h("inset-shadow"),v=h("text-shadow"),w=h("drop-shadow"),F=h("blur"),R=h("perspective"),C=h("aspect"),_=h("ease"),A=h("animate"),q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],$=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...$(),l,i],U=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],c=()=>[l,i,u],N=()=>[E,"full","auto",...c()],Ne=()=>[G,"none","subgrid",l,i],Fe=()=>["auto",{span:["full",G,l,i]},G,l,i],K=()=>[G,"auto",l,i],Me=()=>["auto","min","max","fr",l,i],fe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Y=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...c()],O=()=>[E,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...c()],be=()=>[E,"screen","full","dvw","lvw","svw","min","max","fit",...c()],ge=()=>[E,"screen","full","lh","dvh","lvh","svh","min","max","fit",...c()],m=()=>[e,l,i],Ge=()=>[...$(),tt,et,{position:[l,i]}],Ie=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Te=()=>["auto","cover","contain",Io,Ao,{size:[l,i]}],he=()=>[ke,H,D],S=()=>["","none","full",d,l,i],z=()=>["",f,H,D],X=()=>["solid","dashed","dotted","double"],Le=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],y=()=>[f,ke,tt,et],Ee=()=>["","none",F,l,i],Z=()=>["none",f,l,i],J=()=>["none",f,l,i],xe=()=>[f,l,i],Q=()=>[E,"full",...c()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[T],breakpoint:[T],color:[lt],container:[T],"drop-shadow":[T],ease:["in","out","in-out"],font:[zo],"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",f],text:[T],"text-shadow":[T],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",E,i,l,C]}],container:["container"],"container-type":[{"@container":["","normal","size",l,i]}],"container-named":[Po],columns:[{columns:[f,i,l,p]}],"break-after":[{"break-after":q()}],"break-before":[{"break-before":q()}],"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:U()}],"overflow-x":[{"overflow-x":U()}],"overflow-y":[{"overflow-y":U()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{"inset-s":N(),start:N()}],end:[{"inset-e":N(),end:N()}],"inset-bs":[{"inset-bs":N()}],"inset-be":[{"inset-be":N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[G,"auto",l,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:[f,E,"auto","initial","none",i]}],grow:[{grow:["",f,l,i]}],shrink:[{shrink:["",f,l,i]}],order:[{order:[G,"first","last","none",l,i]}],"grid-cols":[{"grid-cols":Ne()}],"col-start-end":[{col:Fe()}],"col-start":[{"col-start":K()}],"col-end":[{"col-end":K()}],"grid-rows":[{"grid-rows":Ne()}],"row-start-end":[{row:Fe()}],"row-start":[{"row-start":K()}],"row-end":[{"row-end":K()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Me()}],"auto-rows":[{"auto-rows":Me()}],gap:[{gap:c()}],"gap-x":[{"gap-x":c()}],"gap-y":[{"gap-y":c()}],"justify-content":[{justify:[...fe(),"normal"]}],"justify-items":[{"justify-items":[...Y(),"normal"]}],"justify-self":[{"justify-self":["auto",...Y()]}],"align-content":[{content:["normal",...fe()]}],"align-items":[{items:[...Y(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Y(),{baseline:["","last"]}]}],"place-content":[{"place-content":fe()}],"place-items":[{"place-items":[...Y(),"baseline"]}],"place-self":[{"place-self":["auto",...Y()]}],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:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":c()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":c()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...be()]}],"min-inline-size":[{"min-inline":["auto",...be()]}],"max-inline-size":[{"max-inline":["none",...be()]}],"block-size":[{block:["auto",...ge()]}],"min-block-size":[{"min-block":["auto",...ge()]}],"max-block-size":[{"max-block":["none",...ge()]}],w:[{w:[p,"screen",...O()]}],"min-w":[{"min-w":[p,"screen","none",...O()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[a]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",t,H,D]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Lo,No]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ke,i]}],"font-family":[{font:[Go,Fo,o]}],"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:[n,l,i]}],"line-clamp":[{"line-clamp":[f,"none",l,Qe]}],leading:[{leading:[s,...c()]}],"list-image":[{"list-image":["none",l,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",l,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:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:[f,"from-font","auto",l,D]}],"text-decoration-color":[{decoration:m()}],"underline-offset":[{"underline-offset":[f,"auto",l,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:[G,l,i]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l,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",l,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:Ge()}],"bg-repeat":[{bg:Ie()}],"bg-size":[{bg:Te()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},G,l,i],radial:["",l,i],conic:[G,l,i]},To,Mo]}],"bg-color":[{bg:m()}],"gradient-from-pos":[{from:he()}],"gradient-via-pos":[{via:he()}],"gradient-to-pos":[{to:he()}],"gradient-from":[{from:m()}],"gradient-via":[{via:m()}],"gradient-to":[{to:m()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-bs":[{"border-bs":z()}],"border-w-be":[{"border-be":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...X(),"hidden","none"]}],"divide-style":[{divide:[...X(),"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:[...X(),"none","hidden"]}],"outline-offset":[{"outline-offset":[f,l,i]}],"outline-w":[{outline:["",f,H,D]}],"outline-color":[{outline:m()}],shadow:[{shadow:["","none",b,ce,le]}],"shadow-color":[{shadow:m()}],"inset-shadow":[{"inset-shadow":["none",g,ce,le]}],"inset-shadow-color":[{"inset-shadow":m()}],"ring-w":[{ring:z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:m()}],"ring-offset-w":[{"ring-offset":[f,D]}],"ring-offset-color":[{"ring-offset":m()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":m()}],"text-shadow":[{"text-shadow":["none",v,ce,le]}],"text-shadow-color":[{"text-shadow":m()}],opacity:[{opacity:[f,l,i]}],"mix-blend":[{"mix-blend":[...Le(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Le()}],"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":[f]}],"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":m()}],"mask-image-linear-to-color":[{"mask-linear-to":m()}],"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":m()}],"mask-image-t-to-color":[{"mask-t-to":m()}],"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":m()}],"mask-image-r-to-color":[{"mask-r-to":m()}],"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":m()}],"mask-image-b-to-color":[{"mask-b-to":m()}],"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":m()}],"mask-image-l-to-color":[{"mask-l-to":m()}],"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":m()}],"mask-image-x-to-color":[{"mask-x-to":m()}],"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":m()}],"mask-image-y-to-color":[{"mask-y-to":m()}],"mask-image-radial":[{"mask-radial":[l,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":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":$()}],"mask-image-conic-pos":[{"mask-conic":[f]}],"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":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:Ge()}],"mask-repeat":[{mask:Ie()}],"mask-size":[{mask:Te()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",l,i]}],filter:[{filter:["","none",l,i]}],blur:[{blur:Ee()}],brightness:[{brightness:[f,l,i]}],contrast:[{contrast:[f,l,i]}],"drop-shadow":[{"drop-shadow":["","none",w,ce,le]}],"drop-shadow-color":[{"drop-shadow":m()}],grayscale:[{grayscale:["",f,l,i]}],"hue-rotate":[{"hue-rotate":[f,l,i]}],invert:[{invert:["",f,l,i]}],saturate:[{saturate:[f,l,i]}],sepia:[{sepia:["",f,l,i]}],"backdrop-filter":[{"backdrop-filter":["","none",l,i]}],"backdrop-blur":[{"backdrop-blur":Ee()}],"backdrop-brightness":[{"backdrop-brightness":[f,l,i]}],"backdrop-contrast":[{"backdrop-contrast":[f,l,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",f,l,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f,l,i]}],"backdrop-invert":[{"backdrop-invert":["",f,l,i]}],"backdrop-opacity":[{"backdrop-opacity":[f,l,i]}],"backdrop-saturate":[{"backdrop-saturate":[f,l,i]}],"backdrop-sepia":[{"backdrop-sepia":["",f,l,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",l,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[f,"initial",l,i]}],ease:[{ease:["linear","initial",_,l,i]}],delay:[{delay:[f,l,i]}],animate:[{animate:["none",A,l,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[R,l,i]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:Z()}],"rotate-x":[{"rotate-x":Z()}],"rotate-y":[{"rotate-y":Z()}],"rotate-z":[{"rotate-z":Z()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:xe()}],"skew-x":[{"skew-x":xe()}],"skew-y":[{"skew-y":xe()}],transform:[{transform:[l,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Q()}],"translate-x":[{"translate-x":Q()}],"translate-y":[{"translate-y":Q()}],"translate-z":[{"translate-z":Q()}],"translate-none":["translate-none"],zoom:[{zoom:[G,l,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",l,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",l,i]}],fill:[{fill:["none",...m()]}],"stroke-w":[{stroke:[f,H,D,Qe]}],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 gt=bo(Vo);function x(...e){return gt(ee(e))}import{jsx as Oo}from"react/jsx-runtime";var _o=te("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 ze({className:e,variant:o="default",size:t="default",asChild:r=!1,...n}){let s=r?ne.Root:"button";return Oo(s,{"data-slot":"button","data-variant":o,"data-size":t,className:x(_o({variant:o,size:t,className:e})),...n})}import{useMemo as Sr}from"react";import{jsx as Do}from"react/jsx-runtime";function ht({className:e,...o}){return Do(ae.Root,{"data-slot":"label",className:x("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...o})}import{jsx as Wo}from"react/jsx-runtime";function xt({className:e,orientation:o="horizontal",decorative:t=!0,...r}){return Wo(ie.Root,{"data-slot":"separator",decorative:t,orientation:o,className:x("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...r})}import{jsx as L,jsxs as $o}from"react/jsx-runtime";function vt({className:e,...o}){return L("fieldset",{"data-slot":"field-set",className:x("flex flex-col gap-6","has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",e),...o})}function yt({className:e,variant:o="legend",...t}){return L("legend",{"data-slot":"field-legend","data-variant":o,className:x("mb-3 font-medium","data-[variant=legend]:text-base","data-[variant=label]:text-sm",e),...t})}function wt({className:e,...o}){return L("div",{"data-slot":"field-group",className:x("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",e),...o})}var jo=te("group/field flex w-full gap-3 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","[&>[data-slot=field-label]]:flex-auto","has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"],responsive:["flex-col @md/field-group:flex-row @md/field-group:items-center [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto","@md/field-group:[&>[data-slot=field-label]]:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function me({className:e,orientation:o="vertical",...t}){return L("div",{role:"group","data-slot":"field","data-orientation":o,className:x(jo({orientation:o}),e),...t})}function Pe({className:e,...o}){return L("div",{"data-slot":"field-content",className:x("group/field-content flex flex-1 flex-col gap-1.5 leading-snug",e),...o})}function Ae({className:e,...o}){return L(ht,{"data-slot":"field-label",className:x("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4","has-data-[state=checked]:border-primary has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:bg-primary/10",e),...o})}function pe({className:e,...o}){return L("p",{"data-slot":"field-description",className:x("text-sm leading-normal font-normal text-muted-foreground group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5","[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e),...o})}function ue({children:e,className:o,...t}){return $o("div",{"data-slot":"field-separator","data-content":!!e,className:x("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",o),...t,children:[L(xt,{className:"absolute inset-0 top-1/2"}),e&&L("span",{className:"relative mx-auto block w-fit bg-background px-2 text-muted-foreground","data-slot":"field-separator-content",children:e})]})}import{jsx as Bo}from"react/jsx-runtime";function kt({className:e,type:o,...t}){return Bo("input",{type:o,"data-slot":"input",className:x("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...t})}import{jsx as Uo}from"react/jsx-runtime";function Rt({className:e,...o}){return Uo("textarea",{"data-slot":"textarea",className:x("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground 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 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",e),...o})}import{jsx as P,jsxs as j}from"react/jsx-runtime";function Yo(){return P("div",{className:"w-full max-w-4xl",children:P("form",{children:j(vt,{children:[P(yt,{children:"Profile"}),P(pe,{children:"Fill in your profile information."}),P(ue,{}),j(wt,{children:[j(me,{orientation:"responsive",children:[j(Pe,{children:[P(Ae,{htmlFor:"name",children:"Name"}),P(pe,{children:"Provide your full name for identification"})]}),P(kt,{id:"name",placeholder:"Evil Rabbit",required:!0})]}),P(ue,{}),j(me,{orientation:"responsive",children:[j(Pe,{children:[P(Ae,{htmlFor:"lastName",children:"Message"}),P(pe,{children:"You can write your message here. Keep it short, preferably under 100 characters."})]}),P(Rt,{id:"message",placeholder:"Hello, world!",required:!0,className:"min-h-[100px] resize-none sm:min-w-[300px]"})]}),P(ue,{}),j(me,{orientation:"responsive",children:[P(ze,{type:"submit",children:"Submit"}),P(ze,{type:"button",variant:"outline",children:"Cancel"})]})]})]})})})}export{Yo as default};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8355d3d7e9c69c63bc69b59c0b6ee98d4b20430ea798effe98cde92e3d5b832b
3
+ size 39862
b/6be369a06d9c6ad34479cd6691ccd81211783571b8d3b86b277e73adc2e99da3 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.toggle-group-lg",
3
- "name": "toggle-group-lg",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/toggle-group-lg.json",
8
- "did": "did:holo:sha256:27d8ca1c5f8b47cc377d081859be179e114e020d938df28e4c4a5fb0ee8bf965",
9
- "import": "holo://sha256:b3040ecb2868e27425c61902786c6599ceec18a13cb4ebdef7b1aae7361e574b",
10
- "integrity": "sha256-swQOyyho4nQlxhkCeGxlmc7sGKE8tOve97Gq5zYeV0s=",
11
- "kappa": "sha256:27d8ca1c5f8b47cc377d081859be179e114e020d938df28e4c4a5fb0ee8bf965",
12
- "moduleKappa": "sha256:b3040ecb2868e27425c61902786c6599ceec18a13cb4ebdef7b1aae7361e574b",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/toggle-group-lg.tsx",
15
- "module": "vendor/components/toggle-group-lg.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14664cd04e23f1871d231e3f2f6cc1a6ebd20270df3b78d91e13a26502f31185
3
+ size 869
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6be92392dfbd6ee0a0a5d97efab287701d9f76e95f6dae450306e721c2f35f46 CHANGED
@@ -1,38 +1,3 @@
1
- import {
2
- Pagination,
3
- PaginationContent,
4
- PaginationEllipsis,
5
- PaginationItem,
6
- PaginationLink,
7
- PaginationNext,
8
- PaginationPrevious,
9
- } from "@/registry/new-york-v4/ui/pagination"
10
-
11
- export default function PaginationDemo() {
12
- return (
13
- <Pagination>
14
- <PaginationContent>
15
- <PaginationItem>
16
- <PaginationPrevious href="#" />
17
- </PaginationItem>
18
- <PaginationItem>
19
- <PaginationLink href="#">1</PaginationLink>
20
- </PaginationItem>
21
- <PaginationItem>
22
- <PaginationLink href="#" isActive>
23
- 2
24
- </PaginationLink>
25
- </PaginationItem>
26
- <PaginationItem>
27
- <PaginationLink href="#">3</PaginationLink>
28
- </PaginationItem>
29
- <PaginationItem>
30
- <PaginationEllipsis />
31
- </PaginationItem>
32
- <PaginationItem>
33
- <PaginationNext href="#" />
34
- </PaginationItem>
35
- </PaginationContent>
36
- </Pagination>
37
- )
38
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d1d892b87ce2650ffff81660a087942df0cf119eac87260e69f4f671075c7746
3
+ size 951
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6c32761c5cabc3e05e986986698b4ad74493b8711bf3de84b0589cc2c65ef013 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.scroll-area",
3
- "name": "scroll-area",
4
- "tier": "component",
5
- "library": "shadcn",
6
- "category": "Layout",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/scroll-area.json",
8
- "did": "did:holo:sha256:8d92410cd07305cf81f9ef6fa9458e8c80ca7ec2ab34beddca07edda2fae9fa6",
9
- "import": "holo://sha256:e581de037a4885660838bc84426c2aa3707af3bf1b4f0743ef2877aeca01cae9",
10
- "integrity": "sha256-5YHeA3pIhWYIOLyEQmwqo3B6878bTwdD7yh3rsoByuk=",
11
- "kappa": "sha256:8d92410cd07305cf81f9ef6fa9458e8c80ca7ec2ab34beddca07edda2fae9fa6",
12
- "moduleKappa": "sha256:e581de037a4885660838bc84426c2aa3707af3bf1b4f0743ef2877aeca01cae9",
13
- "renderExport": "ScrollArea",
14
- "source": "components/ui/scroll-area.tsx",
15
- "module": "vendor/components/scroll-area.js",
16
- "exports": [
17
- "ScrollArea",
18
- "ScrollBar"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb18e947bbccc079c33bf68caee89c96b39c72cc5b2ca33da4358b3be563d0dd
3
+ size 848
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6c505c47c9cdeeddce014481b5d198c96cd546509c9eada2b81c73fbe5103edd CHANGED
@@ -1,7 +1,3 @@
1
- import caramellatte from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addBase, prefix = '' }) => {
5
- const prefixedcaramellatte = addPrefix(caramellatte, prefix);
6
- addBase({ ...prefixedcaramellatte });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d466e034d977e6e64860993910202b3d68e186196d151c101d1a5ec46962066f
3
+ size 253
 
 
 
 
b/6c924350ba2921766013932a480fcaf98a7ba5ffa7251df93c6cf849c4c6def0 CHANGED
@@ -1 +1,3 @@
1
- {"model":"qwen3.5-9b-thinking","new":32,"tapes":[{"prompt":[248045,8678,198,2523,513,1167,11,264,61446,11,10631,7047,17313,13,248046,198,248045,846,198,760,6511,314,9338,369,248046,198,248045,74455,198],"greedy":[248068,271,248069,271,760,6511,314,9338,369,2972,57590,159034],"text":"The capital of France is"},{"prompt":[248045,8678,198,2523,513,1167,11,264,61446,11,10631,7047,17313,13,248046,198,248045,846,198,7734,264,12654,709,421,4523,279,53277,76938,1324,13,248046,198,248045,74455,198],"greedy":[248068,271,248069,271,71093,12305,198,727,53277,736,564,38044,1393,25,514,8,1411,514,25,198,262,4071,198,262,3301,279,53277,76938,1324,318,15,20834],"text":"Write a Python function that returns the nth Fibonacci number."},{"prompt":[248045,8678,198,2523,513,1167,11,264,61446,11,10631,7047,17313,13,248046,198,248045,846,198,814,20139,3069,279,12515,369,6105,303,1330,22157,13,248046,198,248045,74455,198],"greedy":[248068,271,248069,271,29108,4009,369,22687,314,660,7736,314,279,46026,11,694,948,424,27891,8964,579,16078,11,6605,33470,43000,279,22602,89661,318,11855,321],"text":"Explain why the sky is blue in two sentences."},{"prompt":[248045,8678,198,2523,513,1167,11,264,61446,11,10631,7047,17313,13,248046,198,248045,846,198,826,279,1118,4097,9944,4947,321,836,2542,13,248046,198,248045,74455,198],"greedy":[248068,271,248069,271,550,12121,271,332,760,1118,4097,9944,4947,513,64700,271,91,12026,735,12159,5447,735,198,91,14894,91,40698,91,198,91,220,16],"text":"List the first five prime numbers and their sum."}]}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1749b3977864bbaf6af160a7a248c94439808a0ff3126c009c50269ff02bef9e
3
+ size 1527
b/6cb9d510f8de13010391f37df268f9d89f9d14ff9dfc96314e58350bb3fd1a25 CHANGED
@@ -1,48 +1,3 @@
1
- import * as React from "react"
2
- import { cva, type VariantProps } from "class-variance-authority"
3
- import { Slot } from "radix-ui"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- const badgeVariants = cva(
8
- "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
9
- {
10
- variants: {
11
- variant: {
12
- default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
13
- secondary:
14
- "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
15
- destructive:
16
- "bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
17
- outline:
18
- "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
19
- ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
20
- link: "text-primary underline-offset-4 [a&]:hover:underline",
21
- },
22
- },
23
- defaultVariants: {
24
- variant: "default",
25
- },
26
- }
27
- )
28
-
29
- function Badge({
30
- className,
31
- variant = "default",
32
- asChild = false,
33
- ...props
34
- }: React.ComponentProps<"span"> &
35
- VariantProps<typeof badgeVariants> & { asChild?: boolean }) {
36
- const Comp = asChild ? Slot.Root : "span"
37
-
38
- return (
39
- <Comp
40
- data-slot="badge"
41
- data-variant={variant}
42
- className={cn(badgeVariants({ variant }), className)}
43
- {...props}
44
- />
45
- )
46
- }
47
-
48
- export { Badge, badgeVariants }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:46a0de5224f6a5d5d63d45246534288518dce888f031064bff925bbc7fe6ad97
3
+ size 1776
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6cedb837778da5a63a6f17085213d01a4ae1d542b2cb626fb50010e68c7b2e71 CHANGED
@@ -1 +1,3 @@
1
- export default {".navbar":{"@layer daisyui.l1.l2.l3":{"display":"flex","width":"100%","align-items":"center","padding":"0.5rem","min-height":"4rem"}},":where(.navbar)":{"@layer daisyui.l1.l2":{"position":"relative"}},".navbar-start":{"@layer daisyui.l1.l2.l3":{"display":"inline-flex","align-items":"center","width":"50%","justify-content":"flex-start"}},".navbar-center":{"@layer daisyui.l1.l2.l3":{"display":"inline-flex","align-items":"center","flex-shrink":0}},".navbar-end":{"@layer daisyui.l1.l2.l3":{"display":"inline-flex","align-items":"center","width":"50%","justify-content":"flex-end"}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6934631c713f4eb9ef4daff052a2a828c983d5a0f3f0510129b797247e2aa2c4
3
+ size 600
b/6cf9ca1766dcf3ec9daaae61492de75ed629c4d084fe8d8cefc5e67f2596024e CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.dropdown-menu-demo",
3
- "name": "dropdown-menu-demo",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/dropdown-menu-demo.json",
8
- "did": "did:holo:sha256:246125468036387ef225fb68bc3976e4a28126a5e1e68af7dd97ba08fb5568ca",
9
- "import": "holo://sha256:ff3078b49366e750c74b014e12fb50b65a36ddfb50223227d1b6c03dc5f11100",
10
- "integrity": "sha256-/zB4tJNm51DHSwFOEvtQtlo23ftQIjIn0bbAPcXxEQA=",
11
- "kappa": "sha256:246125468036387ef225fb68bc3976e4a28126a5e1e68af7dd97ba08fb5568ca",
12
- "moduleKappa": "sha256:ff3078b49366e750c74b014e12fb50b65a36ddfb50223227d1b6c03dc5f11100",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/dropdown-menu-demo.tsx",
15
- "module": "vendor/components/dropdown-menu-demo.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3c7fe1d966d994c06a8353b69ef4211851091872914b45acc137e097728d1a0
3
+ size 884
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6d021c294e26f2b10011242e720ab2110c608db7b39075d746f2652fb5daccdd CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.button-group-dropdown",
3
- "name": "button-group-dropdown",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/button-group-dropdown.json",
8
- "did": "did:holo:sha256:64841628640ad3d36686159392431f8155760fe4f5b923810c6301c1c7c2a84f",
9
- "import": "holo://sha256:79103fb47438be6a21dbc2ef756ab48da94ad5248936eec140371de560cf91dd",
10
- "integrity": "sha256-eRA/tHQ4vmoh28LvdWq0jalK1SSJNu7BQDcd5WDPkd0=",
11
- "kappa": "sha256:64841628640ad3d36686159392431f8155760fe4f5b923810c6301c1c7c2a84f",
12
- "moduleKappa": "sha256:79103fb47438be6a21dbc2ef756ab48da94ad5248936eec140371de560cf91dd",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/button-group-dropdown.tsx",
15
- "module": "vendor/components/button-group-dropdown.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:428e8d764076d128c5493fc6d2d091cc378c865169a9c649143cd2a23eb91c90
3
+ size 899
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6d460764cf0fcdd86f936a414040f1198cf342d2688b9e54baf2e8715a1b5bc0 CHANGED
@@ -1,54 +1,3 @@
1
- import { Button } from "@/registry/new-york-v4/ui/button"
2
- import {
3
- Item,
4
- ItemActions,
5
- ItemContent,
6
- ItemDescription,
7
- ItemTitle,
8
- } from "@/registry/new-york-v4/ui/item"
9
-
10
- export default function ItemVariant() {
11
- return (
12
- <div className="flex flex-col gap-6">
13
- <Item>
14
- <ItemContent>
15
- <ItemTitle>Default Variant</ItemTitle>
16
- <ItemDescription>
17
- Standard styling with subtle background and borders.
18
- </ItemDescription>
19
- </ItemContent>
20
- <ItemActions>
21
- <Button variant="outline" size="sm">
22
- Open
23
- </Button>
24
- </ItemActions>
25
- </Item>
26
- <Item variant="outline">
27
- <ItemContent>
28
- <ItemTitle>Outline Variant</ItemTitle>
29
- <ItemDescription>
30
- Outlined style with clear borders and transparent background.
31
- </ItemDescription>
32
- </ItemContent>
33
- <ItemActions>
34
- <Button variant="outline" size="sm">
35
- Open
36
- </Button>
37
- </ItemActions>
38
- </Item>
39
- <Item variant="muted">
40
- <ItemContent>
41
- <ItemTitle>Muted Variant</ItemTitle>
42
- <ItemDescription>
43
- Subdued appearance with muted colors for secondary content.
44
- </ItemDescription>
45
- </ItemContent>
46
- <ItemActions>
47
- <Button variant="outline" size="sm">
48
- Open
49
- </Button>
50
- </ItemActions>
51
- </Item>
52
- </div>
53
- )
54
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cf403f816dffced13453654d2e8cc1c7a264560d1c3528da4e5aee292581f189
3
+ size 1452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6da178e05f63a53e42f2e7a397f5f7e385162b9a12717584a46f99e5568236cc CHANGED
@@ -1 +1,3 @@
1
- import{useCallback as b,useMemo as x,useRef as E,useState as g}from"react";import{AnimatePresence as R,motion as h,useMotionTemplate as k}from"motion/react";import{jsx as u,jsxs as I}from"react/jsx-runtime";function N({children:r,zoomFactor:s=1.3,lensSize:f=170,isStatic:a=!1,position:i={x:0,y:0},defaultPosition:t,duration:p=.1,lensColor:y="black",ariaLabel:M="Zoom Area"}){if(s<1)throw new Error("zoomFactor must be greater than 1");if(f<0)throw new Error("lensSize must be greater than 0");let[l,c]=g(!1),[d,L]=g(i),P=E(null),o=x(()=>a?i:t&&!l?t:d,[a,i,t,l,d]),$=b(e=>{let n=e.currentTarget.getBoundingClientRect();L({x:e.clientX-n.left,y:e.clientY-n.top})},[]),w=b(e=>{e.key==="Escape"&&c(!1)},[]),m=k`radial-gradient(circle ${f/2}px at ${o.x}px ${o.y}px, ${y} 100%, transparent 100%)`,v=x(()=>{let{x:e,y:n}=o;return u(h.div,{initial:{opacity:0,scale:.58},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},transition:{duration:p},className:"absolute inset-0 overflow-hidden",style:{maskImage:m,WebkitMaskImage:m,transformOrigin:`${e}px ${n}px`,zIndex:50},children:u("div",{className:"absolute inset-0",style:{transform:`scale(${s})`,transformOrigin:`${e}px ${n}px`},children:r})})},[o,m,s,r,p]);return I("div",{ref:P,className:"relative z-20 overflow-hidden rounded-xl",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onMouseMove:$,onKeyDown:w,role:"region","aria-label":M,tabIndex:0,children:[r,a||t?v:u(R,{mode:"popLayout",children:l&&v})]})}export{N as Lens};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0cbb6447bad3fcf034c683b4b7a3c4f9a599ded2574184aec6419d77fd9c8aee
3
+ size 1469
b/6df0048156f14cf95874a6e17d9d26b2a505cb1427667f158009e0d1a66096eb CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.field-switch",
3
- "name": "field-switch",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/field-switch.json",
8
- "did": "did:holo:sha256:a7fb7504a36bf8da09564527fa9ed4537f38a6a2ed9e5d5d4ede93ed56126619",
9
- "import": "holo://sha256:270808d209b2990ad4e617407761f90c19496a6fb22296f1e2584e0b5aa60dc0",
10
- "integrity": "sha256-JwgI0gmymQrU5hdAd2H5DBlJam+yIpbx4lhOC1qmDcA=",
11
- "kappa": "sha256:a7fb7504a36bf8da09564527fa9ed4537f38a6a2ed9e5d5d4ede93ed56126619",
12
- "moduleKappa": "sha256:270808d209b2990ad4e617407761f90c19496a6fb22296f1e2584e0b5aa60dc0",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/field-switch.tsx",
15
- "module": "vendor/components/field-switch.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e65f22807886c5b3f4730aa66253e30de9218d4cda6aab14c2c612088f9cc1d
3
+ size 854
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6e0e48b6e6251e64cd5db55beb1f1a925ddf60d7134ddc5edf2ebb46dc4dd202 CHANGED
@@ -1,61 +1,3 @@
1
- {
2
- "model": "ggml-tiny.bin",
3
- "wav": "jo16.wav",
4
- "ids": [
5
- 407,
6
- 286,
7
- 445,
8
- 3031,
9
- 24875,
10
- 71,
11
- 11630,
12
- 293,
13
- 286,
14
- 478,
15
- 17839,
16
- 11679,
17
- 13,
18
- 467,
19
- 311,
20
- 1687,
21
- 21826,
22
- 11,
23
- 309,
24
- 3263,
25
- 2541,
26
- 11,
27
- 9346,
28
- 3177,
29
- 596,
30
- 16638,
31
- 11,
32
- 293,
33
- 264,
34
- 9461,
35
- 4111,
36
- 307,
37
- 1019,
38
- 281,
39
- 862,
40
- 365,
41
- 886,
42
- 13,
43
- 5229,
44
- 356,
45
- 2748,
46
- 337,
47
- 7367,
48
- 7315,
49
- 420,
50
- 754,
51
- 445,
52
- 23258,
53
- 926,
54
- 365,
55
- 3177,
56
- 25348,
57
- 13
58
- ],
59
- "text": " So I just tried Nephonic and I'm genuinely impressed. It's super responsive, it sounds clean, supports voice cloning, and the agent feature is fun to play with too. Highly recommend for podcast conversations or even just messing around with voiceovers.",
60
- "cpuMs": 58634
61
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:27d7fb9e4a297c1178b97515bfd3d4967dfae5db58391b49a73507183fefe71d
3
+ size 739
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6e496f3f2578b826928fbf5d5158a07aca603da129c76e4d7e8687661dd5a56a CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.icon-cloud",
3
- "name": "icon-cloud",
4
- "tier": "component",
5
- "library": "magicui",
6
- "category": "Components",
7
- "upstream": "https://magicui.design/r/icon-cloud.json",
8
- "did": "did:holo:sha256:a2a7dc163d6b2ec62a391583fb823f91c2033fa2567d6d580da37b9dc78eaa05",
9
- "import": "holo://sha256:fe361c405aa470df95f2b7a5036e9b5304ad09b5461320504a21e649d8e5300b",
10
- "integrity": "sha256-/jYcQFqkcN+V8relA26bUwStCbVGEyBQSiHmSdjlMAs=",
11
- "kappa": "sha256:a2a7dc163d6b2ec62a391583fb823f91c2033fa2567d6d580da37b9dc78eaa05",
12
- "moduleKappa": "sha256:fe361c405aa470df95f2b7a5036e9b5304ad09b5461320504a21e649d8e5300b",
13
- "renderExport": "IconCloud",
14
- "source": "components/ui/icon-cloud.tsx",
15
- "module": "vendor/components/icon-cloud.js",
16
- "exports": [
17
- "IconCloud"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c4eb2f4f98c93a235c832ca5b0cfbd12dc6fd813106af80b55e02169a79a3070
3
+ size 811
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6e72215775e48367032c89a774c0cb84dd5f2165c3271c414300dc57b2dfd8db CHANGED
The diff for this file is too large to render. See raw diff
 
b/6e90e9a20ebd7b0f9783bcdbacc86187527d8e52d37a4db5b8915e49a4a9f74b CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.input-group-spinner",
3
- "name": "input-group-spinner",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/input-group-spinner.json",
8
- "did": "did:holo:sha256:1240babb7fe55629b1f7e9acad24afa269ef4bbbea4fb5a1365a17398f6be0c5",
9
- "import": "holo://sha256:d7528cc13b78df09a8851021b5489fad0eb3c0c0ebd07cbc022d03ab8ea98b1d",
10
- "integrity": "sha256-11KMwTt43wmohRAhtUifrQ6zwMDr0Hy8Ai0Dq46pix0=",
11
- "kappa": "sha256:1240babb7fe55629b1f7e9acad24afa269ef4bbbea4fb5a1365a17398f6be0c5",
12
- "moduleKappa": "sha256:d7528cc13b78df09a8851021b5489fad0eb3c0c0ebd07cbc022d03ab8ea98b1d",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/input-group-spinner.tsx",
15
- "module": "vendor/components/input-group-spinner.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35349a680f843792d76e317579d5a873f01fe522ae183ad37b290f5c5c9bada4
3
+ size 889
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6eb4487e1ed7f19ef123aea1f9085355dfb00d525ef77ebd1a202b401d681319 CHANGED
@@ -1,83 +1,3 @@
1
- <!doctype html>
2
- <meta charset="utf-8">
3
- <title>Real DeepSeek-V2-Lite layer on GPU — Q4_K/Q8_0 MLA+MoE kernels vs CPU oracle</title>
4
- <style>
5
- :root { color-scheme: dark; }
6
- body { margin: 0; background: #0a0b0d; color: #e6e8ea; font: 13px/1.6 ui-monospace, Menlo, monospace; padding: 24px 28px; }
7
- h1 { font-size: 15px; margin: 0 0 12px; }
8
- #v { border: 1px solid #1c2128; border-radius: 10px; padding: 14px 16px; background: #101318; white-space: pre-wrap; }
9
- #v.ok { border-color: #1f6f43; background: #0d1712; } #v.bad { border-color: #6f2f2f; background: #170d0d; }
10
- .big { font-size: 18px; font-weight: 700; }
11
- </style>
12
- <h1>Real DeepSeek-V2-Lite layer 1 on WebGPU — real Q4_K/Q8_0 weights, kernels vs CPU Tier-A oracle</h1>
13
- <div id="v">running…</div>
14
- <script type="module">
15
- import { createGpuRuntime } from "./holo-gguf-gpu.mjs";
16
- const $v = document.getElementById("v");
17
- const cos = (a, b) => { let d = 0, na = 0, nb = 0; for (let i = 0; i < a.length; i++) { d += a[i] * b[i]; na += a[i] * a[i]; nb += b[i] * b[i]; } return d / (Math.sqrt(na) * Math.sqrt(nb) || 1); };
18
- const relMax = (a, b) => { let m = 0, s = 0; for (let i = 0; i < b.length; i++) s = Math.max(s, Math.abs(b[i])); for (let i = 0; i < a.length; i++) m = Math.max(m, Math.abs(a[i] - b[i])); return m / (s || 1); };
19
-
20
- async function run() {
21
- if (!navigator.gpu) throw new Error("no WebGPU");
22
- const dev = await (await navigator.gpu.requestAdapter()).requestDevice();
23
- const { P, disp, u4, sbuf, wF, rawU32, resetUniforms } = createGpuRuntime(dev);
24
- const data = await (await fetch("./_qtest/real-layer.json?cb=" + Date.now())).json();
25
- const bin = new Uint8Array(await (await fetch("./_qtest/real-layer.bin?cb=" + Date.now())).arrayBuffer());
26
- const man = data.manifest;
27
- const G = (n) => Math.ceil(n / 64);
28
- const RAW = { 12: P.q4kraw, 13: P.q5kraw, 14: P.q6kraw, 8: P.q8raw, 6: P.q5raw };
29
- const sliceBin = (name) => bin.subarray(man[name].off, man[name].off + man[name].len);
30
-
31
- const readback = async (buf, n) => {
32
- const stg = dev.createBuffer({ size: n * 4, usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST });
33
- const enc = dev.createCommandEncoder(); enc.copyBufferToBuffer(buf, 0, stg, 0, n * 4); dev.queue.submit([enc.finish()]);
34
- await stg.mapAsync(GPUMapMode.READ); const out = Float32Array.from(new Float32Array(stg.getMappedRange().slice(0))); stg.unmap(); stg.destroy(); return out;
35
- };
36
- // raw K-quant matvec: weight bytes (bin slice) by ggmlType, over f32 activation buffer → readback
37
- const mvRaw = async (name, type, N, K, xb) => {
38
- const pipe = RAW[type]; if (!pipe) throw new Error("no GPU kernel for ggmlType " + type + " (" + name + ")");
39
- resetUniforms(); const rb = rawU32(sliceBin(name)), yb = sbuf(N);
40
- const enc = dev.createCommandEncoder(); disp(enc, pipe, [rb, xb, yb, u4([N, K, 0, 0])], G(N)); dev.queue.submit([enc.finish()]);
41
- return readback(yb, N);
42
- };
43
- const swigluGpu = async (g, u, n) => { resetUniforms(); const gb = wF(g), ub = wF(u), yb = sbuf(n); const enc = dev.createCommandEncoder(); disp(enc, P.swiglu, [gb, ub, yb, u4([n, 0, 0, 0])], G(n)); dev.queue.submit([enc.finish()]); return readback(yb, n); };
44
-
45
- const results = [];
46
-
47
- // ── 1) real Q4_K MLA matvec (attn_q, 2048→3072) ──
48
- // The GPU raw kernels do FLOAT dequant-dot → compare to the float-dequant oracle (kernel correctness).
49
- // `intMax` = how far the integer-dot path (CPU forward / llama.cpp) sits — the known fast-vs-hifi seam.
50
- const aq = data.attnQ;
51
- const qGpu = await mvRaw("attn_q", aq.type, aq.N, aq.K, wF(Float32Array.from(aq.x)));
52
- results.push({ name: `MLA attn_q (Q4_K [N=${aq.N} K=${aq.K}])`, cos: cos(qGpu, aq.expectedFloat), relMax: relMax(qGpu, aq.expectedFloat), intMax: relMax(aq.expectedFloat, aq.expected) });
53
-
54
- // ── 2) real MoE layer: 6/64 routed experts (Q4_K gate/up, Q8_0 down) + 2×shared, ungated ──
55
- const m = data.moe, D = data.cfg.D, xb = wF(Float32Array.from(m.x));
56
- const out = new Float32Array(D);
57
- for (let i = 0; i < m.selected.length; i++) {
58
- const g = await mvRaw(`gate_${i}`, m.gateType, m.gateN, m.gateK, xb);
59
- const u = await mvRaw(`up_${i}`, m.upType, m.gateN, m.gateK, xb);
60
- const act = await swigluGpu(g, u, m.gateN);
61
- const dn = await mvRaw(`down_${i}`, m.downType, m.downN, m.downK, wF(act));
62
- for (let j = 0; j < D; j++) out[j] += m.weights[i] * dn[j];
63
- }
64
- const sg = await mvRaw("sgate", m.sgateType, m.sgateN, m.sgateK, xb);
65
- const su = await mvRaw("sup", m.supType, m.sgateN, m.sgateK, xb);
66
- const sact = await swigluGpu(sg, su, m.sgateN);
67
- const sh = await mvRaw("sdown", m.sdownType, m.sdownN, m.sdownK, wF(sact));
68
- for (let j = 0; j < D; j++) out[j] += sh[j];
69
- results.push({ name: `MoE layer (${m.selected.length}/${data.cfg.E} experts, Q4_K gate/up + Q8_0 down + Q6_K 2×shared)`, cos: cos(out, m.expectedFloat), relMax: relMax(out, m.expectedFloat), intMax: relMax(m.expectedFloat, m.expected) });
70
-
71
- const ok = results.every((r) => r.cos > 0.99999 && r.relMax < 1e-4);
72
- window.__real = { ok, results, argmax: data.argmax, selected: m.selected };
73
- $v.className = ok ? "ok" : "bad";
74
- $v.innerHTML = `<span class="big">${ok ? "Real DeepSeek-V2-Lite kernels MATCH the float-dequant oracle on real K-quant weights ✓" : "MISMATCH ✗"}</span>\n\n` +
75
- `model ${data.model} · layer ${data.layer} · CPU forward decoded "${data.argmax === 18828 ? " Berlin" : "id " + data.argmax}" · routed experts [${m.selected}]\n\n` +
76
- results.map((r) => `${r.name}\n vs float-dequant oracle: cosine ${r.cos.toFixed(8)} · relMax ${r.relMax.toExponential(2)} (integer-dot/hifi seam: ${r.intMax.toExponential(2)})`).join("\n") +
77
- `\n\nReal quantized weights (Q4_K attn+experts, Q8_0 down, Q6_K shared-down) from the forged 10 GB model, matvec'd
78
- in-shader. GPU raw kernels = FLOAT dequant-dot (Tier-B fast path) → match the float oracle to the f32 floor. The
79
- integer-dot column is the fast-vs-hifi gap (llama.cpp uses integer dot; Q6_K integer kernel exists, Q4_K/Q5_K
80
- integer-dot kernels are the remaining lever for exact near-tie parity). Correctness on real GLM-class weights: proven.`;
81
- }
82
- run().catch((e) => { $v.className = "bad"; $v.textContent = "ERROR: " + (e.stack || e.message); window.__real = { ok: false, err: String(e.message) }; });
83
- </script>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:120943bc5acc09acc4da829f5ad0c6712691f70b0c183980e432d1f9e6e345dd
3
+ size 6295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f1190f6fec8915d08f5d2a5d226e8ce204d7ee7e498cfdfb2621e3d7a51d65e CHANGED
The diff for this file is too large to render. See raw diff
 
b/6f14fcff247694eaf421522f67e74a57f604e23d089b1ca377bf402d880f5854 CHANGED
@@ -1,52 +1,3 @@
1
- // zoo-catalog-witness.mjs — A1/A3: the catalog + drop-in + frame-gating + tamper-refusal that make the zoo
2
- // "100% wired" safely. Proves: (1) an empty catalog routes to base (current behavior, never blank); (2) DROPPING
3
- // an entry (skill → adapter κ) makes it resolve with NO code change — the loader re-reads the catalog; (3) a wrong
4
- // base or frame is REFUSED (an incompatible delta never binds — dims wouldn't align); (4) a sealed adapter .holo
5
- // round-trips, and a single tampered byte is L5-REFUSED on open (fail-closed). Pure Node, no GPU.
6
-
7
- import { resolveAdapter } from "../../../../../holo-os/system/os/usr/lib/holo/q/holo-q-adapters.mjs";
8
- import { genTestAdapter, sealAdapterHolo, openAdapterHolo, adapterKappa } from "../gpu/holo-lora.mjs";
9
- import { sha256hex } from "../../../../../holo-os/system/os/usr/lib/holo/holo-uor.mjs";
10
-
11
- let pass = 0, fail = 0;
12
- const ok = (c, m) => { console.log((c ? " ok " : " XX ") + m); c ? pass++ : fail++; };
13
-
14
- const BASE = "qwen2.5-0.5b", FRAME = "qwen25-05b-f1";
15
-
16
- // ── (1) empty catalog → null ⇒ base-only (the safe default; the zoo never makes Q worse than no zoo) ──
17
- {
18
- const empty = {};
19
- ok(resolveAdapter("respond", { baseModel: BASE, baseFrame: FRAME }, empty) === null, "empty catalog → null (base-only, never blank)");
20
- }
21
-
22
- // ── (2) DROP-IN: add one entry to the catalog object → it resolves with no other change ──
23
- const catalog = {};
24
- {
25
- ok(resolveAdapter("code", { baseModel: BASE }, catalog) === null, "before drop-in: skill 'code' → null");
26
- // a deployer drops the specialist's κ into the catalog (this is the whole "add a specialist" gesture):
27
- catalog["code"] = { adapter: "did:holo:sha256:" + "c0de".padEnd(64, "0"), base: BASE, frame: FRAME, target: "attn_q" };
28
- ok(resolveAdapter("code", { baseModel: BASE, baseFrame: FRAME }, catalog) === catalog["code"].adapter, "after drop-in: skill 'code' → its adapter κ (picked up, no code change)");
29
- }
30
-
31
- // ── (3) FRAME/BASE GATING: an incompatible adapter is REFUSED (returns null), never bound ──
32
- {
33
- ok(resolveAdapter("code", { baseModel: "other-model", baseFrame: FRAME }, catalog) === null, "wrong base model → null (REFUSED)");
34
- ok(resolveAdapter("code", { baseModel: BASE, baseFrame: "different-frame" }, catalog) === null, "wrong frame fingerprint → null (REFUSED — dims wouldn't align)");
35
- ok(resolveAdapter("nope", { baseModel: BASE, baseFrame: FRAME }, catalog) === null, "unknown skill → null (base-only)");
36
- }
37
-
38
- // ── (4) a sealed adapter .holo round-trips; a tampered byte is L5-REFUSED on open ──
39
- {
40
- const ad = genTestAdapter({ seed: 3, inn: 896, out: 896, r: 8, nLayer: 24, scale: 1.0, amp: 0.02 });
41
- const s = sealAdapterHolo(ad, sha256hex);
42
- const opened = openAdapterHolo(s.holo);
43
- ok(opened.target === "attn_q" && opened.r === 8 && opened.nLayer === 24, "sealed adapter .holo opens with intact frame");
44
- const k = await adapterKappa(ad, sha256hex);
45
- ok(/^sha256:/.test(k), `adapter content-κ derives (${k.slice(0, 22)}…)`);
46
- const bad = s.holo.slice(); bad[Math.floor(bad.length / 2)] ^= 0xff; // flip one body byte
47
- let refused = false; try { openAdapterHolo(bad); } catch (e) { refused = /tamper|REFUSE|mismatch/i.test(String(e)); }
48
- ok(refused, "tampered adapter .holo is L5-REFUSED on open (fail-closed)");
49
- }
50
-
51
- console.log(`\n${pass}/${pass + fail}${fail ? " FAIL" : " — WITNESSED: the zoo catalog routes a skill to its adapter κ, picks up a dropped-in specialist with no code change, REFUSES an incompatible base/frame, and a tampered adapter never opens — safe by construction."}`);
52
- process.exit(fail ? 1 : 0);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:853e455dbc133d74a208c0224979ed823ae3313b674823eb59958308d9c3f050
3
+ size 3634
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f1a160e16459fe8bf7f1030a64439fb3e29407999a1c9a76c7ec35ba02c4c77 CHANGED
The diff for this file is too large to render. See raw diff
 
b/6f321c1a7e7dc3629a8e0470e33cc8d69a9ea72ab1a9ec43cd99ab3116585b3c CHANGED
@@ -1,58 +1,3 @@
1
- import React, { type ComponentPropsWithoutRef, type CSSProperties } from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- interface RippleProps extends ComponentPropsWithoutRef<"div"> {
6
- mainCircleSize?: number
7
- mainCircleOpacity?: number
8
- numCircles?: number
9
- }
10
-
11
- export const Ripple = React.memo(function Ripple({
12
- mainCircleSize = 210,
13
- mainCircleOpacity = 0.24,
14
- numCircles = 8,
15
- className,
16
- ...props
17
- }: RippleProps) {
18
- return (
19
- <div
20
- className={cn(
21
- "pointer-events-none absolute inset-0 mask-[linear-gradient(to_bottom,white,transparent)] select-none",
22
- className
23
- )}
24
- {...props}
25
- >
26
- {Array.from({ length: numCircles }, (_, i) => {
27
- const size = mainCircleSize + i * 70
28
- const opacity = mainCircleOpacity - i * 0.03
29
- const animationDelay = `${i * 0.06}s`
30
- const borderStyle = "solid"
31
-
32
- return (
33
- <div
34
- key={i}
35
- className={`animate-ripple bg-foreground/25 absolute rounded-full border shadow-xl`}
36
- style={
37
- {
38
- "--i": i,
39
- width: `${size}px`,
40
- height: `${size}px`,
41
- opacity,
42
- animationDelay,
43
- borderStyle,
44
- borderWidth: "1px",
45
- borderColor: `var(--foreground)`,
46
- top: "50%",
47
- left: "50%",
48
- transform: "translate(-50%, -50%) scale(1)",
49
- } as CSSProperties
50
- }
51
- />
52
- )
53
- })}
54
- </div>
55
- )
56
- })
57
-
58
- Ripple.displayName = "Ripple"
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ac207017c0f4e993f83a1ead8b8a1b4a92286ef1595a297aba79782b2616eaf
3
+ size 1564
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f3f57a6f962a7bdc0eed0366fdf9534c8e3f92f894d0ccda63cfef8446c363a CHANGED
@@ -1,26 +1,3 @@
1
- import {
2
- ResizableHandle,
3
- ResizablePanel,
4
- ResizablePanelGroup,
5
- } from "@/registry/new-york-v4/ui/resizable"
6
-
7
- export default function ResizableHandleDemo() {
8
- return (
9
- <ResizablePanelGroup
10
- orientation="horizontal"
11
- className="min-h-[200px] max-w-md rounded-lg border md:min-w-[450px]"
12
- >
13
- <ResizablePanel defaultSize="25%">
14
- <div className="flex h-full items-center justify-center p-6">
15
- <span className="font-semibold">Sidebar</span>
16
- </div>
17
- </ResizablePanel>
18
- <ResizableHandle withHandle />
19
- <ResizablePanel defaultSize="75%">
20
- <div className="flex h-full items-center justify-center p-6">
21
- <span className="font-semibold">Content</span>
22
- </div>
23
- </ResizablePanel>
24
- </ResizablePanelGroup>
25
- )
26
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6e99081ec5793a2af957a79d7037888ad379404d2688ec02584c6108d2e1f36
3
+ size 796
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f3fc9648576109c5f13c08d5b5737dcd4aca6ffa3221154a5096247b574aa7f CHANGED
@@ -1,257 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react"
5
- import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"
6
-
7
- import { cn } from "@/lib/utils"
8
-
9
- function DropdownMenu({
10
- ...props
11
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {
12
- return <DropdownMenuPrimitive.Root data-slot="dropdown-menu" {...props} />
13
- }
14
-
15
- function DropdownMenuPortal({
16
- ...props
17
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {
18
- return (
19
- <DropdownMenuPrimitive.Portal data-slot="dropdown-menu-portal" {...props} />
20
- )
21
- }
22
-
23
- function DropdownMenuTrigger({
24
- ...props
25
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {
26
- return (
27
- <DropdownMenuPrimitive.Trigger
28
- data-slot="dropdown-menu-trigger"
29
- {...props}
30
- />
31
- )
32
- }
33
-
34
- function DropdownMenuContent({
35
- className,
36
- sideOffset = 4,
37
- ...props
38
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {
39
- return (
40
- <DropdownMenuPrimitive.Portal>
41
- <DropdownMenuPrimitive.Content
42
- data-slot="dropdown-menu-content"
43
- sideOffset={sideOffset}
44
- className={cn(
45
- "z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
46
- className
47
- )}
48
- {...props}
49
- />
50
- </DropdownMenuPrimitive.Portal>
51
- )
52
- }
53
-
54
- function DropdownMenuGroup({
55
- ...props
56
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {
57
- return (
58
- <DropdownMenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />
59
- )
60
- }
61
-
62
- function DropdownMenuItem({
63
- className,
64
- inset,
65
- variant = "default",
66
- ...props
67
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
68
- inset?: boolean
69
- variant?: "default" | "destructive"
70
- }) {
71
- return (
72
- <DropdownMenuPrimitive.Item
73
- data-slot="dropdown-menu-item"
74
- data-inset={inset}
75
- data-variant={variant}
76
- className={cn(
77
- "relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
78
- className
79
- )}
80
- {...props}
81
- />
82
- )
83
- }
84
-
85
- function DropdownMenuCheckboxItem({
86
- className,
87
- children,
88
- checked,
89
- ...props
90
- }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {
91
- return (
92
- <DropdownMenuPrimitive.CheckboxItem
93
- data-slot="dropdown-menu-checkbox-item"
94
- className={cn(
95
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
96
- className
97
- )}
98
- checked={checked}
99
- {...props}
100
- >
101
- <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
102
- <DropdownMenuPrimitive.ItemIndicator>
103
- <CheckIcon className="size-4" />
104
- </DropdownMenuPrimitive.ItemIndicator>
105
- </span>
106
- {children}
107
- </DropdownMenuPrimitive.CheckboxItem>
108
- )
109
- }
110
-
111
- function DropdownMenuRadioGroup({
112
- ...props
113
- }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {
114
- return (
115
- <DropdownMenuPrimitive.RadioGroup
116
- data-slot="dropdown-menu-radio-group"
117
- {...props}
118
- />
119
- )
120
- }
121
-
122
- function DropdownMenuRadioItem({
123
- className,
124
- children,
125
- ...props
126
- }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {
127
- return (
128
- <DropdownMenuPrimitive.RadioItem
129
- data-slot="dropdown-menu-radio-item"
130
- className={cn(
131
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
132
- className
133
- )}
134
- {...props}
135
- >
136
- <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
137
- <DropdownMenuPrimitive.ItemIndicator>
138
- <CircleIcon className="size-2 fill-current" />
139
- </DropdownMenuPrimitive.ItemIndicator>
140
- </span>
141
- {children}
142
- </DropdownMenuPrimitive.RadioItem>
143
- )
144
- }
145
-
146
- function DropdownMenuLabel({
147
- className,
148
- inset,
149
- ...props
150
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
151
- inset?: boolean
152
- }) {
153
- return (
154
- <DropdownMenuPrimitive.Label
155
- data-slot="dropdown-menu-label"
156
- data-inset={inset}
157
- className={cn(
158
- "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
159
- className
160
- )}
161
- {...props}
162
- />
163
- )
164
- }
165
-
166
- function DropdownMenuSeparator({
167
- className,
168
- ...props
169
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {
170
- return (
171
- <DropdownMenuPrimitive.Separator
172
- data-slot="dropdown-menu-separator"
173
- className={cn("-mx-1 my-1 h-px bg-border", className)}
174
- {...props}
175
- />
176
- )
177
- }
178
-
179
- function DropdownMenuShortcut({
180
- className,
181
- ...props
182
- }: React.ComponentProps<"span">) {
183
- return (
184
- <span
185
- data-slot="dropdown-menu-shortcut"
186
- className={cn(
187
- "ml-auto text-xs tracking-widest text-muted-foreground",
188
- className
189
- )}
190
- {...props}
191
- />
192
- )
193
- }
194
-
195
- function DropdownMenuSub({
196
- ...props
197
- }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {
198
- return <DropdownMenuPrimitive.Sub data-slot="dropdown-menu-sub" {...props} />
199
- }
200
-
201
- function DropdownMenuSubTrigger({
202
- className,
203
- inset,
204
- children,
205
- ...props
206
- }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
207
- inset?: boolean
208
- }) {
209
- return (
210
- <DropdownMenuPrimitive.SubTrigger
211
- data-slot="dropdown-menu-sub-trigger"
212
- data-inset={inset}
213
- className={cn(
214
- "flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
215
- className
216
- )}
217
- {...props}
218
- >
219
- {children}
220
- <ChevronRightIcon className="ml-auto size-4" />
221
- </DropdownMenuPrimitive.SubTrigger>
222
- )
223
- }
224
-
225
- function DropdownMenuSubContent({
226
- className,
227
- ...props
228
- }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {
229
- return (
230
- <DropdownMenuPrimitive.SubContent
231
- data-slot="dropdown-menu-sub-content"
232
- className={cn(
233
- "z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
234
- className
235
- )}
236
- {...props}
237
- />
238
- )
239
- }
240
-
241
- export {
242
- DropdownMenu,
243
- DropdownMenuPortal,
244
- DropdownMenuTrigger,
245
- DropdownMenuContent,
246
- DropdownMenuGroup,
247
- DropdownMenuLabel,
248
- DropdownMenuItem,
249
- DropdownMenuCheckboxItem,
250
- DropdownMenuRadioGroup,
251
- DropdownMenuRadioItem,
252
- DropdownMenuSeparator,
253
- DropdownMenuShortcut,
254
- DropdownMenuSub,
255
- DropdownMenuSubTrigger,
256
- DropdownMenuSubContent,
257
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98f0dcdae38225b73734aceeb9213dd751fea2c72ea520df31003cd133deac8a
3
+ size 8418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f442283ad549ced4db96d2d0d03fadf59abb31fe3ab9a11cc3726efddeb7e18 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.glare-hover",
3
- "name": "glare-hover",
4
- "tier": "component",
5
- "library": "magicui",
6
- "category": "Special Effects",
7
- "upstream": "https://magicui.design/r/glare-hover.json",
8
- "did": "did:holo:sha256:db8084ae31fb41978ce5c2fc164e7d2c63cf414e3817fe444dca4ed177c9986f",
9
- "import": "holo://sha256:bc0198f0ef836ddd5f8d6b19cd13f67672bc40591b1ef5a7f0f4a74c002d5bfe",
10
- "integrity": "sha256-vAGY8O+Dbd1fjWsZzRP2dnK8QFkbHvWn8PSnTAAtW/4=",
11
- "kappa": "sha256:db8084ae31fb41978ce5c2fc164e7d2c63cf414e3817fe444dca4ed177c9986f",
12
- "moduleKappa": "sha256:bc0198f0ef836ddd5f8d6b19cd13f67672bc40591b1ef5a7f0f4a74c002d5bfe",
13
- "renderExport": "GlareHover",
14
- "source": "components/ui/glare-hover.tsx",
15
- "module": "vendor/components/glare-hover.js",
16
- "exports": [
17
- "GlareHover"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c48c3442fa4edbc395598c0f6650b8f09ee1acb1e7e62da1f171ea7fb0998c5e
3
+ size 823
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f48d16edc538c5668e979ab4c95f9c220242eda91bafacafd08ca9efa620da6 CHANGED
@@ -1,23 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.button-group",
3
- "name": "button-group",
4
- "tier": "component",
5
- "library": "shadcn",
6
- "category": "Buttons & Actions",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/button-group.json",
8
- "did": "did:holo:sha256:784c89d8ee683e1bc972ae69e6ea8225a7f63abe22aa1b5fc3423ae8a2a399c0",
9
- "import": "holo://sha256:ff5952938adbcc1e350373c0717b19b1afa1cae9ae3043c71bac62fe60f7d512",
10
- "integrity": "sha256-/1lSk4rbzB41A3PAcXsZsa+hyumuMEPHG6xi/mD31RI=",
11
- "kappa": "sha256:784c89d8ee683e1bc972ae69e6ea8225a7f63abe22aa1b5fc3423ae8a2a399c0",
12
- "moduleKappa": "sha256:ff5952938adbcc1e350373c0717b19b1afa1cae9ae3043c71bac62fe60f7d512",
13
- "renderExport": "ButtonGroup",
14
- "source": "components/ui/button-group.tsx",
15
- "module": "vendor/components/button-group.js",
16
- "exports": [
17
- "ButtonGroup",
18
- "ButtonGroupSeparator",
19
- "ButtonGroupText",
20
- "buttonGroupVariants"
21
- ],
22
- "license": "MIT"
23
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a68d0f2645778d9bf9c6b0617004d2acaefec7185d7d76cf0f236bc02e6cc82c
3
+ size 927
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f6265f8e29ccabed2d1b00e46115e46f611bd6fca763961936edf1b2ca24adf CHANGED
The diff for this file is too large to render. See raw diff
 
b/6f827b986032b404e7ef63e3eb99606f0c1561b86fd5195eab9669976d2e3d99 CHANGED
@@ -1,22 +1,3 @@
1
- import { Bold, Italic, Underline } from "lucide-react"
2
-
3
- import {
4
- ToggleGroup,
5
- ToggleGroupItem,
6
- } from "@/registry/new-york-v4/ui/toggle-group"
7
-
8
- export default function ToggleGroupDemo() {
9
- return (
10
- <ToggleGroup type="multiple" variant="outline">
11
- <ToggleGroupItem value="bold" aria-label="Toggle bold">
12
- <Bold className="h-4 w-4" />
13
- </ToggleGroupItem>
14
- <ToggleGroupItem value="italic" aria-label="Toggle italic">
15
- <Italic className="h-4 w-4" />
16
- </ToggleGroupItem>
17
- <ToggleGroupItem value="strikethrough" aria-label="Toggle strikethrough">
18
- <Underline className="h-4 w-4" />
19
- </ToggleGroupItem>
20
- </ToggleGroup>
21
- )
22
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce375cf41a1125f1b6f29eb36eb1a8da6fbfe418e6fd1530dc79e6f22fe4f39d
3
+ size 681
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6f846bec6ed3a23e167be3585a359b5604d5a92f89b3c54b64412057198dc329 CHANGED
@@ -1,46 +1,3 @@
1
- #!/usr/bin/env node
2
- // gguf-forge-qwen35-model-parity.test.mjs — WHOLE-MODEL numerical parity: qwen35Forward (gguf-forge-qwen35-model.mjs)
3
- // vs HF Qwen3NextForCausalLM on a tiny 4-layer model (3 linear + 1 attention, dense SwiGLU MLP, embed + final
4
- // norm + lm_head). Proves the end-to-end WIRING — layer stacking, residual structure, the schedule, MLP, embed,
5
- // the (1+weight) norms, and lm_head — is correct, and that argmax matches HF's predicted token at every position.
6
- // Fixture: gguf-forge-qwen35-model-parity.gen.py. Pass: per-token logits cosine > 0.9999, relL2 < 1e-3, argmax ==.
7
- //
8
- // Usage: node holo-apps/apps/q/forge/gguf-forge-qwen35-model-parity.test.mjs
9
-
10
- import { readFileSync, writeFileSync } from "node:fs";
11
- import { fileURLToPath } from "node:url";
12
- import { dirname, join } from "node:path";
13
- import { qwen35Forward, argmax } from "./gguf-forge-qwen35-model.mjs";
14
-
15
- const here = dirname(fileURLToPath(import.meta.url));
16
- const ref = JSON.parse(readFileSync(join(here, "gguf-forge-qwen35-model-parity.fixture.json"), "utf8"));
17
- const F = (a) => Float32Array.from(a);
18
- const model = {
19
- D: ref.D,
20
- token_embd: F(ref.token_embd), output_norm: F(ref.output_norm), lm_head: F(ref.lm_head),
21
- cos: ref.cos.map(F), sin: ref.sin.map(F),
22
- layers: ref.layers.map((l) => ({ type: l.type, W: Object.fromEntries(Object.entries(l.W).map(([k, v]) => [k, F(v)])) })),
23
- };
24
- const logits = qwen35Forward(model, ref.ids);
25
- const yRef = ref.logits.map(F);
26
-
27
- const cos = (a, b) => { let d = 0, na = 0, nb = 0; for (let i = 0; i < a.length; i++) { d += a[i] * b[i]; na += a[i] * a[i]; nb += b[i] * b[i]; } return d / (Math.sqrt(na) * Math.sqrt(nb) + 1e-30); };
28
- const relL2 = (a, b) => { let e = 0, n = 0; for (let i = 0; i < a.length; i++) { e += (a[i] - b[i]) ** 2; n += b[i] * b[i]; } return Math.sqrt(e / (n + 1e-30)); };
29
-
30
- let minCos = 1, maxRel = 0, argOk = true; const per = [];
31
- for (let t = 0; t < yRef.length; t++) {
32
- const c = cos(logits[t], yRef[t]), e = relL2(logits[t], yRef[t]), am = argmax(logits[t]) === argmax(yRef[t]);
33
- minCos = Math.min(minCos, c); maxRel = Math.max(maxRel, e); argOk = argOk && am;
34
- per.push({ t, cos: +c.toFixed(6), relL2: e, tok: argmax(logits[t]), refTok: argmax(yRef[t]) });
35
- }
36
- const witnessed = minCos > 0.9999 && maxRel < 1e-3 && argOk;
37
- writeFileSync(join(here, "gguf-forge-qwen35-model-parity.test.result.json"), JSON.stringify({
38
- spec: "Whole qwen35 model forward numerically exact vs HF Qwen3NextForCausalLM (tiny 4-layer: 3 gated-DeltaNet linear + 1 gated attention, dense SwiGLU MLP, embed + final RMSNorm + lm_head). Validates end-to-end wiring: per-layer residual structure, the linear/attention schedule, MLP, embedding lookup, (1+weight) norms, lm_head, and that the predicted argmax token matches HF at every position.",
39
- authority: "HF transformers Qwen3NextForCausalLM (torch reference) · fixture via gguf-forge-qwen35-model-parity.gen.py",
40
- minCosine: minCos, maxRelL2: maxRel, argmaxMatches: argOk, perToken: per, witnessed,
41
- }, null, 2) + "\n");
42
-
43
- for (const p of per) console.log(` t=${p.t} cos=${p.cos.toFixed(6)} relL2=${p.relL2.toExponential(2)} tok=${p.tok}${p.tok === p.refTok ? "==" : "!="}${p.refTok}`);
44
- console.log(`min cosine=${minCos.toFixed(6)} max relL2=${maxRel.toExponential(2)} argmax all match: ${argOk}`);
45
- console.log(`VERDICT : ${witnessed ? "WITNESSED ✓ whole qwen35 model is numerically exact to HF + token-for-token" : "NOT WITNESSED"}`);
46
- process.exit(witnessed ? 0 : 1);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8f63afe8e7cda723a149e565fd2778604cfe78ede9b6e8fd8c1e6c9b3c058f91
3
+ size 3463
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6fa5ac11952ec411380f9f2b702b327f35d5faf91ba5a56e20a642d7527e5004 CHANGED
@@ -1,75 +1,3 @@
1
- "use client"
2
-
3
- import { TrendingUp } from "lucide-react"
4
- import { PolarAngleAxis, PolarGrid, Radar, RadarChart } from "recharts"
5
-
6
- import {
7
- Card,
8
- CardContent,
9
- CardDescription,
10
- CardFooter,
11
- CardHeader,
12
- CardTitle,
13
- } from "@/registry/new-york-v4/ui/card"
14
- import {
15
- ChartContainer,
16
- ChartTooltip,
17
- ChartTooltipContent,
18
- type ChartConfig,
19
- } from "@/registry/new-york-v4/ui/chart"
20
-
21
- export const description = "A radar chart"
22
-
23
- const chartData = [
24
- { month: "January", desktop: 186 },
25
- { month: "February", desktop: 305 },
26
- { month: "March", desktop: 237 },
27
- { month: "April", desktop: 273 },
28
- { month: "May", desktop: 209 },
29
- { month: "June", desktop: 214 },
30
- ]
31
-
32
- const chartConfig = {
33
- desktop: {
34
- label: "Desktop",
35
- color: "var(--chart-1)",
36
- },
37
- } satisfies ChartConfig
38
-
39
- export function ChartRadarDefault() {
40
- return (
41
- <Card>
42
- <CardHeader className="items-center pb-4">
43
- <CardTitle>Radar Chart</CardTitle>
44
- <CardDescription>
45
- Showing total visitors for the last 6 months
46
- </CardDescription>
47
- </CardHeader>
48
- <CardContent className="pb-0">
49
- <ChartContainer
50
- config={chartConfig}
51
- className="mx-auto aspect-square max-h-[250px]"
52
- >
53
- <RadarChart data={chartData}>
54
- <ChartTooltip cursor={false} content={<ChartTooltipContent />} />
55
- <PolarAngleAxis dataKey="month" />
56
- <PolarGrid />
57
- <Radar
58
- dataKey="desktop"
59
- fill="var(--color-desktop)"
60
- fillOpacity={0.6}
61
- />
62
- </RadarChart>
63
- </ChartContainer>
64
- </CardContent>
65
- <CardFooter className="flex-col gap-2 text-sm">
66
- <div className="flex items-center gap-2 leading-none font-medium">
67
- Trending up by 5.2% this month <TrendingUp className="h-4 w-4" />
68
- </div>
69
- <div className="flex items-center gap-2 leading-none text-muted-foreground">
70
- January - June 2024
71
- </div>
72
- </CardFooter>
73
- </Card>
74
- )
75
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e503bd2c88e20d5f37082dcdfd2a95d1e61cfcc0855844d0050e114fa7428394
3
+ size 2020
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6fd871a55c937ca12904f2a1b429327fb4d2668b4f64b63d1e3ee1c54b68ee23 CHANGED
@@ -1,58 +1,3 @@
1
- // holo-streaming-core.mjs — TRUE cache-aware streaming core for a STREAMING-TRAINED FastConformer (the kind
2
- // NeMo exports with cache_support=True: the encoder takes cache_last_channel/cache_last_time and returns the
3
- // next caches, so each chunk is CONSTANT WORK with bounded left-context — unlike windowing the offline model,
4
- // which we MEASURED to be both imprecise and slower, s3/parakeet-cacheaware.html). This plugs straight into the
5
- // I1 runner (voice-stream-runner.mjs) `core` seam, so makeStreamRunner drives it unchanged → { partial }/{ final }.
6
- //
7
- // The model is INJECTED so the harness is testable now (mock) and the real cache-aware encoder + κ-native joint
8
- // drop in when the streaming .holo is forged (see forge-streaming-ear.mjs + the handoff doc):
9
- // feature(pcmChunk) → feats // log-mel for THIS chunk (nemo128 / model preproc)
10
- // encodeChunk(feats, caches) → { encoded:Float32Array[Tc*D], Tc, caches } // CACHE-AWARE: feeds caches back
11
- // makeDecoder() → joint(encFrame, last, predState) → { out, state } // κ-native RNNT/TDT joint
12
- // detokenize(ids) → string
13
- // initCaches() → the zero cache tensors for a fresh utterance (model-shaped)
14
- //
15
- // RNNT and TDT are both handled: the decode reads durations only if the joint emits them (out.length > vocabSize);
16
- // a plain RNNT joint (out.length === vocabSize) decodes with dur=0 (advance on blank) — same loop.
17
-
18
- export function makeStreamingCore({ feature, encodeChunk, makeDecoder, detokenize, initCaches, blankId = 1024, vocabSize = 1025, maxPerFrame = 10, tentativeTail = 3 } = {}) {
19
- if (!feature || !encodeChunk || !makeDecoder || !detokenize) throw new Error("makeStreamingCore needs feature, encodeChunk, makeDecoder, detokenize");
20
- const init = initCaches || (() => null);
21
-
22
- return {
23
- reset() { return { joint: makeDecoder(), predState: null, last: blankId, tokens: [], stableLen: 0 }; },
24
- feature(pcmChunk) { return feature(pcmChunk); },
25
-
26
- // CACHE-AWARE encode: constant work per chunk — bounded context carried in `caches`, not re-encoded.
27
- async encode(feats, encCache) {
28
- const caches = encCache || init();
29
- const r = await encodeChunk(feats, caches);
30
- return { enc: { encoded: r.encoded, Tc: r.Tc }, encCache: r.caches };
31
- },
32
-
33
- // incremental RNNT/TDT decode over THIS chunk's frames, carrying predictor state. Returns NEWLY-stable tokens
34
- // (delta — the runner concatenates them) + the revisable tentative tail.
35
- async decodeStep(enc, decState) {
36
- const { encoded, Tc } = enc, D = encoded.length / Tc;
37
- let { joint, predState, last } = decState, t = 0, emitted = 0;
38
- while (t < Tc) {
39
- const frame = encoded.subarray(t * D, t * D + D);
40
- const r = await joint(frame, last, predState);
41
- const o = r.out;
42
- let tok = 0, tm = -Infinity; for (let i = 0; i < vocabSize; i++) if (o[i] > tm) { tm = o[i]; tok = i; }
43
- let dur = 0, dm = -Infinity; for (let i = vocabSize; i < o.length; i++) if (o[i] > dm) { dm = o[i]; dur = i - vocabSize; }
44
- if (tok !== blankId) { predState = r.state; decState.tokens.push(tok); last = tok; emitted++; }
45
- if (dur > 0) { t += dur; emitted = 0; }
46
- else if (tok === blankId || emitted === maxPerFrame) { t += 1; emitted = 0; }
47
- }
48
- decState.predState = predState; decState.last = last;
49
- const tok = decState.tokens, newStable = Math.max(decState.stableLen, tok.length - tentativeTail);
50
- const stable = tok.slice(decState.stableLen, newStable); decState.stableLen = newStable;
51
- const tentative = tok.slice(newStable);
52
- return { stable, tentative, decState };
53
- },
54
-
55
- detokenize(ids) { return detokenize(ids); },
56
- };
57
- }
58
- export default makeStreamingCore;
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2258f284d2d5af693ae3a47d6e525c740eb3dcf98a9eca15f893c78b099f3bc4
3
+ size 3840
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6fdf1c7245aed6ac0f0831c9764ad0ba8c201da1bc2c9a408cfe4373ed1394a4 CHANGED
@@ -1,63 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- interface ShineBorderProps extends React.HTMLAttributes<HTMLDivElement> {
8
- /**
9
- * Width of the border in pixels
10
- * @default 1
11
- */
12
- borderWidth?: number
13
- /**
14
- * Duration of the animation in seconds
15
- * @default 14
16
- */
17
- duration?: number
18
- /**
19
- * Color of the border, can be a single color or an array of colors
20
- * @default "#000000"
21
- */
22
- shineColor?: string | string[]
23
- }
24
-
25
- /**
26
- * Shine Border
27
- *
28
- * An animated background border effect component with configurable properties.
29
- */
30
- export function ShineBorder({
31
- borderWidth = 1,
32
- duration = 14,
33
- shineColor = "#000000",
34
- className,
35
- style,
36
- ...props
37
- }: ShineBorderProps) {
38
- return (
39
- <div
40
- style={
41
- {
42
- "--border-width": `${borderWidth}px`,
43
- "--duration": `${duration}s`,
44
- backgroundImage: `radial-gradient(transparent,transparent, ${
45
- Array.isArray(shineColor) ? shineColor.join(",") : shineColor
46
- },transparent,transparent)`,
47
- backgroundSize: "300% 300%",
48
- mask: `linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)`,
49
- WebkitMask: `linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)`,
50
- WebkitMaskComposite: "xor",
51
- maskComposite: "exclude",
52
- padding: "var(--border-width)",
53
- ...style,
54
- } as React.CSSProperties
55
- }
56
- className={cn(
57
- "motion-safe:animate-shine pointer-events-none absolute inset-0 size-full rounded-[inherit] will-change-[background-position]",
58
- className
59
- )}
60
- {...props}
61
- />
62
- )
63
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c9344b563c2427f26393f6f5e2fe5c72d6a3fcb4b90b8f073ebad515e963c46c
3
+ size 1649
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/6fec2243975de84e5aac9f3cf15ac4b9fcfae7b132ad7759c0fc3c72c8ad0456 CHANGED
@@ -1,11 +1,3 @@
1
- import { Italic } from "lucide-react"
2
-
3
- import { Toggle } from "@/registry/new-york-v4/ui/toggle"
4
-
5
- export default function ToggleLg() {
6
- return (
7
- <Toggle size="lg" aria-label="Toggle italic">
8
- <Italic />
9
- </Toggle>
10
- )
11
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef06fcaa09814b85c060a1903d37fe1f979d469b907b49adb05d71fd529abae5
3
+ size 233
 
 
 
 
 
 
 
 
b/702f1600e5b352204f1bb862465ea43111db58732d6a96f7ba91a4c082d41e01 CHANGED
The diff for this file is too large to render. See raw diff
 
b/704f09d62f0604bd47cfd7c11bbba44dc47e77af65c051ff810afdc3cad56c2b CHANGED
@@ -1,321 +1,3 @@
1
- "use client"
2
-
3
- import React, {
4
- useEffect,
5
- useRef,
6
- useState,
7
- type ComponentPropsWithoutRef,
8
- } from "react"
9
-
10
- import { cn } from "@/lib/utils"
11
-
12
- interface MousePosition {
13
- x: number
14
- y: number
15
- }
16
-
17
- function MousePosition(): MousePosition {
18
- const [mousePosition, setMousePosition] = useState<MousePosition>({
19
- x: 0,
20
- y: 0,
21
- })
22
-
23
- useEffect(() => {
24
- const handleMouseMove = (event: MouseEvent) => {
25
- setMousePosition({ x: event.clientX, y: event.clientY })
26
- }
27
-
28
- window.addEventListener("mousemove", handleMouseMove)
29
-
30
- return () => {
31
- window.removeEventListener("mousemove", handleMouseMove)
32
- }
33
- }, [])
34
-
35
- return mousePosition
36
- }
37
-
38
- interface ParticlesProps extends ComponentPropsWithoutRef<"div"> {
39
- className?: string
40
- quantity?: number
41
- staticity?: number
42
- ease?: number
43
- size?: number
44
- refresh?: boolean
45
- color?: string
46
- vx?: number
47
- vy?: number
48
- }
49
-
50
- function hexToRgb(hex: string): number[] {
51
- hex = hex.replace("#", "")
52
-
53
- if (hex.length === 3) {
54
- hex = hex
55
- .split("")
56
- .map((char) => char + char)
57
- .join("")
58
- }
59
-
60
- const hexInt = parseInt(hex, 16)
61
- const red = (hexInt >> 16) & 255
62
- const green = (hexInt >> 8) & 255
63
- const blue = hexInt & 255
64
- return [red, green, blue]
65
- }
66
-
67
- type Circle = {
68
- x: number
69
- y: number
70
- translateX: number
71
- translateY: number
72
- size: number
73
- alpha: number
74
- targetAlpha: number
75
- dx: number
76
- dy: number
77
- magnetism: number
78
- }
79
-
80
- export const Particles: React.FC<ParticlesProps> = ({
81
- className = "",
82
- quantity = 100,
83
- staticity = 50,
84
- ease = 50,
85
- size = 0.4,
86
- refresh = false,
87
- color = "#ffffff",
88
- vx = 0,
89
- vy = 0,
90
- ...props
91
- }) => {
92
- const canvasRef = useRef<HTMLCanvasElement>(null)
93
- const canvasContainerRef = useRef<HTMLDivElement>(null)
94
- const context = useRef<CanvasRenderingContext2D | null>(null)
95
- const circles = useRef<Circle[]>([])
96
- const mousePosition = MousePosition()
97
- const mouse = useRef<{ x: number; y: number }>({ x: 0, y: 0 })
98
- const canvasSize = useRef<{ w: number; h: number }>({ w: 0, h: 0 })
99
- const dpr = typeof window !== "undefined" ? window.devicePixelRatio : 1
100
- const rafID = useRef<number | null>(null)
101
- const resizeTimeout = useRef<NodeJS.Timeout | null>(null)
102
- const initCanvasRef = useRef<() => void>(() => {})
103
- const onMouseMoveRef = useRef<() => void>(() => {})
104
- const animateRef = useRef<() => void>(() => {})
105
-
106
- useEffect(() => {
107
- if (canvasRef.current) {
108
- context.current = canvasRef.current.getContext("2d")
109
- }
110
- initCanvasRef.current()
111
- animateRef.current()
112
-
113
- const handleResize = () => {
114
- if (resizeTimeout.current) {
115
- clearTimeout(resizeTimeout.current)
116
- }
117
- resizeTimeout.current = setTimeout(() => {
118
- initCanvasRef.current()
119
- }, 200)
120
- }
121
-
122
- window.addEventListener("resize", handleResize)
123
-
124
- return () => {
125
- if (rafID.current != null) {
126
- window.cancelAnimationFrame(rafID.current)
127
- }
128
- if (resizeTimeout.current) {
129
- clearTimeout(resizeTimeout.current)
130
- }
131
- window.removeEventListener("resize", handleResize)
132
- }
133
- }, [color])
134
-
135
- useEffect(() => {
136
- onMouseMoveRef.current()
137
- }, [mousePosition.x, mousePosition.y])
138
-
139
- useEffect(() => {
140
- initCanvasRef.current()
141
- }, [refresh])
142
-
143
- const initCanvas = () => {
144
- resizeCanvas()
145
- drawParticles()
146
- }
147
-
148
- const onMouseMove = () => {
149
- if (canvasRef.current) {
150
- const rect = canvasRef.current.getBoundingClientRect()
151
- const { w, h } = canvasSize.current
152
- const x = mousePosition.x - rect.left - w / 2
153
- const y = mousePosition.y - rect.top - h / 2
154
- const inside = x < w / 2 && x > -w / 2 && y < h / 2 && y > -h / 2
155
- if (inside) {
156
- mouse.current.x = x
157
- mouse.current.y = y
158
- }
159
- }
160
- }
161
-
162
- const resizeCanvas = () => {
163
- if (canvasContainerRef.current && canvasRef.current && context.current) {
164
- canvasSize.current.w = canvasContainerRef.current.offsetWidth
165
- canvasSize.current.h = canvasContainerRef.current.offsetHeight
166
-
167
- canvasRef.current.width = canvasSize.current.w * dpr
168
- canvasRef.current.height = canvasSize.current.h * dpr
169
- canvasRef.current.style.width = `${canvasSize.current.w}px`
170
- canvasRef.current.style.height = `${canvasSize.current.h}px`
171
- context.current.scale(dpr, dpr)
172
-
173
- // Clear existing particles and create new ones with exact quantity
174
- circles.current = []
175
- for (let i = 0; i < quantity; i++) {
176
- const circle = circleParams()
177
- drawCircle(circle)
178
- }
179
- }
180
- }
181
-
182
- const circleParams = (): Circle => {
183
- const x = Math.floor(Math.random() * canvasSize.current.w)
184
- const y = Math.floor(Math.random() * canvasSize.current.h)
185
- const translateX = 0
186
- const translateY = 0
187
- const pSize = Math.floor(Math.random() * 2) + size
188
- const alpha = 0
189
- const targetAlpha = parseFloat((Math.random() * 0.6 + 0.1).toFixed(1))
190
- const dx = (Math.random() - 0.5) * 0.1
191
- const dy = (Math.random() - 0.5) * 0.1
192
- const magnetism = 0.1 + Math.random() * 4
193
- return {
194
- x,
195
- y,
196
- translateX,
197
- translateY,
198
- size: pSize,
199
- alpha,
200
- targetAlpha,
201
- dx,
202
- dy,
203
- magnetism,
204
- }
205
- }
206
-
207
- const rgb = hexToRgb(color)
208
-
209
- const drawCircle = (circle: Circle, update = false) => {
210
- if (context.current) {
211
- const { x, y, translateX, translateY, size, alpha } = circle
212
- context.current.translate(translateX, translateY)
213
- context.current.beginPath()
214
- context.current.arc(x, y, size, 0, 2 * Math.PI)
215
- context.current.fillStyle = `rgba(${rgb.join(", ")}, ${alpha})`
216
- context.current.fill()
217
- context.current.setTransform(dpr, 0, 0, dpr, 0, 0)
218
-
219
- if (!update) {
220
- circles.current.push(circle)
221
- }
222
- }
223
- }
224
-
225
- const clearContext = () => {
226
- if (context.current) {
227
- context.current.clearRect(
228
- 0,
229
- 0,
230
- canvasSize.current.w,
231
- canvasSize.current.h
232
- )
233
- }
234
- }
235
-
236
- const drawParticles = () => {
237
- clearContext()
238
- const particleCount = quantity
239
- for (let i = 0; i < particleCount; i++) {
240
- const circle = circleParams()
241
- drawCircle(circle)
242
- }
243
- }
244
-
245
- const remapValue = (
246
- value: number,
247
- start1: number,
248
- end1: number,
249
- start2: number,
250
- end2: number
251
- ): number => {
252
- const remapped =
253
- ((value - start1) * (end2 - start2)) / (end1 - start1) + start2
254
- return remapped > 0 ? remapped : 0
255
- }
256
-
257
- const animate = () => {
258
- clearContext()
259
- circles.current.forEach((circle: Circle, i: number) => {
260
- // Handle the alpha value
261
- const edge = [
262
- circle.x + circle.translateX - circle.size, // distance from left edge
263
- canvasSize.current.w - circle.x - circle.translateX - circle.size, // distance from right edge
264
- circle.y + circle.translateY - circle.size, // distance from top edge
265
- canvasSize.current.h - circle.y - circle.translateY - circle.size, // distance from bottom edge
266
- ]
267
- const closestEdge = edge.reduce((a, b) => Math.min(a, b))
268
- const remapClosestEdge = parseFloat(
269
- remapValue(closestEdge, 0, 20, 0, 1).toFixed(2)
270
- )
271
- if (remapClosestEdge > 1) {
272
- circle.alpha += 0.02
273
- if (circle.alpha > circle.targetAlpha) {
274
- circle.alpha = circle.targetAlpha
275
- }
276
- } else {
277
- circle.alpha = circle.targetAlpha * remapClosestEdge
278
- }
279
- circle.x += circle.dx + vx
280
- circle.y += circle.dy + vy
281
- circle.translateX +=
282
- (mouse.current.x / (staticity / circle.magnetism) - circle.translateX) /
283
- ease
284
- circle.translateY +=
285
- (mouse.current.y / (staticity / circle.magnetism) - circle.translateY) /
286
- ease
287
-
288
- drawCircle(circle, true)
289
-
290
- // circle gets out of the canvas
291
- if (
292
- circle.x < -circle.size ||
293
- circle.x > canvasSize.current.w + circle.size ||
294
- circle.y < -circle.size ||
295
- circle.y > canvasSize.current.h + circle.size
296
- ) {
297
- // remove the circle from the array
298
- circles.current.splice(i, 1)
299
- // create a new circle
300
- const newCircle = circleParams()
301
- drawCircle(newCircle)
302
- }
303
- })
304
- rafID.current = window.requestAnimationFrame(animateRef.current)
305
- }
306
-
307
- initCanvasRef.current = initCanvas
308
- onMouseMoveRef.current = onMouseMove
309
- animateRef.current = animate
310
-
311
- return (
312
- <div
313
- className={cn("pointer-events-none", className)}
314
- ref={canvasContainerRef}
315
- aria-hidden="true"
316
- {...props}
317
- >
318
- <canvas ref={canvasRef} className="size-full" />
319
- </div>
320
- )
321
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f768e19deca7c0ba9c424b4683b62cae3eedd11ef3dac8b0363e65c2773f236e
3
+ size 8543
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/7093a63dcd2a6dd1c180d0ce08d28c25a79656e38e5ff1bff72bd762c64df2d7 CHANGED
@@ -1 +1,3 @@
1
- export default {".link":{"@layer daisyui.l1.l2.l3":{"cursor":"pointer","text-decoration-line":"underline","&:focus":{"--tw-outline-style":"none","outline-style":"none","@media (forced-colors: active)":{"outline":"2px solid transparent","outline-offset":"2px"}},"&:focus-visible":{"outline":"2px solid currentColor","outline-offset":"2px"}}},".link-hover":{"@layer daisyui.l1.l2":{"text-decoration-line":"none","&:hover":{"@media (hover: hover)":{"text-decoration-line":"underline"}}}},".link-primary":{"@layer daisyui.l1.l2":{"color":"var(--color-primary)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-primary) 80%, #000)"}}}},".link-secondary":{"@layer daisyui.l1.l2":{"color":"var(--color-secondary)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-secondary) 80%, #000)"}}}},".link-accent":{"@layer daisyui.l1.l2":{"color":"var(--color-accent)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-accent) 80%, #000)"}}}},".link-neutral":{"@layer daisyui.l1.l2":{"color":"var(--color-neutral)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-neutral) 80%, #000)"}}}},".link-success":{"@layer daisyui.l1.l2":{"color":"var(--color-success)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-success) 80%, #000)"}}}},".link-info":{"@layer daisyui.l1.l2":{"color":"var(--color-info)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-info) 80%, #000)"}}}},".link-warning":{"@layer daisyui.l1.l2":{"color":"var(--color-warning)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-warning) 80%, #000)"}}}},".link-error":{"@layer daisyui.l1.l2":{"color":"var(--color-error)","@media (hover: hover)":{"&:hover":{"color":"color-mix(in oklab, var(--color-error) 80%, #000)"}}}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37532cc428cbc7aea8a2b32c490a27e8cd29220ad414f1c05c829e169a01ecff
3
+ size 1866
b/70a8be11004e64f537c21f740f445d3742e5b3a452fc99460f9c13d7dc79c93f CHANGED
@@ -1,47 +1,3 @@
1
- "use client"
2
-
3
- import { Bar, BarChart, CartesianGrid, XAxis } from "recharts"
4
-
5
- import {
6
- ChartContainer,
7
- type ChartConfig,
8
- } from "@/registry/new-york-v4/ui/chart"
9
-
10
- const chartData = [
11
- { month: "January", desktop: 186, mobile: 80 },
12
- { month: "February", desktop: 305, mobile: 200 },
13
- { month: "March", desktop: 237, mobile: 120 },
14
- { month: "April", desktop: 73, mobile: 190 },
15
- { month: "May", desktop: 209, mobile: 130 },
16
- { month: "June", desktop: 214, mobile: 140 },
17
- ]
18
-
19
- const chartConfig = {
20
- desktop: {
21
- label: "Desktop",
22
- color: "#2563eb",
23
- },
24
- mobile: {
25
- label: "Mobile",
26
- color: "#60a5fa",
27
- },
28
- } satisfies ChartConfig
29
-
30
- export default function Component() {
31
- return (
32
- <ChartContainer config={chartConfig} className="min-h-[200px] w-full">
33
- <BarChart accessibilityLayer data={chartData}>
34
- <CartesianGrid vertical={false} />
35
- <XAxis
36
- dataKey="month"
37
- tickLine={false}
38
- tickMargin={10}
39
- axisLine={false}
40
- tickFormatter={(value) => value.slice(0, 3)}
41
- />
42
- <Bar dataKey="desktop" fill="var(--color-desktop)" radius={4} />
43
- <Bar dataKey="mobile" fill="var(--color-mobile)" radius={4} />
44
- </BarChart>
45
- </ChartContainer>
46
- )
47
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:881c38bde7d4387b556363a3f09d9c595c259b45e5d467820dfdccb40e8eec88
3
+ size 1250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/70beacc89e5f37a13d7284a4350d01f8095b283c0a0351c2ece7e589c1ed2851 CHANGED
@@ -1,51 +1,3 @@
1
- // holo-voice-turn-detector-web.mjs — the PRODUCTION binding for the real turn-detector: loads the κ-served model
2
- // (ort-web over turn-detector.holo) + the tokenizer (transformers.js) and returns makeTurnDetector's { predict }
3
- // for makeEndpoint. This is exactly the binding proven live in quality/turn-detector-live.html (7/7 == python,
4
- // punctuation-safe, endpoint fires/vetoes). Serverless: the 170MB .holo streams by κ (per-block L5 + OPFS warm);
5
- // nothing leaves the device. Lazy + fail-soft — ANY load failure returns null so the caller keeps its heuristic.
6
- import { makeTurnDetector } from "./holo-voice-turn-detector.mjs";
7
-
8
- const ORT_CDN = "https://cdn.jsdelivr.net/npm/onnxruntime-web@1.20.1/dist/ort.webgpu.bundle.min.mjs";
9
- const TF_CDN = "https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.0.2";
10
-
11
- // createTurnDetectorWeb({ holoUrl, onnxUrl, modelsBase, modelId, release, ort, tf, ortUrl, tfUrl }) →
12
- // { predict(text)->P(complete)|null, info } | null on failure.
13
- // Delivery: pass `holoUrl` to κ-serve the bundle (model + tokenizer) by content address (the SW/holo-onnx-kserve
14
- // fetch shim), OR `onnxUrl` + `modelsBase` to load the files directly (dev). modelId defaults "turn-detector".
15
- export async function createTurnDetectorWeb({ holoUrl = "", onnxUrl = "", modelsBase = "/apps/q/forge/.models/", modelId = "turn-detector", release = "", ort = null, tf = null, ortUrl = ORT_CDN, tfUrl = TF_CDN, openFiles = null } = {}) {
16
- try {
17
- const O = ort || await import(/* @vite-ignore */ ortUrl);
18
- try { O.env.wasm.proxy = false; O.env.wasm.numThreads = 1; } catch (e) {}
19
- const T = tf || await import(/* @vite-ignore */ tfUrl);
20
- T.env.allowRemoteModels = false; T.env.allowLocalModels = true;
21
-
22
- // κ-serve the bundle (model + tokenizer files) by content address; else load from modelsBase.
23
- let served = null, onnx = onnxUrl || (modelsBase + modelId + "/model_quantized.onnx");
24
- if (holoUrl) {
25
- try { const km = await import(/* @vite-ignore */ "./holo-onnx-kserve.mjs"); served = await (km.serveModelFromHolo || km.default)({ holoUrl, modelId, release, openFiles }); } catch (e) { try { console.warn("[turn-detector] κ-serve unavailable, direct:", e && e.message || e); } catch (_) {} }
26
- }
27
- if (!onnxUrl) T.env.localModelPath = new URL(modelsBase, (typeof location !== "undefined" ? location.href : "http://localhost/")).href;
28
-
29
- const tok = await T.AutoTokenizer.from_pretrained(modelId);
30
- const imEndId = (tok.model && tok.model.tokens_to_ids && tok.model.tokens_to_ids.get("<|im_end|>")) ?? 2;
31
- const sess = await O.InferenceSession.create(onnx, { executionProviders: ["wasm"] });
32
-
33
- const tokenizeChatPrefix = (normText) => {
34
- const formatted = tok.apply_chat_template([{ role: "user", content: normText }], { tokenize: false });
35
- const prefix = formatted.split("<|im_end|>")[0]; // ask: would <|im_end|> come next?
36
- const enc = tok(prefix, { add_special_tokens: false });
37
- return Array.from(enc.input_ids.data, (x) => Number(x));
38
- };
39
- const forward = async (ids) => {
40
- const input = new O.Tensor("int64", BigInt64Array.from(ids.map((x) => BigInt(x))), [1, ids.length]);
41
- const out = await sess.run({ input_ids: input });
42
- const t = out.logits, seq = t.dims[1], vocab = t.dims[2];
43
- return t.data.subarray((seq - 1) * vocab, seq * vocab); // last-position logits
44
- };
45
-
46
- const td = makeTurnDetector({ tokenizeChatPrefix, forward, imEndId });
47
- return { predict: td.predict, info: () => ({ engine: "turn-detector-κ", modelId, served: served ? served.served.length : 0, imEndId }) };
48
- } catch (e) { try { console.warn("[turn-detector] unavailable, using heuristic:", e && e.message || e); } catch (_) {} return null; }
49
- }
50
-
51
- export default createTurnDetectorWeb;
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:55d7e01aa4c1cdbcd1293463a62d88ce95b38b894178ba6cb3db382c851e2e32
3
+ size 3833
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/70c3d8237f9690986b99efa620193dc43fdc031464432afcb61614537881886d CHANGED
@@ -1,364 +1,3 @@
1
- /* gallery.css — Holo UI component browser. A clean, minimalist three-region shell on a near-black
2
- canvas: a left controls rail, a center category grid (browse), a right detail panel (inspect).
3
- GOLDEN RATIO throughout — φ=1.618 drives the spacing scale, the type scale (√φ steps), the radii
4
- (rl = r·φ), the rail:detail column ratio (1:φ), the gaps, and golden-rectangle preview cards.
5
- Token-driven end to end — one --holo-* change re-themes everything. */
6
- :root {
7
- --phi: 1.618;
8
- --phi-1: 0.618; /* 1/φ */
9
- --root-phi: 1.272; /* √φ — the gentle modular ratio for the type scale */
10
- --d: var(--holo-density, 1);
11
-
12
- /* spacing — a φ geometric progression (…0.382 · 0.618 · 1 · 1.618 · 2.618 · 4.236…rem) */
13
- --s1: calc(0.382rem * var(--d));
14
- --s2: calc(0.618rem * var(--d));
15
- --s3: calc(1rem * var(--d));
16
- --s4: calc(1.618rem * var(--d));
17
- --s5: calc(2.618rem * var(--d));
18
- --s6: calc(4.236rem * var(--d));
19
-
20
- /* type — modular scale stepped by √φ around a 1rem body (φ = √φ²) */
21
- --f-1: 0.786rem; /* labels · chips · counts (1/√φ) */
22
- --f0: 1rem; /* body · controls */
23
- --f1: 1.272rem; /* card titles emphasis */
24
- --f2: 1.618rem; /* detail heading (φ) */
25
- --f3: 2.058rem; /* main heading (φ·√φ) */
26
- --lh: 1.618; /* golden body line-height */
27
-
28
- /* radii — rl is the golden multiple of the base; rs its golden fraction */
29
- --r: var(--holo-radius, 12px);
30
- --rl: calc(var(--r) * var(--phi));
31
- --rs: calc(var(--r) * var(--phi-1));
32
-
33
- /* columns — the two side rails are golden-related (detail = rail · φ); the center keeps the rest */
34
- --rail-w: clamp(13rem, 17vw, 15rem);
35
- --detail-w: calc(var(--rail-w) * var(--phi));
36
-
37
- --line: color-mix(in srgb, var(--holo-ink) 12%, transparent);
38
- --line-soft: color-mix(in srgb, var(--holo-ink) 7%, transparent);
39
- --hover: color-mix(in srgb, var(--holo-ink) 6%, transparent);
40
- }
41
- * { box-sizing: border-box; }
42
-
43
- .app {
44
- display: grid;
45
- grid-template-columns: var(--rail-w) 1fr;
46
- gap: var(--s4);
47
- height: 100vh;
48
- padding: var(--s4);
49
- font-family: var(--holo-font-sans);
50
- font-size: var(--f0);
51
- line-height: var(--lh);
52
- color: var(--holo-ink);
53
- background: var(--holo-bg);
54
- }
55
- .app.has-detail { grid-template-columns: var(--rail-w) 1fr var(--detail-w); }
56
-
57
- /* ── shared surfaces ─────────────────────────────────────────────────────── */
58
- .surface { background: var(--holo-surface); border: 1px solid var(--line-soft); border-radius: var(--rl); }
59
- .btn-primary {
60
- width: 100%; border: 0; border-radius: var(--r); cursor: pointer; font: inherit; font-weight: 650;
61
- font-size: var(--f0); padding: var(--s3) var(--s4); background: var(--holo-ink); color: var(--holo-bg);
62
- transition: opacity 0.15s ease, transform 0.1s ease;
63
- }
64
- .btn-primary:hover { opacity: 0.9; }
65
- .btn-primary:active { transform: translateY(1px); }
66
-
67
- /* ── left rail ───────────────────────────────────────────────────────────── */
68
- .rail { display: flex; flex-direction: column; gap: var(--s3); min-height: 0; }
69
- .rail-head { display: flex; align-items: baseline; justify-content: space-between; padding: var(--s3) var(--s3) 0; }
70
- .rail-head b { font-size: var(--f1); font-weight: 800; letter-spacing: -0.01em; line-height: 1.2; }
71
- .rail-head .count { color: var(--holo-ink-dim); font-size: var(--f-1); font-variant-numeric: tabular-nums; }
72
-
73
- .search { padding: var(--s3); font: inherit; font-size: var(--f0); color: var(--holo-ink);
74
- background: var(--holo-surface); border: 1px solid var(--line); border-radius: var(--r); outline: none;
75
- transition: border-color 0.15s ease; }
76
- .search::placeholder { color: var(--holo-ink-dim); }
77
- .search:focus { border-color: color-mix(in srgb, var(--holo-ink) 28%, transparent); }
78
-
79
- /* segmented control (library filter + theme) */
80
- .seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--s1);
81
- padding: var(--s1); background: var(--holo-surface); border: 1px solid var(--line-soft); border-radius: var(--r); }
82
- .seg button { border: 0; background: transparent; color: var(--holo-ink-dim); padding: var(--s2);
83
- border-radius: var(--rs); cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550;
84
- white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
85
- .seg button:hover { color: var(--holo-ink); }
86
- .seg button.on { background: var(--holo-ink); color: var(--holo-bg); font-weight: 650; }
87
-
88
- .rail-label { font-size: var(--f-1); font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em;
89
- color: var(--holo-ink-dim); padding: var(--s2) var(--s2) 0; }
90
-
91
- .cats { display: flex; flex-direction: column; gap: var(--s1); overflow-y: auto; padding: var(--s1) 0; flex: 1; min-height: 0; }
92
- .cats::-webkit-scrollbar { width: 8px; }
93
- .cats::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
94
- .cat-row { display: flex; align-items: center; gap: var(--s2); width: 100%; text-align: left; border: 0;
95
- cursor: pointer; background: transparent; color: var(--holo-ink); padding: var(--s2) var(--s3);
96
- border-radius: var(--r); font: inherit; font-size: var(--f0); transition: background 0.12s ease; }
97
- .cat-row:hover { background: var(--hover); }
98
- .cat-row.on { background: color-mix(in srgb, var(--holo-ink) 10%, transparent); font-weight: 650; }
99
- .cat-row .cat-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
100
- .cat-row .cat-count { color: var(--holo-ink-dim); font-size: var(--f-1); font-variant-numeric: tabular-nums;
101
- background: var(--holo-surface); border: 1px solid var(--line-soft); border-radius: 999px; padding: 0 var(--s2); }
102
- .cat-row.on .cat-count { color: var(--holo-ink); }
103
-
104
- .rail-foot { display: flex; flex-direction: column; gap: var(--s2); padding-top: var(--s1); }
105
- .shuffle { display: flex; align-items: center; justify-content: center; gap: var(--s2);
106
- border: 1px solid var(--line); background: var(--holo-surface); color: var(--holo-ink);
107
- border-radius: var(--r); padding: var(--s3); cursor: pointer; font: inherit; font-size: var(--f0); font-weight: 550;
108
- transition: border-color 0.15s ease; }
109
- .shuffle:hover { border-color: color-mix(in srgb, var(--holo-ink) 28%, transparent); }
110
-
111
- /* ── center: category grid ───────────────────────────────────────────────── */
112
- .main { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
113
- .main-head { padding: var(--s5) var(--s5) var(--s4); border-bottom: 1px solid var(--line-soft); }
114
- .main-head h1 { margin: 0; font-size: var(--f3); font-weight: 750; letter-spacing: -0.015em; line-height: 1.15; }
115
- .main-head p { margin: var(--s2) 0 0; color: var(--holo-ink-dim); font-size: var(--f0); }
116
- .main-head p b { color: var(--holo-ink); font-weight: 650; }
117
-
118
- .grid { flex: 1; min-height: 0; overflow-y: auto; padding: var(--s4) var(--s5) var(--s5);
119
- display: grid; grid-template-columns: repeat(auto-fill, minmax(16.18rem, 1fr)); gap: var(--s4); align-items: start; align-content: start; }
120
- .grid::-webkit-scrollbar { width: 10px; }
121
- .grid::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
122
-
123
- .card { border: 1px solid var(--line); border-radius: var(--rl); background: var(--holo-bg); overflow: hidden;
124
- cursor: pointer; display: flex; flex-direction: column;
125
- transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease; }
126
- .card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--holo-ink) 26%, transparent);
127
- box-shadow: 0 12px 30px -12px color-mix(in srgb, var(--holo-bg) 75%, transparent); }
128
- .card.on { border-color: var(--holo-ink); }
129
- /* the preview is a GOLDEN RECTANGLE (width : height = φ : 1) — the heart of the balanced grid */
130
- .card .card-stage { aspect-ratio: var(--phi); width: 100%; flex: 0 0 auto; display: grid; place-items: center;
131
- padding: var(--s3); overflow: hidden; position: relative; pointer-events: none;
132
- background-image: radial-gradient(color-mix(in srgb, var(--holo-ink) 6%, transparent) 1px, transparent 1px);
133
- background-size: 20px 20px; }
134
- .card .card-stage > * { max-width: 100%; max-height: 100%; }
135
- .card .card-foot { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--s2);
136
- padding: var(--s3); border-top: 1px solid var(--line-soft); }
137
- .card .card-name { font-size: var(--f0); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
138
- .tier-chip { font-size: calc(var(--f-1) * var(--phi-1) + 0.4rem); font-weight: 650; text-transform: uppercase;
139
- letter-spacing: 0.05em; color: var(--holo-ink-dim); border: 1px solid var(--line-soft); border-radius: 999px;
140
- padding: 0 var(--s2); flex: 0 0 auto; }
141
-
142
- .empty { grid-column: 1 / -1; color: var(--holo-ink-dim); text-align: center; padding: var(--s5); font-size: var(--f0); }
143
-
144
- /* ── right: detail panel ─────────────────────────────────────────────────── */
145
- .detail { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
146
- .detail-head { padding: var(--s5) var(--s4) var(--s3); }
147
- .detail-top { display: flex; align-items: flex-start; gap: var(--s2); }
148
- .detail-top h2 { margin: 0; font-size: var(--f2); font-weight: 750; letter-spacing: -0.01em; line-height: 1.2;
149
- flex: 1; word-break: break-word; }
150
- .x { border: 0; background: var(--holo-surface); color: var(--holo-ink-dim); cursor: pointer;
151
- width: var(--s5); height: var(--s5); border-radius: var(--r); display: grid; place-items: center; font-size: var(--f1);
152
- flex: 0 0 auto; transition: color 0.15s ease, background 0.15s ease; }
153
- .x:hover { color: var(--holo-ink); background: var(--hover); }
154
- .detail-chips { display: flex; gap: var(--s2); margin-top: var(--s2); flex-wrap: wrap; }
155
- .chip { font-size: var(--f-1); font-weight: 600; padding: var(--s1) var(--s2); border-radius: 999px;
156
- background: var(--holo-surface); border: 1px solid var(--line-soft); color: var(--holo-ink-dim); }
157
-
158
- .tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--s1); margin: var(--s3) var(--s4) 0;
159
- padding: var(--s1); background: var(--holo-surface); border: 1px solid var(--line-soft); border-radius: var(--r); }
160
- .tabs button { border: 0; background: transparent; color: var(--holo-ink-dim); padding: var(--s2);
161
- border-radius: var(--rs); cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550;
162
- transition: background 0.15s ease, color 0.15s ease; }
163
- .tabs button:hover { color: var(--holo-ink); }
164
- .tabs button.on { background: var(--holo-ink); color: var(--holo-bg); font-weight: 650; }
165
-
166
- .detail-body { flex: 1; overflow: auto; padding: var(--s4); }
167
- .detail-body::-webkit-scrollbar { width: 8px; }
168
- .detail-body::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
169
-
170
- /* the inspect stage is a golden rectangle too (height = width / φ), min-bounded for small components */
171
- .stage { aspect-ratio: var(--phi); min-height: calc(var(--detail-w) * var(--phi-1)); display: grid; place-items: center;
172
- padding: var(--s4); background: var(--holo-bg); border: 1px solid var(--line); border-radius: var(--r);
173
- background-image: radial-gradient(color-mix(in srgb, var(--holo-ink) 7%, transparent) 1px, transparent 1px);
174
- background-size: 22px 22px; overflow: auto; }
175
- .stage > * { max-width: 100%; }
176
- .fallback { color: var(--holo-ink-dim); font-size: var(--f0); text-align: center; max-width: 40ch; line-height: var(--lh); }
177
-
178
- pre.code { margin: 0; padding: var(--s4); background: var(--holo-bg); border: 1px solid var(--line);
179
- border-radius: var(--r); overflow: auto; font-family: var(--holo-font-mono); font-size: var(--f-1); line-height: var(--lh);
180
- color: var(--holo-ink); white-space: pre; tab-size: 2; }
181
-
182
- .import { display: grid; gap: var(--s3); align-content: start; }
183
- .kv { display: grid; gap: var(--s1); padding: var(--s3) var(--s4); background: var(--holo-bg);
184
- border: 1px solid var(--line); border-radius: var(--r); }
185
- .kv .k { font-size: var(--f-1); font-weight: 700; color: var(--holo-ink-dim); text-transform: uppercase; letter-spacing: 0.06em; }
186
- .kv code { font-family: var(--holo-font-mono); font-size: var(--f-1); color: var(--holo-ink); word-break: break-all; }
187
- .kv .v.kappa { color: var(--holo-ok); }
188
-
189
- .detail-foot { padding: var(--s4); border-top: 1px solid var(--line-soft); }
190
-
191
- /* ── themes studio ───────────────────────────────────────────────────────── */
192
- .modeseg button.on { background: var(--holo-accent); color: var(--holo-accent-ink); }
193
- .rail-fill { flex: 1; min-height: 0; }
194
- .grid-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: var(--s4) var(--s5) var(--s5); }
195
- .grid-scroll::-webkit-scrollbar { width: 10px; }
196
- .grid-scroll::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
197
-
198
- .studio { display: flex; flex-direction: column; gap: var(--s4); }
199
- .studio-customize { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3); }
200
- .studio-ch { display: flex; align-items: baseline; gap: var(--s2); flex-wrap: wrap; }
201
- .studio-ch b { font-size: var(--f1); font-weight: 700; }
202
- .studio-ch span { color: var(--holo-ink-dim); font-size: var(--f-1); }
203
- .ctl-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--s3); }
204
- .ctl { display: flex; flex-direction: column; gap: var(--s1); font-size: var(--f-1); color: var(--holo-ink-dim); }
205
- .ctl input[type="color"] { width: 100%; height: var(--s5); border: 1px solid var(--line); border-radius: var(--r); background: var(--holo-bg); cursor: pointer; }
206
- .ctl input[type="range"] { width: 100%; accent-color: var(--holo-accent); }
207
- .ctl select { width: 100%; min-height: var(--s5); background: var(--holo-bg); color: var(--holo-ink); border: 1px solid var(--line); border-radius: var(--r); padding: 0 var(--s2); font: inherit; }
208
- .studio-actions { display: flex; flex-wrap: wrap; gap: var(--s2); }
209
- .btn-ghost { display: inline-flex; align-items: center; gap: var(--s1); border: 1px solid var(--line); background: var(--holo-bg); color: var(--holo-ink);
210
- border-radius: var(--r); padding: var(--s2) var(--s3); cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550; transition: border-color 0.15s ease; }
211
- .btn-ghost:hover { border-color: color-mix(in srgb, var(--holo-ink) 28%, transparent); }
212
-
213
- .theme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: var(--s4); }
214
- .theme-card { border: 1px solid var(--line); border-radius: var(--rl); overflow: hidden; cursor: pointer;
215
- transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease; }
216
- .theme-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--holo-ink) 26%, transparent);
217
- box-shadow: 0 12px 30px -12px color-mix(in srgb, var(--holo-bg) 75%, transparent); }
218
- .theme-card.on { border-color: var(--holo-accent); box-shadow: 0 0 0 1px var(--holo-accent); }
219
- .theme-preview { aspect-ratio: var(--phi); display: grid; place-items: center; padding: var(--s3); }
220
- .theme-mini { width: 100%; height: 100%; border: 1px solid; border-radius: var(--r); display: flex; flex-direction: column; gap: var(--s2);
221
- align-items: flex-start; justify-content: center; padding: var(--s3); }
222
- .theme-pill { display: inline-grid; place-items: center; min-width: var(--s5); height: var(--s4); padding: 0 var(--s2);
223
- border-radius: var(--rs); font-size: var(--f-1); font-weight: 700; }
224
- .theme-bar { height: var(--s2); width: 70%; border-radius: 999px; }
225
- .theme-bar.short { width: 45%; }
226
- .theme-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); padding: var(--s3); border-top: 1px solid var(--line-soft); }
227
- .theme-name { font-size: var(--f0); font-weight: 600; }
228
- .theme-active { font-size: var(--f-1); font-weight: 650; color: var(--holo-accent); }
229
- .theme-swatches { display: inline-flex; gap: var(--s1); }
230
- .sw { width: var(--s4); height: var(--s4); border-radius: 999px; border: 1px solid var(--line); display: inline-block; }
231
-
232
- /* ── appearance panel (Holo Control) — single-column "see & adjust" ──────── */
233
- .appctl { max-width: 46rem; margin: 0 auto; }
234
- .set { padding: var(--s4); }
235
- .set-head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
236
- .set-label { font-size: var(--f1); font-weight: 700; letter-spacing: -0.01em; }
237
- .set-val { display: inline-flex; align-items: center; gap: var(--s2); color: var(--holo-ink-dim); font-size: var(--f0);
238
- font-variant-numeric: tabular-nums; }
239
- .set-sw { width: var(--s4); height: var(--s4); border-radius: 999px; border: 1px solid var(--line); }
240
- .set-body { margin-top: var(--s3); }
241
- .set-row { display: flex; align-items: center; gap: var(--s3); }
242
- .set-row .ap-color { width: 4rem; flex: 0 0 auto; }
243
- .set-swatches { display: flex; gap: var(--s2); flex-wrap: wrap; }
244
- .set-dot { width: var(--s4); height: var(--s4); border-radius: 999px; border: 2px solid var(--line); cursor: pointer; padding: 0;
245
- transition: transform 0.12s ease; }
246
- .set-dot:hover { transform: scale(1.18); }
247
- .set-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--s1); padding: var(--s1);
248
- background: var(--holo-bg); border: 1px solid var(--line); border-radius: var(--r); }
249
- .set-seg button { border: 0; background: transparent; color: var(--holo-ink-dim); padding: var(--s2); border-radius: var(--rs);
250
- cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
251
- .set-seg button:hover { color: var(--holo-ink); }
252
- .set-seg button.on { background: var(--holo-accent); color: var(--holo-accent-ink); font-weight: 650; }
253
- .set-sample { margin-top: var(--s3); padding: var(--s3) var(--s4); background: var(--holo-bg); border: 1px solid var(--line-soft);
254
- border-radius: var(--r); color: var(--holo-ink-dim); font-size: var(--f0); line-height: var(--lh); }
255
- .sample-btn { border: 0; border-radius: var(--holo-radius, 12px); padding: var(--s2) var(--s4); font: inherit; font-weight: 650; cursor: default; }
256
- .sample-chip { display: inline-block; padding: var(--s2) var(--s4); border: 1px solid var(--line); border-radius: var(--holo-radius, 12px); color: var(--holo-ink); }
257
-
258
- .ap-preview { padding: var(--s3) var(--s4); }
259
- .ap-preview-label { font-size: var(--f-1); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--holo-ink-dim); margin-bottom: var(--s2); }
260
- .ap-preview-row { display: flex; flex-wrap: nowrap; gap: var(--s4); align-items: center; overflow-x: auto; overflow-y: hidden; padding-bottom: var(--s1); }
261
- .ap-preview-row::-webkit-scrollbar { height: 6px; }
262
- .ap-preview-row::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
263
- .ap-tile { flex: 0 0 auto; min-height: 2.8rem; display: grid; place-items: center; }
264
-
265
- .ap-section { padding: var(--s4); }
266
- .ap-section h3 { margin: 0 0 var(--s3); font-size: var(--f1); font-weight: 700; letter-spacing: -0.01em; }
267
- .ap-desc { margin: 0 0 var(--s3); color: var(--holo-ink-dim); font-size: var(--f0); }
268
- .ap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--s4); }
269
- .ap-field { display: flex; flex-direction: column; gap: var(--s2); }
270
- .ap-field > label { font-size: var(--f-1); font-weight: 650; color: var(--holo-ink-dim); }
271
- .ap-hint { font-size: var(--f-1); color: var(--holo-ink-dim); }
272
- .ap-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--s1); padding: var(--s1);
273
- background: var(--holo-bg); border: 1px solid var(--line); border-radius: var(--r); }
274
- .ap-seg button { border: 0; background: transparent; color: var(--holo-ink-dim); padding: var(--s2); border-radius: var(--rs);
275
- cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
276
- .ap-seg button:hover { color: var(--holo-ink); }
277
- .ap-seg button.on { background: var(--holo-accent); color: var(--holo-accent-ink); font-weight: 650; }
278
- .ap-color { width: 100%; height: var(--s5); border: 1px solid var(--line); border-radius: var(--r); background: var(--holo-bg); cursor: pointer; padding: 2px; }
279
- .ap-range { width: 100%; accent-color: var(--holo-accent); }
280
- .ap-select { width: 100%; min-height: var(--s5); background: var(--holo-bg); color: var(--holo-ink); border: 1px solid var(--line); border-radius: var(--r); padding: 0 var(--s2); font: inherit; }
281
- .ap-adv-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; border: 0; background: transparent;
282
- color: var(--holo-ink); cursor: pointer; font: inherit; font-size: var(--f1); font-weight: 700; padding: 0; }
283
- .ap-chev { color: var(--holo-ink-dim); font-size: var(--f0); }
284
- .theme-tag { font-size: var(--f-1); font-weight: 650; color: var(--holo-ink-dim); border: 1px solid var(--line-soft); border-radius: 999px; padding: 0 var(--s2); }
285
-
286
- /* ── Holo Control — shadcn-create style: control-card rail + live demo ─────── */
287
- .app.appearance { grid-template-columns: clamp(16rem, 22vw, 19rem) 1fr; }
288
- .main-head.compact { padding: var(--s4) var(--s5) var(--s3); }
289
- .main-head.compact h1 { font-size: var(--f2); }
290
-
291
- .ctls { display: flex; flex-direction: column; gap: var(--s4); flex: 1; min-height: 0; overflow-y: auto; padding: var(--s1) var(--s2) var(--s4) 0; }
292
- .ctls::-webkit-scrollbar { width: 8px; }
293
- .ctls::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
294
- /* plain, always-visible labeled control rows */
295
- .row { display: flex; flex-direction: column; gap: var(--s2); }
296
- .row-label { font-size: var(--f-1); font-weight: 600; color: var(--holo-ink-dim); }
297
- .theme-chips { display: flex; flex-wrap: wrap; gap: var(--s2); }
298
- .theme-chip { display: inline-flex; align-items: center; gap: var(--s2); border: 1px solid var(--line); background: var(--holo-surface);
299
- color: var(--holo-ink); border-radius: 999px; padding: var(--s1) var(--s3); cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550; }
300
- .theme-chip:hover { border-color: color-mix(in srgb, var(--holo-ink) 26%, transparent); }
301
- .theme-chip.on { border-color: var(--holo-accent); background: color-mix(in srgb, var(--holo-accent) 16%, transparent); font-weight: 650; }
302
- .chip-dot { width: 0.85rem; height: 0.85rem; border-radius: 999px; flex: 0 0 auto; }
303
- .accent-row { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
304
- .accent-row .ap-color { width: 3rem; height: 2.2rem; flex: 0 0 auto; padding: 2px; border: 1px solid var(--line); border-radius: var(--rs); background: var(--holo-bg); cursor: pointer; }
305
- .row .ap-range { width: 100%; accent-color: var(--holo-accent); }
306
- .row .ap-select { width: 100%; min-height: 2.4rem; background: var(--holo-bg); color: var(--holo-ink); border: 1px solid var(--line); border-radius: var(--rs); padding: 0 var(--s2); font: inherit; }
307
- .ctl-card { border: 1px solid var(--line); border-radius: var(--r); background: var(--holo-surface); overflow: hidden; transition: border-color 0.15s ease; }
308
- .ctl-card.open { border-color: color-mix(in srgb, var(--holo-ink) 24%, transparent); }
309
- .ctl-head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--s2);
310
- padding: var(--s3); border: 0; background: transparent; color: var(--holo-ink); cursor: pointer; font: inherit; text-align: left; }
311
- .ctl-tt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
312
- .ctl-label { font-size: var(--f-1); color: var(--holo-ink-dim); }
313
- .ctl-value { font-size: var(--f0); font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
314
- .ctl-ind { display: inline-flex; align-items: center; gap: var(--s2); flex: 0 0 auto; }
315
- .ctl-dot { width: 1.05rem; height: 1.05rem; border-radius: 999px; border: 1px solid var(--line); display: inline-block; flex: 0 0 auto; }
316
- .ctl-chev { color: var(--holo-ink-dim); transition: transform 0.15s ease; }
317
- .ctl-card.open .ctl-chev { transform: rotate(90deg); }
318
- .ctl-body { padding: 0 var(--s3) var(--s3); display: flex; flex-direction: column; gap: var(--s2); }
319
- .ctl-body .ap-range { width: 100%; accent-color: var(--holo-accent); }
320
- .ctl-body .ap-select { width: 100%; min-height: 2.2rem; background: var(--holo-bg); color: var(--holo-ink); border: 1px solid var(--line); border-radius: var(--rs); padding: 0 var(--s2); font: inherit; }
321
- .ctl-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: var(--s1); padding: var(--s1);
322
- background: var(--holo-bg); border: 1px solid var(--line); border-radius: var(--rs); }
323
- .ctl-seg button { border: 0; background: transparent; color: var(--holo-ink-dim); padding: var(--s2); border-radius: calc(var(--rs) - 2px);
324
- cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
325
- .ctl-seg button:hover { color: var(--holo-ink); }
326
- .ctl-seg button.on { background: var(--holo-accent); color: var(--holo-accent-ink); font-weight: 650; }
327
- .ctl-themes { display: flex; flex-direction: column; gap: 2px; }
328
- .ctl-theme { display: flex; align-items: center; gap: var(--s2); border: 0; background: transparent; color: var(--holo-ink);
329
- cursor: pointer; font: inherit; font-size: var(--f0); padding: var(--s2); border-radius: var(--rs); text-align: left; }
330
- .ctl-theme:hover { background: var(--hover); }
331
- .ctl-theme.on { background: color-mix(in srgb, var(--holo-accent) 16%, transparent); font-weight: 650; }
332
- .ctl-accent { display: flex; align-items: center; gap: var(--s2); }
333
- .ctl-accent .ap-color { width: 3rem; height: 2.2rem; flex: 0 0 auto; padding: 2px; border: 1px solid var(--line); border-radius: var(--rs); background: var(--holo-bg); cursor: pointer; }
334
- .ctl-swatches { display: flex; gap: var(--s2); flex-wrap: wrap; }
335
- .ctl-sw { width: 1.3rem; height: 1.3rem; border-radius: 999px; border: 1px solid var(--line); cursor: pointer; padding: 0; transition: transform 0.12s ease; }
336
- .ctl-sw:hover { transform: scale(1.18); }
337
- .ctl-actions { display: flex; gap: var(--s1); margin-top: var(--s2); }
338
- .ctl-btn { flex: 1; border: 1px solid var(--line); background: var(--holo-surface); color: var(--holo-ink); border-radius: var(--rs);
339
- padding: var(--s2); cursor: pointer; font: inherit; font-size: var(--f-1); font-weight: 550; display: inline-flex; align-items: center; justify-content: center; gap: var(--s1); }
340
- .ctl-btn:hover { border-color: color-mix(in srgb, var(--holo-ink) 26%, transparent); }
341
- .ctls .btn-primary { margin-top: var(--s2); }
342
-
343
- .demo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16.18rem, 1fr)); gap: var(--s4); align-content: start; }
344
- .demo-card { border: 1px solid var(--line); border-radius: var(--rl); background: var(--holo-surface); padding: var(--s4);
345
- display: flex; flex-direction: column; gap: var(--s3); min-height: 9rem; }
346
- .demo-card.wide { grid-column: 1 / -1; }
347
- .demo-card.wide .demo-body { min-height: 12rem; }
348
- .demo-title { font-size: var(--f-1); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--holo-ink-dim); }
349
- .demo-body { flex: 1; display: grid; place-items: center; overflow: hidden; min-height: 0; }
350
- .demo-body > * { max-width: 100%; }
351
-
352
- /* ── responsive ──────────────────────────────────────────────────────────── */
353
- @media (max-width: 60rem) {
354
- .app, .app.has-detail { grid-template-columns: 1fr; grid-template-rows: auto 1fr; overflow: auto; height: auto; min-height: 100vh; }
355
- .rail { order: -1; }
356
- .detail { position: fixed; inset: 0; z-index: 50; margin: var(--s3); }
357
- }
358
-
359
- /* ── daisyUI previews ──────────────────────────────────────────────────────────────────────────────
360
- daisyUI components are class layers rendered against the vendored daisyui.css (not React modules).
361
- data-theme on the stage switches daisyUI's own --color-* theme vars with the OS light/dark mode; the
362
- mini variant scales busy components to fit the golden-ratio thumbnail without distorting the detail view. */
363
- .daisy-stage { display: grid; place-items: center; width: 100%; gap: var(--s2); color: var(--color-base-content); }
364
- .daisy-stage.mini { transform: scale(0.74); transform-origin: center; }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:41d39f51c4b6c1a7d14f5a4e8727d6d57b41eea34d0b6a9574ba52936a4fb8e9
3
+ size 28855
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/70deeb235d7fea6700bf564cea4841fb7355e5c9c574cd1751e820e9d91e6639 CHANGED
@@ -1 +1,3 @@
1
- export default {".label":{"@layer daisyui.l1.l2.l3":{"display":"inline-flex","align-items":"center","gap":"calc(0.25rem * 1.5)","white-space":"nowrap","color":"color-mix(in oklab, currentcolor 60%, transparent)","&:has(input)":{"cursor":"pointer"},"&:is(.input > *, .select > *)":{"display":"flex","height":"calc(100% - 0.5rem)","align-items":"center","padding-inline":"calc(0.25rem * 3)","white-space":"nowrap","font-size":"inherit","&:first-child":{"margin-inline-start":"calc(0.25rem * -3)","margin-inline-end":"calc(0.25rem * 3)","border-inline-end":"var(--border) solid color-mix(in oklab, currentColor 10%, #0000)"},"&:last-child":{"margin-inline-start":"calc(0.25rem * 3)","margin-inline-end":"calc(0.25rem * -3)","border-inline-start":"var(--border) solid color-mix(in oklab, currentColor 10%, #0000)"}}}},".floating-label":{"@layer daisyui.l1.l2.l3":{"position":"relative","display":"block","input":{"display":"block","&::placeholder":{"transition":"top 0.1s ease-out, translate 0.1s ease-out, scale 0.1s ease-out, opacity 0.1s ease-out"}},"textarea":{"&::placeholder":{"transition":"top 0.1s ease-out, translate 0.1s ease-out, scale 0.1s ease-out, opacity 0.1s ease-out"}},"> span":{"position":"absolute","inset-inline-start":"calc(0.25rem * 3)","z-index":1,"background-color":"var(--color-base-100)","padding-inline":"calc(0.25rem * 1)","opacity":"0%","font-size":"0.875rem","top":"calc(var(--size-field, 0.25rem) * 10 / 2)","line-height":1,"border-radius":"2px","pointer-events":"none","translate":"0 -50%","transition":"top 0.1s ease-out, translate 0.1s ease-out, scale 0.1s ease-out, opacity 0.1s ease-out"},"&:focus-within, &:not(:has(input:placeholder-shown, textarea:placeholder-shown))":{"::placeholder":{"opacity":"0%","top":"0","translate":"-12.5% calc(-50% - 0.125em)","scale":"0.75","pointer-events":"auto"},"> span":{"opacity":"100%","top":"0","translate":"-12.5% calc(-50% - 0.125em)","scale":"0.75","pointer-events":"auto","z-index":2}},"&:has(:disabled, [disabled])":{"> span":{"opacity":"0%"}},"&:has(.input-xs, .select-xs, .textarea-xs) span":{"font-size":"0.6875rem","top":"calc(var(--size-field, 0.25rem) * 6 / 2)"},"&:has(.input-sm, .select-sm, .textarea-sm) span":{"font-size":"0.75rem","top":"calc(var(--size-field, 0.25rem) * 8 / 2)"},"&:has(.input-md, .select-md, .textarea-md) span":{"font-size":"0.875rem","top":"calc(var(--size-field, 0.25rem) * 10 / 2)"},"&:has(.input-lg, .select-lg, .textarea-lg) span":{"font-size":"1.125rem","top":"calc(var(--size-field, 0.25rem) * 12 / 2)"},"&:has(.input-xl, .select-xl, .textarea-xl) span":{"font-size":"1.375rem","top":"calc(var(--size-field, 0.25rem) * 14 / 2)"}}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2ab35daf8a42577086ea94ed3b875b489a7b791b6b515b9e3fa47f38930c1e42
3
+ size 2647
b/70df938642c34d7be353028f673b4444a9930bad575f62e23e68b47e4762be2f CHANGED
@@ -1,56 +1,3 @@
1
- // m14b.mjs — TILING/STREAMING WIRED INTO forward() (M14 keystone). Big tensors carry row-tiles (opts.tiles);
2
- // matvec/getRow stream them tile-by-tile; a streaming κ-store evicts under an LRU budget. The IN-FORWARD
3
- // peak resident drops below the 138 MiB largest-tensor floor to the budget — automatically — output
4
- // BYTE-IDENTICAL to fully-resident, every block verified. Default-safe: no tiles → unchanged.
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, blockOf } 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 SH = "C:/Users/pavel/AppData/Local/Temp/claude/C--Users-pavel-Desktop-HOLOGRAM/9be01320-de05-4b56-a1ab-35f38d512e16/scratchpad/_m14b";
14
- const MiB = 1024 * 1024, hexOf = (k) => String(k).split(":").pop();
15
-
16
- const f = forgeGguf(new Uint8Array(readFileSync(MODEL))); const graph = synthesizeGraph(f.plan);
17
- const modelMiB = [...f.blocks.values()].reduce((a, b) => a + b.byteLength, 0) / MiB;
18
- const rowBytesOf = (t) => t.typeName === "F32" ? t.dims[0] * 4 : t.typeName === "F16" ? t.dims[0] * 2 : (() => { const [be, bb] = blockOf(t.type); return (t.dims[0] / be) * bb; })();
19
-
20
- rmSync(SH, { recursive: true, force: true }); mkdirSync(SH, { recursive: true });
21
- const BIG = 8 * MiB, TILE_TARGET = 4 * MiB;
22
- const opts_tiles = {};
23
- let bigCount = 0;
24
- for (const t of f.plan.tensors) {
25
- const whole = f.blocks.get(hexOf(t.kappa));
26
- if (t.nbytes > BIG && t.dims.length > 1) { // tile big matrices into row-tiles
27
- bigCount++; const rb = rowBytesOf(t), N = t.dims[1], TR = Math.max(1, Math.floor(TILE_TARGET / rb));
28
- const tiles = [];
29
- for (let n0 = 0; n0 < N; n0 += TR) { const n1 = Math.min(n0 + TR, N); const b = whole.subarray(n0 * rb, n1 * rb); const hx = sha256hex(b); writeFileSync(`${SH}/${hx}.bin`, Buffer.from(b)); tiles.push({ kappa: "sha256:" + hx, n0, n1 }); }
30
- opts_tiles[t.kappa] = tiles;
31
- } else { const hx = hexOf(t.kappa); writeFileSync(`${SH}/${hx}.bin`, Buffer.from(whole)); } // small tensor: whole block
32
- }
33
- const largest = Math.max(...f.plan.tensors.map((t) => t.nbytes)) / MiB;
34
- console.log(`model ${modelMiB.toFixed(0)} MiB · largest tensor ${largest.toFixed(0)} MiB (was the 12a floor) · tiled ${bigCount} big tensors into ~${(TILE_TARGET / MiB).toFixed(0)} MiB row-tiles`);
35
-
36
- function streamStore(budgetBytes) {
37
- const lru = new Map(); let resident = 0, peak = 0, streamed = 0, vf = 0;
38
- return { get: (hex) => { if (lru.has(hex)) { const b = lru.get(hex); lru.delete(hex); lru.set(hex, b); return b; }
39
- const b = new Uint8Array(readFileSync(`${SH}/${hex}.bin`)); streamed += b.byteLength; if (sha256hex(b) !== hex) { vf++; throw new Error("L5"); }
40
- lru.set(hex, b); resident += b.byteLength; while (resident > budgetBytes && lru.size > 1) { const [k, v] = lru.entries().next().value; lru.delete(k); resident -= v.byteLength; } if (resident > peak) peak = resident; return b; },
41
- stats: () => ({ peakMiB: peak / MiB, streamedMiB: streamed / MiB, vf }) };
42
- }
43
- const load = (st, k) => st.get(hexOf(k));
44
- const logitsK = (l) => sha256hex(new Uint8Array(l.buffer, l.byteOffset, l.byteLength));
45
- const tokens = [785, 6722, 374, 264];
46
-
47
- const t0 = performance.now(); const full = forward(f.plan, graph, { get: (h) => f.blocks.get(h) }, tokens, { load }); const fullMs = performance.now() - t0;
48
- for (const budgetMiB of [24, 12]) {
49
- const ss = streamStore(budgetMiB * MiB);
50
- const t1 = performance.now(); const tiled = forward(f.plan, graph, ss, tokens, { load, tiles: opts_tiles }); const ms = performance.now() - t1;
51
- const s = ss.stats();
52
- console.log(` budget ${String(budgetMiB).padStart(2)} MiB → peak resident ${s.peakMiB.toFixed(1).padStart(5)} MiB · streamed ${s.streamedMiB.toFixed(0)} MiB · ${ms.toFixed(0)}ms · ${logitsK(tiled) === logitsK(full) ? "BYTE-IDENTICAL ✓" : "MISMATCH ✗"} · verifyFail ${s.vf}`);
53
- }
54
- console.log(` RESIDENT (baseline) peak ${modelMiB.toFixed(0)} MiB · ${fullMs.toFixed(0)}ms`);
55
- console.log(`\n14b: the IN-FORWARD floor dropped from ${largest.toFixed(0)} MiB (largest tensor) to the streaming budget — AUTOMATICALLY, byte-identical, verified. A ${modelMiB.toFixed(0)} MiB model now runs a full forward in ~tens of MiB resident. Honest: I/O-bound (streamed >> model); locality (14c) recovers throughput.`);
56
- rmSync(SH, { recursive: true, force: true });
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94ffabdda86ecc966a5f131d39f5c226f95367d93a72356ecedfe2a4b703cb64
3
+ size 4606
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/70e9358710b89224fbc73acbb1df4bd929689cc042a00b14ba4b70cf031e25a4 CHANGED
@@ -1,32 +1,3 @@
1
- import * as React from "react"
2
-
3
- import { Card, CardContent } from "@/registry/new-york-v4/ui/card"
4
- import {
5
- Carousel,
6
- CarouselContent,
7
- CarouselItem,
8
- CarouselNext,
9
- CarouselPrevious,
10
- } from "@/registry/new-york-v4/ui/carousel"
11
-
12
- export default function CarouselDemo() {
13
- return (
14
- <Carousel className="w-full max-w-xs">
15
- <CarouselContent>
16
- {Array.from({ length: 5 }).map((_, index) => (
17
- <CarouselItem key={index}>
18
- <div className="p-1">
19
- <Card>
20
- <CardContent className="flex aspect-square items-center justify-center p-6">
21
- <span className="text-4xl font-semibold">{index + 1}</span>
22
- </CardContent>
23
- </Card>
24
- </div>
25
- </CarouselItem>
26
- ))}
27
- </CarouselContent>
28
- <CarouselPrevious />
29
- <CarouselNext />
30
- </Carousel>
31
- )
32
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab0d6db53c82a6964bd7533d12b7d6cc986d72a85e65171fde9986d63f8aac4a
3
+ size 880
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/70ed7109dd66a32f3e0b81297b80f75364b6707a884f62f96a9ee14ce5420a74 CHANGED
@@ -1,36 +1,3 @@
1
- import {
2
- ResizableHandle,
3
- ResizablePanel,
4
- ResizablePanelGroup,
5
- } from "@/registry/new-york-v4/ui/resizable"
6
-
7
- export default function ResizableDemo() {
8
- return (
9
- <ResizablePanelGroup
10
- orientation="horizontal"
11
- className="max-w-md rounded-lg border md:min-w-[450px]"
12
- >
13
- <ResizablePanel defaultSize="50%">
14
- <div className="flex h-[200px] items-center justify-center p-6">
15
- <span className="font-semibold">One</span>
16
- </div>
17
- </ResizablePanel>
18
- <ResizableHandle withHandle />
19
- <ResizablePanel defaultSize="50%">
20
- <ResizablePanelGroup orientation="vertical">
21
- <ResizablePanel defaultSize="25%">
22
- <div className="flex h-full items-center justify-center p-6">
23
- <span className="font-semibold">Two</span>
24
- </div>
25
- </ResizablePanel>
26
- <ResizableHandle withHandle />
27
- <ResizablePanel defaultSize="75%">
28
- <div className="flex h-full items-center justify-center p-6">
29
- <span className="font-semibold">Three</span>
30
- </div>
31
- </ResizablePanel>
32
- </ResizablePanelGroup>
33
- </ResizablePanel>
34
- </ResizablePanelGroup>
35
- )
36
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ed506483ca18bfa12c7bd44c4aa1bd6e1f46aeb9a4daa4c85a99f44e0f0fc0f5
3
+ size 1206
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/7113bcdb06feac4447b87fac11943024138a4c810ff7c5efa38fe6ac543e66fc CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.bento-grid",
3
- "name": "bento-grid",
4
- "tier": "component",
5
- "library": "magicui",
6
- "category": "Components",
7
- "upstream": "https://magicui.design/r/bento-grid.json",
8
- "did": "did:holo:sha256:9c2abcb2a4e51519e56d510299771a2d0e170ab9927a9a792a58614b1837ed47",
9
- "import": "holo://sha256:406584e3de550d242625007ab4dac267ab96c77ce6b124fd4f0d7d7d20a0befb",
10
- "integrity": "sha256-QGWE495VDSQmJQB6tNrCZ6uWx3zmsST9Tw19fSCgvvs=",
11
- "kappa": "sha256:9c2abcb2a4e51519e56d510299771a2d0e170ab9927a9a792a58614b1837ed47",
12
- "moduleKappa": "sha256:406584e3de550d242625007ab4dac267ab96c77ce6b124fd4f0d7d7d20a0befb",
13
- "renderExport": "BentoCard",
14
- "source": "components/ui/bento-grid.tsx",
15
- "module": "vendor/components/bento-grid.js",
16
- "exports": [
17
- "BentoCard",
18
- "BentoGrid"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:577e25a5a352a82386988152921c6feb46ef740226ca6db349ce7c5da455a0e0
3
+ size 828
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/71980df7adeb081fdceea20e4cfb4cfa40f77e0662ce062ab62245dac55ffa5c CHANGED
@@ -1 +1,3 @@
1
- var eo=Object.defineProperty;var oo=(e,r)=>{for(var o in r)eo(e,o,{get:r[o],enumerable:!0})};import*as Ce from"react";import*as uo from"react-dom";import*as y from"react";import*as ke from"react";function we(e,r){if(typeof e=="function")return e(r);e!=null&&(e.current=r)}function ro(...e){return r=>{let o=!1,t=e.map(s=>{let l=we(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():we(e[s],null)}}}}function ve(...e){return ke.useCallback(ro(...e),e)}function Se(e){let r=y.forwardRef((o,t)=>{let{children:s,...l}=o,n=null,p=!1,f=[];Re(s)&&typeof Z=="function"&&(s=Z(s._payload)),y.Children.forEach(s,z=>{if(ao(z)){p=!0;let w=z,G="child"in w.props?w.props.child:w.props.children;Re(G)&&typeof Z=="function"&&(G=Z(G._payload)),n=so(w,G),f.push(n?.props?.children)}else f.push(z)}),n?n=y.cloneElement(n,void 0,f):!p&&y.Children.count(s)===1&&y.isValidElement(s)&&(n=s);let m=n?io(n):void 0,x=ve(t,m);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!==y.Fragment&&(g.ref=t?x:m),y.cloneElement(n,g)});return r.displayName=`${e}.Slot`,r}var to=Symbol.for("radix.slottable");var so=(e,r)=>{if("child"in e.props){let o=e.props.child;return y.isValidElement(o)?y.cloneElement(o,void 0,e.props.children(o.props.children)):null}return y.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 y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===to}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.`,Z=y[" use ".trim().toString()];import{jsx as fo}from"react/jsx-runtime";var bo=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ze=bo.reduce((e,r)=>{let o=Se(`Primitive.${r}`),t=Ce.forwardRef((s,l)=>{let{asChild:n,...p}=s,f=n?o:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),fo(f,{...p,ref:l})});return t.displayName=`Primitive.${r}`,{...e,[r]:t}},{});var J={};oo(J,{Label:()=>ae,Root:()=>xo});import*as Ae from"react";import{jsx as go}from"react/jsx-runtime";var ho="Label",ae=Ae.forwardRef((e,r)=>go(ze.label,{...e,ref:r,onMouseDown:o=>{o.target.closest("button, input, select, textarea")||(e.onMouseDown?.(o),!o.defaultPrevented&&o.detail>1&&o.preventDefault())}}));ae.displayName=ho;var xo=ae;function Pe(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=Pe(e[r]))&&(t&&(t+=" "),t+=o)}else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function Ge(){for(var e,r,o=0,t="",s=arguments.length;o<s;o++)(e=arguments[o])&&(r=Pe(e))&&(t&&(t+=" "),t+=r);return t}var yo=(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},wo=(e,r)=>({classGroupId:e,validator:r}),_e=(e=new Map,r=null,o)=>({nextPart:e,validators:r,classGroupId:o}),ee="-",Me=[],ko="arbitrary..",vo=e=>{let r=So(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:n=>{if(n.startsWith("[")&&n.endsWith("]"))return Ro(n);let p=n.split(ee),f=p[0]===""&&p.length>1?1:0;return Oe(p,f,r)},getConflictingClassGroupIds:(n,p)=>{if(p){let f=t[n],m=o[n];return f?m?yo(m,f):f:m||Me}return o[n]||Me}}},Oe=(e,r,o)=>{if(e.length-r===0)return o.classGroupId;let s=e[r],l=o.nextPart.get(s);if(l){let m=Oe(e,r+1,l);if(m)return m}let n=o.validators;if(n===null)return;let p=r===0?e.join(ee):e.slice(r).join(ee),f=n.length;for(let m=0;m<f;m++){let x=n[m];if(x.validator(p))return x.classGroupId}},Ro=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?ko+t:void 0})(),So=e=>{let{theme:r,classGroups:o}=e;return Co(o,r)},Co=(e,r)=>{let o=_e();for(let t in e){let s=e[t];de(s,o,t,r)}return o},de=(e,r,o,t)=>{let s=e.length;for(let l=0;l<s;l++){let n=e[l];zo(n,r,o,t)}},zo=(e,r,o,t)=>{if(typeof e=="string"){Ao(e,r,o);return}if(typeof e=="function"){Po(e,r,o,t);return}Go(e,r,o,t)},Ao=(e,r,o)=>{let t=e===""?r:Ve(r,e);t.classGroupId=o},Po=(e,r,o,t)=>{if(Mo(e)){de(e(t),r,o,t);return}r.validators===null&&(r.validators=[]),r.validators.push(wo(o,e))},Go=(e,r,o,t)=>{let s=Object.entries(e),l=s.length;for(let n=0;n<l;n++){let[p,f]=s[n];de(f,Ve(r,p),o,t)}},Ve=(e,r)=>{let o=e,t=r.split(ee),s=t.length;for(let l=0;l<s;l++){let n=t[l],p=o.nextPart.get(n);p||(p=_e(),o.nextPart.set(n,p)),o=p}return o},Mo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Io=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)}}},ce="!",Ie=":",To=[],Te=(e,r,o,t,s)=>({modifiers:e,hasImportantModifier:r,baseClassName:o,maybePostfixModifierPosition:t,isExternal:s}),Lo=e=>{let{prefix:r,experimentalParseClassName:o}=e,t=s=>{let l=[],n=0,p=0,f=0,m,x=s.length;for(let R=0;R<x;R++){let A=s[R];if(n===0&&p===0){if(A===Ie){l.push(s.slice(f,R)),f=R+1;continue}if(A==="/"){m=R;continue}}A==="["?n++:A==="]"?n--:A==="("?p++:A===")"&&p--}let g=l.length===0?s:s.slice(f),z=g,w=!1;g.endsWith(ce)?(z=g.slice(0,-1),w=!0):g.startsWith(ce)&&(z=g.slice(1),w=!0);let G=m&&m>f?m-f:void 0;return Te(l,w,z,G)};if(r){let s=r+Ie,l=t;t=n=>n.startsWith(s)?l(n.slice(s.length)):Te(To,!1,n,void 0,!0)}if(o){let s=t;t=l=>o({className:l,parseClassName:s})}return t},Eo=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}},No=e=>({cache:Io(e.cacheSize),parseClassName:Lo(e),sortModifiers:Eo(e),postfixLookupClassGroupIds:_o(e),...vo(e)}),_o=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},Oo=/\s+/,Vo=(e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:n}=r,p=[],f=e.trim().split(Oo),m="";for(let x=f.length-1;x>=0;x-=1){let g=f[x],{isExternal:z,modifiers:w,hasImportantModifier:G,baseClassName:R,maybePostfixModifierPosition:A}=o(g);if(z){m=g+(m.length>0?" "+m:m);continue}let N=!!A,S;if(N){let I=R.substring(0,A);S=t(I);let c=S&&n[S]?t(R):void 0;c&&c!==S&&(S=c,N=!1)}else S=t(R);if(!S){if(!N){m=g+(m.length>0?" "+m:m);continue}if(S=t(R),!S){m=g+(m.length>0?" "+m:m);continue}N=!1}let $=w.length===0?"":w.length===1?w[0]:l(w).join(":"),W=G?$+ce:$,F=W+S;if(p.indexOf(F)>-1)continue;p.push(F);let j=s(S,N);for(let I=0;I<j.length;++I){let c=j[I];p.push(W+c)}m=g+(m.length>0?" "+m:m)}return m},Wo=(...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},Fo=(e,...r)=>{let o,t,s,l,n=f=>{let m=r.reduce((x,g)=>g(x),e());return o=No(m),t=o.cache.get,s=o.cache.set,l=p,p(f)},p=f=>{let m=t(f);if(m)return m;let x=Vo(f,o);return s(f,x),x};return l=n,(...f)=>l(Wo(...f))},jo=[],b=e=>{let r=o=>o[e]||jo;return r.isThemeGetter=!0,r},Fe=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,je=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Do=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,$o=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Bo=/\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$/,Yo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Uo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ho=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,L=e=>Do.test(e),u=e=>!!e&&!Number.isNaN(Number(e)),M=e=>!!e&&Number.isInteger(Number(e)),le=e=>e.endsWith("%")&&u(e.slice(0,-1)),T=e=>$o.test(e),De=()=>!0,qo=e=>Bo.test(e)&&!Yo.test(e),me=()=>!1,Xo=e=>Uo.test(e),Zo=e=>Ho.test(e),Jo=e=>!i(e)&&!a(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)),Ko=e=>E(e,Ye,me),i=e=>Fe.test(e),O=e=>E(e,Ue,qo),Le=e=>E(e,ar,u),er=e=>E(e,qe,De),or=e=>E(e,He,me),Ee=e=>E(e,$e,me),rr=e=>E(e,Be,Zo),Q=e=>E(e,Xe,Xo),a=e=>je.test(e),B=e=>V(e,Ue),tr=e=>V(e,He),Ne=e=>V(e,$e),sr=e=>V(e,Ye),nr=e=>V(e,Be),K=e=>V(e,Xe,!0),ir=e=>V(e,qe,!0),E=(e,r,o)=>{let t=Fe.exec(e);return t?t[1]?r(t[1]):o(t[2]):!1},V=(e,r,o=!1)=>{let t=je.exec(e);return t?t[1]?r(t[1]):o:!1},$e=e=>e==="position"||e==="percentage",Be=e=>e==="image"||e==="url",Ye=e=>e==="length"||e==="size"||e==="bg-size",Ue=e=>e==="length",ar=e=>e==="number",He=e=>e==="family-name",qe=e=>e==="number"||e==="weight",Xe=e=>e==="shadow";var lr=()=>{let e=b("color"),r=b("font"),o=b("text"),t=b("font-weight"),s=b("tracking"),l=b("leading"),n=b("breakpoint"),p=b("container"),f=b("spacing"),m=b("radius"),x=b("shadow"),g=b("inset-shadow"),z=b("text-shadow"),w=b("drop-shadow"),G=b("blur"),R=b("perspective"),A=b("aspect"),N=b("ease"),S=b("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"],F=()=>[...W(),a,i],j=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],c=()=>[a,i,f],C=()=>[L,"full","auto",...c()],pe=()=>[M,"none","subgrid",a,i],ue=()=>["auto",{span:["full",M,a,i]},M,a,i],Y=()=>[M,"auto",a,i],fe=()=>["auto","min","max","fr",a,i],re=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],D=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...c()],_=()=>[L,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...c()],te=()=>[L,"screen","full","dvw","lvw","svw","min","max","fit",...c()],se=()=>[L,"screen","full","lh","dvh","lvh","svh","min","max","fit",...c()],d=()=>[e,a,i],be=()=>[...W(),Ne,Ee,{position:[a,i]}],ge=()=>["no-repeat",{repeat:["","x","y","space","round"]}],he=()=>["auto","cover","contain",sr,Ko,{size:[a,i]}],ne=()=>[le,B,O],k=()=>["","none","full",m,a,i],v=()=>["",u,B,O],U=()=>["solid","dashed","dotted","double"],xe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],h=()=>[u,le,Ne,Ee],ye=()=>["","none",G,a,i],H=()=>["none",u,a,i],q=()=>["none",u,a,i],ie=()=>[u,a,i],X=()=>[L,"full",...c()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[T],breakpoint:[T],color:[De],container:[T],"drop-shadow":[T],ease:["in","out","in-out"],font:[Jo],"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",L,i,a,A]}],container:["container"],"container-type":[{"@container":["","normal","size",a,i]}],"container-named":[Qo],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:F()}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[M,"auto",a,i]}],basis:[{basis:[L,"full","auto",p,...c()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[u,L,"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":pe()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":pe()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":fe()}],"auto-rows":[{"auto-rows":fe()}],gap:[{gap:c()}],"gap-x":[{"gap-x":c()}],"gap-y":[{"gap-y":c()}],"justify-content":[{justify:[...re(),"normal"]}],"justify-items":[{"justify-items":[...D(),"normal"]}],"justify-self":[{"justify-self":["auto",...D()]}],"align-content":[{content:["normal",...re()]}],"align-items":[{items:[...D(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...D(),{baseline:["","last"]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...D(),"baseline"]}],"place-self":[{"place-self":["auto",...D()]}],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:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":c()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":c()}],"space-y-reverse":["space-y-reverse"],size:[{size:_()}],"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",..._()]}],"min-w":[{"min-w":[p,"screen","none",..._()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[n]},..._()]}],h:[{h:["screen","lh",..._()]}],"min-h":[{"min-h":["screen","lh","none",..._()]}],"max-h":[{"max-h":["screen","lh",..._()]}],"font-size":[{text:["base",o,B,O]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,ir,er]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",le,i]}],"font-family":[{font:[tr,or,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,Le]}],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:d()}],"text-color":[{text:d()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[u,"from-font","auto",a,O]}],"text-decoration-color":[{decoration:d()}],"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:be()}],"bg-repeat":[{bg:ge()}],"bg-size":[{bg:he()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},M,a,i],radial:["",a,i],conic:[M,a,i]},nr,rr]}],"bg-color":[{bg:d()}],"gradient-from-pos":[{from:ne()}],"gradient-via-pos":[{via:ne()}],"gradient-to-pos":[{to:ne()}],"gradient-from":[{from:d()}],"gradient-via":[{via:d()}],"gradient-to":[{to:d()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:v()}],"border-w-x":[{"border-x":v()}],"border-w-y":[{"border-y":v()}],"border-w-s":[{"border-s":v()}],"border-w-e":[{"border-e":v()}],"border-w-bs":[{"border-bs":v()}],"border-w-be":[{"border-be":v()}],"border-w-t":[{"border-t":v()}],"border-w-r":[{"border-r":v()}],"border-w-b":[{"border-b":v()}],"border-w-l":[{"border-l":v()}],"divide-x":[{"divide-x":v()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":v()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:d()}],"border-color-x":[{"border-x":d()}],"border-color-y":[{"border-y":d()}],"border-color-s":[{"border-s":d()}],"border-color-e":[{"border-e":d()}],"border-color-bs":[{"border-bs":d()}],"border-color-be":[{"border-be":d()}],"border-color-t":[{"border-t":d()}],"border-color-r":[{"border-r":d()}],"border-color-b":[{"border-b":d()}],"border-color-l":[{"border-l":d()}],"divide-color":[{divide:d()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[u,a,i]}],"outline-w":[{outline:["",u,B,O]}],"outline-color":[{outline:d()}],shadow:[{shadow:["","none",x,K,Q]}],"shadow-color":[{shadow:d()}],"inset-shadow":[{"inset-shadow":["none",g,K,Q]}],"inset-shadow-color":[{"inset-shadow":d()}],"ring-w":[{ring:v()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:d()}],"ring-offset-w":[{"ring-offset":[u,O]}],"ring-offset-color":[{"ring-offset":d()}],"inset-ring-w":[{"inset-ring":v()}],"inset-ring-color":[{"inset-ring":d()}],"text-shadow":[{"text-shadow":["none",z,K,Q]}],"text-shadow-color":[{"text-shadow":d()}],opacity:[{opacity:[u,a,i]}],"mix-blend":[{"mix-blend":[...xe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":xe()}],"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":h()}],"mask-image-linear-to-pos":[{"mask-linear-to":h()}],"mask-image-linear-from-color":[{"mask-linear-from":d()}],"mask-image-linear-to-color":[{"mask-linear-to":d()}],"mask-image-t-from-pos":[{"mask-t-from":h()}],"mask-image-t-to-pos":[{"mask-t-to":h()}],"mask-image-t-from-color":[{"mask-t-from":d()}],"mask-image-t-to-color":[{"mask-t-to":d()}],"mask-image-r-from-pos":[{"mask-r-from":h()}],"mask-image-r-to-pos":[{"mask-r-to":h()}],"mask-image-r-from-color":[{"mask-r-from":d()}],"mask-image-r-to-color":[{"mask-r-to":d()}],"mask-image-b-from-pos":[{"mask-b-from":h()}],"mask-image-b-to-pos":[{"mask-b-to":h()}],"mask-image-b-from-color":[{"mask-b-from":d()}],"mask-image-b-to-color":[{"mask-b-to":d()}],"mask-image-l-from-pos":[{"mask-l-from":h()}],"mask-image-l-to-pos":[{"mask-l-to":h()}],"mask-image-l-from-color":[{"mask-l-from":d()}],"mask-image-l-to-color":[{"mask-l-to":d()}],"mask-image-x-from-pos":[{"mask-x-from":h()}],"mask-image-x-to-pos":[{"mask-x-to":h()}],"mask-image-x-from-color":[{"mask-x-from":d()}],"mask-image-x-to-color":[{"mask-x-to":d()}],"mask-image-y-from-pos":[{"mask-y-from":h()}],"mask-image-y-to-pos":[{"mask-y-to":h()}],"mask-image-y-from-color":[{"mask-y-from":d()}],"mask-image-y-to-color":[{"mask-y-to":d()}],"mask-image-radial":[{"mask-radial":[a,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":h()}],"mask-image-radial-to-pos":[{"mask-radial-to":h()}],"mask-image-radial-from-color":[{"mask-radial-from":d()}],"mask-image-radial-to-color":[{"mask-radial-to":d()}],"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":h()}],"mask-image-conic-to-pos":[{"mask-conic-to":h()}],"mask-image-conic-from-color":[{"mask-conic-from":d()}],"mask-image-conic-to-color":[{"mask-conic-to":d()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:be()}],"mask-repeat":[{mask:ge()}],"mask-size":[{mask:he()}],"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",w,K,Q]}],"drop-shadow-color":[{"drop-shadow":d()}],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",N,a,i]}],delay:[{delay:[u,a,i]}],animate:[{animate:["none",S,a,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[R,a,i]}],"perspective-origin":[{"perspective-origin":F()}],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:F()}],"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:d()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:d()}],"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":d()}],"scrollbar-track-color":[{"scrollbar-track":d()}],"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",...d()]}],"stroke-w":[{stroke:[u,B,O,Le]}],stroke:[{stroke:["none",...d()]}],"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=Fo(lr);function oe(...e){return Ze(Ge(e))}import{jsx as cr}from"react/jsx-runtime";function Je({className:e,...r}){return cr(J.Root,{"data-slot":"label",className:oe("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}import{jsx as dr}from"react/jsx-runtime";function Qe({className:e,...r}){return dr("textarea",{"data-slot":"textarea",className:oe("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground 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 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",e),...r})}import{jsx as Ke,jsxs as pr}from"react/jsx-runtime";function mr(){return pr("div",{className:"grid w-full gap-3",children:[Ke(Je,{htmlFor:"message",children:"Your message"}),Ke(Qe,{placeholder:"Type your message here.",id:"message"})]})}export{mr as default};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bd58b32ff99fe2e9c19ecc53ec7554b260a41e8b59d1a4143a5eac7f0fc0a5c5
3
+ size 31811