@tailor-platform/app-shell 0.7.0 → 0.8.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/index.css CHANGED
@@ -1,2 +1,2 @@
1
- @layer properties;@layer theme,base,components,utilities;@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-gray-200: oklch(92.8% .006 264.531);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-lg: 32rem;--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-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--ease-in-out: cubic-bezier(.4, 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);--color-bg: rgba(250, 250, 250, 1);--color-border: rgba(229, 229, 229, 1);--color-destructive: rgba( 220, 38, 38, 1 );--color-fg: rgba(10, 10, 10, 1);--color-input: rgba(229, 229, 229, 1);--color-ring: rgba(163, 163, 163, 1);--color-sidebar-fg: rgba(10, 10, 10, 1);--color-sidebar-bg: rgba(250, 250, 250, 1);--color-sidebar-border: rgba( 229, 229, 229, 1 );--color-sidebar-ring: rgba( 163, 163, 163, 1 )}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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)){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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1 / 1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-auto{height:auto}.h-full{height:100%}.h-svh{height:100svh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-\[calc\(100\%-var\(--sidebar-width\)\)\]{width:calc(100% - var(--sidebar-width))}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x: -1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x: 1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-in{animation:enter var(--tw-duration,.15s)var(--tw-ease,ease)}.animate-pulse{animation:var(--animate-pulse)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:var(--color-input)}.border-sidebar-border{border-color:var(--color-sidebar-border)}.bg-bg{background-color:var(--color-bg)}.bg-black\/50{background-color:color-mix(in srgb,#000 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-destructive{background-color:var(--color-destructive)}.bg-sidebar-border{background-color:var(--color-sidebar-border)}.bg-transparent{background-color:transparent}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--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}.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-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-fg{color:var(--color-fg)}.text-sidebar-fg{color:var(--color-sidebar-fg)}.text-sidebar-fg\/70{color:color-mix(in srgb,rgba(10,10,10,1) 70%,transparent);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--color-sidebar-fg) 70%,transparent)}}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:70%}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));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, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;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, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-sidebar-ring{--tw-ring-color: var(--color-sidebar-ring)}.ring-offset-bg{--tw-ring-offset-color: var(--color-bg)}.outline-hidden{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}.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;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-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\,height\]{transition-property:width,height;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;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-200{--tw-duration: .2s;transition-duration:.2s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease: linear;transition-timing-function:linear}.outline-none{--tw-outline-style: none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.group-focus-within\/menu-item\:opacity-100{&:is(:where(.group\/menu-item):focus-within *){opacity:100%}}.group-hover\/menu-item\:opacity-100{&:is(:where(.group\/menu-item):hover *){@media (hover: hover){opacity:100%}}}.group-has-data-\[collapsible\=icon\]\/sidebar-wrapper\:h-12{&:is(:where(.group\/sidebar-wrapper):has(*[data-collapsible=icon]) *){height:calc(var(--spacing) * 12)}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8{&:is(:where(.group\/menu-item):has(*[data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}}.group-data-\[collapsible\=icon\]\:-mt-8{&:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}}.group-data-\[collapsible\=icon\]\:hidden{&:is(:where(.group)[data-collapsible=icon] *){display:none}}.group-data-\[collapsible\=icon\]\:size-8\!{&:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\){&:is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{&:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{&:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}}.group-data-\[collapsible\=icon\]\:overflow-hidden{&:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}}.group-data-\[collapsible\=icon\]\:p-0\!{&:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}}.group-data-\[collapsible\=icon\]\:p-2\!{&:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}}.group-data-\[collapsible\=icon\]\:opacity-0{&:is(:where(.group)[data-collapsible=icon] *){opacity:0%}}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}}.group-data-\[collapsible\=offcanvas\]\:w-0{&:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}}.group-data-\[collapsible\=offcanvas\]\:translate-x-0{&:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x: calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}.group-data-\[side\=left\]\:-right-4{&:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}}.group-data-\[side\=left\]\:border-r{&:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}}.group-data-\[side\=right\]\:left-0{&:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}}.group-data-\[side\=right\]\:rotate-180{&:is(:where(.group)[data-side=right] *){rotate:180deg}}.group-data-\[side\=right\]\:border-l{&:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}}.group-data-\[variant\=floating\]\:rounded-lg{&:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}}.group-data-\[variant\=floating\]\:border{&:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}}.group-data-\[variant\=floating\]\:border-sidebar-border{&:is(:where(.group)[data-variant=floating] *){border-color:var(--color-sidebar-border)}}.group-data-\[variant\=floating\]\:shadow-sm{&:is(:where(.group)[data-variant=floating] *){--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peer-data-\[size\=default\]\/menu-button\:top-1\.5{&:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{&:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}}.peer-data-\[size\=sm\]\/menu-button\:top-1{&:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}}.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:0px}}.file\:bg-transparent{&::file-selector-button{background-color:transparent}}.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-fg{&::file-selector-button{color:var(--color-fg)}}.after\:absolute{&:after{content:var(--tw-content);position:absolute}}.after\:-inset-2{&:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}}.after\:inset-y-0{&:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}}.after\:left-1\/2{&:after{content:var(--tw-content);left:50%}}.after\:w-\[2px\]{&:after{content:var(--tw-content);width:2px}}.group-data-\[collapsible\=offcanvas\]\:after\:left-full{&:is(:where(.group)[data-collapsible=offcanvas] *){&:after{content:var(--tw-content);left:100%}}}.hover\:bg-destructive\/90{&:hover{@media (hover: hover){background-color:color-mix(in srgb,rgba(220,38,38,1) 90%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}}}.hover\:text-fg{&:hover{@media (hover: hover){color:var(--color-fg)}}}.hover\:underline{&:hover{@media (hover: hover){text-decoration-line:underline}}}.hover\:opacity-100{&:hover{@media (hover: hover){opacity:100%}}}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]{&:hover{@media (hover: hover){--tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.hover\:after\:bg-sidebar-border{&:hover{@media (hover: hover){&:after{content:var(--tw-content);background-color:var(--color-sidebar-border)}}}}.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-ring{&:focus{--tw-ring-color: var(--color-ring)}}.focus\:ring-offset-2{&:focus{--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\:outline-hidden{&:focus{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}}.focus-visible\:border-ring{&:focus-visible{border-color:var(--color-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-\[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-destructive\/20{&:focus-visible{--tw-ring-color: color-mix(in srgb, rgba( 220, 38, 38, 1 ) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent)}}}.focus-visible\:ring-ring\/50{&:focus-visible{--tw-ring-color: color-mix(in srgb, rgba(163, 163, 163, 1) 50%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent)}}}.disabled\:pointer-events-none{&:disabled{pointer-events:none}}.disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.disabled\:opacity-50{&:disabled{opacity:50%}}.in-data-\[side\=left\]\:cursor-w-resize{:where(*[data-side=left]) &{cursor:w-resize}}.in-data-\[side\=right\]\:cursor-e-resize{:where(*[data-side=right]) &{cursor:e-resize}}.has-data-\[variant\=inset\]\:bg-sidebar-bg{&:has(*[data-variant=inset]){background-color:var(--color-sidebar-bg)}}.has-\[\>svg\]\:px-2\.5{&:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}}.has-\[\>svg\]\:px-3{&:has(>svg){padding-inline:calc(var(--spacing) * 3)}}.has-\[\>svg\]\:px-4{&:has(>svg){padding-inline:calc(var(--spacing) * 4)}}.aria-disabled\:pointer-events-none{&[aria-disabled=true]{pointer-events:none}}.aria-disabled\:opacity-50{&[aria-disabled=true]{opacity:50%}}.aria-invalid\:border-destructive{&[aria-invalid=true]{border-color:var(--color-destructive)}}.aria-invalid\:ring-destructive\/20{&[aria-invalid=true]{--tw-ring-color: color-mix(in srgb, rgba( 220, 38, 38, 1 ) 20%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent)}}}.data-\[active\=true\]\:font-medium{&[data-active=true]{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}}.data-\[orientation\=horizontal\]\:h-px{&[data-orientation=horizontal]{height:1px}}.data-\[orientation\=horizontal\]\:w-full{&[data-orientation=horizontal]{width:100%}}.data-\[orientation\=vertical\]\:h-full{&[data-orientation=vertical]{height:100%}}.data-\[orientation\=vertical\]\:w-px{&[data-orientation=vertical]{width:1px}}.data-\[side\=bottom\]\:slide-in-from-top-2{&[data-side=bottom]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.data-\[side\=left\]\:slide-in-from-right-2{&[data-side=left]{--tw-enter-translate-x: calc(2*var(--spacing))}}.data-\[side\=right\]\:slide-in-from-left-2{&[data-side=right]{--tw-enter-translate-x: calc(2*var(--spacing)*-1)}}.data-\[side\=top\]\:slide-in-from-bottom-2{&[data-side=top]{--tw-enter-translate-y: calc(2*var(--spacing))}}.data-\[state\=closed\]\:animate-out{&[data-state=closed]{animation:exit var(--tw-duration,.15s)var(--tw-ease,ease)}}.data-\[state\=closed\]\:duration-300{&[data-state=closed]{--tw-duration: .3s;transition-duration:.3s}}.data-\[state\=closed\]\:fade-out-0{&[data-state=closed]{--tw-exit-opacity: 0}}.data-\[state\=closed\]\:slide-out-to-bottom{&[data-state=closed]{--tw-exit-translate-y: 100%}}.data-\[state\=closed\]\:slide-out-to-left{&[data-state=closed]{--tw-exit-translate-x: -100%}}.data-\[state\=closed\]\:slide-out-to-right{&[data-state=closed]{--tw-exit-translate-x: 100%}}.data-\[state\=closed\]\:slide-out-to-top{&[data-state=closed]{--tw-exit-translate-y: -100%}}.data-\[state\=closed\]\:zoom-out-95{&[data-state=closed]{--tw-exit-scale: .95}}.data-\[state\=open\]\:rotate-90{&[data-state=open]{rotate:90deg}}.data-\[state\=open\]\:animate-in{&[data-state=open]{animation:enter var(--tw-duration,.15s)var(--tw-ease,ease)}}.data-\[state\=open\]\:opacity-100{&[data-state=open]{opacity:100%}}.data-\[state\=open\]\:duration-500{&[data-state=open]{--tw-duration: .5s;transition-duration:.5s}}.data-\[state\=open\]\:fade-in-0{&[data-state=open]{--tw-enter-opacity: 0}}.data-\[state\=open\]\:slide-in-from-bottom{&[data-state=open]{--tw-enter-translate-y: 100%}}.data-\[state\=open\]\:slide-in-from-left{&[data-state=open]{--tw-enter-translate-x: -100%}}.data-\[state\=open\]\:slide-in-from-right{&[data-state=open]{--tw-enter-translate-x: 100%}}.data-\[state\=open\]\:slide-in-from-top{&[data-state=open]{--tw-enter-translate-y: -100%}}.data-\[state\=open\]\:zoom-in-95{&[data-state=open]{--tw-enter-scale: .95}}.sm\:flex{@media (width >= 40rem){display:flex}}.sm\:max-w-lg{@media (width >= 40rem){max-width:var(--container-lg)}}.sm\:max-w-sm{@media (width >= 40rem){max-width:var(--container-sm)}}.sm\:flex-row{@media (width >= 40rem){flex-direction:row}}.sm\:justify-end{@media (width >= 40rem){justify-content:flex-end}}.sm\:gap-2\.5{@media (width >= 40rem){gap:calc(var(--spacing) * 2.5)}}.sm\:text-left{@media (width >= 40rem){text-align:left}}.md\:block{@media (width >= 48rem){display:block}}.md\:flex{@media (width >= 48rem){display:flex}}.md\:text-sm{@media (width >= 48rem){font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.md\:opacity-0{@media (width >= 48rem){opacity:0%}}.md\:peer-data-\[variant\=inset\]\:m-2{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}}}.md\:peer-data-\[variant\=inset\]\:ml-0{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}}}.md\:peer-data-\[variant\=inset\]\:rounded-xl{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}}}.md\:peer-data-\[variant\=inset\]\:shadow-sm{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){&:is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}}}}.md\:after\:hidden{@media (width >= 48rem){&:after{content:var(--tw-content);display:none}}}.dark\:border-input{&:is(.dark *){border-color:var(--color-input)}}.dark\:bg-destructive\/60{&:is(.dark *){background-color:color-mix(in srgb,rgba(220,38,38,1) 60%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}}.dark\:bg-input\/30{&:is(.dark *){background-color:color-mix(in srgb,rgba(229,229,229,1) 30%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}}.dark\:hover\:bg-input\/50{&:is(.dark *){&:hover{@media (hover: hover){background-color:color-mix(in srgb,rgba(229,229,229,1) 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}}}}.dark\:focus-visible\:ring-destructive\/40{&:is(.dark *){&:focus-visible{--tw-ring-color: color-mix(in srgb, rgba( 220, 38, 38, 1 ) 40%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent)}}}}.dark\:aria-invalid\:ring-destructive\/40{&:is(.dark *){&[aria-invalid=true]{--tw-ring-color: color-mix(in srgb, rgba( 220, 38, 38, 1 ) 40%, transparent);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent)}}}}.\[\&_svg\]\:pointer-events-none{& svg{pointer-events:none}}.\[\&_svg\]\:shrink-0{& svg{flex-shrink:0}}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4{& svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.\[\&_tr\]\:border-b{& tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.\[\&_tr\:last-child\]\:border-0{& tr:last-child{border-style:var(--tw-border-style);border-width:0px}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0{&:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]{>[role=checkbox]{--tw-translate-y: 2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}.\[\&\>button\]\:hidden{>button{display:none}}.\[\&\>span\:last-child\]\:truncate{>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.\[\&\>svg\]\:size-3\.5{>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}}.\[\&\>svg\]\:size-4{>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.\[\&\>svg\]\:shrink-0{>svg{flex-shrink:0}}.\[\&\>tr\]\:last\:border-b-0{>tr{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}}}.\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{[data-side=left][data-collapsible=offcanvas] &{right:calc(var(--spacing) * -2)}}.\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{[data-side=left][data-state=collapsed] &{cursor:e-resize}}.\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{[data-side=right][data-collapsible=offcanvas] &{left:calc(var(--spacing) * -2)}}.\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{[data-side=right][data-state=collapsed] &{cursor:w-resize}}}.dark{--color-accent-bg: rgba( 64, 64, 64, 1 );--color-accent-fg: rgba( 250, 250, 250, 1 );--color-bg: rgba(10, 10, 10, 1);--color-border: rgba(255, 255, 255, .1);--color-card-bg: rgba(23, 23, 23, 1);--color-card-fg: rgba(250, 250, 250, 1 );--color-destructive-bg: rgba( 248, 113, 113, 1 );--color-destructive-fg: rgba( 254, 242, 242, 1 );--color-fg: rgba(250, 250, 250, 1 );--color-input: rgba(255, 255, 255, .15 );--color-muted-bg: rgba( 38, 38, 38, 1 );--color-muted-fg: rgba( 163, 163, 163, 1 );--color-popover-bg: rgba( 38, 38, 38, 1 );--color-popover-fg: rgba( 250, 250, 250, 1 );--color-primary-bg: rgba( 229, 229, 229, 1 );--color-primary-fg: rgba( 23, 23, 23, 1 );--color-ring: rgba(115, 115, 115, 1 );--color-ring-offset: rgba( 255, 255, 255, 1 );--color-secondary-bg: rgba(38, 38, 38, 1 );--color-secondary-fg: rgba( 250, 250, 250, 1 );--color-chart-1: rgba(29, 78, 216, 1);--color-chart-2: rgba(16, 185, 129, 1);--color-chart-3: rgba(245, 158, 11, 1);--color-chart-4: rgba(168, 85, 247, 1);--color-chart-5: rgba(244, 63, 94, 1);--color-sidebar-primary-fg: rgba( 250, 250, 250, 1 );--color-sidebar-primary-bg: rgba( 29, 78, 216, 1 );--color-sidebar-fg: rgba( 250, 250, 250, 1 );--color-sidebar-bg: rgba(23, 23, 23, 1 );--color-sidebar-accent-bg: rgba( 38, 38, 38, 1 );--color-sidebar-accent-fg: rgba( 250, 250, 250, 1 );--color-sidebar-border: rgba( 255, 255, 255, .1 );--color-sidebar-ring: rgba( 82, 82, 82, 1 );--custom-outline: rgba(115, 115, 115, .5)}@layer base{*,:after,:before,::backdrop,::file-selector-button{border-color:var(--color-gray-200, currentcolor)}*{border-color:var(--color-border);outline-color:color-mix(in srgb,rgba(163,163,163,1) 50%,transparent);@supports (color: color-mix(in lab,red,red)){outline-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@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;}@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-tracking{syntax: "*"; inherits: false;}@property --tw-ordinal{syntax: "*"; inherits: false;}@property --tw-slashed-zero{syntax: "*"; inherits: false;}@property --tw-numeric-figure{syntax: "*"; inherits: false;}@property --tw-numeric-spacing{syntax: "*"; inherits: false;}@property --tw-numeric-fraction{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: 0px;}@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-content{syntax: "*"; initial-value: ""; inherits: false;}@keyframes pulse{50%{opacity:.5}}@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))}}@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-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: 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-content: ""}}}
1
+ @layer properties;@layer theme,base,components,utilities;@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-gray-200: oklch(92.8% .006 264.531);--color-black: #000;--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-lg: 32rem;--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-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--tracking-tight: -.025em;--radius-xs: .125rem;--ease-in-out: cubic-bezier(.4, 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{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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)){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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.aspect-square{aspect-ratio:1 / 1}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-auto{height:auto}.h-full{height:100%}.h-svh{height:100svh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-\[calc\(100\%-var\(--sidebar-width\)\)\]{width:calc(100% - var(--sidebar-width))}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x: -1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x: 1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-in{animation:enter var(--tw-duration,.15s)var(--tw-ease,ease)}.animate-pulse{animation:var(--animate-pulse)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-x-border{border-inline-color:var(--border)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:color-mix(in srgb,#000 50%,transparent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-destructive{background-color:var(--destructive)}.bg-muted\/50{background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:transparent}.fill-primary{fill:var(--primary)}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading, var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--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}.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-normal{--tw-font-weight: var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking: var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-sidebar-foreground\/70{color:var(--sidebar-foreground);@supports (color: color-mix(in lab,red,red)){color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent)}}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:70%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-border)));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, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;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, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-sidebar-ring{--tw-ring-color: var(--sidebar-ring)}.outline-hidden{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}.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;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-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\,height\]{transition-property:width,height;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-all{transition-property:all;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-200{--tw-duration: .2s;transition-duration:.2s}.ease-in-out{--tw-ease: var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease: linear;transition-timing-function:linear}.outline-none{--tw-outline-style: none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.group-focus-within\/menu-item\:opacity-100{&:is(:where(.group\/menu-item):focus-within *){opacity:100%}}.group-hover\/menu-item\:opacity-100{&:is(:where(.group\/menu-item):hover *){@media (hover: hover){opacity:100%}}}.group-has-data-\[collapsible\=icon\]\/sidebar-wrapper\:h-12{&:is(:where(.group\/sidebar-wrapper):has(*[data-collapsible=icon]) *){height:calc(var(--spacing) * 12)}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8{&:is(:where(.group\/menu-item):has(*[data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}}.group-data-\[collapsible\=icon\]\:-mt-8{&:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}}.group-data-\[collapsible\=icon\]\:hidden{&:is(:where(.group)[data-collapsible=icon] *){display:none}}.group-data-\[collapsible\=icon\]\:size-8\!{&:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\){&:is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{&:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{&:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}}.group-data-\[collapsible\=icon\]\:overflow-hidden{&:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}}.group-data-\[collapsible\=icon\]\:p-0\!{&:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}}.group-data-\[collapsible\=icon\]\:p-2\!{&:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}}.group-data-\[collapsible\=icon\]\:opacity-0{&:is(:where(.group)[data-collapsible=icon] *){opacity:0%}}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}}.group-data-\[collapsible\=offcanvas\]\:w-0{&:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}}.group-data-\[collapsible\=offcanvas\]\:translate-x-0{&:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x: calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}.group-data-\[side\=left\]\:-right-4{&:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}}.group-data-\[side\=left\]\:border-r{&:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}}.group-data-\[side\=right\]\:left-0{&:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}}.group-data-\[side\=right\]\:rotate-180{&:is(:where(.group)[data-side=right] *){rotate:180deg}}.group-data-\[side\=right\]\:border-l{&:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}}.group-data-\[variant\=floating\]\:rounded-lg{&:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}}.group-data-\[variant\=floating\]\:border{&:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}}.group-data-\[variant\=floating\]\:border-sidebar-border{&:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}}.group-data-\[variant\=floating\]\:shadow-sm{&:is(:where(.group)[data-variant=floating] *){--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.peer-hover\/menu-button\:text-sidebar-accent-foreground{&:is(:where(.peer\/menu-button):hover~*){@media (hover: hover){color:var(--sidebar-accent-foreground)}}}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{&:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}}.peer-data-\[size\=default\]\/menu-button\:top-1\.5{&:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{&:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}}.peer-data-\[size\=sm\]\/menu-button\:top-1{&:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}}.selection\:bg-primary{& *::selection{background-color:var(--primary)}&::selection{background-color:var(--primary)}}.selection\:text-primary-foreground{& *::selection{color:var(--primary-foreground)}&::selection{color: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:0px}}.file\:bg-transparent{&::file-selector-button{background-color:transparent}}.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:var(--foreground)}}.placeholder\:text-muted-foreground{&::placeholder{color:var(--muted-foreground)}}.after\:absolute{&:after{content:var(--tw-content);position:absolute}}.after\:-inset-2{&:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}}.after\:inset-y-0{&:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}}.after\:left-1\/2{&:after{content:var(--tw-content);left:50%}}.after\:w-\[2px\]{&:after{content:var(--tw-content);width:2px}}.group-data-\[collapsible\=offcanvas\]\:after\:left-full{&:is(:where(.group)[data-collapsible=offcanvas] *){&:after{content:var(--tw-content);left:100%}}}.hover\:bg-accent{&:hover{@media (hover: hover){background-color:var(--accent)}}}.hover\:bg-destructive\/90{&:hover{@media (hover: hover){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}}.hover\:bg-muted\/50{&:hover{@media (hover: hover){background-color:var(--muted);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}}.hover\:bg-primary\/90{&:hover{@media (hover: hover){background-color:var(--primary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}}.hover\:bg-secondary\/80{&:hover{@media (hover: hover){background-color:var(--secondary);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}}}.hover\:bg-sidebar-accent{&:hover{@media (hover: hover){background-color:var(--sidebar-accent)}}}.hover\:text-accent-foreground{&:hover{@media (hover: hover){color:var(--accent-foreground)}}}.hover\:text-foreground{&:hover{@media (hover: hover){color:var(--foreground)}}}.hover\:text-sidebar-accent-foreground{&:hover{@media (hover: hover){color:var(--sidebar-accent-foreground)}}}.hover\:underline{&:hover{@media (hover: hover){text-decoration-line:underline}}}.hover\:opacity-100{&:hover{@media (hover: hover){opacity:100%}}}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]{&:hover{@media (hover: hover){--tw-shadow: 0 0 0 1px var(--tw-shadow-color, hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar{&:hover{@media (hover: hover){&:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}}}}.hover\:after\:bg-sidebar-border{&:hover{@media (hover: hover){&:after{content:var(--tw-content);background-color:var(--sidebar-border)}}}}.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-ring{&:focus{--tw-ring-color: var(--ring)}}.focus\:ring-offset-2{&:focus{--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\:outline-hidden{&:focus{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}}.focus-visible\:border-ring{&:focus-visible{border-color: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-\[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-destructive\/20{&:focus-visible{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.focus-visible\:ring-ring\/50{&:focus-visible{--tw-ring-color: var(--ring);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)}}}.active\:bg-sidebar-accent{&:active{background-color:var(--sidebar-accent)}}.active\:text-sidebar-accent-foreground{&:active{color:var(--sidebar-accent-foreground)}}.disabled\:pointer-events-none{&:disabled{pointer-events:none}}.disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.disabled\:opacity-50{&:disabled{opacity:50%}}.in-data-\[side\=left\]\:cursor-w-resize{:where(*[data-side=left]) &{cursor:w-resize}}.in-data-\[side\=right\]\:cursor-e-resize{:where(*[data-side=right]) &{cursor:e-resize}}.has-data-\[variant\=inset\]\:bg-sidebar{&:has(*[data-variant=inset]){background-color:var(--sidebar)}}.has-\[\>svg\]\:px-2\.5{&:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}}.has-\[\>svg\]\:px-3{&:has(>svg){padding-inline:calc(var(--spacing) * 3)}}.has-\[\>svg\]\:px-4{&:has(>svg){padding-inline:calc(var(--spacing) * 4)}}.aria-disabled\:pointer-events-none{&[aria-disabled=true]{pointer-events:none}}.aria-disabled\:opacity-50{&[aria-disabled=true]{opacity:50%}}.aria-invalid\:border-destructive{&[aria-invalid=true]{border-color:var(--destructive)}}.aria-invalid\:ring-destructive\/20{&[aria-invalid=true]{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)}}}.data-\[active\=true\]\:bg-sidebar-accent{&[data-active=true]{background-color:var(--sidebar-accent)}}.data-\[active\=true\]\:font-medium{&[data-active=true]{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}}.data-\[active\=true\]\:text-sidebar-accent-foreground{&[data-active=true]{color:var(--sidebar-accent-foreground)}}.data-\[orientation\=horizontal\]\:h-px{&[data-orientation=horizontal]{height:1px}}.data-\[orientation\=horizontal\]\:w-full{&[data-orientation=horizontal]{width:100%}}.data-\[orientation\=vertical\]\:h-full{&[data-orientation=vertical]{height:100%}}.data-\[orientation\=vertical\]\:w-px{&[data-orientation=vertical]{width:1px}}.data-\[side\=bottom\]\:slide-in-from-top-2{&[data-side=bottom]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.data-\[side\=left\]\:slide-in-from-right-2{&[data-side=left]{--tw-enter-translate-x: calc(2*var(--spacing))}}.data-\[side\=right\]\:slide-in-from-left-2{&[data-side=right]{--tw-enter-translate-x: calc(2*var(--spacing)*-1)}}.data-\[side\=top\]\:slide-in-from-bottom-2{&[data-side=top]{--tw-enter-translate-y: calc(2*var(--spacing))}}.data-\[state\=closed\]\:animate-out{&[data-state=closed]{animation:exit var(--tw-duration,.15s)var(--tw-ease,ease)}}.data-\[state\=closed\]\:duration-300{&[data-state=closed]{--tw-duration: .3s;transition-duration:.3s}}.data-\[state\=closed\]\:fade-out-0{&[data-state=closed]{--tw-exit-opacity: 0}}.data-\[state\=closed\]\:slide-out-to-bottom{&[data-state=closed]{--tw-exit-translate-y: 100%}}.data-\[state\=closed\]\:slide-out-to-left{&[data-state=closed]{--tw-exit-translate-x: -100%}}.data-\[state\=closed\]\:slide-out-to-right{&[data-state=closed]{--tw-exit-translate-x: 100%}}.data-\[state\=closed\]\:slide-out-to-top{&[data-state=closed]{--tw-exit-translate-y: -100%}}.data-\[state\=closed\]\:zoom-out-95{&[data-state=closed]{--tw-exit-scale: .95}}.data-\[state\=open\]\:rotate-90{&[data-state=open]{rotate:90deg}}.data-\[state\=open\]\:animate-in{&[data-state=open]{animation:enter var(--tw-duration,.15s)var(--tw-ease,ease)}}.data-\[state\=open\]\:bg-accent{&[data-state=open]{background-color:var(--accent)}}.data-\[state\=open\]\:bg-secondary{&[data-state=open]{background-color:var(--secondary)}}.data-\[state\=open\]\:text-muted-foreground{&[data-state=open]{color:var(--muted-foreground)}}.data-\[state\=open\]\:opacity-100{&[data-state=open]{opacity:100%}}.data-\[state\=open\]\:duration-500{&[data-state=open]{--tw-duration: .5s;transition-duration:.5s}}.data-\[state\=open\]\:fade-in-0{&[data-state=open]{--tw-enter-opacity: 0}}.data-\[state\=open\]\:slide-in-from-bottom{&[data-state=open]{--tw-enter-translate-y: 100%}}.data-\[state\=open\]\:slide-in-from-left{&[data-state=open]{--tw-enter-translate-x: -100%}}.data-\[state\=open\]\:slide-in-from-right{&[data-state=open]{--tw-enter-translate-x: 100%}}.data-\[state\=open\]\:slide-in-from-top{&[data-state=open]{--tw-enter-translate-y: -100%}}.data-\[state\=open\]\:zoom-in-95{&[data-state=open]{--tw-enter-scale: .95}}.data-\[state\=open\]\:hover\:bg-sidebar-accent{&[data-state=open]{&:hover{@media (hover: hover){background-color:var(--sidebar-accent)}}}}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground{&[data-state=open]{&:hover{@media (hover: hover){color:var(--sidebar-accent-foreground)}}}}.data-\[state\=selected\]\:bg-muted{&[data-state=selected]{background-color:var(--muted)}}.sm\:flex{@media (width >= 40rem){display:flex}}.sm\:max-w-lg{@media (width >= 40rem){max-width:var(--container-lg)}}.sm\:max-w-sm{@media (width >= 40rem){max-width:var(--container-sm)}}.sm\:flex-row{@media (width >= 40rem){flex-direction:row}}.sm\:justify-end{@media (width >= 40rem){justify-content:flex-end}}.sm\:gap-2\.5{@media (width >= 40rem){gap:calc(var(--spacing) * 2.5)}}.sm\:text-left{@media (width >= 40rem){text-align:left}}.md\:block{@media (width >= 48rem){display:block}}.md\:flex{@media (width >= 48rem){display:flex}}.md\:hidden{@media (width >= 48rem){display:none}}.md\:text-sm{@media (width >= 48rem){font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}}.md\:opacity-0{@media (width >= 48rem){opacity:0%}}.md\:peer-data-\[variant\=inset\]\:m-2{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}}}.md\:peer-data-\[variant\=inset\]\:ml-0{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}}}.md\:peer-data-\[variant\=inset\]\:rounded-xl{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}}}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{@media (width >= 48rem){&:is(:where(.peer)[data-variant=inset]~*){&:is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}}}}.md\:after\:hidden{@media (width >= 48rem){&:after{content:var(--tw-content);display:none}}}.dark\:border-input{&:where(.dark,.dark *){border-color:var(--input)}}.dark\:bg-destructive\/60{&:where(.dark,.dark *){background-color:var(--destructive);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}}.dark\:bg-input\/30{&:where(.dark,.dark *){background-color:var(--input);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}}.dark\:hover\:bg-accent\/50{&:where(.dark,.dark *){&:hover{@media (hover: hover){background-color:var(--accent);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}}}.dark\:hover\:bg-input\/50{&:where(.dark,.dark *){&:hover{@media (hover: hover){background-color:var(--input);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}}}.dark\:focus-visible\:ring-destructive\/40{&:where(.dark,.dark *){&:focus-visible{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.dark\:aria-invalid\:ring-destructive\/40{&:where(.dark,.dark *){&[aria-invalid=true]{--tw-ring-color: var(--destructive);@supports (color: color-mix(in lab,red,red)){--tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)}}}}.\[\&_svg\]\:pointer-events-none{& svg{pointer-events:none}}.\[\&_svg\]\:shrink-0{& svg{flex-shrink:0}}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4{& svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.\[\&_tr\]\:border-b{& tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.\[\&_tr\:last-child\]\:border-0{& tr:last-child{border-style:var(--tw-border-style);border-width:0px}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0{&:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]{>[role=checkbox]{--tw-translate-y: 2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}.\[\&\>button\]\:hidden{>button{display:none}}.\[\&\>span\:last-child\]\:truncate{>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.\[\&\>svg\]\:size-3\.5{>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}}.\[\&\>svg\]\:size-4{>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.\[\&\>svg\]\:shrink-0{>svg{flex-shrink:0}}.\[\&\>svg\]\:text-sidebar-accent-foreground{>svg{color:var(--sidebar-accent-foreground)}}.\[\&\>tr\]\:last\:border-b-0{>tr{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}}}.\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{[data-side=left][data-collapsible=offcanvas] &{right:calc(var(--spacing) * -2)}}.\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{[data-side=left][data-state=collapsed] &{cursor:e-resize}}.\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{[data-side=right][data-collapsible=offcanvas] &{left:calc(var(--spacing) * -2)}}.\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{[data-side=right][data-state=collapsed] &{cursor:w-resize}}}:root{--background: rgba(250, 250, 250, 1);--foreground: rgba(10, 10, 10, 1);--card: rgba(255, 255, 255, 1);--card-foreground: rgba(10, 10, 10, 1);--popover: rgba(255, 255, 255, 1);--popover-foreground: rgba(10, 10, 10, 1);--primary: rgba(23, 23, 23, 1);--primary-foreground: rgba(250, 250, 250, 1);--secondary: rgba(245, 245, 245, 1);--secondary-foreground: rgba(23, 23, 23, 1);--muted: rgba(245, 245, 245, 1);--muted-foreground: rgba(115, 115, 115, 1);--accent: rgba(245, 245, 245, 1);--accent-foreground: rgba(23, 23, 23, 1);--destructive: rgba(220, 38, 38, 1);--destructive-foreground: rgba(254, 242, 242, 1);--border: rgba(229, 229, 229, 1);--input: rgba(229, 229, 229, 1);--ring: rgba(163, 163, 163, 1);--chart-1: rgba(234, 88, 12, 1);--chart-2: rgba(13, 148, 136, 1);--chart-3: rgba(22, 78, 99, 1);--chart-4: rgba(251, 191, 36, 1);--chart-5: rgba(245, 158, 11, 1);--radius: .625rem;--sidebar: rgba(250, 250, 250, 1);--sidebar-foreground: rgba(10, 10, 10, 1);--sidebar-primary: rgba(23, 23, 23, 1);--sidebar-primary-foreground: rgba(250, 250, 250, 1);--sidebar-accent: rgba(245, 245, 245, 1);--sidebar-accent-foreground: rgba(23, 23, 23, 1);--sidebar-border: rgba(229, 229, 229, 1);--sidebar-ring: rgba(163, 163, 163, 1)}.dark{--background: rgba(10, 10, 10, 1);--foreground: rgba(250, 250, 250, 1);--card: rgba(23, 23, 23, 1);--card-foreground: rgba(250, 250, 250, 1);--popover: rgba(38, 38, 38, 1);--popover-foreground: rgba(250, 250, 250, 1);--primary: rgba(229, 229, 229, 1);--primary-foreground: rgba(23, 23, 23, 1);--secondary: rgba(38, 38, 38, 1);--secondary-foreground: rgba(250, 250, 250, 1);--muted: rgba(38, 38, 38, 1);--muted-foreground: rgba(163, 163, 163, 1);--accent: rgba(64, 64, 64, 1);--accent-foreground: rgba(250, 250, 250, 1);--destructive: rgba(248, 113, 113, 1);--destructive-foreground: rgba(254, 242, 242, 1);--border: rgba(255, 255, 255, .10000000149011612);--input: rgba(255, 255, 255, .15000000596046448);--ring: rgba(115, 115, 115, 1);--chart-1: rgba(29, 78, 216, 1);--chart-2: rgba(16, 185, 129, 1);--chart-3: rgba(245, 158, 11, 1);--chart-4: rgba(168, 85, 247, 1);--chart-5: rgba(244, 63, 94, 1);--sidebar: rgba(23, 23, 23, 1);--sidebar-foreground: rgba(250, 250, 250, 1);--sidebar-primary: rgba(29, 78, 216, 1);--sidebar-primary-foreground: rgba(250, 250, 250, 1);--sidebar-accent: rgba(38, 38, 38, 1);--sidebar-accent-foreground: rgba(250, 250, 250, 1);--sidebar-border: rgba(255, 255, 255, .10000000149011612);--sidebar-ring: rgba(82, 82, 82, 1)}@layer base{*{border-color:var(--border);outline-color:var(--ring);@supports (color: color-mix(in lab,red,red)){outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);font-family:var(--font-sans);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer base{*,:after,:before,::backdrop,::file-selector-button{border-color:var(--color-gray-200, currentcolor)}}@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;}@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-tracking{syntax: "*"; inherits: false;}@property --tw-ordinal{syntax: "*"; inherits: false;}@property --tw-slashed-zero{syntax: "*"; inherits: false;}@property --tw-numeric-figure{syntax: "*"; inherits: false;}@property --tw-numeric-spacing{syntax: "*"; inherits: false;}@property --tw-numeric-fraction{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: 0px;}@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-content{syntax: "*"; initial-value: ""; inherits: false;}@keyframes pulse{50%{opacity:.5}}@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))}}@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-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-tracking: initial;--tw-ordinal: initial;--tw-slashed-zero: initial;--tw-numeric-figure: initial;--tw-numeric-spacing: initial;--tw-numeric-fraction: 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-content: ""}}}
2
2
  /*! tailwindcss v4.1.2 | MIT License | https://tailwindcss.com */
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ type CommonPageResource = {
13
13
  /**
14
14
  * A resource that can be included in the root-level content in the navigation.
15
15
  */
16
- type Module = Omit<CommonPageResource, 'meta'> & {
16
+ type Module = Omit<CommonPageResource, "meta"> & {
17
17
  _type: "module";
18
18
  meta: CommonPageResource["meta"] & {
19
19
  icon?: ReactNode;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{Table as Qt}from"lucide-react";import{useMemo as Yt}from"react";import{createContext as Ot,useContext as Dt}from"react";var B=Ot({navItems:[],configurations:{modules:[]}}),y=()=>Dt(B);import{createBrowserRouter as Ht,RouterProvider as Vt}from"react-router";import{Outlet as Lt}from"react-router";import{Toaster as $t}from"sonner";import{Fragment as Wt,jsx as z,jsxs as U}from"react/jsx-runtime";var E=({contentBorder:t,children:e})=>z("div",{className:t?"p-4 rounded-sm border shadow-xs":"",children:e}),G=()=>U(E,{contentBorder:!0,children:[z("p",{className:"font-semibold leading-none tracking-tight",children:"Welcome to AppShell"}),z("p",{className:"pt-4",children:"Add your GraphQL resources from configuration at first!"})]}),O=()=>U(Wt,{children:[z(Lt,{}),z($t,{})]});import{jsx as jt}from"react/jsx-runtime";var q=t=>{let e={index:!0,Component:t.component};return{path:t.path,...t.subResources&&t.subResources.length>0?{children:[e,...t.subResources.map(q)]}:{children:[e]}}},X=t=>{let{configurations:e}=y(),a=e.modules.reduce((o,l)=>{let d={index:!0,Component:l.component};return[...o,{path:l.path,...l.resources&&l.resources.length>0?{children:[d,...l.resources.map(q)]}:{children:[d]}}]},[]),r=Ht([{path:e.basePath,element:t.children,children:[{index:!0,Component:G},{path:C,children:a}]}]);return jt(Vt,{router:r})};import{createContext as Kt,useContext as Ft,useEffect as Gt,useState as Ut}from"react";import{jsx as Xt}from"react/jsx-runtime";var qt={theme:"system",setTheme:()=>null},Q=Kt(qt);function Y({children:t,storageKey:e,defaultTheme:a="system",...r}){let[o,l]=Ut(()=>localStorage.getItem(e)||a);Gt(()=>{let n=window.document.documentElement;if(n.classList.remove("light","dark"),o==="system"){let g=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";n.classList.add(g);return}n.classList.add(o)},[o]);let d={theme:o,setTheme:n=>{localStorage.setItem(e,n),l(n)}};return Xt(Q.Provider,{...r,value:d,children:t})}var D=()=>{let t=Ft(Q);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t};import{jsx as _}from"react/jsx-runtime";var C="resources",Jt=t=>{let e=t.configurations.basePath,a=o=>e?`/${e}/${C}/${o}`:`/${C}/${o}`,r=Yt(()=>t.configurations.modules.map(l=>{let d=l.resources.map(n=>({title:n.meta.title,url:a(`${l.path}/${n.path}`)}));return{title:l.meta.title,url:a(l.path),icon:l.meta.icon||_(Qt,{}),isActive:!0,items:d}}),[t.configurations.modules]);return _(B.Provider,{value:{title:t.title,icon:t.icon,configurations:{...t.configurations,basePath:e},navItems:r},children:_(Y,{defaultTheme:"system",storageKey:"appshell-ui-theme",children:_(X,{children:t.children})})})};import*as S from"@radix-ui/react-collapsible";import{jsx as L}from"react/jsx-runtime";function J({...t}){return L(S.Root,{"data-slot":"collapsible",...t})}function Z({...t}){return L(S.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...t})}function tt({...t}){return L(S.CollapsibleContent,{"data-slot":"collapsible-content",...t})}import{useLocation as Ce}from"react-router";import*as u from"react";import{Slot as j}from"@radix-ui/react-slot";import{cva as ce}from"class-variance-authority";import{PanelLeftIcon as pe}from"lucide-react";import*as A from"react";var $=768;function et(){let[t,e]=A.useState(void 0);return A.useEffect(()=>{let a=window.matchMedia(`(max-width: ${$-1}px)`),r=()=>{e(window.innerWidth<$)};return a.addEventListener("change",r),e(window.innerWidth<$),()=>a.removeEventListener("change",r)},[]),!!t}import{clsx as Zt}from"clsx";import{twMerge as te}from"tailwind-merge";function i(...t){return te(Zt(t))}import{Slot as ee}from"@radix-ui/react-slot";import{cva as ae}from"class-variance-authority";import{jsx as oe}from"react/jsx-runtime";var re=ae("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-bg shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function I({className:t,variant:e,size:a,asChild:r=!1,...o}){return oe(r?ee:"button",{"data-slot":"button",className:i(re({variant:e,size:a,className:t})),...o})}import{jsx as fa}from"react/jsx-runtime";import*as at from"@radix-ui/react-separator";import{jsx as ie}from"react/jsx-runtime";function W({className:t,orientation:e="horizontal",decorative:a=!0,...r}){return ie(at.Root,{"data-slot":"separator-root",decorative:a,orientation:e,className:i("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...r})}import*as p from"@radix-ui/react-dialog";import{XIcon as ne}from"lucide-react";import{jsx as v,jsxs as H}from"react/jsx-runtime";function rt({...t}){return v(p.Root,{"data-slot":"sheet",...t})}function se({...t}){return v(p.Portal,{"data-slot":"sheet-portal",...t})}function le({className:t,...e}){return v(p.Overlay,{"data-slot":"sheet-overlay",className:i("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...e})}function ot({className:t,children:e,side:a="right",...r}){return H(se,{children:[v(le,{}),H(p.Content,{"data-slot":"sheet-content",className:i("bg-bg data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",a==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",a==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",a==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",a==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",t),...r,children:[e,H(p.Close,{className:"ring-offset-bg focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[v(ne,{className:"size-4"}),v("span",{className:"sr-only",children:"Close"})]})]})]})}function it({className:t,...e}){return v("div",{"data-slot":"sheet-header",className:i("flex flex-col gap-1.5 p-4",t),...e})}function nt({className:t,...e}){return v(p.Title,{"data-slot":"sheet-title",className:i("text-fg font-semibold",t),...e})}function st({className:t,...e}){return v(p.Description,{"data-slot":"sheet-description",className:i("text-muted-foreground text-sm",t),...e})}import{jsx as Na}from"react/jsx-runtime";import*as m from"@radix-ui/react-tooltip";import{jsx as P,jsxs as de}from"react/jsx-runtime";function V({delayDuration:t=0,...e}){return P(m.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...e})}function lt({...t}){return P(V,{children:P(m.Root,{"data-slot":"tooltip",...t})})}function dt({...t}){return P(m.Trigger,{"data-slot":"tooltip-trigger",...t})}function ct({className:t,sideOffset:e=0,children:a,...r}){return P(m.Portal,{children:de(m.Content,{"data-slot":"tooltip-content",sideOffset:e,className:i("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...r,children:[a,P(m.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}import{jsx as c,jsxs as N}from"react/jsx-runtime";var ue="sidebar_state",ge=60*60*24*7,me="16rem",be="18rem",he="3rem",fe="b",pt=u.createContext(null);function K(){let t=u.useContext(pt);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function ut({defaultOpen:t=!0,open:e,onOpenChange:a,className:r,style:o,children:l,...d}){let n=et(),[g,b]=u.useState(!1),[x,Bt]=u.useState(t),R=e??x,T=u.useCallback(f=>{let w=typeof f=="function"?f(R):f;a?a(w):Bt(w),document.cookie=`${ue}=${w}; path=/; max-age=${ge}`},[a,R]),M=u.useCallback(()=>n?b(f=>!f):T(f=>!f),[n,T,b]);u.useEffect(()=>{let f=w=>{w.key===fe&&(w.metaKey||w.ctrlKey)&&(w.preventDefault(),M())};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[M]);let F=R?"expanded":"collapsed",Et=u.useMemo(()=>({state:F,open:R,setOpen:T,isMobile:n,openMobile:g,setOpenMobile:b,toggleSidebar:M}),[F,R,T,n,g,b,M]);return c(pt.Provider,{value:Et,children:c(V,{delayDuration:0,children:c("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":me,"--sidebar-width-icon":he,...o},className:i("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar-bg flex min-h-svh w-full",r),...d,children:l})})})}function gt({side:t="left",variant:e="sidebar",collapsible:a="offcanvas",className:r,children:o,...l}){let{isMobile:d,state:n,openMobile:g,setOpenMobile:b}=K();return a==="none"?c("div",{"data-slot":"sidebar",className:i("bg-sidebar text-sidebar-fg flex h-full w-(--sidebar-width) flex-col",r),...l,children:o}):d?c(rt,{open:g,onOpenChange:b,...l,children:N(ot,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-fg w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":be},side:t,children:[N(it,{className:"sr-only",children:[c(nt,{children:"Sidebar"}),c(st,{children:"Displays the mobile sidebar."})]}),c("div",{className:"flex h-full w-full flex-col",children:o})]})}):N("div",{className:"group peer text-sidebar-fg hidden md:block","data-state":n,"data-collapsible":n==="collapsed"?a:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[c("div",{"data-slot":"sidebar-gap",className:i("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),c("div",{"data-slot":"sidebar-container",className:i("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",t==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...l,children:c("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:o})})]})}function mt({className:t,onClick:e,...a}){let{toggleSidebar:r}=K();return N(I,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:i("size-7",t),onClick:o=>{e?.(o),r()},...a,children:[c(pe,{}),c("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function bt({className:t,...e}){return c("main",{"data-slot":"sidebar-inset",className:i("bg-bg relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",t),...e})}function ht({className:t,...e}){return c("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:i("flex flex-row items-center gap-0.5 p-2",t),...e})}function ft({className:t,...e}){return c("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:i("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...e})}function vt({className:t,...e}){return c("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:i("relative flex w-full min-w-0 flex-col p-2",t),...e})}function wt({className:t,...e}){return c("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:i("flex w-full min-w-0 flex-col gap-1",t),...e})}function xt({className:t,...e}){return c("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:i("group/menu-item relative",t),...e})}var ve=ce("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-bg shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function yt({asChild:t=!1,isActive:e=!1,variant:a="default",size:r="default",tooltip:o,className:l,...d}){let n=t?j:"button",{isMobile:g,state:b}=K(),x=c(n,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":r,"data-active":e,className:i(ve({variant:a,size:r}),l),...d});return o?(typeof o=="string"&&(o={children:o}),N(lt,{children:[c(dt,{asChild:!0,children:x}),c(ct,{side:"right",align:"center",hidden:b!=="collapsed"||g,...o})]})):x}function Ct({className:t,asChild:e=!1,showOnHover:a=!1,...r}){return c(e?j:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:i("text-sidebar-fg ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",t),...r})}function St({className:t,...e}){return c("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:i("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",t),...e})}function Pt({className:t,...e}){return c("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:i("group/menu-sub-item relative",t),...e})}function kt({asChild:t=!1,size:e="md",isActive:a=!1,className:r,...o}){return c(t?j:"a",{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":e,"data-active":a,className:i("text-sidebar-fg ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",e==="sm"&&"text-xs",e==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...o})}import{ChevronRight as Se,SunIcon as Pe}from"lucide-react";import{Slot as we}from"@radix-ui/react-slot";import{ChevronRight as xe,MoreHorizontal as Ya}from"lucide-react";import{jsx as k,jsxs as tr}from"react/jsx-runtime";function Rt({...t}){return k("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...t})}function zt({className:t,...e}){return k("ol",{"data-slot":"breadcrumb-list",className:i("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",t),...e})}function Nt({className:t,...e}){return k("li",{"data-slot":"breadcrumb-item",className:i("inline-flex items-center gap-1.5",t),...e})}function Tt({asChild:t,className:e,...a}){return k(t?we:"a",{"data-slot":"breadcrumb-link",className:i("hover:text-fg transition-colors",e),...a})}function Mt({children:t,className:e,...a}){return k("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:i("[&>svg]:size-3.5",e),...a,children:t??k(xe,{})})}var ye=t=>t.reduce((e,a)=>{e[a.path]=a.meta.title;let r=(o,l)=>{!o||o.length===0||o.forEach(d=>{let n=`${l}/${d.path}`;e[n]=d.meta.title,d.subResources&&d.subResources.length>0&&r(d.subResources,n)})};return a.resources&&a.resources.length>0&&r(a.resources,a.path),e},{});function _t(t,e,a){let r=t.split("/").filter(n=>n!=="").slice(1),o=e?(()=>{let[n,...g]=r;return g})():r,l=ye(a),d=o.map((n,g)=>{let b=o.slice(0,g+1).join("/"),x=l[b]||n;return{segment:n,path:b,title:x}});return{basePath:e||null,segments:d}}import{Fragment as Ne,jsx as s,jsxs as h}from"react/jsx-runtime";var ke=t=>{let e=t.children?t.children({Outlet:O}):null,a=D(),r=()=>{a.setTheme(a.theme==="dark"?"light":"dark")};return s(ut,{className:"flex flex-col",children:h("div",{className:"flex flex-1",children:[t.sidebar??s(At,{}),h(bt,{className:"w-[calc(100%-var(--sidebar-width))]",children:[s("header",{className:"flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12",children:h("div",{className:"flex w-full items-center justify-between",children:[h("div",{className:"flex items-center gap-2 px-4",children:[s(mt,{className:"-ml-1"}),s(W,{orientation:"vertical",className:"mr-2 h-4"}),s(ze,{})]}),s("div",{className:"flex items-center gap-2 px-4",children:s(I,{variant:"outline",size:"icon",onClick:r,children:s(Pe,{})})})]})}),s("div",{className:"flex flex-col gap-4 p-4",children:e??s(O,{})})]})]})})},At=t=>{let{title:e,icon:a,navItems:r}=y(),o=h(ht,{children:[a,s("h1",{className:"text-sm mb-2 mt-2 px-2",children:e})]});return h(gt,{variant:"inset",children:[t.header??o,s(ft,{children:s(vt,{children:s(wt,{children:r.map(d=>s(J,{asChild:!0,defaultOpen:d.isActive,children:h(xt,{children:[s(yt,{asChild:!0,tooltip:d.title,children:h("a",{href:d.url,children:[d.icon,s("span",{children:d.title})]})}),d.items?.length?h(Ne,{children:[s(Z,{asChild:!0,children:h(Ct,{className:"data-[state=open]:rotate-90",children:[s(Se,{}),s("span",{className:"sr-only",children:"Toggle"})]})}),s(tt,{children:s(St,{children:d.items?.map(n=>s(Pt,{children:s(kt,{asChild:!0,children:s("a",{href:n.url,children:s("span",{children:n.title})})})},n.title))})})]}):null]})},d.title))})})}),t.footer??null]})},Re=()=>{let{configurations:t}=y(),e=Ce();return _t(e.pathname,t.basePath,t.modules)},ze=()=>{let{basePath:t,segments:e}=Re();return s(Rt,{children:s(zt,{children:e.map((a,r)=>h("div",{className:"inline-flex items-center gap-3",children:[s(Nt,{children:s(Tt,{href:`${t?`/${t}`:""}/${C}/${a.path}`,children:a.title})}),r<e.length-1&&s(Mt,{})]},r))})})};import{capitalCase as Te}from"change-case";import{jsx as _e}from"react/jsx-runtime";function Me(t){let{path:e,meta:a,type:r,component:o}=It(t);return{path:e,type:r,component:o,_type:"module",meta:{...a,icon:t.meta?.icon},resources:t.resources}}function It(t){let{path:e,component:a,subResources:r,meta:o}=t,l=o?.title??Te(e);return{_type:"resource",type:"component",path:e,meta:{title:l},component:()=>_e(E,{contentBorder:o?.contentBorder??!0,children:a({title:l})}),subResources:r}}import{useLocation as Tr,useNavigate as Mr,useParams as _r,useSearchParams as Ar,Link as Ir}from"react-router";export{Jt as AppShell,At as DefaultSidebar,Ir as Link,ke as SidebarLayoutContainer,Me as defineModule,It as defineResource,y as useAppShell,Tr as useLocation,Mr as useNavigate,_r as useParams,Ar as useSearchParams,D as useTheme};
1
+ import{Table as Qe}from"lucide-react";import{useMemo as Ye}from"react";import{createContext as Ee,useContext as Oe}from"react";var E=Ee({navItems:[],configurations:{modules:[]}}),y=()=>Oe(E);import{createBrowserRouter as We,RouterProvider as Ve}from"react-router";import{Outlet as De}from"react-router";import{Toaster as $e}from"sonner";import{Fragment as He,jsx as z,jsxs as q}from"react/jsx-runtime";var O=({contentBorder:e,children:t})=>z("div",{className:e?"p-4 rounded-sm border shadow-xs":"",children:t}),U=()=>q(O,{contentBorder:!0,children:[z("p",{className:"font-semibold leading-none tracking-tight",children:"Welcome to AppShell"}),z("p",{className:"pt-4",children:"Add your GraphQL resources from configuration at first!"})]}),D=()=>q(He,{children:[z(De,{}),z($e,{})]});import{jsx as je}from"react/jsx-runtime";var X=e=>{let t={index:!0,Component:e.component};return{path:e.path,...e.subResources&&e.subResources.length>0?{children:[t,...e.subResources.map(X)]}:{children:[t]}}},Q=e=>{let{configurations:t}=y(),a=t.modules.reduce((o,d)=>{let l={index:!0,Component:d.component};return[...o,{path:d.path,...d.resources&&d.resources.length>0?{children:[l,...d.resources.map(X)]}:{children:[l]}}]},[]),r=We([{path:t.basePath,element:e.children,children:[{index:!0,Component:U},{path:k,children:a}]}]);return je(Ve,{router:r})};import{createContext as Ke,useContext as Fe,useEffect as Ge,useState as Ue}from"react";import{jsx as Xe}from"react/jsx-runtime";var qe={theme:"system",setTheme:()=>null},Y=Ke(qe);function J({children:e,storageKey:t,defaultTheme:a="system",...r}){let[o,d]=Ue(()=>localStorage.getItem(t)||a);Ge(()=>{let s=window.document.documentElement;if(s.classList.remove("light","dark"),o==="system"){let g=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";s.classList.add(g);return}s.classList.add(o)},[o]);let l={theme:o,setTheme:s=>{localStorage.setItem(t,s),d(s)}};return Xe(Y.Provider,{...r,value:l,children:e})}var $=()=>{let e=Fe(Y);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};import{jsx as I}from"react/jsx-runtime";var k="resources",Je=e=>{let t=e.configurations.basePath,a=o=>t?`/${t}/${k}/${o}`:`/${k}/${o}`,r=Ye(()=>e.configurations.modules.map(d=>{let l=d.resources.map(s=>({title:s.meta.title,url:a(`${d.path}/${s.path}`)}));return{title:d.meta.title,url:a(d.path),icon:d.meta.icon||I(Qe,{}),isActive:!0,items:l}}),[e.configurations.modules]);return I(E.Provider,{value:{title:e.title,icon:e.icon,configurations:{...e.configurations,basePath:t},navItems:r},children:I(J,{defaultTheme:"system",storageKey:"appshell-ui-theme",children:I(Q,{children:e.children})})})};import*as C from"@radix-ui/react-collapsible";import{jsx as H}from"react/jsx-runtime";function Z({...e}){return H(C.Root,{"data-slot":"collapsible",...e})}function ee({...e}){return H(C.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...e})}function te({...e}){return H(C.CollapsibleContent,{"data-slot":"collapsible-content",...e})}import{useLocation as St}from"react-router";import*as u from"react";import{Slot as K}from"@radix-ui/react-slot";import{cva as ct}from"class-variance-authority";import{PanelLeftIcon as pt}from"lucide-react";import*as B from"react";var W=768;function ae(){let[e,t]=B.useState(void 0);return B.useEffect(()=>{let a=window.matchMedia(`(max-width: ${W-1}px)`),r=()=>{t(window.innerWidth<W)};return a.addEventListener("change",r),t(window.innerWidth<W),()=>a.removeEventListener("change",r)},[]),!!e}import{clsx as Ze}from"clsx";import{twMerge as et}from"tailwind-merge";function i(...e){return et(Ze(e))}import{Slot as tt}from"@radix-ui/react-slot";import{cva as at}from"class-variance-authority";import{jsx as ot}from"react/jsx-runtime";var rt=at("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function L({className:e,variant:t,size:a,asChild:r=!1,...o}){return ot(r?tt:"button",{"data-slot":"button",className:i(rt({variant:t,size:a,className:e})),...o})}import{jsx as xa}from"react/jsx-runtime";import*as it from"@radix-ui/react-separator";import{jsx as Sa}from"react/jsx-runtime";import*as p from"@radix-ui/react-dialog";import{XIcon as nt}from"lucide-react";import{jsx as v,jsxs as V}from"react/jsx-runtime";function re({...e}){return v(p.Root,{"data-slot":"sheet",...e})}function st({...e}){return v(p.Portal,{"data-slot":"sheet-portal",...e})}function dt({className:e,...t}){return v(p.Overlay,{"data-slot":"sheet-overlay",className:i("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function oe({className:e,children:t,side:a="right",...r}){return V(st,{children:[v(dt,{}),V(p.Content,{"data-slot":"sheet-content",className:i("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",a==="right"&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",a==="left"&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",a==="top"&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",a==="bottom"&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...r,children:[t,V(p.Close,{className:"ring-offset-bg focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[v(nt,{className:"size-4"}),v("span",{className:"sr-only",children:"Close"})]})]})]})}function ie({className:e,...t}){return v("div",{"data-slot":"sheet-header",className:i("flex flex-col gap-1.5 p-4",e),...t})}function ne({className:e,...t}){return v(p.Title,{"data-slot":"sheet-title",className:i("text-foreground font-semibold",e),...t})}function se({className:e,...t}){return v(p.Description,{"data-slot":"sheet-description",className:i("text-muted-foreground text-sm",e),...t})}import{jsx as Aa}from"react/jsx-runtime";import*as m from"@radix-ui/react-tooltip";import{jsx as S,jsxs as lt}from"react/jsx-runtime";function j({delayDuration:e=0,...t}){return S(m.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function de({...e}){return S(j,{children:S(m.Root,{"data-slot":"tooltip",...e})})}function le({...e}){return S(m.Trigger,{"data-slot":"tooltip-trigger",...e})}function ce({className:e,sideOffset:t=0,children:a,...r}){return S(m.Portal,{children:lt(m.Content,{"data-slot":"tooltip-content",sideOffset:t,className:i("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...r,children:[a,S(m.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}import{jsx as c,jsxs as N}from"react/jsx-runtime";var ut="sidebar_state",gt=60*60*24*7,mt="16rem",bt="18rem",ht="3rem",ft="b",pe=u.createContext(null);function T(){let e=u.useContext(pe);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ue({defaultOpen:e=!0,open:t,onOpenChange:a,className:r,style:o,children:d,...l}){let s=ae(),[g,h]=u.useState(!1),[x,Be]=u.useState(e),R=t??x,_=u.useCallback(f=>{let w=typeof f=="function"?f(R):f;a?a(w):Be(w),document.cookie=`${ut}=${w}; path=/; max-age=${gt}`},[a,R]),A=u.useCallback(()=>s?h(f=>!f):_(f=>!f),[s,_,h]);u.useEffect(()=>{let f=w=>{w.key===ft&&(w.metaKey||w.ctrlKey)&&(w.preventDefault(),A())};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[A]);let G=R?"expanded":"collapsed",Le=u.useMemo(()=>({state:G,open:R,setOpen:_,isMobile:s,openMobile:g,setOpenMobile:h,toggleSidebar:A}),[G,R,_,s,g,h,A]);return c(pe.Provider,{value:Le,children:c(j,{delayDuration:0,children:c("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":mt,"--sidebar-width-icon":ht,...o},className:i("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",r),...l,children:d})})})}function ge({side:e="left",variant:t="sidebar",collapsible:a="offcanvas",className:r,children:o,...d}){let{isMobile:l,state:s,openMobile:g,setOpenMobile:h}=T();return a==="none"?c("div",{"data-slot":"sidebar",className:i("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",r),...d,children:o}):l?c(re,{open:g,onOpenChange:h,...d,children:N(oe,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":bt},side:e,children:[N(ie,{className:"sr-only",children:[c(ne,{children:"Sidebar"}),c(se,{children:"Displays the mobile sidebar."})]}),c("div",{className:"flex h-full w-full flex-col",children:o})]})}):N("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":s,"data-collapsible":s==="collapsed"?a:"","data-variant":t,"data-side":e,"data-slot":"sidebar",children:[c("div",{"data-slot":"sidebar-gap",className:i("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),c("div",{"data-slot":"sidebar-container",className:i("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t==="inset"&&"border-x border-x-border",r),...d,children:c("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:o})})]})}function F({className:e,onClick:t,...a}){let{toggleSidebar:r}=T();return N(L,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:i("text-muted-foreground",e),onClick:o=>{t?.(o),r()},...a,children:[c(pt,{className:"size-4.5"}),c("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function me({className:e,...t}){return c("main",{"data-slot":"sidebar-inset",className:i("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...t})}function be({className:e,...t}){return c("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:i("flex flex-row items-center gap-0.5 p-2",e),...t})}function he({className:e,...t}){return c("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:i("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t})}function fe({className:e,...t}){return c("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:i("relative flex w-full min-w-0 flex-col p-2",e),...t})}function ve({className:e,...t}){return c("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:i("flex w-full min-w-0 flex-col gap-1",e),...t})}function we({className:e,...t}){return c("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:i("group/menu-item relative",e),...t})}var vt=ct("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function xe({asChild:e=!1,isActive:t=!1,variant:a="default",size:r="default",tooltip:o,className:d,...l}){let s=e?K:"button",{isMobile:g,state:h}=T(),x=c(s,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":r,"data-active":t,className:i(vt({variant:a,size:r}),d),...l});return o?(typeof o=="string"&&(o={children:o}),N(de,{children:[c(le,{asChild:!0,children:x}),c(ce,{side:"right",align:"center",hidden:h!=="collapsed"||g,...o})]})):x}function ye({className:e,asChild:t=!1,showOnHover:a=!1,...r}){return c(t?K:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:i("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",e),...r})}function ke({className:e,...t}){return c("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:i("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t})}function Ce({className:e,...t}){return c("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:i("group/menu-sub-item relative",e),...t})}function Se({asChild:e=!1,size:t="md",isActive:a=!1,className:r,...o}){return c(e?K:"a",{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":t,"data-active":a,className:i("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...o})}import{ChevronRight as Pt,SunIcon as Rt}from"lucide-react";import{Slot as yt}from"@radix-ui/react-slot";import{ChevronRight as kt,MoreHorizontal as ir}from"lucide-react";import{Link as wt,useHref as xt}from"react-router";import{jsx as Pe}from"react/jsx-runtime";function M({to:e,children:t,...a}){try{return xt(e),Pe(wt,{to:e,...a,children:t})}catch{return Pe("a",{href:e,...a,children:t})}}import{jsx as P,jsxs as lr}from"react/jsx-runtime";function Re({...e}){return P("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...e})}function ze({className:e,...t}){return P("ol",{"data-slot":"breadcrumb-list",className:i("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",e),...t})}function Ne({className:e,...t}){return P("li",{"data-slot":"breadcrumb-item",className:i("inline-flex items-center gap-1.5",e),...t})}function Te({asChild:e,className:t,children:a,...r}){return P(e?yt:M,{"data-slot":"breadcrumb-link",className:i("hover:text-foreground transition-colors",t),...r,children:a})}function Me({children:e,className:t,...a}){return P("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:i("[&>svg]:size-3.5",t),...a,children:e??P(kt,{})})}var Ct=e=>e.reduce((t,a)=>{t[a.path]=a.meta.title;let r=(o,d)=>{!o||o.length===0||o.forEach(l=>{let s=`${d}/${l.path}`;t[s]=l.meta.title,l.subResources&&l.subResources.length>0&&r(l.subResources,s)})};return a.resources&&a.resources.length>0&&r(a.resources,a.path),t},{});function _e(e,t,a){let r=e.split("/").filter(s=>s!=="").slice(1),o=t?(()=>{let[s,...g]=r;return g})():r,d=Ct(a),l=o.map((s,g)=>{let h=o.slice(0,g+1).join("/"),x=d[h]||s;return{segment:s,path:h,title:x}});return{basePath:t||null,segments:l}}import{Fragment as _t,jsx as n,jsxs as b}from"react/jsx-runtime";var zt=()=>{let e=T();return n("div",{className:e.open?"md:hidden":void 0,children:n(F,{className:"-ml-1"})})},Nt=e=>{let t=e.children?e.children({Outlet:D}):null,a=$(),r=()=>{a.setTheme(a.theme==="dark"?"light":"dark")};return n(ue,{className:"flex flex-col",children:b("div",{className:"flex flex-1",children:[e.sidebar??n(Ae,{}),b(me,{className:"w-[calc(100%-var(--sidebar-width))]",children:[n("header",{className:"flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12",children:b("div",{className:"flex w-full items-center justify-between",children:[b("div",{className:"flex items-center gap-2 px-4",children:[n(zt,{}),n(Mt,{})]}),n("div",{className:"flex items-center gap-2 px-4",children:n(L,{variant:"outline",size:"icon",onClick:r,children:n(Rt,{})})})]})}),n("div",{className:"flex flex-col gap-4 p-4",children:t??n(D,{})})]})]})})},Ae=e=>{let{title:t,icon:a,navItems:r}=y(),o=b(be,{children:[a,n("h1",{className:"text-sm mb-2 mt-2 px-2",children:t})]});return b(ge,{variant:"inset",children:[b("div",{className:"flex justify-between items-center",children:[e.header??o,n("div",{className:"hidden md:block",children:n(F,{className:"-ml-1"})})]}),n(he,{children:n(fe,{children:n(ve,{children:r.map(l=>n(Z,{asChild:!0,defaultOpen:l.isActive,children:b(we,{children:[n(xe,{asChild:!0,tooltip:l.title,children:b(M,{to:l.url,children:[l.icon,n("span",{children:l.title})]})}),l.items?.length?b(_t,{children:[n(ee,{asChild:!0,children:b(ye,{className:"data-[state=open]:rotate-90",children:[n(Pt,{}),n("span",{className:"sr-only",children:"Toggle"})]})}),n(te,{children:n(ke,{children:l.items?.map(s=>n(Ce,{children:n(Se,{asChild:!0,children:n(M,{to:s.url,children:n("span",{children:s.title})})})},s.title))})})]}):null]})},l.title))})})}),e.footer??null]})},Tt=()=>{let{configurations:e}=y(),t=St();return _e(t.pathname,e.basePath,e.modules)},Mt=()=>{let{basePath:e,segments:t}=Tt();return n(Re,{children:n(ze,{children:t.map((a,r)=>b("div",{className:"inline-flex items-center gap-3",children:[n(Ne,{children:n(Te,{to:`${e?`/${e}`:""}/${k}/${a.path}`,children:a.title})}),r<t.length-1&&n(Me,{})]},r))})})};import{capitalCase as At}from"change-case";import{jsx as Bt}from"react/jsx-runtime";function It(e){let{path:t,meta:a,type:r,component:o}=Ie(e);return{path:t,type:r,component:o,_type:"module",meta:{...a,icon:e.meta?.icon},resources:e.resources}}function Ie(e){let{path:t,component:a,subResources:r,meta:o}=e,d=o?.title??At(t);return{_type:"resource",type:"component",path:t,meta:{title:d},component:()=>Bt(O,{contentBorder:o?.contentBorder??!1,children:a({title:d})}),subResources:r}}import{useLocation as Dr,useNavigate as $r,useParams as Hr,useSearchParams as Wr,Link as Vr}from"react-router";export{Je as AppShell,Ae as DefaultSidebar,Vr as Link,Nt as SidebarLayoutContainer,It as defineModule,Ie as defineResource,y as useAppShell,Dr as useLocation,$r as useNavigate,Hr as useParams,Wr as useSearchParams,$ as useTheme};
package/dist/theme.css ADDED
@@ -0,0 +1,127 @@
1
+ @custom-variant dark (&:where(.dark, .dark *));
2
+
3
+ :root {
4
+ --background: rgba(250, 250, 250, 1);
5
+ --foreground: rgba(10, 10, 10, 1);
6
+ --card: rgba(255, 255, 255, 1);
7
+ --card-foreground: rgba(10, 10, 10, 1);
8
+ --popover: rgba(255, 255, 255, 1);
9
+ --popover-foreground: rgba(10, 10, 10, 1);
10
+ --primary: rgba(23, 23, 23, 1);
11
+ --primary-foreground: rgba(250, 250, 250, 1);
12
+ --secondary: rgba(245, 245, 245, 1);
13
+ --secondary-foreground: rgba(23, 23, 23, 1);
14
+ --muted: rgba(245, 245, 245, 1);
15
+ --muted-foreground: rgba(115, 115, 115, 1);
16
+ --accent: rgba(245, 245, 245, 1);
17
+ --accent-foreground: rgba(23, 23, 23, 1);
18
+ --destructive: rgba(220, 38, 38, 1);
19
+ --destructive-foreground: rgba(254, 242, 242, 1);
20
+ --border: rgba(229, 229, 229, 1);
21
+ --input: rgba(229, 229, 229, 1);
22
+ --ring: rgba(163, 163, 163, 1);
23
+ --chart-1: rgba(234, 88, 12, 1);
24
+ --chart-2: rgba(13, 148, 136, 1);
25
+ --chart-3: rgba(22, 78, 99, 1);
26
+ --chart-4: rgba(251, 191, 36, 1);
27
+ --chart-5: rgba(245, 158, 11, 1);
28
+ --radius: 0.625rem;
29
+ --sidebar: rgba(250, 250, 250, 1);
30
+ --sidebar-foreground: rgba(10, 10, 10, 1);
31
+ --sidebar-primary: rgba(23, 23, 23, 1);
32
+ --sidebar-primary-foreground: rgba(250, 250, 250, 1);
33
+ --sidebar-accent: rgba(245, 245, 245, 1);
34
+ --sidebar-accent-foreground: rgba(23, 23, 23, 1);
35
+ --sidebar-border: rgba(229, 229, 229, 1);
36
+ --sidebar-ring: rgba(163, 163, 163, 1);
37
+ }
38
+
39
+ .dark {
40
+ --background: rgba(10, 10, 10, 1);
41
+ --foreground: rgba(250, 250, 250, 1);
42
+ --card: rgba(23, 23, 23, 1);
43
+ --card-foreground: rgba(250, 250, 250, 1);
44
+ --popover: rgba(38, 38, 38, 1);
45
+ --popover-foreground: rgba(250, 250, 250, 1);
46
+ --primary: rgba(229, 229, 229, 1);
47
+ --primary-foreground: rgba(23, 23, 23, 1);
48
+ --secondary: rgba(38, 38, 38, 1);
49
+ --secondary-foreground: rgba(250, 250, 250, 1);
50
+ --muted: rgba(38, 38, 38, 1);
51
+ --muted-foreground: rgba(163, 163, 163, 1);
52
+ --accent: rgba(64, 64, 64, 1);
53
+ --accent-foreground: rgba(250, 250, 250, 1);
54
+ --destructive: rgba(248, 113, 113, 1);
55
+ --destructive-foreground: rgba(254, 242, 242, 1);
56
+ --border: rgba(255, 255, 255, 0.10000000149011612);
57
+ --input: rgba(255, 255, 255, 0.15000000596046448);
58
+ --ring: rgba(115, 115, 115, 1);
59
+ --chart-1: rgba(29, 78, 216, 1);
60
+ --chart-2: rgba(16, 185, 129, 1);
61
+ --chart-3: rgba(245, 158, 11, 1);
62
+ --chart-4: rgba(168, 85, 247, 1);
63
+ --chart-5: rgba(244, 63, 94, 1);
64
+ --sidebar: rgba(23, 23, 23, 1);
65
+ --sidebar-foreground: rgba(250, 250, 250, 1);
66
+ --sidebar-primary: rgba(29, 78, 216, 1);
67
+ --sidebar-primary-foreground: rgba(250, 250, 250, 1);
68
+ --sidebar-accent: rgba(38, 38, 38, 1);
69
+ --sidebar-accent-foreground: rgba(250, 250, 250, 1);
70
+ --sidebar-border: rgba(255, 255, 255, 0.10000000149011612);
71
+ --sidebar-ring: rgba(82, 82, 82, 1);
72
+ }
73
+
74
+ @theme inline {
75
+ --color-background: var(--background);
76
+ --color-foreground: var(--foreground);
77
+ --color-card: var(--card);
78
+ --color-card-foreground: var(--card-foreground);
79
+ --color-popover: var(--popover);
80
+ --color-popover-foreground: var(--popover-foreground);
81
+ --color-primary: var(--primary);
82
+ --color-primary-foreground: var(--primary-foreground);
83
+ --color-secondary: var(--secondary);
84
+ --color-secondary-foreground: var(--secondary-foreground);
85
+ --color-muted: var(--muted);
86
+ --color-muted-foreground: var(--muted-foreground);
87
+ --color-accent: var(--accent);
88
+ --color-accent-foreground: var(--accent-foreground);
89
+ --color-destructive: var(--destructive);
90
+ --color-destructive-foreground: var(--destructive-foreground);
91
+ --color-border: var(--border);
92
+ --color-input: var(--input);
93
+ --color-ring: var(--ring);
94
+ --color-chart-1: var(--chart-1);
95
+ --color-chart-2: var(--chart-2);
96
+ --color-chart-3: var(--chart-3);
97
+ --color-chart-4: var(--chart-4);
98
+ --color-chart-5: var(--chart-5);
99
+ --radius-sm: calc(var(--radius) - 4px);
100
+ --radius-md: calc(var(--radius) - 2px);
101
+ --radius-lg: var(--radius);
102
+ --radius-xl: calc(var(--radius) + 4px);
103
+ --color-sidebar: var(--sidebar);
104
+ --color-sidebar-foreground: var(--sidebar-foreground);
105
+ --color-sidebar-primary: var(--sidebar-primary);
106
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
107
+ --color-sidebar-accent: var(--sidebar-accent);
108
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
109
+ --color-sidebar-border: var(--sidebar-border);
110
+ --color-sidebar-ring: var(--sidebar-ring);
111
+
112
+ /* Statuses */
113
+ --color-status-default: #737373;
114
+ --color-status-neutral: #0ea5e9;
115
+ --color-status-completed: #22c55e;
116
+ --color-status-attention: #f59e0b;
117
+ --color-status-danger: #ef4444;
118
+ }
119
+
120
+ @layer base {
121
+ * {
122
+ @apply border-border outline-ring/50;
123
+ }
124
+ body {
125
+ @apply font-sans antialiased bg-background text-foreground;
126
+ }
127
+ }
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@tailor-platform/app-shell",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./styles": "./dist/index.css",
7
+ "./theme.css": "./dist/theme.css",
7
8
  ".": {
8
9
  "types": "./dist/index.d.ts",
9
10
  "default": "./dist/index.js"