@aiquants/directory-tree 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/directory-tree.css +1 -1
- package/dist/index.cjs +2 -19
- package/dist/index.js +733 -548
- package/dist/src/DirectoryTree.d.ts +1 -5
- package/dist/src/DirectoryTree.d.ts.map +1 -1
- package/dist/src/TreeLine.d.ts +4 -7
- package/dist/src/TreeLine.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/types.d.ts +62 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/useDirectoryTreeState.d.ts.map +1 -1
- package/dist/styles/directory-tree.css +2 -0
- package/dist/vite.config.d.ts.map +1 -1
- package/package.json +16 -18
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/directory-tree.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:1.5;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-noto-sans-jp,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-0{z-index:0}.hidden{display:none}.h-96{height:calc(var(--spacing)*96)}.flex-shrink-0{flex-shrink:0}.overflow-y-hidden{overflow-y:hidden}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.bg-blue-400\/20{background-color:#54a2ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/20{background-color:color-mix(in oklab,var(--color-blue-400)20%,transparent)}}.pr-\[3px\]{padding-right:3px}.pb-\[5px\]{padding-bottom:5px}.text-ellipsis{text-overflow:ellipsis}.text-blue-700{color:var(--color-blue-700)}.text-gray-700{color:var(--color-gray-700)}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_rgba\(59\,130\,246\,0\.3\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.hover\:bg-gray-400\/15:hover{background-color:#99a1af26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-400\/15:hover{background-color:color-mix(in oklab,var(--color-gray-400)15%,transparent)}}}.dark\:bg-blue-400\/15:is(.dark *){background-color:#54a2ff26}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-400\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-400)15%,transparent)}}.dark\:bg-blue-400\/25:is(.dark *){background-color:#54a2ff40}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-400\/25:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-400)25%,transparent)}}.dark\:text-blue-300:is(.dark *){color:var(--color-blue-300)}.dark\:text-gray-200:is(.dark *){color:var(--color-gray-200)}.dark\:shadow-\[0_0_0_1px_rgba\(96\,165\,250\,0\.4\)\]:is(.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#60a5fa66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.dark\:hover\:bg-gray-200\/10:is(.dark *):hover{background-color:#e5e7eb1a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-200\/10:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-200)10%,transparent)}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-\[18\%\]{inset:18%}.-inset-x-0\.5{inset-inline:calc(var(--spacing)*-.5)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-\[1\.5px\]{inset-inline:1.5px}.-inset-y-0\.5{inset-block:calc(var(--spacing)*-.5)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-\[1\.5px\]{inset-block:1.5px}.top-1\/2{top:50%}.left-1\/2{left:50%}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.container{margin-inline:auto;padding-inline:2rem}@media(min-width:40rem){.container{max-width:none}}@media(min-width:1400px){.container{max-width:1400px}}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.scrollbar-none::-webkit-scrollbar{display:none}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:hsl(var(--border));border-radius:4px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--ring))}.size-1{width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:calc(var(--spacing)*20)}.max-h-24{max-height:calc(var(--spacing)*24)}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-40{width:calc(var(--spacing)*40)}.w-\[550px\]{width:550px}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-300{border-color:var(--color-blue-300)}.border-border,.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border))30%,transparent)}}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border))50%,transparent)}}}.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,hsl(var(--border))60%,transparent)}}}.border-gray-300{border-color:var(--color-gray-300)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:#0000}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in srgb,#fff40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in srgb,#fff50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in oklab,var(--color-white)50%,transparent)}}}.bg-background,.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background))50%,transparent)}}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{background-color:var(--color-gray-100)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/20{background-color:color-mix(in oklab,hsl(var(--muted-foreground))20%,transparent)}}}.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,hsl(var(--muted))50%,transparent)}}}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in srgb,#fff50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in srgb,#fff80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}}.bg-white\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in srgb,#fff85%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in oklab,var(--color-white)85%,transparent)}}}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#1d4ed8\]\/60{--tw-gradient-from:oklab(48.8198% -.0212811 -.21612/.6);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#60a5fa\]\/55{--tw-gradient-via:oklab(71.374% -.0380177 -.138249/.55);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#bfdbfe\]\/40{--tw-gradient-to:oklab(88.2343% -.0156043 -.0548818/.4);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.pr-2{padding-right:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-noto-sans-jp)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-\[\#313131\]{color:#313131}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{color:var(--color-orange-600)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.accent-blue-600{accent-color:var(--color-blue-600)}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/50{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab,hsl(var(--ring))50%,transparent)}}}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}@media(hover:hover){.group-hover\:inset-x-\[-0\.5px\]:is(:where(.group):hover *){inset-inline:-.5px}.group-hover\:inset-y-\[-0\.5px\]:is(:where(.group):hover *){inset-block:-.5px}}.group-active\:-inset-x-0\.5:is(:where(.group):active *){inset-inline:calc(var(--spacing)*-.5)}.group-active\:-inset-y-0\.5:is(:where(.group):active *){inset-block:calc(var(--spacing)*-.5)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:hsl(var(--primary))}.selection\:bg-primary::selection{background-color:hsl(var(--primary))}.selection\:text-primary-foreground ::selection{color:hsl(var(--primary-foreground))}.selection\:text-primary-foreground::selection{color:hsl(var(--primary-foreground))}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media(hover:hover){.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary))80%,transparent)}}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#60a5fa\]:focus-visible{--tw-ring-color:#60a5fa}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:hsl(var(--ring))}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,hsl(var(--ring))50%,transparent)}}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:hsl(var(--destructive))}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))20%,transparent)}}}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing)*1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing)*1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}@media(min-width:40rem){.sm\:ml-1{margin-left:calc(var(--spacing)*1)}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-4{gap:calc(var(--spacing)*4)}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-blue-600:is(.dark *){border-color:var(--color-blue-600)}.dark\:bg-blue-900:is(.dark *){background-color:var(--color-blue-900)}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,hsl(var(--input))30%,transparent)}}}.dark\:text-blue-200:is(.dark *){color:var(--color-blue-200)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:accent-blue-400:is(.dark *){accent-color:var(--color-blue-400)}@media(hover:hover){.dark\:hover\:text-blue-200:is(.dark *):hover{color:var(--color-blue-200)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,hsl(var(--destructive))40%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base;@layer components{@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base;@layer components.utilities{.aqvs\:tap-scroll-circle-gradient{background:linear-gradient(to bottom right,#1d4ed899,#60a5fa8c,#bfdbfe66)}.aqvs\:tap-scroll-circle-inner{inset:18%}.aqvs\:scrollbar-arrow-button{color:#313131;background-color:#e0e0e0}.aqvs\:scrollbar-arrow-button:enabled:hover{background-color:#d4d4d4}.aqvs\:scrollbar-arrow-button:focus-visible{--tw-ring-color:#60a5fa}.aqvs\:scrollbar-track{background-color:#f5f5f5}.aqvs\:scrollbar-thumb{transform-origin:50%;background-color:#7f7f7f;transition:transform 80ms ease-out}.aqvs\:scrollbar-thumb[data-thumb-state=disabled]{transition:none;transform:none}.aqvs\:scrollbar-thumb[data-thumb-state=hover]{background-color:#5f5f5f}.aqvs\:scrollbar-thumb[data-thumb-state=dragging]{background-color:#4f4f4f;transition:transform 60ms ease-out}.aqvs\:scrollbar-thumb-horizontal{inset:1.5px 0}.aqvs\:scrollbar-thumb-horizontal[data-thumb-state=hover]{top:-.5px;bottom:-.5px;transform:scaleY(1.06)}.aqvs\:scrollbar-thumb-horizontal[data-thumb-state=dragging]{top:-.5px;bottom:-.5px;transform:scaleY(1.12)}.aqvs\:scrollbar-thumb-vertical{inset:0 1.5px}.aqvs\:scrollbar-thumb-vertical[data-thumb-state=hover]{left:-.5px;right:-.5px;transform:scaleX(1.06)}.aqvs\:scrollbar-thumb-vertical[data-thumb-state=dragging]{left:-.5px;right:-.5px;transform:scaleX(1.12)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.left-1\/2{left:50%}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.ml-1{margin-left:calc(var(--spacing)*1)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.size-1{width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:calc(var(--spacing)*20)}.max-h-24{max-height:calc(var(--spacing)*24)}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-40{width:calc(var(--spacing)*40)}.w-\[550px\]{width:550px}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-16{min-width:calc(var(--spacing)*16)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-gray-300{border-color:var(--color-gray-300)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in srgb,#fff40%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in srgb,#fff50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in oklab,var(--color-white)50%,transparent)}}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in srgb,#fff50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in srgb,#fff80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}}.bg-white\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in srgb,#fff85%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-white\/85{background-color:color-mix(in oklab,var(--color-white)85%,transparent)}}}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.pr-2{padding-right:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-600{color:var(--color-green-600)}.text-orange-600{color:var(--color-orange-600)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.underline-offset-4{text-underline-offset:4px}.accent-blue-600{accent-color:var(--color-blue-600)}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}@media(hover:hover){.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled,.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing)*1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing)*1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}@media(min-width:40rem){.sm\:ml-1{margin-left:calc(var(--spacing)*1)}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-4{gap:calc(var(--spacing)*4)}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(prefers-color-scheme:dark){.dark\:border-blue-600{border-color:var(--color-blue-600)}.dark\:bg-blue-900{background-color:var(--color-blue-900)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-blue-200{color:var(--color-blue-200)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:accent-blue-400{accent-color:var(--color-blue-400)}@media(hover:hover){.dark\:hover\:text-blue-200:hover{color:var(--color-blue-200)}}.dark\:focus\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-space-x-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-ease{syntax: "*"; inherits: false;}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@keyframes pulse{50%{opacity:.5}}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-0{z-index:0}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.hidden{display:none}.inline{display:inline}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-96{height:calc(var(--spacing)*96)}.h-full{height:100%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-full{width:100%}.flex-shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-y-hidden{overflow-y:hidden}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.bg-blue-400\/20{background-color:#54a2ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/20{background-color:color-mix(in oklab,var(--color-blue-400)20%,transparent)}}.pr-\[3px\]{padding-right:3px}.pb-\[5px\]{padding-bottom:5px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_rgba\(59\,130\,246\,0\.3\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:bg-gray-400\/15:hover{background-color:#99a1af26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-400\/15:hover{background-color:color-mix(in oklab,var(--color-gray-400)15%,transparent)}}}@media(prefers-color-scheme:dark){.dark\:bg-blue-400\/15{background-color:#54a2ff26}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-400\/15{background-color:color-mix(in oklab,var(--color-blue-400)15%,transparent)}}.dark\:bg-blue-400\/25{background-color:#54a2ff40}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-400\/25{background-color:color-mix(in oklab,var(--color-blue-400)25%,transparent)}}.dark\:text-blue-300{color:var(--color-blue-300)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:shadow-\[0_0_0_1px_rgba\(96\,165\,250\,0\.4\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#60a5fa66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.dark\:hover\:bg-gray-200\/10:hover{background-color:#e5e7eb1a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-200\/10:hover{background-color:color-mix(in oklab,var(--color-gray-200)10%,transparent)}}}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
package/dist/index.cjs
CHANGED
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Se;function De(){if(Se)return ne;Se=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function h(u,s,m){var f=null;if(m!==void 0&&(f=""+m),s.key!==void 0&&(f=""+s.key),"key"in s){m={};for(var c in s)c!=="key"&&(m[c]=s[c])}else m=s;return s=m.ref,{$$typeof:e,type:u,key:f,ref:s!==void 0?s:null,props:m}}return ne.Fragment=r,ne.jsx=h,ne.jsxs=h,ne}var ae={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var ke;function Pe(){return ke||(ke=1,process.env.NODE_ENV!=="production"&&(function(){function e(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===A?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case n:return"Fragment";case y:return"Profiler";case d:return"StrictMode";case J:return"Suspense";case R:return"SuspenseList";case z:return"Activity"}if(typeof t=="object")switch(typeof t.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case l:return"Portal";case L:return t.displayName||"Context";case b:return(t._context.displayName||"Context")+".Consumer";case O:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case k:return a=t.displayName||null,a!==null?a:e(t.type)||"Memo";case q:a=t._payload,t=t._init;try{return e(t(a))}catch{}}return null}function r(t){return""+t}function h(t){try{r(t);var a=!1}catch{a=!0}if(a){a=console;var v=a.error,w=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return v.call(a,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",w),r(t)}}function u(t){if(t===n)return"<>";if(typeof t=="object"&&t!==null&&t.$$typeof===q)return"<...>";try{var a=e(t);return a?"<"+a+">":"<...>"}catch{return"<...>"}}function s(){var t=K.A;return t===null?null:t.getOwner()}function m(){return Error("react-stack-top-frame")}function f(t){if(H.call(t,"key")){var a=Object.getOwnPropertyDescriptor(t,"key").get;if(a&&a.isReactWarning)return!1}return t.key!==void 0}function c(t,a){function v(){B||(B=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",a))}v.isReactWarning=!0,Object.defineProperty(t,"key",{get:v,configurable:!0})}function x(){var t=e(this.type);return le[t]||(le[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),t=this.props.ref,t!==void 0?t:null}function C(t,a,v,w,W,ee){var g=v.ref;return t={$$typeof:N,type:t,key:a,props:v,_owner:w},(g!==void 0?g:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:x}):Object.defineProperty(t,"ref",{enumerable:!1,value:null}),t._store={},Object.defineProperty(t._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(t,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(t,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:W}),Object.defineProperty(t,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ee}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t}function $(t,a,v,w,W,ee){var g=a.children;if(g!==void 0)if(w)if(F(g)){for(w=0;w<g.length;w++)T(g[w]);Object.freeze&&Object.freeze(g)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else T(g);if(H.call(a,"key")){g=e(t);var G=Object.keys(a).filter(function(U){return U!=="key"});w=0<G.length?"{key: someKey, "+G.join(": ..., ")+": ...}":"{key: someKey}",ue[g+w]||(G=0<G.length?"{"+G.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),Ge=require("@aiquants/virtualscroll"),me=require("@heroicons/react/24/solid"),Ue=require("@phosphor-icons/react"),W=require("tailwind-merge");var he={exports:{}},se={};var Me;function He(){if(Me)return se;Me=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(a,o,c){var u=null;if(c!==void 0&&(u=""+c),o.key!==void 0&&(u=""+o.key),"key"in o){c={};for(var h in o)h!=="key"&&(c[h]=o[h])}else c=o;return o=c.ref,{$$typeof:e,type:a,key:u,ref:o!==void 0?o:null,props:c}}return se.Fragment=n,se.jsx=r,se.jsxs=r,se}var le={};var Ne;function Ze(){return Ne||(Ne=1,process.env.NODE_ENV!=="production"&&(function(){function e(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===P?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case l:return"Fragment";case M:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case j:return"SuspenseList";case X:return"Activity"}if(typeof t=="object")switch(typeof t.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case s:return"Portal";case p:return t.displayName||"Context";case C:return(t._context.displayName||"Context")+".Consumer";case i:var b=t.render;return t=t.displayName,t||(t=b.displayName||b.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case O:return b=t.displayName||null,b!==null?b:e(t.type)||"Memo";case L:b=t._payload,t=t._init;try{return e(t(b))}catch{}}return null}function n(t){return""+t}function r(t){try{n(t);var b=!1}catch{b=!0}if(b){b=console;var S=b.error,R=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return S.call(b,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",R),n(t)}}function a(t){if(t===l)return"<>";if(typeof t=="object"&&t!==null&&t.$$typeof===L)return"<...>";try{var b=e(t);return b?"<"+b+">":"<...>"}catch{return"<...>"}}function o(){var t=F.A;return t===null?null:t.getOwner()}function c(){return Error("react-stack-top-frame")}function u(t){if(q.call(t,"key")){var b=Object.getOwnPropertyDescriptor(t,"key").get;if(b&&b.isReactWarning)return!1}return t.key!==void 0}function h(t,b){function S(){ne||(ne=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",b))}S.isReactWarning=!0,Object.defineProperty(t,"key",{get:S,configurable:!0})}function f(){var t=e(this.type);return U[t]||(U[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),t=this.props.ref,t!==void 0?t:null}function y(t,b,S,R,ee,re){var w=S.ref;return t={$$typeof:x,type:t,key:b,props:S,_owner:R},(w!==void 0?w:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:f}):Object.defineProperty(t,"ref",{enumerable:!1,value:null}),t._store={},Object.defineProperty(t._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(t,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(t,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ee}),Object.defineProperty(t,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:re}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t}function m(t,b,S,R,ee,re){var w=b.children;if(w!==void 0)if(R)if(Y(w)){for(R=0;R<w.length;R++)g(w[R]);Object.freeze&&Object.freeze(w)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else g(w);if(q.call(b,"key")){w=e(t);var G=Object.keys(b).filter(function(ge){return ge!=="key"});R=0<G.length?"{key: someKey, "+G.join(": ..., ")+": ...}":"{key: someKey}",N[w+R]||(G=0<G.length?"{"+G.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
2
|
let props = %s;
|
|
19
3
|
<%s {...props} />
|
|
20
4
|
React keys must be passed directly to JSX without using spread:
|
|
21
5
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,w,g,G,g),ue[g+w]=!0)}if(g=null,v!==void 0&&(h(v),g=""+v),f(a)&&(h(a.key),g=""+a.key),"key"in a){v={};for(var te in a)te!=="key"&&(v[te]=a[te])}else v=a;return g&&c(v,typeof t=="function"?t.displayName||t.name||"Unknown":t),C(t,g,v,s(),W,ee)}function T(t){Y(t)?t._store&&(t._store.validated=1):typeof t=="object"&&t!==null&&t.$$typeof===q&&(t._payload.status==="fulfilled"?Y(t._payload.value)&&t._payload.value._store&&(t._payload.value._store.validated=1):t._store&&(t._store.validated=1))}function Y(t){return typeof t=="object"&&t!==null&&t.$$typeof===N}var S=o,N=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),b=Symbol.for("react.consumer"),L=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),z=Symbol.for("react.activity"),A=Symbol.for("react.client.reference"),K=S.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H=Object.prototype.hasOwnProperty,F=Array.isArray,Z=console.createTask?console.createTask:function(){return null};S={react_stack_bottom_frame:function(t){return t()}};var B,le={},ce=S.react_stack_bottom_frame.bind(S,m)(),ie=Z(u(m)),ue={};ae.Fragment=n,ae.jsx=function(t,a,v){var w=1e4>K.recentlyCreatedOwnerStacks++;return $(t,a,v,!1,w?Error("react-stack-top-frame"):ce,w?Z(u(t)):ie)},ae.jsxs=function(t,a,v){var w=1e4>K.recentlyCreatedOwnerStacks++;return $(t,a,v,!0,w?Error("react-stack-top-frame"):ce,w?Z(u(t)):ie)}})()),ae}var we;function Fe(){return we||(we=1,process.env.NODE_ENV==="production"?he.exports=De():he.exports=Pe()),he.exports}var p=Fe();const Te=({items:e,itemHeight:r,width:h,segmentWidth:u,color:s="#a0aec0",strokeWidth:m=1,renderFromY:f=0,renderHeight:c,renderStartIndex:x,renderEndIndex:C,lookaheadEndIndex:$})=>{const T=[],Y=c??e.length*r,S=typeof x=="number"&&Number.isFinite(x)?Math.max(0,Math.floor(x)):Math.max(0,Math.floor(f/r)),N=Math.min(e.length,Math.ceil((f+Y)/r)),l=(()=>{if(typeof C=="number"&&Number.isFinite(C)){const y=Math.floor(C);return Math.max(Math.min(e.length,y+1),S)}return Math.max(N,S)})(),n=(()=>{if(typeof $=="number"&&Number.isFinite($)){const y=Math.floor($),b=Math.min(e.length,y+1);return Math.max(b,l)}return Math.max(N,l)})();for(let y=S;y<l;y++){const b=e[y],L=y*r,O=L+r/2;for(let k=0;k<b.indentLevel;k++){const q=k*u+u/2;let z=!1;for(let A=y;A<n;A++){if(e[A].indentLevel>k&&e[A].ancestorIsLast.length>k&&!e[A].ancestorIsLast[k]){z=!0;break}if(e[A].indentLevel===k&&A>y)break}z&&b.ancestorIsLast.length>k&&!b.ancestorIsLast[k]&&T.push(`M ${q},${L} L ${q},${L+r}`)}const J=b.indentLevel*u,R=J+u/2;if(b.isDirectory){const k=u/1.5;T.push(`M ${R},${L} L ${R},${O-k}`)}else T.push(`M ${R},${L} L ${R},${O}`);if(b.isDirectory||b.isLastChild&&T.push(`M ${R},${O} L ${J+u},${O}`),!b.isLastChild)if(b.isDirectory){const k=u/1.5;T.push(`M ${R},${O+k} L ${R},${L+r}`)}else T.push(`M ${R},${O} L ${R},${L+r}`)}const d=e.length*r;return p.jsxs("svg",{width:h,height:c??d,viewBox:`0 ${f} ${h} ${c??d}`,fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"pointer-events-none absolute top-0 left-0 z-0 opacity-75",children:[p.jsx("title",{children:"Tree Lines"}),T.map((y,b)=>p.jsx("path",{d:y,stroke:s,strokeWidth:m,strokeLinecap:"round",strokeLinejoin:"round"},`path-${e[S+b]?.id||b}-${S+b}`))]})},M={container:"directory-tree-container relative h-full transition-opacity duration-300 overflow-y-hidden pb-[5px] pr-[3px]",containerPending:"opacity-70",entry:"directory-tree-entry flex items-center cursor-pointer relative select-none",entryHover:P.twMerge("directory-tree-entry--hover hover:bg-gray-400/15","dark:hover:bg-gray-200/10"),entrySelected:P.twMerge("directory-tree-entry--selected bg-blue-400/10","dark:bg-blue-400/15"),entryItemSelected:P.twMerge("directory-tree-entry--item-selected bg-blue-400/20 shadow-[0_0_0_1px_rgba(59,130,246,0.3)]","dark:bg-blue-400/25 dark:shadow-[0_0_0_1px_rgba(96,165,250,0.4)]"),expandIcon:P.twMerge("directory-tree-expand-icon w-5 h-5 flex-shrink-0 flex items-center justify-center","text-gray-500","dark:text-gray-400"),expandIconSelected:P.twMerge("directory-tree-expand-icon--selected text-blue-700","dark:text-blue-400"),typeIcon:P.twMerge("directory-tree-type-icon w-5 h-5 flex-shrink-0 flex items-center justify-center","text-gray-500","dark:text-gray-400"),typeIconSelected:P.twMerge("directory-tree-type-icon--selected text-blue-700","dark:text-blue-400"),name:P.twMerge("directory-tree-name overflow-hidden text-ellipsis whitespace-nowrap ml-1","text-gray-700","dark:text-gray-200"),nameDirectory:"directory-tree-name--directory",nameSelected:P.twMerge("directory-tree-name--selected text-blue-800 font-medium","dark:text-blue-300")},ye={msOverflowStyle:"none",scrollbarWidth:"none"},Ye=()=>{let e=document.getElementById("directory-tree-webkit-scrollbar-hide");e||(e=document.createElement("style"),e.id="directory-tree-webkit-scrollbar-hide",e.textContent=".directory-tree-container::-webkit-scrollbar { display: none; }",document.head.appendChild(e))},Re=(e=!1,r=!1,h=!1)=>P.twMerge(M.entry,e&&M.entryHover,r&&M.entrySelected,h&&M.entryItemSelected),_e=(e=!1)=>P.twMerge(M.expandIcon,e&&M.expandIconSelected),Ie=(e=!1)=>P.twMerge(M.typeIcon,e&&M.typeIconSelected),Ce=(e=!1,r=!1)=>P.twMerge(M.name,e&&M.nameDirectory,r&&M.nameSelected),Ve=Oe.VirtualScroll,qe=e=>e.slice((e.lastIndexOf(".")-1>>>0)+2).toLowerCase(),oe=(e,r)=>e?typeof e=="function"?e(r)??null:e:null,ze=(e,r)=>{const{entry:h,isDirectory:u,isExpanded:s,extension:m}=e,f=oe(h.icon,e);if(f)return f;if(u){const x=s?oe(r?.directoryExpanded,e):null;if(x)return x;const C=oe(r?.directory,e);return C||p.jsx(me.FolderIcon,{className:"h-4 w-4"})}if(m){const x=oe(r?.fileByExtension?.[m],e);if(x)return x}const c=oe(r?.file,e);return c||(m==="md"?p.jsx(me.DocumentTextIcon,{className:"h-4 w-4"}):p.jsx(Ae.FileIcon,{className:"h-4 w-4"}))},Ee=o.memo(({entry:e,indentLevel:r,isDirOpen:h,onFileSelect:u,toggleDirectory:s,onToggleDirectoryRecursive:m,selectedPath:f,parentIsLast:c,renderChildren:x=!0,selectionMode:C="none",selectedItems:$,onSelectionChange:T,iconOverrides:Y})=>{const S=o.useRef(null),[N,l]=o.useState(null);o.useEffect(()=>()=>{S.current&&window.clearTimeout(S.current)},[]);const n=e.children!==void 0,d=n&&h(e.absolutePath,e.relativePath),y=e.absolutePath===f,b=!n&&$?.has(e.absolutePath),L=n?void 0:qe(e.name);o.useEffect(()=>{d&&e.children?Promise.resolve().then(()=>{l(e.children??[])}):l(null)},[d,e.children]);const O=o.useCallback(F=>{F.stopPropagation(),C!=="none"&&!n&&T&&T(e.absolutePath,!b),n?S.current?(window.clearTimeout(S.current),S.current=null,m(e)):S.current=window.setTimeout(()=>{s(e.absolutePath,e.relativePath),S.current=null},500):u(e.absolutePath,e.relativePath)},[n,e,m,s,u,C,T,b]),[J,R]=o.useState(!1),k=Re(J,y,b),q=_e(y||b),z=Ie(y||b),A=Ce(n,y||b),H=ze({entry:e,isDirectory:n,isExpanded:d,isSelected:y,isItemSelected:!!b,extension:L},Y);return p.jsxs(o.Fragment,{children:[p.jsxs("div",{className:k,style:{paddingLeft:`${r*ge}px`,height:`${se}px`},"data-entry-type":n?"directory":"file","data-entry-expanded":n?d?"true":"false":void 0,"data-entry-selected":y?"true":void 0,"data-entry-item-selected":b?"true":void 0,onClick:O,onMouseEnter:()=>R(!0),onMouseLeave:()=>R(!1),onKeyDown:F=>{F.key==="Enter"&&O(F)},tabIndex:0,role:"treeitem","aria-expanded":n?d:void 0,"aria-label":`${e.name} (${n?"directory":"file"})`,children:[p.jsx("span",{className:q,children:n?d?p.jsx(me.ChevronDownIcon,{className:"h-4 w-4"}):p.jsx(me.ChevronRightIcon,{className:"h-4 w-4"}):p.jsx("span",{className:"w-4"})}),p.jsx("span",{className:z,children:H}),p.jsx("span",{className:A,"data-entry-type":n?"directory":"file","data-entry-role":"name",children:e.name})]}),d&&N&&x&&p.jsx("fieldset",{children:N.map((F,Z)=>p.jsx(Ee,{entry:F,indentLevel:r+1,isDirOpen:h,onFileSelect:u,toggleDirectory:s,onToggleDirectoryRecursive:m,selectedPath:f,parentIsLast:[...c,Z===(N||[]).length-1],selectionMode:C,selectedItems:$,onSelectionChange:T,iconOverrides:Y},F.absolutePath))})]},e.absolutePath)},(e,r)=>{if(e.entry.absolutePath!==r.entry.absolutePath||e.entry.relativePath!==r.entry.relativePath||e.entry.name!==r.entry.name||e.entry.type!==r.entry.type||e.entry.icon!==r.entry.icon||e.entry.children===void 0!=(r.entry.children===void 0))return!1;const h=e.entry.children!==void 0,u=r.entry.children!==void 0,s=h&&e.isDirOpen(e.entry.absolutePath,e.entry.relativePath),m=u&&r.isDirOpen(r.entry.absolutePath,r.entry.relativePath);if(e.indentLevel!==r.indentLevel||s!==m||e.selectedPath!==r.selectedPath||e.onFileSelect!==r.onFileSelect||e.toggleDirectory!==r.toggleDirectory||e.onToggleDirectoryRecursive!==r.onToggleDirectoryRecursive||e.selectionMode!==r.selectionMode||e.selectedItems!==r.selectedItems||e.onSelectionChange!==r.onSelectionChange||e.iconOverrides!==r.iconOverrides||e.parentIsLast.length!==r.parentIsLast.length)return!1;for(let f=0;f<e.parentIsLast.length;f++)if(e.parentIsLast[f]!==r.parentIsLast[f])return!1;return!0});Ee.displayName="DirectoryEntryItem";const se=20,ge=16,je=e=>{const r=[];if(e.children)for(const h of e.children)h.type==="directory"&&(r.push(h.absolutePath),r.push(...je(h)));return r},Me=(e,r,h=[],u=0)=>e.flatMap((s,m)=>{const f=m===e.length-1,c=[...h,f],x={entry:s,indentLevel:u,parentIsLast:c};return s.children&&s.children.length>0&&r(s.absolutePath,s.relativePath)?[x,...Me(s.children,r,c,u+1)]:[x]}),Be=({entries:e,onFileSelect:r,className:h,style:u,selectedPath:s,toggle:m,isExpanded:f,expandMultiple:c,collapseMultiple:x,isPending:C,doubleClickAction:$="recursive",selectionMode:T="none",selectedItems:Y,onSelectionChange:S,lineColor:N="#A0AEC0",virtualScrollOptions:l,viewportHeightOverride:n,iconOverrides:d})=>{const[y,b]=o.useState(!1),L=o.useRef(null),O=o.useRef(null),[J,R]=o.useState(0),[k,q]=o.useState(null),{overscanCount:z,className:A,background:K,onScroll:H,onRangeChange:F,initialScrollIndex:Z,initialScrollOffset:B,tapScrollCircleOptions:le,scrollBarWidth:ce,enableThumbDrag:ie,enableTrackClick:ue,enableArrowButtons:t,enablePointerDrag:a,inertiaOptions:v}=l??{},w=typeof B=="number"?B:0,[W,ee]=o.useState(w),g=typeof z=="number"?z:10,G=o.useCallback((i,I)=>{ee(i),H?.(i,I)},[H]),te=o.useCallback((i,I,j,E,_,V)=>{q(D=>D&&D.renderStart===i&&D.renderEnd===I?D:{renderStart:i,renderEnd:I}),F?.(i,I,j,E,_,V)},[F]);o.useEffect(()=>{typeof B=="number"&&ee(B)},[B]),o.useEffect(()=>{b(!0),Ye()},[]),o.useEffect(()=>{if(typeof n=="number"){R(E=>Math.abs(E-n)>1?n:E);return}const i=L.current;if(!i){R(0);return}(()=>{const E=i.clientHeight;R(_=>Math.abs(_-E)>1?E:_)})();const j=new ResizeObserver(E=>{for(const _ of E)if(_.target===i){const{height:V}=_.contentRect;R(D=>Math.abs(D-V)>1?V:D)}});return j.observe(i),()=>{j.disconnect()}},[n]);const U=typeof n=="number"?n:J,X=o.useCallback(i=>y?f(i):!1,[y,f]),pe=C?`${M.container} ${M.containerPending}`:M.container,ve=o.useMemo(()=>typeof n=="number"?{...ye,...u??{},height:n,minHeight:n}:u?{...ye,...u}:{...ye},[u,n]),$e=o.useCallback((i,I)=>{const j=je(i),E=[i.absolutePath,...j],_=I||$;E.every(D=>X(D))?x(E):E.every(re=>!X(re))||_==="recursive"?c(E):_==="toggle"?x(E):console.warn(`[DirectoryTree] Unknown double click action: ${_}. No action taken.`)},[X,c,x,$]),de=o.useMemo(()=>{if(e.length===0)return[];const i=[];function I(j,E,_){j.forEach((V,D)=>{const re=V.children!==void 0,be=V.absolutePath,xe=re&&X(be),Le={id:be,name:V.name,absolutePath:be,indentLevel:E,isLastChild:D===j.length-1,isDirectory:re,isExpanded:xe,ancestorIsLast:[..._]};i.push(Le),re&&xe&&V.children&&I(V.children,E+1,[..._,D===j.length-1])})}return I(e,0,[]),i},[e,X]),Q=o.useMemo(()=>Me(e,X),[e,X]),fe=o.useMemo(()=>{if(e.length===0)return 0;let i=0;for(const I of de)I.indentLevel>i&&(i=I.indentLevel);return(i+2)*ge},[de,e]),Ne=o.useMemo(()=>{if(fe<=0||U<=0)return null;const i=k?.renderStart??Math.max(0,Math.floor(W/se)),I=U>0?Math.ceil(U/se)+g:g,j=Q.length>0?Math.min(Q.length-1,i+I):i,E=k?.renderEnd??j,_=Q.length>0?Math.min(Q.length-1,E+g):E;return p.jsx("div",{className:"pointer-events-none absolute inset-0 z-0","aria-hidden":"true",children:p.jsx("div",{className:"absolute top-0 left-0",style:{width:fe,height:U},children:p.jsx(Te,{items:de,itemHeight:se,width:fe,segmentWidth:ge,color:N,renderFromY:W,renderHeight:U,renderStartIndex:i,renderEndIndex:E,lookaheadEndIndex:_})})})},[fe,U,k,W,g,Q.length,de,N]);return e.length===0?p.jsx("div",{className:`${pe} ${h||""}`,style:ve}):p.jsx("div",{ref:L,className:`${pe} ${h||""}`,style:ve,role:"tree",children:p.jsx(Ve,{ref:O,itemCount:Q.length,getItem:i=>Q[i],getItemHeight:()=>se,viewportSize:U,overscanCount:g,onScroll:G,onRangeChange:te,className:A,background:p.jsxs(p.Fragment,{children:[Ne,K]}),initialScrollIndex:Z,initialScrollOffset:B,tapScrollCircleOptions:le,scrollBarWidth:ce,enableThumbDrag:ie,enableTrackClick:ue,enableArrowButtons:t,enablePointerDrag:a,inertiaOptions:v,children:(i,I)=>{if(!i)return null;const{entry:j,indentLevel:E,parentIsLast:_}=i;return p.jsx(Ee,{entry:j,indentLevel:E,isDirOpen:X,onFileSelect:r,toggleDirectory:m,onToggleDirectoryRecursive:$e,selectedPath:s,parentIsLast:_,renderChildren:!1,selectionMode:T,selectedItems:Y,onSelectionChange:S,iconOverrides:d},j.absolutePath)}})})},Ue=({initialExpanded:e=new Set,storageKey:r}={})=>{const[h,u]=o.useTransition(),[s,m]=o.useState(()=>{if(typeof window<"u"&&r)try{const l=window.localStorage.getItem(r);if(l){const n=JSON.parse(l);return new Set(n)}}catch(l){console.error("[useDirectoryTreeState] Error reading from localStorage",l)}return e}),f=o.useCallback(l=>{u(()=>{m(n=>{const d=new Set(n);return l(d),d})})},[]),c=o.useCallback((l,n)=>{f(d=>{for(const y of l)n(d,y)})},[f]);o.useEffect(()=>{if(r&&typeof window<"u")try{window.localStorage.setItem(r,JSON.stringify(Array.from(s)))}catch(l){console.warn(`Error setting localStorage key "${r}":`,l)}},[s,r]);const x=o.useCallback(l=>{c([l],(n,d)=>{n.has(d)?n.delete(d):n.add(d)})},[c]),C=o.useCallback(l=>{c([l],(n,d)=>{n.add(d)})},[c]),$=o.useCallback(l=>{c([l],(n,d)=>{n.delete(d)})},[c]),T=o.useCallback(l=>{c(l,(n,d)=>{n.delete(d)})},[c]),Y=o.useCallback(l=>{c(l,(n,d)=>{n.add(d)})},[c]),S=o.useCallback(()=>{f(l=>{l.clear()})},[f]),N=o.useCallback(l=>s.has(l),[s]);return{expanded:s,toggle:x,expand:C,collapse:$,collapseMultiple:T,expandMultiple:Y,collapseAll:S,isExpanded:N,isPending:h}};exports.DirectoryTree=Be;exports.TreeLine=Te;exports.directoryTreeClasses=M;exports.getEntryClasses=Re;exports.getExpandIconClasses=_e;exports.getNameClasses=Ce;exports.getTypeIconClasses=Ie;exports.useDirectoryTreeState=Ue;
|
|
23
|
-
//# sourceMappingURL=index.cjs.map
|
|
6
|
+
<%s key={someKey} {...props} />`,R,w,G,w),N[w+R]=!0)}if(w=null,S!==void 0&&(r(S),w=""+S),u(b)&&(r(b.key),w=""+b.key),"key"in b){S={};for(var ae in b)ae!=="key"&&(S[ae]=b[ae])}else S=b;return w&&h(S,typeof t=="function"?t.displayName||t.name||"Unknown":t),y(t,w,S,o(),ee,re)}function g(t){I(t)?t._store&&(t._store.validated=1):typeof t=="object"&&t!==null&&t.$$typeof===L&&(t._payload.status==="fulfilled"?I(t._payload.value)&&t._payload.value._store&&(t._payload.value._store.validated=1):t._store&&(t._store.validated=1))}function I(t){return typeof t=="object"&&t!==null&&t.$$typeof===x}var k=d,x=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),p=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),P=Symbol.for("react.client.reference"),F=k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q=Object.prototype.hasOwnProperty,Y=Array.isArray,J=console.createTask?console.createTask:function(){return null};k={react_stack_bottom_frame:function(t){return t()}};var ne,U={},H=k.react_stack_bottom_frame.bind(k,c)(),K=J(a(c)),N={};le.Fragment=l,le.jsx=function(t,b,S){var R=1e4>F.recentlyCreatedOwnerStacks++;return m(t,b,S,!1,R?Error("react-stack-top-frame"):H,R?J(a(t)):K)},le.jsxs=function(t,b,S){var R=1e4>F.recentlyCreatedOwnerStacks++;return m(t,b,S,!0,R?Error("react-stack-top-frame"):H,R?J(a(t)):K)}})()),le}var je;function Qe(){return je||(je=1,process.env.NODE_ENV==="production"?he.exports=He():he.exports=Ze()),he.exports}var v=Qe();const Ke=(e,n,r)=>{const a=[];for(let o=n;o<r;o++){const c=e[o];if(!(!c||c.length===0))for(const u of c)a.push(u)}return a},et=(e,n,r)=>{const a=[];for(let o=n;o<r;o++){const c=e[o];if(!(!c||c.length===0))for(const u of c)a.push(u)}return a},tt=(e,n,r,a)=>{const o=Math.max(1,Math.floor(n*a)),c=Math.max(1,Math.floor(r*a));(e.width!==o||e.height!==c)&&(e.width=o,e.height=c);const u=e.style;u.width!==`${n}px`&&(u.width=`${n}px`),u.height!==`${r}px`&&(u.height=`${r}px`)},nt=(e,n,r)=>{e.lineWidth=r,e.beginPath();for(const a of n)e.moveTo(a.x1,a.y1),e.lineTo(a.x2,a.y2);e.stroke()},rt=(e,n)=>{const r=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e.trim());if(!r)return null;let a=r[1];a.length===3&&(a=a.split("").map(h=>h+h).join(""));const o=Number.parseInt(a.slice(0,2),16),c=Number.parseInt(a.slice(2,4),16),u=Number.parseInt(a.slice(4,6),16);return`rgba(${o}, ${c}, ${u}, ${n})`},at=(e,n,r,a)=>{if(n.length===0)return;const o=rt(r,.14),c=e.strokeStyle,u=e.fillStyle,h=e.lineWidth,f=e.lineCap,y=e.lineJoin;e.strokeStyle=r,e.lineCap="round",e.lineJoin="round";for(const m of n){const g=a??m.size,I=Math.max(0,g/2),k=Math.max(1,Math.round(g*.08)),x=Math.max(1,Math.round(g*.14)),s=Math.max(0,I-k*.8),l=Math.max(0,s*.55);o&&(e.fillStyle=o,e.beginPath(),e.arc(m.centerX,m.centerY,s,0,Math.PI*2),e.fill()),e.lineWidth=k,e.beginPath(),e.arc(m.centerX,m.centerY,Math.max(0,I-k*.3),0,Math.PI*2),e.stroke(),e.lineWidth=x,e.beginPath(),e.moveTo(m.centerX-l,m.centerY),e.lineTo(m.centerX+l,m.centerY),e.stroke(),m.isExpanded||(e.beginPath(),e.moveTo(m.centerX,m.centerY-l),e.lineTo(m.centerX,m.centerY+l),e.stroke())}e.strokeStyle=c,e.fillStyle=u,e.lineWidth=h,e.lineCap=f,e.lineJoin=y},De=d.memo(({segmentsByItem:e,glyphsByItem:n,itemHeight:r,width:a,viewportHeight:o,scrollPosition:c,color:u="#a0aec0",strokeWidth:h=1,renderStartIndex:f,renderEndIndex:y,lookaheadEndIndex:m,devicePixelRatio:g,expandGlyphColor:I,expandGlyphSize:k})=>{const x=d.useRef(null),s=d.useRef(null),l=d.useRef({segmentsByItem:e,glyphsByItem:n,itemHeight:r,width:a,viewportHeight:o,scrollPosition:c,color:u,strokeWidth:h,renderStartIndex:f,renderEndIndex:y,lookaheadEndIndex:m,devicePixelRatio:g,expandGlyphColor:I,expandGlyphSize:k}),E=d.useCallback(()=>{s.current=null;const C=x.current;if(!C)return;const p=C.getContext("2d");if(!p)return;const i=l.current;if(i.width<=0||i.viewportHeight<=0){p.clearRect(0,0,C.width,C.height);return}const A=Number.isFinite(i.devicePixelRatio??NaN)?i.devicePixelRatio:typeof window<"u"&&window.devicePixelRatio||1;tt(C,i.width,i.viewportHeight,A);const j=i.segmentsByItem.length,O=typeof i.renderStartIndex=="number"&&Number.isFinite(i.renderStartIndex)?Math.max(0,Math.floor(i.renderStartIndex)):Math.max(0,Math.floor(i.scrollPosition/i.itemHeight)),L=Math.min(j,Math.ceil((i.scrollPosition+i.viewportHeight)/i.itemHeight)),X=(()=>{if(typeof i.renderEndIndex=="number"&&Number.isFinite(i.renderEndIndex)){const Y=Math.floor(i.renderEndIndex);return Math.max(Math.min(j,Y+1),O)}return Math.max(L,O)})(),P=(()=>{if(typeof i.lookaheadEndIndex=="number"&&Number.isFinite(i.lookaheadEndIndex)){const Y=Math.floor(i.lookaheadEndIndex),J=Math.min(j,Y+1);return Math.max(J,X)}return Math.max(L,X)})(),F=Ke(i.segmentsByItem,O,P),q=et(i.glyphsByItem,O,P);p.save(),p.scale(A,A),p.clearRect(0,0,i.width,i.viewportHeight),p.translate(0,-i.scrollPosition),p.strokeStyle=i.color,nt(p,F,i.strokeWidth),at(p,q,i.expandGlyphColor??i.color,i.expandGlyphSize),p.restore()},[]),M=d.useCallback(()=>{s.current===null&&(s.current=window.requestAnimationFrame(E))},[E]);return d.useEffect(()=>{l.current={segmentsByItem:e,glyphsByItem:n,itemHeight:r,width:a,viewportHeight:o,scrollPosition:c,color:u,strokeWidth:h,renderStartIndex:f,renderEndIndex:y,lookaheadEndIndex:m,devicePixelRatio:g,expandGlyphColor:I,expandGlyphSize:k},M()},[e,n,r,a,o,c,u,h,f,y,m,g,I,k,M]),d.useEffect(()=>()=>{s.current!==null&&(window.cancelAnimationFrame(s.current),s.current=null)},[]),v.jsx("canvas",{ref:x,className:"pointer-events-none absolute top-0 left-0 z-0"})});De.displayName="TreeLineCanvas";const D={container:"directory-tree-container relative h-full transition-opacity duration-300 overflow-y-hidden pb-[5px] pr-[3px]",containerPending:"opacity-70",entry:"directory-tree-entry flex items-center cursor-pointer relative select-none",entryHover:W.twMerge("directory-tree-entry--hover hover:bg-gray-400/15","dark:hover:bg-gray-200/10"),entrySelected:W.twMerge("directory-tree-entry--selected bg-blue-400/10","dark:bg-blue-400/15"),entryItemSelected:W.twMerge("directory-tree-entry--item-selected bg-blue-400/20 shadow-[0_0_0_1px_rgba(59,130,246,0.3)]","dark:bg-blue-400/25 dark:shadow-[0_0_0_1px_rgba(96,165,250,0.4)]"),expandIcon:W.twMerge("directory-tree-expand-icon w-5 h-5 flex-shrink-0 flex items-center justify-center","text-gray-500","dark:text-gray-400"),expandIconSelected:W.twMerge("directory-tree-expand-icon--selected text-blue-700","dark:text-blue-400"),typeIcon:W.twMerge("directory-tree-type-icon w-5 h-5 flex-shrink-0 flex items-center justify-center","text-gray-500","dark:text-gray-400"),typeIconSelected:W.twMerge("directory-tree-type-icon--selected text-blue-700","dark:text-blue-400"),name:W.twMerge("directory-tree-name overflow-hidden text-ellipsis whitespace-nowrap ml-1","text-gray-700","dark:text-gray-200"),nameDirectory:"directory-tree-name--directory",nameSelected:W.twMerge("directory-tree-name--selected text-blue-800 font-medium","dark:text-blue-300")},Ie={msOverflowStyle:"none",scrollbarWidth:"none"},ot=()=>{let e=document.getElementById("directory-tree-webkit-scrollbar-hide");e||(e=document.createElement("style"),e.id="directory-tree-webkit-scrollbar-hide",e.textContent=".directory-tree-container::-webkit-scrollbar { display: none; }",document.head.appendChild(e))},be=(e,...n)=>W.twMerge(e,...n.filter(Boolean)),$e=(e=!1,n=!1,r=!1)=>be(D.entry,e&&D.entryHover,n&&D.entrySelected,r&&D.entryItemSelected),Pe=(e=!1)=>be(D.expandIcon,e&&D.expandIconSelected),Oe=(e=!1)=>be(D.typeIcon,e&&D.typeIconSelected),Le=(e=!1,n=!1)=>be(D.name,e&&D.nameDirectory,n&&D.nameSelected),st=(e,n,r)=>{const a=[],o=[];let c=0;const u=(h,f,y)=>{for(let m=0;m<h.length;m++){const g=h[m],I=m===h.length-1,k=[...y,I],x=g.children!==void 0,s=x&&n(g.absolutePath,g.relativePath);a.push({entry:g,indentLevel:f,parentIsLast:k}),r&&(f>c&&(c=f),o.push({id:g.absolutePath,name:g.name,absolutePath:g.absolutePath,indentLevel:f,isLastChild:I,isDirectory:x,isExpanded:s,ancestorIsLast:[...y]})),x&&s&&g.children&&u(g.children,f+1,k)}};return u(e,0,[]),{flatItems:a,lineItems:o,maxIndent:c}},lt=(e,n,r,a,o)=>{const c=a?.renderStart??Math.max(0,Math.floor(o/Q)),u=n>0?Math.ceil(n/Q)+r:r,h=e>0?Math.min(e-1,c+u):c,f=a?.renderEnd??h,y=e>0?Math.min(e-1,f+r):f;return{renderStart:c,renderEnd:f,lookaheadEnd:y}},ct=({isDirectory:e,isExpanded:n,showExpandIcons:r,useCanvasExpandIcons:a})=>!(r&&e)||a?v.jsx("span",{className:"h-4 w-4","aria-hidden":"true"}):n?v.jsx(me.ChevronDownIcon,{className:"h-4 w-4"}):v.jsx(me.ChevronRightIcon,{className:"h-4 w-4"}),it=Ge.VirtualScroll,ut=e=>e.slice((e.lastIndexOf(".")-1>>>0)+2).toLowerCase(),dt=(e,n,r,a,o)=>{if(e.length===0)return{segmentsByItem:[],glyphsByItem:[]};const c=Array.from({length:e.length},()=>[]),u=Array.from({length:e.length},()=>[]),h=a?typeof o=="number"&&Number.isFinite(o)&&o>0?o:Math.max(8,Math.min(r*.9,n*.7)):0;for(let f=0;f<e.length;f++){const y=e[f],m=[],g=f*n,I=g+n/2,k=r/1.5;for(let l=0;l<y.indentLevel;l++){if(y.ancestorIsLast[l]??!1)continue;let M=!1;for(let C=f;C<e.length;C++){const p=e[C];if(p.indentLevel>l&&p.ancestorIsLast.length>l&&!p.ancestorIsLast[l]){M=!0;break}if(C>f&&p.indentLevel===l)break}if(M){const C=l*r+r/2;m.push({key:`${y.id}-ancestor-${l}`,x1:C,y1:g,x2:C,y2:g+n,itemIndex:f})}}const x=y.indentLevel*r,s=x+r/2;if(y.isDirectory?m.push({key:`${y.id}-connector-top`,x1:s,y1:g,x2:s,y2:I-k,itemIndex:f}):m.push({key:`${y.id}-connector-top`,x1:s,y1:g,x2:s,y2:I,itemIndex:f}),!y.isDirectory&&y.isLastChild&&m.push({key:`${y.id}-connector-horizontal`,x1:s,y1:I,x2:x+r,y2:I,itemIndex:f}),y.isLastChild||(y.isDirectory?m.push({key:`${y.id}-connector-bottom`,x1:s,y1:I+k,x2:s,y2:g+n,itemIndex:f}):m.push({key:`${y.id}-connector-bottom`,x1:s,y1:I,x2:s,y2:g+n,itemIndex:f})),c[f]=m,a&&y.isDirectory){const l=h,E=s,M=I;u[f]=[{key:`${y.id}-glyph`,itemIndex:f,centerX:E,centerY:M,size:l,isExpanded:y.isExpanded}]}}return{segmentsByItem:c,glyphsByItem:u}},ft=Symbol.for("react.lazy"),ht=e=>typeof e=="object"&&e!==null&&typeof e.then=="function",ke=(e,n)=>{if(e==null||e===!1)return null;if(typeof e=="function")return console.warn(`[DirectoryTree] Icon renderer for "${n.entry.absolutePath}" returned a function. Return a React node instead to avoid dynamic loading delays.`),null;if(typeof e=="object"){if(ht(e))return console.warn(`[DirectoryTree] Icon renderer for "${n.entry.absolutePath}" returned a Promise. Dynamic icon loading is not supported.`),null;if(Array.isArray(e)){const r=e.map(a=>ke(a,n)).filter(a=>a!==null);return r.length>0?r:null}if(d.isValidElement(e)){const r=e.type;if(r&&typeof r=="object"&&r.$$typeof===ft)return console.warn(`[DirectoryTree] Icon renderer for "${n.entry.absolutePath}" returned a lazily loaded component. Dynamic icon loading is not supported.`),null}}return e},ce=(e,n)=>{if(!e)return null;if(typeof e=="function"){const r=e(n);return ke(r,n)}return ke(e,n)},mt=(e,n)=>{const{entry:r,isDirectory:a,isExpanded:o,extension:c}=e,u=ce(r.icon,e);if(u)return u;if(a){const f=o?ce(n?.directoryExpanded,e):null;if(f)return f;const y=ce(n?.directory,e);return y||v.jsx(me.FolderIcon,{className:"h-4 w-4"})}if(c){const f=ce(n?.fileByExtension?.[c],e);if(f)return f}const h=ce(n?.file,e);return h||(c==="md"?v.jsx(me.DocumentTextIcon,{className:"h-4 w-4"}):v.jsx(Ue.FileIcon,{className:"h-4 w-4"}))},Se=d.memo(({entry:e,indentLevel:n,isDirOpen:r,onFileSelect:a,toggleDirectory:o,onToggleDirectoryRecursive:c,selectedPath:u,parentIsLast:h,renderChildren:f=!0,selectionMode:y="none",selectedItems:m,onSelectionChange:g,iconOverrides:I,showExpandIcons:k=!0,showDirectoryIcons:x=!0,showFileIcons:s=!0,useCanvasExpandIcons:l=!1})=>{const E=d.useRef(null),[M,C]=d.useState(null);d.useEffect(()=>()=>{E.current&&window.clearTimeout(E.current)},[]);const p=e.children!==void 0,i=p&&r(e.absolutePath,e.relativePath),A=e.absolutePath===u,j=!p&&m?.has(e.absolutePath),O=p?void 0:ut(e.name);d.useEffect(()=>{i&&e.children?Promise.resolve().then(()=>{C(e.children??[])}):C(null)},[i,e.children]);const L=d.useCallback(N=>{N.stopPropagation(),y!=="none"&&!p&&g&&g(e.absolutePath,!j),p?E.current?(window.clearTimeout(E.current),E.current=null,c(e)):E.current=window.setTimeout(()=>{o(e.absolutePath,e.relativePath),E.current=null},500):a(e.absolutePath,e.relativePath)},[p,e,c,o,a,y,g,j]),[X,P]=d.useState(!1),F=$e(X,A,j),q=Pe(A||j),Y=ct({isDirectory:p,isExpanded:i,showExpandIcons:k,useCanvasExpandIcons:l}),U=(p?x:s)?mt({entry:e,isDirectory:p,isExpanded:i,isSelected:A,isItemSelected:!!j,extension:O},I):null,H=Oe(A||j),K=Le(p,A||j);return v.jsxs(d.Fragment,{children:[v.jsxs("div",{className:F,style:{paddingLeft:`${n*ye}px`,height:`${Q}px`},"data-entry-type":p?"directory":"file","data-entry-expanded":p?i?"true":"false":void 0,"data-entry-selected":A?"true":void 0,"data-entry-item-selected":j?"true":void 0,onClick:L,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1),onKeyDown:N=>{N.key==="Enter"&&L(N)},tabIndex:0,role:"treeitem","aria-expanded":p?i:void 0,"aria-label":`${e.name} (${p?"directory":"file"})`,children:[v.jsx("span",{className:q,children:Y}),v.jsx("span",{className:H,children:U}),v.jsx("span",{className:K,"data-entry-type":p?"directory":"file","data-entry-role":"name",children:e.name})]}),i&&M&&f&&v.jsx("fieldset",{children:M.map((N,t)=>v.jsx(Se,{entry:N,indentLevel:n+1,isDirOpen:r,onFileSelect:a,toggleDirectory:o,onToggleDirectoryRecursive:c,selectedPath:u,parentIsLast:[...h,t===(M||[]).length-1],selectionMode:y,selectedItems:m,onSelectionChange:g,iconOverrides:I,showExpandIcons:k,showDirectoryIcons:x,showFileIcons:s,useCanvasExpandIcons:l},N.absolutePath))})]},e.absolutePath)},(e,n)=>{if(e.entry.absolutePath!==n.entry.absolutePath||e.entry.relativePath!==n.entry.relativePath||e.entry.name!==n.entry.name||e.entry.type!==n.entry.type||e.entry.icon!==n.entry.icon||e.entry.children===void 0!=(n.entry.children===void 0))return!1;const r=e.entry.children!==void 0,a=n.entry.children!==void 0,o=r&&e.isDirOpen(e.entry.absolutePath,e.entry.relativePath),c=a&&n.isDirOpen(n.entry.absolutePath,n.entry.relativePath);if(e.indentLevel!==n.indentLevel||o!==c||e.selectedPath!==n.selectedPath||e.onFileSelect!==n.onFileSelect||e.toggleDirectory!==n.toggleDirectory||e.onToggleDirectoryRecursive!==n.onToggleDirectoryRecursive||e.selectionMode!==n.selectionMode||e.selectedItems!==n.selectedItems||e.onSelectionChange!==n.onSelectionChange||e.iconOverrides!==n.iconOverrides||e.showExpandIcons!==n.showExpandIcons||e.showDirectoryIcons!==n.showDirectoryIcons||e.showFileIcons!==n.showFileIcons||e.useCanvasExpandIcons!==n.useCanvasExpandIcons||e.parentIsLast.length!==n.parentIsLast.length)return!1;for(let u=0;u<e.parentIsLast.length;u++)if(e.parentIsLast[u]!==n.parentIsLast[u])return!1;return!0});Se.displayName="DirectoryEntryItem";const Q=20,ye=16,Ae=Math.max(8,Math.min(ye*.85,Q*.7)),Fe=e=>{const n=[];if(e.children)for(const r of e.children)r.type==="directory"&&(n.push(r.absolutePath),n.push(...Fe(r)));return n},yt=({entries:e,onFileSelect:n,className:r,style:a,selectedPath:o,toggle:c,isExpanded:u,expandMultiple:h,collapseMultiple:f,isPending:y,doubleClickAction:m="recursive",selectionMode:g="none",selectedItems:I,onSelectionChange:k,lineColor:x="#A0AEC0",virtualScrollOptions:s,viewportHeightOverride:l,iconOverrides:E,showExpandIcons:M=!0,showDirectoryIcons:C=!0,showFileIcons:p=!0,showTreeLines:i=!0})=>{const[A,j]=d.useState(!1),O=d.useRef(null),L=d.useRef(null),[X,P]=d.useState(0),[F,q]=d.useState(null),{overscanCount:Y,className:J,background:ne,onScroll:U,onRangeChange:H,initialScrollIndex:K,initialScrollOffset:N,tapScrollCircleOptions:t,scrollBarWidth:b,enableThumbDrag:S,enableTrackClick:R,enableArrowButtons:ee,enablePointerDrag:re,callbackThrottleMs:w,inertiaOptions:G,contentInsets:ae}=s??{},ge=typeof N=="number"?N:0,[ie,xe]=d.useState(ge),pe=typeof Y=="number"?Y:15,Ye=typeof w=="number"?w:5,Be=d.useCallback((T,B)=>{xe(T),U?.(T,B)},[U]),ze=d.useCallback((T,B,V,_,$,oe)=>{q(z=>z&&z.renderStart===T&&z.renderEnd===B?z:{renderStart:T,renderEnd:B}),H?.(T,B,V,_,$,oe)},[H]);d.useEffect(()=>{typeof N=="number"&&xe(N)},[N]),d.useEffect(()=>{j(!0),ot()},[]),d.useEffect(()=>{if(typeof l=="number"){P(_=>Math.abs(_-l)>1?l:_);return}const T=O.current;if(!T){P(0);return}(()=>{const _=T.clientHeight;P($=>Math.abs($-_)>1?_:$)})();const V=new ResizeObserver(_=>{for(const $ of _)if($.target===T){const{height:oe}=$.contentRect;P(z=>Math.abs(z-oe)>1?oe:z)}});return V.observe(T),()=>{V.disconnect()}},[l]);const Z=typeof l=="number"?l:X,te=d.useCallback((T,B)=>A?u(T):!1,[A,u]),ve=y?`${D.container} ${D.containerPending}`:D.container,we=d.useMemo(()=>typeof l=="number"?{...Ie,...a??{},height:l,minHeight:l}:a?{...Ie,...a}:{...Ie},[a,l]),We=d.useCallback((T,B)=>{const V=Fe(T),_=[T.absolutePath,...V],$=B||m;_.every(z=>te(z))?f(_):_.every(Je=>!te(Je))||$==="recursive"?h(_):$==="toggle"?f(_):console.warn(`[DirectoryTree] Unknown double click action: ${$}. No action taken.`)},[te,h,f,m]),{flatItems:ue,lineItems:Ee,maxIndent:Re}=d.useMemo(()=>st(e,te,i),[e,te,i]),de=d.useMemo(()=>!i||Ee.length===0?{segmentsByItem:[],glyphsByItem:[]}:dt(Ee,Q,ye,i,Ae),[Ee,i]),fe=d.useMemo(()=>!i||e.length===0?0:(Re+2)*ye,[e.length,Re,i]),Ve=d.useMemo(()=>lt(ue.length,Z,pe,F,ie),[ue.length,Z,pe,F,ie]),Xe=i,{renderStart:Te,renderEnd:Ce,lookaheadEnd:_e}=Ve,qe=d.useMemo(()=>!i||fe<=0||Z<=0||de.segmentsByItem.length===0?null:v.jsx("div",{className:"pointer-events-none absolute inset-0 z-0","aria-hidden":"true",children:v.jsx("div",{className:"absolute top-0 left-0",style:{width:fe,height:Z},children:v.jsx(De,{segmentsByItem:de.segmentsByItem,glyphsByItem:de.glyphsByItem,itemHeight:Q,width:fe,viewportHeight:Z,scrollPosition:ie,color:x,expandGlyphColor:x,expandGlyphSize:Ae,renderStartIndex:Te,renderEndIndex:Ce,lookaheadEndIndex:_e})})}),[fe,Z,Te,Ce,_e,ie,de,x,i]);return e.length===0?v.jsx("div",{className:`${ve} ${r||""}`,style:we}):v.jsx("div",{ref:O,className:`${ve} ${r||""}`,style:we,role:"tree",children:v.jsx(it,{ref:L,itemCount:ue.length,getItem:T=>ue[T],getItemHeight:()=>Q,viewportSize:Z,overscanCount:pe,onScroll:Be,onRangeChange:ze,className:J,background:v.jsxs(v.Fragment,{children:[qe,ne]}),initialScrollIndex:K,initialScrollOffset:N,tapScrollCircleOptions:t,scrollBarWidth:b,enableThumbDrag:S,enableTrackClick:R,enableArrowButtons:ee,enablePointerDrag:re,callbackThrottleMs:Ye,inertiaOptions:G,contentInsets:ae,children:(T,B)=>{if(!T)return null;const{entry:V,indentLevel:_,parentIsLast:$}=T;return v.jsx(Se,{entry:V,indentLevel:_,isDirOpen:te,onFileSelect:n,toggleDirectory:c,onToggleDirectoryRecursive:We,selectedPath:o,parentIsLast:$,renderChildren:!1,selectionMode:g,selectedItems:I,onSelectionChange:k,iconOverrides:E,showExpandIcons:M,showDirectoryIcons:C,showFileIcons:p,useCanvasExpandIcons:Xe},V.absolutePath)}})})},bt=({initialExpanded:e=new Set,storageKey:n}={})=>{const[r,a]=d.useTransition(),[o,c]=d.useState(()=>{if(typeof window<"u"&&n)try{const s=window.localStorage.getItem(n);if(s){const l=JSON.parse(s);return new Set(l)}}catch(s){console.error("[useDirectoryTreeState] Error reading from localStorage",s)}return e}),u=d.useCallback(s=>{a(()=>{c(l=>{const E=new Set(l);return s(E),E})})},[]),h=d.useCallback((s,l)=>{u(E=>{for(const M of s)l(E,M)})},[u]);d.useEffect(()=>{if(n&&typeof window<"u")try{window.localStorage.setItem(n,JSON.stringify(Array.from(o)))}catch(s){console.warn(`Error setting localStorage key "${n}":`,s)}},[o,n]);const f=d.useCallback(s=>{h([s],(l,E)=>{l.has(E)?l.delete(E):l.add(E)})},[h]),y=d.useCallback(s=>{h([s],(l,E)=>{l.add(E)})},[h]),m=d.useCallback(s=>{h([s],(l,E)=>{l.delete(E)})},[h]),g=d.useCallback(s=>{h(s,(l,E)=>{l.delete(E)})},[h]),I=d.useCallback(s=>{h(s,(l,E)=>{l.add(E)})},[h]),k=d.useCallback(()=>{u(s=>{s.clear()})},[u]),x=d.useCallback(s=>o.has(s),[o]);return{expanded:o,toggle:f,expand:y,collapse:m,collapseMultiple:g,expandMultiple:I,collapseAll:k,isExpanded:x,isPending:r}};exports.DirectoryTree=yt;exports.directoryTreeClasses=D;exports.getEntryClasses=$e;exports.getExpandIconClasses=Pe;exports.getNameClasses=Le;exports.getTypeIconClasses=Oe;exports.useDirectoryTreeState=bt;
|