@tailor-platform/app-shell 0.14.0 → 0.14.1

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{--astw-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--astw-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--astw-color-black: #000;--astw-color-white: #fff;--astw-spacing: .25rem;--astw-container-xs: 20rem;--astw-container-sm: 24rem;--astw-container-lg: 32rem;--astw-container-5xl: 64rem;--astw-text-xs: .75rem;--astw-text-xs--line-height: calc(1 / .75);--astw-text-sm: .875rem;--astw-text-sm--line-height: calc(1.25 / .875);--astw-text-base: 1rem;--astw-text-base--line-height: 1.5 ;--astw-text-lg: 1.125rem;--astw-text-lg--line-height: calc(1.75 / 1.125);--astw-font-weight-normal: 400;--astw-font-weight-medium: 500;--astw-font-weight-semibold: 600;--astw-font-weight-bold: 700;--astw-tracking-tight: -.025em;--astw-radius-xs: .125rem;--astw-ease-in-out: cubic-bezier(.4, 0, .2, 1);--astw-animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--astw-default-transition-duration: .15s;--astw-default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--astw-default-font-family: var(--astw-font-sans);--astw-default-mono-font-family: var(--astw-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(--astw-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(--astw-default-font-feature-settings, normal);font-variation-settings:var(--astw-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(--astw-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--astw-default-mono-font-feature-settings, normal);font-variation-settings:var(--astw-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{.astw\:pointer-events-none{pointer-events:none}.astw\: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}.astw\:absolute{position:absolute}.astw\:fixed{position:fixed}.astw\:relative{position:relative}.astw\:inset-0{inset:calc(var(--astw-spacing) * 0)}.astw\:inset-x-0{inset-inline:calc(var(--astw-spacing) * 0)}.astw\:inset-y-0{inset-block:calc(var(--astw-spacing) * 0)}.astw\:top-0{top:calc(var(--astw-spacing) * 0)}.astw\:top-1\.5{top:calc(var(--astw-spacing) * 1.5)}.astw\:top-3\.5{top:calc(var(--astw-spacing) * 3.5)}.astw\:top-4{top:calc(var(--astw-spacing) * 4)}.astw\:top-\[50\%\]{top:50%}.astw\:right-0{right:calc(var(--astw-spacing) * 0)}.astw\:right-1{right:calc(var(--astw-spacing) * 1)}.astw\:right-3{right:calc(var(--astw-spacing) * 3)}.astw\:right-4{right:calc(var(--astw-spacing) * 4)}.astw\:bottom-0{bottom:calc(var(--astw-spacing) * 0)}.astw\:left-0{left:calc(var(--astw-spacing) * 0)}.astw\:left-\[50\%\]{left:50%}.astw\:z-10{z-index:10}.astw\:z-20{z-index:20}.astw\:z-50{z-index:50}.astw\:mx-2{margin-inline:calc(var(--astw-spacing) * 2)}.astw\:mx-3\.5{margin-inline:calc(var(--astw-spacing) * 3.5)}.astw\:mx-auto{margin-inline:auto}.astw\:mt-0\.5{margin-top:calc(var(--astw-spacing) * .5)}.astw\:mt-1{margin-top:calc(var(--astw-spacing) * 1)}.astw\:mt-2{margin-top:calc(var(--astw-spacing) * 2)}.astw\:mt-4{margin-top:calc(var(--astw-spacing) * 4)}.astw\:mt-auto{margin-top:auto}.astw\:mb-2{margin-bottom:calc(var(--astw-spacing) * 2)}.astw\:-ml-1{margin-left:calc(var(--astw-spacing) * -1)}.astw\:-ml-2\.5{margin-left:calc(var(--astw-spacing) * -2.5)}.astw\:flex{display:flex}.astw\:grid{display:grid}.astw\:hidden{display:none}.astw\:inline-flex{display:inline-flex}.astw\:aspect-square{aspect-ratio:1 / 1}.astw\:size-2\.5{width:calc(var(--astw-spacing) * 2.5);height:calc(var(--astw-spacing) * 2.5)}.astw\:size-4{width:calc(var(--astw-spacing) * 4);height:calc(var(--astw-spacing) * 4)}.astw\:size-4\.5{width:calc(var(--astw-spacing) * 4.5);height:calc(var(--astw-spacing) * 4.5)}.astw\:size-9{width:calc(var(--astw-spacing) * 9);height:calc(var(--astw-spacing) * 9)}.astw\:h-4{height:calc(var(--astw-spacing) * 4)}.astw\:h-5{height:calc(var(--astw-spacing) * 5)}.astw\:h-7{height:calc(var(--astw-spacing) * 7)}.astw\:h-8{height:calc(var(--astw-spacing) * 8)}.astw\:h-9{height:calc(var(--astw-spacing) * 9)}.astw\:h-10{height:calc(var(--astw-spacing) * 10)}.astw\:h-12{height:calc(var(--astw-spacing) * 12)}.astw\:h-14{height:calc(var(--astw-spacing) * 14)}.astw\:h-auto{height:auto}.astw\:h-full{height:100%}.astw\:h-svh{height:100svh}.astw\:min-h-0{min-height:calc(var(--astw-spacing) * 0)}.astw\:min-h-svh{min-height:100svh}.astw\:w-\(--sidebar-width\){width:var(--sidebar-width)}.astw\:w-3\/4{width:75%}.astw\:w-4{width:calc(var(--astw-spacing) * 4)}.astw\:w-5{width:calc(var(--astw-spacing) * 5)}.astw\:w-\[100\%\]{width:100%}.astw\:w-\[calc\(100\%-var\(--sidebar-width\)\)\]{width:calc(100% - var(--sidebar-width))}.astw\:w-auto{width:auto}.astw\:w-fit{width:fit-content}.astw\:w-full{width:100%}.astw\:max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.astw\:max-w-5xl{max-width:var(--astw-container-5xl)}.astw\:max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.astw\:min-w-0{min-width:calc(var(--astw-spacing) * 0)}.astw\:min-w-5{min-width:calc(var(--astw-spacing) * 5)}.astw\:flex-1{flex:1}.astw\:flex-shrink-0,.astw\:shrink-0{flex-shrink:0}.astw\:caption-bottom{caption-side:bottom}.astw\:origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.astw\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:-translate-x-px{--tw-translate-x: -1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-x-\[-50\%\]{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-x-px{--tw-translate-x: 1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-y-\[-50\%\]{--tw-translate-y: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:rotate-45{rotate:45deg}.astw\:animate-in{animation:enter var(--tw-duration,.15s)var(--tw-ease,ease)}.astw\:animate-pulse{animation:var(--astw-animate-pulse)}.astw\:flex-col{flex-direction:column}.astw\:flex-col-reverse{flex-direction:column-reverse}.astw\:flex-row{flex-direction:row}.astw\:flex-wrap{flex-wrap:wrap}.astw\:items-center{align-items:center}.astw\:items-start{align-items:flex-start}.astw\:justify-between{justify-content:space-between}.astw\:justify-center{justify-content:center}.astw\:justify-start{justify-content:flex-start}.astw\:gap-0\.5{gap:calc(var(--astw-spacing) * .5)}.astw\:gap-1{gap:calc(var(--astw-spacing) * 1)}.astw\:gap-1\.5{gap:calc(var(--astw-spacing) * 1.5)}.astw\:gap-2{gap:calc(var(--astw-spacing) * 2)}.astw\:gap-3{gap:calc(var(--astw-spacing) * 3)}.astw\:gap-4{gap:calc(var(--astw-spacing) * 4)}.astw\:gap-\[10px\]{gap:10px}.astw\:overflow-auto{overflow:auto}.astw\:overflow-hidden{overflow:hidden}.astw\:overflow-x-auto{overflow-x:auto}.astw\:rounded-\[2px\]{border-radius:2px}.astw\:rounded-lg{border-radius:var(--radius)}.astw\:rounded-md{border-radius:calc(var(--radius) - 2px)}.astw\:rounded-sm{border-radius:calc(var(--radius) - 4px)}.astw\:rounded-xs{border-radius:var(--astw-radius-xs)}.astw\:border{border-style:var(--tw-border-style);border-width:1px}.astw\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.astw\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.astw\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.astw\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.astw\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.astw\:border-input{border-color:var(--input)}.astw\:border-sidebar-border{border-color:var(--sidebar-border)}.astw\:border-x-border{border-inline-color:var(--border)}.astw\:bg-accent{background-color:var(--accent)}.astw\:bg-background{background-color:var(--background)}.astw\:bg-black\/50{background-color:var(--astw-color-black);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--astw-color-black) 50%,transparent)}}.astw\:bg-border{background-color:var(--border)}.astw\:bg-card{background-color:var(--card)}.astw\:bg-destructive{background-color:var(--destructive)}.astw\: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)}}.astw\:bg-primary{background-color:var(--primary)}.astw\:bg-secondary{background-color:var(--secondary)}.astw\:bg-sidebar{background-color:var(--sidebar)}.astw\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.astw\:bg-sidebar-border{background-color:var(--sidebar-border)}.astw\:bg-transparent{background-color:transparent}.astw\:fill-primary{fill:var(--primary)}.astw\:p-0{padding:calc(var(--astw-spacing) * 0)}.astw\:p-2{padding:calc(var(--astw-spacing) * 2)}.astw\:p-3{padding:calc(var(--astw-spacing) * 3)}.astw\:p-4{padding:calc(var(--astw-spacing) * 4)}.astw\:p-6{padding:calc(var(--astw-spacing) * 6)}.astw\:px-1{padding-inline:calc(var(--astw-spacing) * 1)}.astw\:px-2{padding-inline:calc(var(--astw-spacing) * 2)}.astw\:px-2\.5{padding-inline:calc(var(--astw-spacing) * 2.5)}.astw\:px-3{padding-inline:calc(var(--astw-spacing) * 3)}.astw\:px-4{padding-inline:calc(var(--astw-spacing) * 4)}.astw\:px-6{padding-inline:calc(var(--astw-spacing) * 6)}.astw\:py-0\.5{padding-block:calc(var(--astw-spacing) * .5)}.astw\:py-1{padding-block:calc(var(--astw-spacing) * 1)}.astw\:py-1\.5{padding-block:calc(var(--astw-spacing) * 1.5)}.astw\:py-2{padding-block:calc(var(--astw-spacing) * 2)}.astw\:text-center{text-align:center}.astw\:text-left{text-align:left}.astw\:align-middle{vertical-align:middle}.astw\:text-base{font-size:var(--astw-text-base);line-height:var(--tw-leading, var(--astw-text-base--line-height))}.astw\:text-lg{font-size:var(--astw-text-lg);line-height:var(--tw-leading, var(--astw-text-lg--line-height))}.astw\:text-sm{font-size:var(--astw-text-sm);line-height:var(--tw-leading, var(--astw-text-sm--line-height))}.astw\:text-xs{font-size:var(--astw-text-xs);line-height:var(--tw-leading, var(--astw-text-xs--line-height))}.astw\:leading-\[36px\]{--tw-leading: 36px;line-height:36px}.astw\:leading-none{--tw-leading: 1;line-height:1}.astw\:font-bold{--tw-font-weight: var(--astw-font-weight-bold);font-weight:var(--astw-font-weight-bold)}.astw\:font-medium{--tw-font-weight: var(--astw-font-weight-medium);font-weight:var(--astw-font-weight-medium)}.astw\:font-normal{--tw-font-weight: var(--astw-font-weight-normal);font-weight:var(--astw-font-weight-normal)}.astw\:font-semibold{--tw-font-weight: var(--astw-font-weight-semibold);font-weight:var(--astw-font-weight-semibold)}.astw\:tracking-tight{--tw-tracking: var(--astw-tracking-tight);letter-spacing:var(--astw-tracking-tight)}.astw\:text-balance{text-wrap:balance}.astw\:break-words{overflow-wrap:break-word}.astw\:whitespace-nowrap{white-space:nowrap}.astw\:text-destructive{color:var(--destructive)}.astw\:text-foreground{color:var(--foreground)}.astw\:text-muted-foreground{color:var(--muted-foreground)}.astw\:text-primary{color:var(--primary)}.astw\:text-primary-foreground{color:var(--primary-foreground)}.astw\:text-secondary-foreground{color:var(--secondary-foreground)}.astw\:text-sidebar-foreground{color:var(--sidebar-foreground)}.astw\: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)}}.astw\:text-white{color:var(--astw-color-white)}.astw\: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,)}.astw\:underline-offset-4{text-underline-offset:4px}.astw\:opacity-70{opacity:70%}.astw\: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)}.astw\: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)}.astw\: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)}.astw\: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)}.astw\:ring-sidebar-ring{--tw-ring-color: var(--sidebar-ring)}.astw\:outline-hidden{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}.astw\: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(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[width\,height\]{transition-property:width,height;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\: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(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:duration-200{--tw-duration: .2s;transition-duration:.2s}.astw\:ease-in-out{--tw-ease: var(--astw-ease-in-out);transition-timing-function:var(--astw-ease-in-out)}.astw\:ease-linear{--tw-ease: linear;transition-timing-function:linear}.astw\:outline-none{--tw-outline-style: none;outline-style:none}.astw\:select-none{-webkit-user-select:none;user-select:none}.astw\:fade-in-0{--tw-enter-opacity: 0}.astw\:zoom-in-95{--tw-enter-scale: .95}.astw\:group-focus-within\/menu-item\:opacity-100{&:is(:where(.astw\:group\/menu-item):focus-within *){opacity:100%}}.astw\:group-hover\/menu-item\:opacity-100{&:is(:where(.astw\:group\/menu-item):hover *){@media (hover: hover){opacity:100%}}}.astw\:group-has-data-\[collapsible\=icon\]\/sidebar-wrapper\:h-12{&:is(:where(.astw\:group\/sidebar-wrapper):has(*[data-collapsible=icon]) *){height:calc(var(--astw-spacing) * 12)}}.astw\:group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8{&:is(:where(.astw\:group\/menu-item):has(*[data-sidebar=menu-action]) *){padding-right:calc(var(--astw-spacing) * 8)}}.astw\:group-data-\[collapsible\=icon\]\:-mt-8{&:is(:where(.astw\:group)[data-collapsible=icon] *){margin-top:calc(var(--astw-spacing) * -8)}}.astw\:group-data-\[collapsible\=icon\]\:hidden{&:is(:where(.astw\:group)[data-collapsible=icon] *){display:none}}.astw\:group-data-\[collapsible\=icon\]\:size-8\!{&:is(:where(.astw\:group)[data-collapsible=icon] *){width:calc(var(--astw-spacing) * 8)!important;height:calc(var(--astw-spacing) * 8)!important}}.astw\:group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\){&:is(:where(.astw\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}}.astw\:group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{&:is(:where(.astw\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--astw-spacing) * 4)))}}.astw\:group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{&:is(:where(.astw\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--astw-spacing) * 4)) + 2px)}}.astw\:group-data-\[collapsible\=icon\]\:overflow-hidden{&:is(:where(.astw\:group)[data-collapsible=icon] *){overflow:hidden}}.astw\:group-data-\[collapsible\=icon\]\:p-0\!{&:is(:where(.astw\:group)[data-collapsible=icon] *){padding:calc(var(--astw-spacing) * 0)!important}}.astw\:group-data-\[collapsible\=icon\]\:p-2\!{&:is(:where(.astw\:group)[data-collapsible=icon] *){padding:calc(var(--astw-spacing) * 2)!important}}.astw\:group-data-\[collapsible\=icon\]\:opacity-0{&:is(:where(.astw\:group)[data-collapsible=icon] *){opacity:0%}}.astw\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}}.astw\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}}.astw\:group-data-\[collapsible\=offcanvas\]\:w-0{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){width:calc(var(--astw-spacing) * 0)}}.astw\:group-data-\[collapsible\=offcanvas\]\:translate-x-0{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){--tw-translate-x: calc(var(--astw-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}.astw\:group-data-\[side\=left\]\:-right-4{&:is(:where(.astw\:group)[data-side=left] *){right:calc(var(--astw-spacing) * -4)}}.astw\:group-data-\[side\=left\]\:border-r{&:is(:where(.astw\:group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}}.astw\:group-data-\[side\=right\]\:left-0{&:is(:where(.astw\:group)[data-side=right] *){left:calc(var(--astw-spacing) * 0)}}.astw\:group-data-\[side\=right\]\:rotate-180{&:is(:where(.astw\:group)[data-side=right] *){rotate:180deg}}.astw\:group-data-\[side\=right\]\:border-l{&:is(:where(.astw\:group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}}.astw\:group-data-\[variant\=floating\]\:rounded-lg{&:is(:where(.astw\:group)[data-variant=floating] *){border-radius:var(--radius)}}.astw\:group-data-\[variant\=floating\]\:border{&:is(:where(.astw\:group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}}.astw\:group-data-\[variant\=floating\]\:border-sidebar-border{&:is(:where(.astw\:group)[data-variant=floating] *){border-color:var(--sidebar-border)}}.astw\:group-data-\[variant\=floating\]\:shadow-sm{&:is(:where(.astw\: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)}}.astw\:peer-hover\/menu-button\:text-sidebar-accent-foreground{&:is(:where(.astw\:peer\/menu-button):hover~*){@media (hover: hover){color:var(--sidebar-accent-foreground)}}}.astw\:peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{&:is(:where(.astw\:peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}}.astw\:peer-data-\[size\=default\]\/menu-button\:top-1\.5{&:is(:where(.astw\:peer\/menu-button)[data-size=default]~*){top:calc(var(--astw-spacing) * 1.5)}}.astw\:peer-data-\[size\=lg\]\/menu-button\:top-2\.5{&:is(:where(.astw\:peer\/menu-button)[data-size=lg]~*){top:calc(var(--astw-spacing) * 2.5)}}.astw\:peer-data-\[size\=sm\]\/menu-button\:top-1{&:is(:where(.astw\:peer\/menu-button)[data-size=sm]~*){top:calc(var(--astw-spacing) * 1)}}.astw\:selection\:bg-primary{& *::selection{background-color:var(--primary)}&::selection{background-color:var(--primary)}}.astw\:selection\:text-primary-foreground{& *::selection{color:var(--primary-foreground)}&::selection{color:var(--primary-foreground)}}.astw\:file\:inline-flex{&::file-selector-button{display:inline-flex}}.astw\:file\:h-7{&::file-selector-button{height:calc(var(--astw-spacing) * 7)}}.astw\:file\:border-0{&::file-selector-button{border-style:var(--tw-border-style);border-width:0px}}.astw\:file\:bg-transparent{&::file-selector-button{background-color:transparent}}.astw\:file\:text-sm{&::file-selector-button{font-size:var(--astw-text-sm);line-height:var(--tw-leading, var(--astw-text-sm--line-height))}}.astw\:file\:font-medium{&::file-selector-button{--tw-font-weight: var(--astw-font-weight-medium);font-weight:var(--astw-font-weight-medium)}}.astw\:file\:text-foreground{&::file-selector-button{color:var(--foreground)}}.astw\:placeholder\:text-muted-foreground{&::placeholder{color:var(--muted-foreground)}}.astw\:after\:absolute{&:after{content:var(--tw-content);position:absolute}}.astw\:after\:-inset-2{&:after{content:var(--tw-content);inset:calc(var(--astw-spacing) * -2)}}.astw\:after\:inset-y-0{&:after{content:var(--tw-content);inset-block:calc(var(--astw-spacing) * 0)}}.astw\:after\:left-1\/2{&:after{content:var(--tw-content);left:50%}}.astw\:after\:w-\[2px\]{&:after{content:var(--tw-content);width:2px}}.astw\:group-data-\[collapsible\=offcanvas\]\:after\:left-full{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){&:after{content:var(--tw-content);left:100%}}}.astw\:last\:text-foreground{&:last-child{color:var(--foreground)}}.astw\:hover\:bg-accent{&:hover{@media (hover: hover){background-color:var(--accent)}}}.astw\: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)}}}}.astw\: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)}}}}.astw\: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)}}}}.astw\: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)}}}}.astw\:hover\:bg-sidebar-accent{&:hover{@media (hover: hover){background-color:var(--sidebar-accent)}}}.astw\:hover\:text-accent-foreground{&:hover{@media (hover: hover){color:var(--accent-foreground)}}}.astw\:hover\:text-foreground{&:hover{@media (hover: hover){color:var(--foreground)}}}.astw\:hover\:text-sidebar-accent-foreground{&:hover{@media (hover: hover){color:var(--sidebar-accent-foreground)}}}.astw\:hover\:underline{&:hover{@media (hover: hover){text-decoration-line:underline}}}.astw\:hover\:opacity-100{&:hover{@media (hover: hover){opacity:100%}}}.astw\: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)}}}.astw\:hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar{&:hover{@media (hover: hover){&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}}}}.astw\:hover\:after\:bg-sidebar-border{&:hover{@media (hover: hover){&:after{content:var(--tw-content);background-color:var(--sidebar-border)}}}}.astw\: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)}}.astw\:focus\:ring-ring{&:focus{--tw-ring-color: var(--ring)}}.astw\: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)}}.astw\:focus\:outline-hidden{&:focus{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}}.astw\:focus-visible\:border-ring{&:focus-visible{border-color:var(--ring)}}.astw\: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)}}.astw\: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)}}.astw\: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)}}}.astw\: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)}}}.astw\:active\:bg-sidebar-accent{&:active{background-color:var(--sidebar-accent)}}.astw\:active\:text-sidebar-accent-foreground{&:active{color:var(--sidebar-accent-foreground)}}.astw\:disabled\:pointer-events-none{&:disabled{pointer-events:none}}.astw\:disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.astw\:disabled\:opacity-50{&:disabled{opacity:50%}}.astw\:in-data-\[side\=left\]\:cursor-w-resize{:where(*[data-side=left]) &{cursor:w-resize}}.astw\:in-data-\[side\=right\]\:cursor-e-resize{:where(*[data-side=right]) &{cursor:e-resize}}.astw\:has-data-\[variant\=inset\]\:bg-sidebar{&:has(*[data-variant=inset]){background-color:var(--sidebar)}}.astw\:has-\[\>svg\]\:px-2\.5{&:has(>svg){padding-inline:calc(var(--astw-spacing) * 2.5)}}.astw\:has-\[\>svg\]\:px-3{&:has(>svg){padding-inline:calc(var(--astw-spacing) * 3)}}.astw\:has-\[\>svg\]\:px-4{&:has(>svg){padding-inline:calc(var(--astw-spacing) * 4)}}.astw\:aria-disabled\:pointer-events-none{&[aria-disabled=true]{pointer-events:none}}.astw\:aria-disabled\:opacity-50{&[aria-disabled=true]{opacity:50%}}.astw\:aria-invalid\:border-destructive{&[aria-invalid=true]{border-color:var(--destructive)}}.astw\: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)}}}.astw\:data-\[active\=true\]\:bg-sidebar-accent{&[data-active=true]{background-color:var(--sidebar-accent)}}.astw\:data-\[active\=true\]\:font-medium{&[data-active=true]{--tw-font-weight: var(--astw-font-weight-medium);font-weight:var(--astw-font-weight-medium)}}.astw\:data-\[active\=true\]\:text-sidebar-accent-foreground{&[data-active=true]{color:var(--sidebar-accent-foreground)}}.astw\:data-\[orientation\=horizontal\]\:h-px{&[data-orientation=horizontal]{height:1px}}.astw\:data-\[orientation\=horizontal\]\:w-full{&[data-orientation=horizontal]{width:100%}}.astw\:data-\[orientation\=vertical\]\:h-full{&[data-orientation=vertical]{height:100%}}.astw\:data-\[orientation\=vertical\]\:w-px{&[data-orientation=vertical]{width:1px}}.astw\:data-\[side\=bottom\]\:slide-in-from-top-2{&[data-side=bottom]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.astw\:data-\[side\=left\]\:slide-in-from-right-2{&[data-side=left]{--tw-enter-translate-x: calc(2*var(--spacing))}}.astw\:data-\[side\=right\]\:slide-in-from-left-2{&[data-side=right]{--tw-enter-translate-x: calc(2*var(--spacing)*-1)}}.astw\:data-\[side\=top\]\:slide-in-from-bottom-2{&[data-side=top]{--tw-enter-translate-y: calc(2*var(--spacing))}}.astw\:data-\[state\=closed\]\:animate-out{&[data-state=closed]{animation:exit var(--tw-duration,.15s)var(--tw-ease,ease)}}.astw\:data-\[state\=closed\]\:duration-300{&[data-state=closed]{--tw-duration: .3s;transition-duration:.3s}}.astw\:data-\[state\=closed\]\:fade-out-0{&[data-state=closed]{--tw-exit-opacity: 0}}.astw\:data-\[state\=closed\]\:slide-out-to-bottom{&[data-state=closed]{--tw-exit-translate-y: 100%}}.astw\:data-\[state\=closed\]\:slide-out-to-left{&[data-state=closed]{--tw-exit-translate-x: -100%}}.astw\:data-\[state\=closed\]\:slide-out-to-right{&[data-state=closed]{--tw-exit-translate-x: 100%}}.astw\:data-\[state\=closed\]\:slide-out-to-top{&[data-state=closed]{--tw-exit-translate-y: -100%}}.astw\:data-\[state\=closed\]\:zoom-out-95{&[data-state=closed]{--tw-exit-scale: .95}}.astw\:data-\[state\=open\]\:rotate-90{&[data-state=open]{rotate:90deg}}.astw\:data-\[state\=open\]\:animate-in{&[data-state=open]{animation:enter var(--tw-duration,.15s)var(--tw-ease,ease)}}.astw\:data-\[state\=open\]\:bg-accent{&[data-state=open]{background-color:var(--accent)}}.astw\:data-\[state\=open\]\:bg-secondary{&[data-state=open]{background-color:var(--secondary)}}.astw\:data-\[state\=open\]\:text-muted-foreground{&[data-state=open]{color:var(--muted-foreground)}}.astw\:data-\[state\=open\]\:opacity-100{&[data-state=open]{opacity:100%}}.astw\:data-\[state\=open\]\:duration-500{&[data-state=open]{--tw-duration: .5s;transition-duration:.5s}}.astw\:data-\[state\=open\]\:fade-in-0{&[data-state=open]{--tw-enter-opacity: 0}}.astw\:data-\[state\=open\]\:slide-in-from-bottom{&[data-state=open]{--tw-enter-translate-y: 100%}}.astw\:data-\[state\=open\]\:slide-in-from-left{&[data-state=open]{--tw-enter-translate-x: -100%}}.astw\:data-\[state\=open\]\:slide-in-from-right{&[data-state=open]{--tw-enter-translate-x: 100%}}.astw\:data-\[state\=open\]\:slide-in-from-top{&[data-state=open]{--tw-enter-translate-y: -100%}}.astw\:data-\[state\=open\]\:zoom-in-95{&[data-state=open]{--tw-enter-scale: .95}}.astw\:data-\[state\=open\]\:hover\:bg-sidebar-accent{&[data-state=open]{&:hover{@media (hover: hover){background-color:var(--sidebar-accent)}}}}.astw\:data-\[state\=open\]\:hover\:text-sidebar-accent-foreground{&[data-state=open]{&:hover{@media (hover: hover){color:var(--sidebar-accent-foreground)}}}}.astw\:data-\[state\=selected\]\:bg-muted{&[data-state=selected]{background-color:var(--muted)}}.astw\:sm\:flex{@media (width >= 40rem){display:flex}}.astw\:sm\:max-w-lg{@media (width >= 40rem){max-width:var(--astw-container-lg)}}.astw\:sm\:max-w-sm{@media (width >= 40rem){max-width:var(--astw-container-sm)}}.astw\:sm\:flex-row{@media (width >= 40rem){flex-direction:row}}.astw\:sm\:justify-end{@media (width >= 40rem){justify-content:flex-end}}.astw\:sm\:gap-2\.5{@media (width >= 40rem){gap:calc(var(--astw-spacing) * 2.5)}}.astw\:sm\:text-left{@media (width >= 40rem){text-align:left}}.astw\:md\:block{@media (width >= 48rem){display:block}}.astw\:md\:flex{@media (width >= 48rem){display:flex}}.astw\:md\:hidden{@media (width >= 48rem){display:none}}.astw\:md\:w-xs{@media (width >= 48rem){width:var(--astw-container-xs)}}.astw\:md\:flex-row{@media (width >= 48rem){flex-direction:row}}.astw\:md\:text-sm{@media (width >= 48rem){font-size:var(--astw-text-sm);line-height:var(--tw-leading, var(--astw-text-sm--line-height))}}.astw\:md\:opacity-0{@media (width >= 48rem){opacity:0%}}.astw\:md\:peer-data-\[variant\=inset\]\:px-8{@media (width >= 48rem){&:is(:where(.astw\:peer)[data-variant=inset]~*){padding-inline:calc(var(--astw-spacing) * 8)}}}.astw\:md\:peer-data-\[variant\=inset\]\:py-2{@media (width >= 48rem){&:is(:where(.astw\:peer)[data-variant=inset]~*){padding-block:calc(var(--astw-spacing) * 2)}}}.astw\:md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:pl-2{@media (width >= 48rem){&:is(:where(.astw\:peer)[data-variant=inset]~*){&:is(:where(.astw\:peer)[data-state=collapsed]~*){padding-left:calc(var(--astw-spacing) * 2)}}}}.astw\:md\:after\:hidden{@media (width >= 48rem){&:after{content:var(--tw-content);display:none}}}.astw\:dark\:border-input{&:where(.dark,.dark *){border-color:var(--input)}}.astw\: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)}}}.astw\: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)}}}.astw\: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)}}}}}.astw\: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)}}}}}.astw\: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)}}}}.astw\: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)}}}}.astw\:\[\&_svg\]\:pointer-events-none{& svg{pointer-events:none}}.astw\:\[\&_svg\]\:shrink-0{& svg{flex-shrink:0}}.astw\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4{& svg:not([class*=size-]){width:calc(var(--astw-spacing) * 4);height:calc(var(--astw-spacing) * 4)}}.astw\:\[\&_tr\]\:border-b{& tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.astw\:\[\&_tr\:last-child\]\:border-0{& tr:last-child{border-style:var(--tw-border-style);border-width:0px}}.astw\:\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0{&:has([role=checkbox]){padding-right:calc(var(--astw-spacing) * 0)}}.astw\:\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]{>[role=checkbox]{--tw-translate-y: 2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}.astw\:\[\&\>button\]\:hidden{>button{display:none}}.astw\:\[\&\>span\:last-child\]\:truncate{>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.astw\:\[\&\>svg\]\:size-3\.5{>svg{width:calc(var(--astw-spacing) * 3.5);height:calc(var(--astw-spacing) * 3.5)}}.astw\:\[\&\>svg\]\:size-4{>svg{width:calc(var(--astw-spacing) * 4);height:calc(var(--astw-spacing) * 4)}}.astw\:\[\&\>svg\]\:shrink-0{>svg{flex-shrink:0}}.astw\:\[\&\>svg\]\:text-sidebar-accent-foreground{>svg{color:var(--sidebar-accent-foreground)}}.astw\:\[\&\>tr\]\:last\:border-b-0{>tr{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}}}.astw\:\[\&\[data-state\=open\]_\.astw-rotate-target\]\:rotate-90{&[data-state=open] .astw-rotate-target{rotate:90deg}}.astw\:\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{[data-side=left][data-collapsible=offcanvas] &{right:calc(var(--astw-spacing) * -2)}}.astw\:\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{[data-side=left][data-state=collapsed] &{cursor:e-resize}}.astw\:\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{[data-side=right][data-collapsible=offcanvas] &{left:calc(var(--astw-spacing) * -2)}}.astw\:\[\[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{*,:after,:before,::backdrop,::file-selector-button{border-color:var(--color-gray-200, currentcolor)}}@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(--astw-font-sans);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{height:calc(var(--astw-spacing) * 2);width:calc(var(--astw-spacing) * 2);background-color:var(--muted)}::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--muted-foreground)}::-webkit-scrollbar-corner{background-color:var(--muted-foreground)}}@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-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-duration: initial;--tw-ease: initial;--tw-content: ""}}}
1
+ @layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--astw-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--astw-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--astw-color-black: #000;--astw-color-white: #fff;--astw-spacing: .25rem;--astw-container-xs: 20rem;--astw-container-sm: 24rem;--astw-container-lg: 32rem;--astw-container-5xl: 64rem;--astw-text-xs: .75rem;--astw-text-xs--line-height: calc(1 / .75);--astw-text-sm: .875rem;--astw-text-sm--line-height: calc(1.25 / .875);--astw-text-base: 1rem;--astw-text-base--line-height: 1.5 ;--astw-text-lg: 1.125rem;--astw-text-lg--line-height: calc(1.75 / 1.125);--astw-font-weight-normal: 400;--astw-font-weight-medium: 500;--astw-font-weight-semibold: 600;--astw-font-weight-bold: 700;--astw-tracking-tight: -.025em;--astw-radius-xs: .125rem;--astw-ease-in-out: cubic-bezier(.4, 0, .2, 1);--astw-animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--astw-default-transition-duration: .15s;--astw-default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--astw-default-font-family: var(--astw-font-sans);--astw-default-mono-font-family: var(--astw-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(--astw-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(--astw-default-font-feature-settings, normal);font-variation-settings:var(--astw-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(--astw-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--astw-default-mono-font-feature-settings, normal);font-variation-settings:var(--astw-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{.astw\:pointer-events-none{pointer-events:none}.astw\: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}.astw\:absolute{position:absolute}.astw\:fixed{position:fixed}.astw\:relative{position:relative}.astw\:inset-0{inset:calc(var(--astw-spacing) * 0)}.astw\:inset-x-0{inset-inline:calc(var(--astw-spacing) * 0)}.astw\:inset-y-0{inset-block:calc(var(--astw-spacing) * 0)}.astw\:top-0{top:calc(var(--astw-spacing) * 0)}.astw\:top-1\.5{top:calc(var(--astw-spacing) * 1.5)}.astw\:top-3\.5{top:calc(var(--astw-spacing) * 3.5)}.astw\:top-4{top:calc(var(--astw-spacing) * 4)}.astw\:top-\[50\%\]{top:50%}.astw\:right-0{right:calc(var(--astw-spacing) * 0)}.astw\:right-1{right:calc(var(--astw-spacing) * 1)}.astw\:right-3{right:calc(var(--astw-spacing) * 3)}.astw\:right-4{right:calc(var(--astw-spacing) * 4)}.astw\:bottom-0{bottom:calc(var(--astw-spacing) * 0)}.astw\:left-0{left:calc(var(--astw-spacing) * 0)}.astw\:left-\[50\%\]{left:50%}.astw\:z-10{z-index:10}.astw\:z-20{z-index:20}.astw\:z-50{z-index:50}.astw\:mx-2{margin-inline:calc(var(--astw-spacing) * 2)}.astw\:mx-3\.5{margin-inline:calc(var(--astw-spacing) * 3.5)}.astw\:mx-auto{margin-inline:auto}.astw\:mt-0\.5{margin-top:calc(var(--astw-spacing) * .5)}.astw\:mt-1{margin-top:calc(var(--astw-spacing) * 1)}.astw\:mt-2{margin-top:calc(var(--astw-spacing) * 2)}.astw\:mt-4{margin-top:calc(var(--astw-spacing) * 4)}.astw\:mt-auto{margin-top:auto}.astw\:mb-2{margin-bottom:calc(var(--astw-spacing) * 2)}.astw\:-ml-1{margin-left:calc(var(--astw-spacing) * -1)}.astw\:-ml-2\.5{margin-left:calc(var(--astw-spacing) * -2.5)}.astw\:flex{display:flex}.astw\:grid{display:grid}.astw\:hidden{display:none}.astw\:inline-flex{display:inline-flex}.astw\:aspect-square{aspect-ratio:1 / 1}.astw\:size-2\.5{width:calc(var(--astw-spacing) * 2.5);height:calc(var(--astw-spacing) * 2.5)}.astw\:size-4{width:calc(var(--astw-spacing) * 4);height:calc(var(--astw-spacing) * 4)}.astw\:size-4\.5{width:calc(var(--astw-spacing) * 4.5);height:calc(var(--astw-spacing) * 4.5)}.astw\:size-9{width:calc(var(--astw-spacing) * 9);height:calc(var(--astw-spacing) * 9)}.astw\:h-4{height:calc(var(--astw-spacing) * 4)}.astw\:h-5{height:calc(var(--astw-spacing) * 5)}.astw\:h-7{height:calc(var(--astw-spacing) * 7)}.astw\:h-8{height:calc(var(--astw-spacing) * 8)}.astw\:h-9{height:calc(var(--astw-spacing) * 9)}.astw\:h-10{height:calc(var(--astw-spacing) * 10)}.astw\:h-12{height:calc(var(--astw-spacing) * 12)}.astw\:h-14{height:calc(var(--astw-spacing) * 14)}.astw\:h-auto{height:auto}.astw\:h-full{height:100%}.astw\:h-svh{height:100svh}.astw\:min-h-0{min-height:calc(var(--astw-spacing) * 0)}.astw\:min-h-svh{min-height:100svh}.astw\:w-\(--sidebar-width\){width:var(--sidebar-width)}.astw\:w-3\/4{width:75%}.astw\:w-4{width:calc(var(--astw-spacing) * 4)}.astw\:w-5{width:calc(var(--astw-spacing) * 5)}.astw\:w-\[100\%\]{width:100%}.astw\:w-\[calc\(100\%-var\(--sidebar-width\)\)\]{width:calc(100% - var(--sidebar-width))}.astw\:w-auto{width:auto}.astw\:w-fit{width:fit-content}.astw\:w-full{width:100%}.astw\:max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.astw\:max-w-5xl{max-width:var(--astw-container-5xl)}.astw\:max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.astw\:min-w-0{min-width:calc(var(--astw-spacing) * 0)}.astw\:min-w-5{min-width:calc(var(--astw-spacing) * 5)}.astw\:flex-1{flex:1}.astw\:flex-shrink-0,.astw\:shrink-0{flex-shrink:0}.astw\:caption-bottom{caption-side:bottom}.astw\:origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.astw\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:-translate-x-px{--tw-translate-x: -1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-x-\[-50\%\]{--tw-translate-x: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-x-px{--tw-translate-x: 1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-y-\[-50\%\]{--tw-translate-y: -50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.astw\:rotate-45{rotate:45deg}.astw\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.astw\:animate-pulse{animation:var(--astw-animate-pulse)}.astw\:flex-col{flex-direction:column}.astw\:flex-col-reverse{flex-direction:column-reverse}.astw\:flex-row{flex-direction:row}.astw\:flex-wrap{flex-wrap:wrap}.astw\:items-center{align-items:center}.astw\:items-start{align-items:flex-start}.astw\:justify-between{justify-content:space-between}.astw\:justify-center{justify-content:center}.astw\:justify-start{justify-content:flex-start}.astw\:gap-0\.5{gap:calc(var(--astw-spacing) * .5)}.astw\:gap-1{gap:calc(var(--astw-spacing) * 1)}.astw\:gap-1\.5{gap:calc(var(--astw-spacing) * 1.5)}.astw\:gap-2{gap:calc(var(--astw-spacing) * 2)}.astw\:gap-3{gap:calc(var(--astw-spacing) * 3)}.astw\:gap-4{gap:calc(var(--astw-spacing) * 4)}.astw\:gap-\[10px\]{gap:10px}.astw\:overflow-auto{overflow:auto}.astw\:overflow-hidden{overflow:hidden}.astw\:overflow-x-auto{overflow-x:auto}.astw\:rounded-\[2px\]{border-radius:2px}.astw\:rounded-lg{border-radius:var(--radius)}.astw\:rounded-md{border-radius:calc(var(--radius) - 2px)}.astw\:rounded-sm{border-radius:calc(var(--radius) - 4px)}.astw\:rounded-xs{border-radius:var(--astw-radius-xs)}.astw\:border{border-style:var(--tw-border-style);border-width:1px}.astw\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.astw\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.astw\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.astw\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.astw\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.astw\:border-input{border-color:var(--input)}.astw\:border-sidebar-border{border-color:var(--sidebar-border)}.astw\:border-x-border{border-inline-color:var(--border)}.astw\:bg-accent{background-color:var(--accent)}.astw\:bg-background{background-color:var(--background)}.astw\:bg-black\/50{background-color:var(--astw-color-black);@supports (color: color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--astw-color-black) 50%,transparent)}}.astw\:bg-border{background-color:var(--border)}.astw\:bg-card{background-color:var(--card)}.astw\:bg-destructive{background-color:var(--destructive)}.astw\: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)}}.astw\:bg-primary{background-color:var(--primary)}.astw\:bg-secondary{background-color:var(--secondary)}.astw\:bg-sidebar{background-color:var(--sidebar)}.astw\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.astw\:bg-sidebar-border{background-color:var(--sidebar-border)}.astw\:bg-transparent{background-color:transparent}.astw\:fill-primary{fill:var(--primary)}.astw\:p-0{padding:calc(var(--astw-spacing) * 0)}.astw\:p-2{padding:calc(var(--astw-spacing) * 2)}.astw\:p-3{padding:calc(var(--astw-spacing) * 3)}.astw\:p-4{padding:calc(var(--astw-spacing) * 4)}.astw\:p-6{padding:calc(var(--astw-spacing) * 6)}.astw\:px-1{padding-inline:calc(var(--astw-spacing) * 1)}.astw\:px-2{padding-inline:calc(var(--astw-spacing) * 2)}.astw\:px-2\.5{padding-inline:calc(var(--astw-spacing) * 2.5)}.astw\:px-3{padding-inline:calc(var(--astw-spacing) * 3)}.astw\:px-4{padding-inline:calc(var(--astw-spacing) * 4)}.astw\:px-6{padding-inline:calc(var(--astw-spacing) * 6)}.astw\:py-0\.5{padding-block:calc(var(--astw-spacing) * .5)}.astw\:py-1{padding-block:calc(var(--astw-spacing) * 1)}.astw\:py-1\.5{padding-block:calc(var(--astw-spacing) * 1.5)}.astw\:py-2{padding-block:calc(var(--astw-spacing) * 2)}.astw\:text-center{text-align:center}.astw\:text-left{text-align:left}.astw\:align-middle{vertical-align:middle}.astw\:text-base{font-size:var(--astw-text-base);line-height:var(--tw-leading, var(--astw-text-base--line-height))}.astw\:text-lg{font-size:var(--astw-text-lg);line-height:var(--tw-leading, var(--astw-text-lg--line-height))}.astw\:text-sm{font-size:var(--astw-text-sm);line-height:var(--tw-leading, var(--astw-text-sm--line-height))}.astw\:text-xs{font-size:var(--astw-text-xs);line-height:var(--tw-leading, var(--astw-text-xs--line-height))}.astw\:leading-\[36px\]{--tw-leading: 36px;line-height:36px}.astw\:leading-none{--tw-leading: 1;line-height:1}.astw\:font-bold{--tw-font-weight: var(--astw-font-weight-bold);font-weight:var(--astw-font-weight-bold)}.astw\:font-medium{--tw-font-weight: var(--astw-font-weight-medium);font-weight:var(--astw-font-weight-medium)}.astw\:font-normal{--tw-font-weight: var(--astw-font-weight-normal);font-weight:var(--astw-font-weight-normal)}.astw\:font-semibold{--tw-font-weight: var(--astw-font-weight-semibold);font-weight:var(--astw-font-weight-semibold)}.astw\:tracking-tight{--tw-tracking: var(--astw-tracking-tight);letter-spacing:var(--astw-tracking-tight)}.astw\:text-balance{text-wrap:balance}.astw\:break-words{overflow-wrap:break-word}.astw\:whitespace-nowrap{white-space:nowrap}.astw\:text-destructive{color:var(--destructive)}.astw\:text-foreground{color:var(--foreground)}.astw\:text-muted-foreground{color:var(--muted-foreground)}.astw\:text-primary{color:var(--primary)}.astw\:text-primary-foreground{color:var(--primary-foreground)}.astw\:text-secondary-foreground{color:var(--secondary-foreground)}.astw\:text-sidebar-foreground{color:var(--sidebar-foreground)}.astw\: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)}}.astw\:text-white{color:var(--astw-color-white)}.astw\: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,)}.astw\:underline-offset-4{text-underline-offset:4px}.astw\:opacity-70{opacity:70%}.astw\: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)}.astw\: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)}.astw\: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)}.astw\: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)}.astw\:ring-sidebar-ring{--tw-ring-color: var(--sidebar-ring)}.astw\:outline-hidden{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}.astw\: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(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[width\,height\]{transition-property:width,height;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\: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(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--astw-default-transition-timing-function));transition-duration:var(--tw-duration, var(--astw-default-transition-duration))}.astw\:duration-200{--tw-duration: .2s;transition-duration:.2s}.astw\:ease-in-out{--tw-ease: var(--astw-ease-in-out);transition-timing-function:var(--astw-ease-in-out)}.astw\:ease-linear{--tw-ease: linear;transition-timing-function:linear}.astw\:fade-in-0{--tw-enter-opacity: 0 ;--tw-enter-opacity: 0}.astw\:outline-none{--tw-outline-style: none;outline-style:none}.astw\:select-none{-webkit-user-select:none;user-select:none}.astw\:zoom-in-95{--tw-enter-scale: 95% ;--tw-enter-scale: .95}.astw\:group-focus-within\/menu-item\:opacity-100{&:is(:where(.astw\:group\/menu-item):focus-within *){opacity:100%}}.astw\:group-hover\/menu-item\:opacity-100{&:is(:where(.astw\:group\/menu-item):hover *){@media (hover: hover){opacity:100%}}}.astw\:group-has-data-\[collapsible\=icon\]\/sidebar-wrapper\:h-12{&:is(:where(.astw\:group\/sidebar-wrapper):has(*[data-collapsible=icon]) *){height:calc(var(--astw-spacing) * 12)}}.astw\:group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8{&:is(:where(.astw\:group\/menu-item):has(*[data-sidebar=menu-action]) *){padding-right:calc(var(--astw-spacing) * 8)}}.astw\:group-data-\[collapsible\=icon\]\:-mt-8{&:is(:where(.astw\:group)[data-collapsible=icon] *){margin-top:calc(var(--astw-spacing) * -8)}}.astw\:group-data-\[collapsible\=icon\]\:hidden{&:is(:where(.astw\:group)[data-collapsible=icon] *){display:none}}.astw\:group-data-\[collapsible\=icon\]\:size-8\!{&:is(:where(.astw\:group)[data-collapsible=icon] *){width:calc(var(--astw-spacing) * 8)!important;height:calc(var(--astw-spacing) * 8)!important}}.astw\:group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\){&:is(:where(.astw\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}}.astw\:group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{&:is(:where(.astw\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--astw-spacing) * 4)))}}.astw\:group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{&:is(:where(.astw\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--astw-spacing) * 4)) + 2px)}}.astw\:group-data-\[collapsible\=icon\]\:overflow-hidden{&:is(:where(.astw\:group)[data-collapsible=icon] *){overflow:hidden}}.astw\:group-data-\[collapsible\=icon\]\:p-0\!{&:is(:where(.astw\:group)[data-collapsible=icon] *){padding:calc(var(--astw-spacing) * 0)!important}}.astw\:group-data-\[collapsible\=icon\]\:p-2\!{&:is(:where(.astw\:group)[data-collapsible=icon] *){padding:calc(var(--astw-spacing) * 2)!important}}.astw\:group-data-\[collapsible\=icon\]\:opacity-0{&:is(:where(.astw\:group)[data-collapsible=icon] *){opacity:0%}}.astw\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}}.astw\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}}.astw\:group-data-\[collapsible\=offcanvas\]\:w-0{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){width:calc(var(--astw-spacing) * 0)}}.astw\:group-data-\[collapsible\=offcanvas\]\:translate-x-0{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){--tw-translate-x: calc(var(--astw-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}.astw\:group-data-\[side\=left\]\:-right-4{&:is(:where(.astw\:group)[data-side=left] *){right:calc(var(--astw-spacing) * -4)}}.astw\:group-data-\[side\=left\]\:border-r{&:is(:where(.astw\:group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}}.astw\:group-data-\[side\=right\]\:left-0{&:is(:where(.astw\:group)[data-side=right] *){left:calc(var(--astw-spacing) * 0)}}.astw\:group-data-\[side\=right\]\:rotate-180{&:is(:where(.astw\:group)[data-side=right] *){rotate:180deg}}.astw\:group-data-\[side\=right\]\:border-l{&:is(:where(.astw\:group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}}.astw\:group-data-\[variant\=floating\]\:rounded-lg{&:is(:where(.astw\:group)[data-variant=floating] *){border-radius:var(--radius)}}.astw\:group-data-\[variant\=floating\]\:border{&:is(:where(.astw\:group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}}.astw\:group-data-\[variant\=floating\]\:border-sidebar-border{&:is(:where(.astw\:group)[data-variant=floating] *){border-color:var(--sidebar-border)}}.astw\:group-data-\[variant\=floating\]\:shadow-sm{&:is(:where(.astw\: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)}}.astw\:peer-hover\/menu-button\:text-sidebar-accent-foreground{&:is(:where(.astw\:peer\/menu-button):hover~*){@media (hover: hover){color:var(--sidebar-accent-foreground)}}}.astw\:peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{&:is(:where(.astw\:peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}}.astw\:peer-data-\[size\=default\]\/menu-button\:top-1\.5{&:is(:where(.astw\:peer\/menu-button)[data-size=default]~*){top:calc(var(--astw-spacing) * 1.5)}}.astw\:peer-data-\[size\=lg\]\/menu-button\:top-2\.5{&:is(:where(.astw\:peer\/menu-button)[data-size=lg]~*){top:calc(var(--astw-spacing) * 2.5)}}.astw\:peer-data-\[size\=sm\]\/menu-button\:top-1{&:is(:where(.astw\:peer\/menu-button)[data-size=sm]~*){top:calc(var(--astw-spacing) * 1)}}.astw\:selection\:bg-primary{& *::selection{background-color:var(--primary)}&::selection{background-color:var(--primary)}}.astw\:selection\:text-primary-foreground{& *::selection{color:var(--primary-foreground)}&::selection{color:var(--primary-foreground)}}.astw\:file\:inline-flex{&::file-selector-button{display:inline-flex}}.astw\:file\:h-7{&::file-selector-button{height:calc(var(--astw-spacing) * 7)}}.astw\:file\:border-0{&::file-selector-button{border-style:var(--tw-border-style);border-width:0px}}.astw\:file\:bg-transparent{&::file-selector-button{background-color:transparent}}.astw\:file\:text-sm{&::file-selector-button{font-size:var(--astw-text-sm);line-height:var(--tw-leading, var(--astw-text-sm--line-height))}}.astw\:file\:font-medium{&::file-selector-button{--tw-font-weight: var(--astw-font-weight-medium);font-weight:var(--astw-font-weight-medium)}}.astw\:file\:text-foreground{&::file-selector-button{color:var(--foreground)}}.astw\:placeholder\:text-muted-foreground{&::placeholder{color:var(--muted-foreground)}}.astw\:after\:absolute{&:after{content:var(--tw-content);position:absolute}}.astw\:after\:-inset-2{&:after{content:var(--tw-content);inset:calc(var(--astw-spacing) * -2)}}.astw\:after\:inset-y-0{&:after{content:var(--tw-content);inset-block:calc(var(--astw-spacing) * 0)}}.astw\:after\:left-1\/2{&:after{content:var(--tw-content);left:50%}}.astw\:after\:w-\[2px\]{&:after{content:var(--tw-content);width:2px}}.astw\:group-data-\[collapsible\=offcanvas\]\:after\:left-full{&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){&:after{content:var(--tw-content);left:100%}}}.astw\:last\:text-foreground{&:last-child{color:var(--foreground)}}.astw\:hover\:bg-accent{&:hover{@media (hover: hover){background-color:var(--accent)}}}.astw\: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)}}}}.astw\: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)}}}}.astw\: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)}}}}.astw\: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)}}}}.astw\:hover\:bg-sidebar-accent{&:hover{@media (hover: hover){background-color:var(--sidebar-accent)}}}.astw\:hover\:text-accent-foreground{&:hover{@media (hover: hover){color:var(--accent-foreground)}}}.astw\:hover\:text-foreground{&:hover{@media (hover: hover){color:var(--foreground)}}}.astw\:hover\:text-sidebar-accent-foreground{&:hover{@media (hover: hover){color:var(--sidebar-accent-foreground)}}}.astw\:hover\:underline{&:hover{@media (hover: hover){text-decoration-line:underline}}}.astw\:hover\:opacity-100{&:hover{@media (hover: hover){opacity:100%}}}.astw\: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)}}}.astw\:hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar{&:hover{@media (hover: hover){&:is(:where(.astw\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}}}}.astw\:hover\:after\:bg-sidebar-border{&:hover{@media (hover: hover){&:after{content:var(--tw-content);background-color:var(--sidebar-border)}}}}.astw\: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)}}.astw\:focus\:ring-ring{&:focus{--tw-ring-color: var(--ring)}}.astw\: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)}}.astw\:focus\:outline-hidden{&:focus{--tw-outline-style: none;outline-style:none;@media (forced-colors: active){outline:2px solid transparent;outline-offset:2px}}}.astw\:focus-visible\:border-ring{&:focus-visible{border-color:var(--ring)}}.astw\: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)}}.astw\: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)}}.astw\: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)}}}.astw\: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)}}}.astw\:active\:bg-sidebar-accent{&:active{background-color:var(--sidebar-accent)}}.astw\:active\:text-sidebar-accent-foreground{&:active{color:var(--sidebar-accent-foreground)}}.astw\:disabled\:pointer-events-none{&:disabled{pointer-events:none}}.astw\:disabled\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.astw\:disabled\:opacity-50{&:disabled{opacity:50%}}.astw\:in-data-\[side\=left\]\:cursor-w-resize{:where(*[data-side=left]) &{cursor:w-resize}}.astw\:in-data-\[side\=right\]\:cursor-e-resize{:where(*[data-side=right]) &{cursor:e-resize}}.astw\:has-data-\[variant\=inset\]\:bg-sidebar{&:has(*[data-variant=inset]){background-color:var(--sidebar)}}.astw\:has-\[\>svg\]\:px-2\.5{&:has(>svg){padding-inline:calc(var(--astw-spacing) * 2.5)}}.astw\:has-\[\>svg\]\:px-3{&:has(>svg){padding-inline:calc(var(--astw-spacing) * 3)}}.astw\:has-\[\>svg\]\:px-4{&:has(>svg){padding-inline:calc(var(--astw-spacing) * 4)}}.astw\:aria-disabled\:pointer-events-none{&[aria-disabled=true]{pointer-events:none}}.astw\:aria-disabled\:opacity-50{&[aria-disabled=true]{opacity:50%}}.astw\:aria-invalid\:border-destructive{&[aria-invalid=true]{border-color:var(--destructive)}}.astw\: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)}}}.astw\:data-\[active\=true\]\:bg-sidebar-accent{&[data-active=true]{background-color:var(--sidebar-accent)}}.astw\:data-\[active\=true\]\:font-medium{&[data-active=true]{--tw-font-weight: var(--astw-font-weight-medium);font-weight:var(--astw-font-weight-medium)}}.astw\:data-\[active\=true\]\:text-sidebar-accent-foreground{&[data-active=true]{color:var(--sidebar-accent-foreground)}}.astw\:data-\[orientation\=horizontal\]\:h-px{&[data-orientation=horizontal]{height:1px}}.astw\:data-\[orientation\=horizontal\]\:w-full{&[data-orientation=horizontal]{width:100%}}.astw\:data-\[orientation\=vertical\]\:h-full{&[data-orientation=vertical]{height:100%}}.astw\:data-\[orientation\=vertical\]\:w-px{&[data-orientation=vertical]{width:1px}}.astw\:data-\[side\=bottom\]\:slide-in-from-top-2{&[data-side=bottom]{--tw-enter-translate-y: calc(2*var(--spacing)*-1)}}.astw\:data-\[side\=left\]\:slide-in-from-right-2{&[data-side=left]{--tw-enter-translate-x: calc(2*var(--spacing))}}.astw\:data-\[side\=right\]\:slide-in-from-left-2{&[data-side=right]{--tw-enter-translate-x: calc(2*var(--spacing)*-1)}}.astw\:data-\[side\=top\]\:slide-in-from-bottom-2{&[data-side=top]{--tw-enter-translate-y: calc(2*var(--spacing))}}.astw\:data-\[state\=closed\]\:animate-out{&[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}}.astw\:data-\[state\=closed\]\:duration-300{&[data-state=closed]{--tw-duration: .3s;transition-duration:.3s}}.astw\:data-\[state\=closed\]\:fade-out-0{&[data-state=closed]{--tw-exit-opacity: 0 ;--tw-exit-opacity: 0}}.astw\:data-\[state\=closed\]\:zoom-out-95{&[data-state=closed]{--tw-exit-scale: 95% ;--tw-exit-scale: .95}}.astw\:data-\[state\=closed\]\:slide-out-to-bottom{&[data-state=closed]{--tw-exit-translate-y: 100%}}.astw\:data-\[state\=closed\]\:slide-out-to-left{&[data-state=closed]{--tw-exit-translate-x: -100%}}.astw\:data-\[state\=closed\]\:slide-out-to-right{&[data-state=closed]{--tw-exit-translate-x: 100%}}.astw\:data-\[state\=closed\]\:slide-out-to-top{&[data-state=closed]{--tw-exit-translate-y: -100%}}.astw\:data-\[state\=open\]\:rotate-90{&[data-state=open]{rotate:90deg}}.astw\:data-\[state\=open\]\:animate-in{&[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}}.astw\:data-\[state\=open\]\:bg-accent{&[data-state=open]{background-color:var(--accent)}}.astw\:data-\[state\=open\]\:bg-secondary{&[data-state=open]{background-color:var(--secondary)}}.astw\:data-\[state\=open\]\:text-muted-foreground{&[data-state=open]{color:var(--muted-foreground)}}.astw\:data-\[state\=open\]\:opacity-100{&[data-state=open]{opacity:100%}}.astw\:data-\[state\=open\]\:duration-500{&[data-state=open]{--tw-duration: .5s;transition-duration:.5s}}.astw\:data-\[state\=open\]\:fade-in-0{&[data-state=open]{--tw-enter-opacity: 0 ;--tw-enter-opacity: 0}}.astw\:data-\[state\=open\]\:zoom-in-95{&[data-state=open]{--tw-enter-scale: 95% ;--tw-enter-scale: .95}}.astw\:data-\[state\=open\]\:slide-in-from-bottom{&[data-state=open]{--tw-enter-translate-y: 100%}}.astw\:data-\[state\=open\]\:slide-in-from-left{&[data-state=open]{--tw-enter-translate-x: -100%}}.astw\:data-\[state\=open\]\:slide-in-from-right{&[data-state=open]{--tw-enter-translate-x: 100%}}.astw\:data-\[state\=open\]\:slide-in-from-top{&[data-state=open]{--tw-enter-translate-y: -100%}}.astw\:data-\[state\=open\]\:hover\:bg-sidebar-accent{&[data-state=open]{&:hover{@media (hover: hover){background-color:var(--sidebar-accent)}}}}.astw\:data-\[state\=open\]\:hover\:text-sidebar-accent-foreground{&[data-state=open]{&:hover{@media (hover: hover){color:var(--sidebar-accent-foreground)}}}}.astw\:data-\[state\=selected\]\:bg-muted{&[data-state=selected]{background-color:var(--muted)}}.astw\:sm\:flex{@media (width >= 40rem){display:flex}}.astw\:sm\:max-w-lg{@media (width >= 40rem){max-width:var(--astw-container-lg)}}.astw\:sm\:max-w-sm{@media (width >= 40rem){max-width:var(--astw-container-sm)}}.astw\:sm\:flex-row{@media (width >= 40rem){flex-direction:row}}.astw\:sm\:justify-end{@media (width >= 40rem){justify-content:flex-end}}.astw\:sm\:gap-2\.5{@media (width >= 40rem){gap:calc(var(--astw-spacing) * 2.5)}}.astw\:sm\:text-left{@media (width >= 40rem){text-align:left}}.astw\:md\:block{@media (width >= 48rem){display:block}}.astw\:md\:flex{@media (width >= 48rem){display:flex}}.astw\:md\:hidden{@media (width >= 48rem){display:none}}.astw\:md\:w-xs{@media (width >= 48rem){width:var(--astw-container-xs)}}.astw\:md\:flex-row{@media (width >= 48rem){flex-direction:row}}.astw\:md\:text-sm{@media (width >= 48rem){font-size:var(--astw-text-sm);line-height:var(--tw-leading, var(--astw-text-sm--line-height))}}.astw\:md\:opacity-0{@media (width >= 48rem){opacity:0%}}.astw\:md\:peer-data-\[variant\=inset\]\:px-8{@media (width >= 48rem){&:is(:where(.astw\:peer)[data-variant=inset]~*){padding-inline:calc(var(--astw-spacing) * 8)}}}.astw\:md\:peer-data-\[variant\=inset\]\:py-2{@media (width >= 48rem){&:is(:where(.astw\:peer)[data-variant=inset]~*){padding-block:calc(var(--astw-spacing) * 2)}}}.astw\:md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:pl-2{@media (width >= 48rem){&:is(:where(.astw\:peer)[data-variant=inset]~*){&:is(:where(.astw\:peer)[data-state=collapsed]~*){padding-left:calc(var(--astw-spacing) * 2)}}}}.astw\:md\:after\:hidden{@media (width >= 48rem){&:after{content:var(--tw-content);display:none}}}.astw\:dark\:border-input{&:where(.dark,.dark *){border-color:var(--input)}}.astw\: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)}}}.astw\: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)}}}.astw\: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)}}}}}.astw\: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)}}}}}.astw\: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)}}}}.astw\: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)}}}}.astw\:\[\&_svg\]\:pointer-events-none{& svg{pointer-events:none}}.astw\:\[\&_svg\]\:shrink-0{& svg{flex-shrink:0}}.astw\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4{& svg:not([class*=size-]){width:calc(var(--astw-spacing) * 4);height:calc(var(--astw-spacing) * 4)}}.astw\:\[\&_tr\]\:border-b{& tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}}.astw\:\[\&_tr\:last-child\]\:border-0{& tr:last-child{border-style:var(--tw-border-style);border-width:0px}}.astw\:\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0{&:has([role=checkbox]){padding-right:calc(var(--astw-spacing) * 0)}}.astw\:\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]{>[role=checkbox]{--tw-translate-y: 2px;translate:var(--tw-translate-x) var(--tw-translate-y)}}.astw\:\[\&\>button\]\:hidden{>button{display:none}}.astw\:\[\&\>span\:last-child\]\:truncate{>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.astw\:\[\&\>svg\]\:size-3\.5{>svg{width:calc(var(--astw-spacing) * 3.5);height:calc(var(--astw-spacing) * 3.5)}}.astw\:\[\&\>svg\]\:size-4{>svg{width:calc(var(--astw-spacing) * 4);height:calc(var(--astw-spacing) * 4)}}.astw\:\[\&\>svg\]\:shrink-0{>svg{flex-shrink:0}}.astw\:\[\&\>svg\]\:text-sidebar-accent-foreground{>svg{color:var(--sidebar-accent-foreground)}}.astw\:\[\&\>tr\]\:last\:border-b-0{>tr{&:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0px}}}.astw\:\[\&\[data-state\=open\]_\.astw-rotate-target\]\:rotate-90{&[data-state=open] .astw-rotate-target{rotate:90deg}}.astw\:\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{[data-side=left][data-collapsible=offcanvas] &{right:calc(var(--astw-spacing) * -2)}}.astw\:\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{[data-side=left][data-state=collapsed] &{cursor:e-resize}}.astw\:\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{[data-side=right][data-collapsible=offcanvas] &{left:calc(var(--astw-spacing) * -2)}}.astw\:\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{[data-side=right][data-state=collapsed] &{cursor:w-resize}}}@property --tw-animation-delay{syntax: "*"; inherits: false; initial-value: 0s;}@property --tw-animation-direction{syntax: "*"; inherits: false; initial-value: normal;}@property --tw-animation-duration{syntax: "*"; inherits: false;}@property --tw-animation-fill-mode{syntax: "*"; inherits: false; initial-value: none;}@property --tw-animation-iteration-count{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-enter-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-enter-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-blur{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-opacity{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-rotate{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-scale{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-exit-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-exit-translate-y{syntax: "*"; inherits: false; initial-value: 0;}: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{*,:after,:before,::backdrop,::file-selector-button{border-color:var(--color-gray-200, currentcolor)}}@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(--astw-font-sans);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{height:calc(var(--astw-spacing) * 2);width:calc(var(--astw-spacing) * 2);background-color:var(--muted)}::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--muted-foreground)}::-webkit-scrollbar-corner{background-color:var(--muted-foreground)}}@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-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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,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-duration: initial;--tw-ease: initial;--tw-content: "";--tw-animation-delay: 0s;--tw-animation-direction: normal;--tw-animation-duration: initial;--tw-animation-fill-mode: none;--tw-animation-iteration-count: 1;--tw-enter-blur: 0;--tw-enter-opacity: 1;--tw-enter-rotate: 0;--tw-enter-scale: 1;--tw-enter-translate-x: 0;--tw-enter-translate-y: 0;--tw-exit-blur: 0;--tw-exit-opacity: 1;--tw-exit-rotate: 0;--tw-exit-scale: 1;--tw-exit-translate-x: 0;--tw-exit-translate-y: 0}}}
2
2
  /*! tailwindcss v4.1.2 | MIT License | https://tailwindcss.com */
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{Table as _a}from"lucide-react";import{useEffect as Aa,useMemo as La,useState as Oa}from"react";import{createContext as ra,useContext as oa}from"react";var Y=ra({navItems:[],configurations:{modules:[]}}),R=()=>oa(Y);import{createBrowserRouter as xa,RouterProvider as ya,Navigate as Ca,redirect as ka,Outlet as Pa}from"react-router";import{NavLink as wa,Outlet as pt}from"react-router";import{Toaster as pa}from"sonner";import{Slot as na}from"@radix-ui/react-slot";import{cva as da}from"class-variance-authority";import{clsx as sa}from"clsx";import{twMerge as ia}from"tailwind-merge";function c(...t){return ia(sa(t))}import{jsx as ca}from"react/jsx-runtime";var la=da("astw:inline-flex astw:items-center astw:justify-center astw:gap-2 astw:whitespace-nowrap astw:rounded-md astw:text-sm astw:font-medium astw:transition-all astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:[&_svg]:pointer-events-none astw:[&_svg:not([class*='size-'])]:size-4 astw:shrink-0 astw:[&_svg]:shrink-0 astw:outline-none astw:focus-visible:border-ring astw:focus-visible:ring-ring/50 astw:focus-visible:ring-[3px] astw:aria-invalid:ring-destructive/20 astw:dark:aria-invalid:ring-destructive/40 astw:aria-invalid:border-destructive",{variants:{variant:{default:"astw:bg-primary astw:text-primary-foreground astw:shadow-xs astw:hover:bg-primary/90",destructive:"astw:bg-destructive astw:text-white astw:shadow-xs astw:hover:bg-destructive/90 astw:focus-visible:ring-destructive/20 astw:dark:focus-visible:ring-destructive/40 astw:dark:bg-destructive/60",outline:"astw:border astw:bg-background astw:shadow-xs astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:bg-input/30 astw:dark:border-input astw:dark:hover:bg-input/50",secondary:"astw:bg-secondary astw:text-secondary-foreground astw:shadow-xs astw:hover:bg-secondary/80",ghost:"astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:hover:bg-accent/50",link:"astw:text-primary astw:underline-offset-4 astw:hover:underline"},size:{default:"astw:h-9 astw:px-4 astw:py-2 astw:has-[>svg]:px-3",sm:"astw:h-8 astw:rounded-md astw:gap-1.5 astw:px-3 astw:has-[>svg]:px-2.5",lg:"astw:h-10 astw:rounded-md astw:px-6 astw:has-[>svg]:px-4",icon:"astw:size-9"}},defaultVariants:{variant:"default",size:"default"}});function y({className:t,variant:a,size:e,asChild:o=!1,...r}){return ca(o?na:"button",{"data-slot":"button",className:c(la({variant:a,size:e,className:t})),...r})}import{Fragment as ua,jsx as h,jsxs as _}from"react/jsx-runtime";var U=({contentBorder:t,children:a})=>h("div",{className:t?"astw:p-4 astw:rounded-sm astw:border astw:shadow-xs":"",children:a}),ut=()=>_(U,{contentBorder:!0,children:[h("p",{className:"astw:font-semibold astw:leading-none astw:tracking-tight",children:"Welcome to AppShell"}),h("p",{className:"pt-4",children:"Add your GraphQL resources from configuration at first!"})]}),J=()=>_(ua,{children:[h(pt,{}),h(pa,{})]}),gt=()=>{let{configurations:t}=R();return _("div",{className:"astw:mx-auto astw:flex-col astw:flex astw:md:flex-row astw:max-w-5xl astw:gap-[10px] astw:w-full",children:[h("div",{children:_("nav",{className:"astw:bg-card astw:md:w-xs astw:rounded-md astw:border astw:p-3 astw:shadow-xs",children:[h("h2",{className:"astw:text-sm astw:leading-[36px] astw:mb-2 astw:font-bold ",children:"Settings"}),h("ul",{className:"astw:flex astw:flex-col astw:gap-1",children:t.settingsResources?.map(a=>h("li",{children:h(wa,{to:`./${a.path}`,children:({isActive:e})=>_(y,{variant:e?"secondary":"ghost",className:"astw:w-full astw:justify-start",children:[a.meta.icon,a.meta.title]})})},a.path))})]})}),h("section",{className:"astw:bg-card astw:flex-1 astw:rounded-md astw:border astw:shadow-xs",children:h(pt,{})})]})};import{useRouteError as ga,isRouteErrorResponse as ma}from"react-router";import{AlertCircle as mt}from"lucide-react";import{jsx as x,jsxs as F}from"react/jsx-runtime";var bt=()=>{let t=ga();if(ma(t)&&t.status===404)return x("div",{className:"astw:p-6",children:F("div",{className:"astw:flex astw:items-start astw:gap-4",children:[x(mt,{className:"astw:h-5 astw:w-5 astw:text-destructive astw:flex-shrink-0 astw:mt-0.5"}),F("div",{children:[x("h1",{className:"astw:font-semibold astw:text-lg",children:"404 Not Found"}),x("p",{className:"astw:text-sm astw:text-muted-foreground astw:mt-1",children:"The page you requested could not be found."}),x(y,{variant:"outline",size:"sm",className:"astw:mt-4",onClick:()=>window.history.back(),children:"Go Back"})]})]})});let a=t instanceof Error?t.message:"An unexpected error occurred";return x("div",{className:"astw:p-6",children:F("div",{className:"astw:flex astw:items-start astw:gap-4",children:[x(mt,{className:"astw:h-5 astw:w-5 astw:text-destructive astw:flex-shrink-0 astw:mt-0.5"}),F("div",{children:[x("h1",{className:"astw:font-semibold astw:text-lg",children:"Something went wrong"}),x("p",{className:"astw:text-sm astw:text-muted-foreground astw:mt-1",children:a}),x(y,{variant:"outline",size:"sm",className:"astw:mt-4",onClick:()=>window.location.reload(),children:"Try Again"})]})]})})};import{capitalCase as ht}from"change-case";import{redirect as ba}from"react-router";var H="resources",C=(t,a)=>a?`/${a}/${H}/${t}`:`/${H}/${t}`;import{jsx as ft}from"react/jsx-runtime";function ha(t){return{redirectTo:t}}function V(t){return typeof t=="object"&&t!==null&&"redirectTo"in t}function fa(t){let{path:a,meta:e,component:o,resources:r,errorBoundary:i}=t,n=e?.title??ht(a),s=V(o)?{component:()=>null,loader:l=>ba(C(o.redirectTo,l))}:{component:()=>ft(U,{contentBorder:e?.contentBorder??!1,children:o({title:n,resources:r})})};return{path:a,type:"component",_type:"module",...s,meta:{title:n,...e?.breadcrumbTitle!==void 0?{breadcrumbTitle:e.breadcrumbTitle}:{},...e,menuItemClickable:!V(o),icon:t.meta?.icon},resources:r,errorBoundary:i}}function va(t){let{path:a,component:e,subResources:o,meta:r,errorBoundary:i}=t,n=r?.title??ht(a);return{_type:"resource",type:"component",path:a,meta:{title:n,icon:r?.icon,...r?.breadcrumbTitle!==void 0?{breadcrumbTitle:r.breadcrumbTitle}:{}},component:()=>ft(U,{contentBorder:r?.contentBorder??!1,children:e({title:n,resources:o})}),subResources:o,errorBoundary:i}}import{Fragment as Ra,jsx as A}from"react/jsx-runtime";var K=t=>()=>A(Ra,{children:t}),Sa=(t,a,e)=>t.reduce((o,r)=>{let i=r.errorBoundary||e,n={index:!0,Component:r.component,...r.loader&&{loader:()=>r.loader(a)}};return[...o,{path:r.path,...i&&{ErrorBoundary:K(i)},...r.resources&&r.resources.length>0?{children:[n,...r.resources.map(s=>vt(s,i))]}:{children:[n]}}]},[]),vt=(t,a)=>{let e=t.errorBoundary||a,o={index:!0,Component:t.component};return{path:t.path,...t.errorBoundary&&{ErrorBoundary:K(t.errorBoundary)},...t.subResources&&t.subResources.length>0?{children:[o,...t.subResources.map(r=>vt(r,e))]}:{children:[o]}}},xt=t=>{let{configurations:a}=R(),{rootComponent:e}=t,o=a.errorBoundary===void 0?A(bt,{}):a.errorBoundary,i=[V(e)?{index:!0,loader:()=>ka(C(e.redirectTo,a.basePath))}:{index:!0,Component:e??ut},{path:H,children:Sa(a.modules,a.basePath,o)},{path:"settings",index:!0,Component:()=>A(Ca,{to:(a.settingsResources??[])[0].path,relative:"path",replace:!0})},{path:"settings",Component:gt,children:a.settingsResources?.map(s=>({path:s.path,Component:s.component,...s.errorBoundary&&{ErrorBoundary:K(s.errorBoundary)}}))},{path:"*",loader:()=>{throw new Response("Not Found",{status:404})}}],n=xa([{path:a.basePath,element:t.children,children:o?[{element:A(Pa,{}),ErrorBoundary:K(o),children:i}]:i}]);return A(ya,{router:n})};import{createContext as Ta,useContext as Na,useEffect as za,useMemo as Ba,useState as Ma}from"react";import{jsx as Ia}from"react/jsx-runtime";var Ea={resolvedTheme:"light",theme:"system",setTheme:()=>null},yt=Ta(Ea);function Ct({children:t,storageKey:a,defaultTheme:e="system",...o}){let[r,i]=Ma(()=>localStorage.getItem(a)||e),n=Ba(()=>r!=="system"?r:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[r]);za(()=>{let l=window.document.documentElement;l.classList.remove("light","dark"),l.classList.add(n)},[n]);let s={resolvedTheme:n,theme:r,setTheme:l=>{localStorage.setItem(a,l),i(l)}};return Ia(yt.Provider,{...o,value:s,children:t})}var Q=()=>{let t=Na(yt);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t};import{jsx as q}from"react/jsx-runtime";var Da=t=>{let[a,e]=Oa(!1);Aa(function(){e(!0)},[]);let o=t.configurations.basePath,r=La(()=>t.configurations.modules.map(n=>{let s=n.resources.map(l=>({title:l.meta.title,url:C(`${n.path}/${l.path}`,o)}));return{title:n.meta.title,url:n.meta.menuItemClickable?C(n.path,o):void 0,clickable:n.component,icon:n.meta.icon||q(_a,{}),isActive:!0,items:s}}),[t.configurations.modules,o]);return a?q(Y.Provider,{value:{title:t.title,icon:t.icon,configurations:{...t.configurations,basePath:o},navItems:r},children:q(Ct,{defaultTheme:"system",storageKey:"appshell-ui-theme",children:q(xt,{rootComponent:t.configurations.rootComponent,children:t.children})})}):null};import*as B from"@radix-ui/react-collapsible";import{jsx as tt}from"react/jsx-runtime";function kt({...t}){return tt(B.Root,{"data-slot":"collapsible",...t})}function Z({...t}){return tt(B.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...t})}function Pt({...t}){return tt(B.CollapsibleContent,{"data-slot":"collapsible-content",...t})}import{useLocation as Jt,useMatch as oe}from"react-router";import*as b from"react";import{Slot as ot}from"@radix-ui/react-slot";import{cva as Ha}from"class-variance-authority";import{PanelLeftIcon as Va}from"lucide-react";import*as G from"react";var at=768;function St(){let[t,a]=G.useState(void 0);return G.useEffect(()=>{let e=window.matchMedia(`(max-width: ${at-1}px)`),o=()=>{a(window.innerWidth<at)};return e.addEventListener("change",o),a(window.innerWidth<at),()=>e.removeEventListener("change",o)},[]),!!t}import{jsx as Sr}from"react/jsx-runtime";import*as $a from"@radix-ui/react-separator";import{jsx as zr}from"react/jsx-runtime";import*as g from"@radix-ui/react-dialog";import{XIcon as ja}from"lucide-react";import{jsx as k,jsxs as et}from"react/jsx-runtime";function Rt({...t}){return k(g.Root,{"data-slot":"sheet",...t})}function Wa({...t}){return k(g.Portal,{"data-slot":"sheet-portal",...t})}function Ua({className:t,...a}){return k(g.Overlay,{"data-slot":"sheet-overlay",className:c("astw:data-[state=open]:animate-in astw:data-[state=closed]:animate-out astw:data-[state=closed]:fade-out-0 astw:data-[state=open]:fade-in-0 astw:fixed astw:inset-0 astw:z-50 astw:bg-black/50",t),...a})}function Tt({className:t,children:a,side:e="right",...o}){return et(Wa,{children:[k(Ua,{}),et(g.Content,{"data-slot":"sheet-content",className:c("astw:bg-background astw:data-[state=open]:animate-in astw:data-[state=closed]:animate-out astw:fixed astw:z-50 astw:flex astw:flex-col astw:gap-4 astw:shadow-lg astw:transition astw:ease-in-out astw:data-[state=closed]:duration-300 astw:data-[state=open]:duration-500",e==="right"&&"astw:data-[state=closed]:slide-out-to-right astw:data-[state=open]:slide-in-from-right astw:inset-y-0 astw:right-0 astw:h-full astw:w-3/4 astw:border-l astw:sm:max-w-sm",e==="left"&&"astw:data-[state=closed]:slide-out-to-left astw:data-[state=open]:slide-in-from-left astw:inset-y-0 astw:left-0 astw:h-full astw:w-3/4 astw:border-r astw:sm:max-w-sm",e==="top"&&"astw:data-[state=closed]:slide-out-to-top astw:data-[state=open]:slide-in-from-top astw:inset-x-0 astw:top-0 astw:h-auto astw:border-b",e==="bottom"&&"astw:data-[state=closed]:slide-out-to-bottom astw:data-[state=open]:slide-in-from-bottom astw:inset-x-0 astw:bottom-0 astw:h-auto astw:border-t",t),...o,children:[a,et(g.Close,{className:"astw:ring-offset-bg astw:focus:ring-ring astw:data-[state=open]:bg-secondary astw:absolute astw:top-4 astw:right-4 astw:rounded-xs astw:opacity-70 astw:transition-opacity astw:hover:opacity-100 astw:focus:ring-2 astw:focus:ring-offset-2 astw:focus:outline-hidden astw:disabled:pointer-events-none",children:[k(ja,{className:"astw:size-4"}),k("span",{className:"astw:sr-only",children:"Close"})]})]})]})}function Nt({className:t,...a}){return k("div",{"data-slot":"sheet-header",className:c("astw:flex astw:flex-col astw:gap-1.5 astw:p-4",t),...a})}function zt({className:t,...a}){return k(g.Title,{"data-slot":"sheet-title",className:c("astw:text-foreground astw:font-semibold",t),...a})}function Bt({className:t,...a}){return k(g.Description,{"data-slot":"sheet-description",className:c("astw:text-muted-foreground astw:text-sm",t),...a})}import{jsx as Or}from"react/jsx-runtime";import*as f from"@radix-ui/react-tooltip";import{jsx as M,jsxs as Fa}from"react/jsx-runtime";function rt({delayDuration:t=0,...a}){return M(f.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...a})}function Mt({...t}){return M(rt,{children:M(f.Root,{"data-slot":"tooltip",...t})})}function Et({...t}){return M(f.Trigger,{"data-slot":"tooltip-trigger",...t})}function It({className:t,sideOffset:a=0,children:e,...o}){return M(f.Portal,{children:Fa(f.Content,{"data-slot":"tooltip-content",sideOffset:a,className:c("astw:bg-primary astw:text-primary-foreground astw:animate-in astw:fade-in-0 astw:zoom-in-95 astw:data-[state=closed]:animate-out astw:data-[state=closed]:fade-out-0 astw:data-[state=closed]:zoom-out-95 astw:data-[side=bottom]:slide-in-from-top-2 astw:data-[side=left]:slide-in-from-right-2 astw:data-[side=right]:slide-in-from-left-2 astw:data-[side=top]:slide-in-from-bottom-2 astw:z-50 astw:w-fit astw:origin-(--radix-tooltip-content-transform-origin) astw:rounded-md astw:px-3 astw:py-1.5 astw:text-xs astw:text-balance",t),...o,children:[e,M(f.Arrow,{className:"astw:bg-primary astw:fill-primary astw:z-50 astw:size-2.5 astw:translate-y-[calc(-50%_-_2px)] astw:rotate-45 astw:rounded-[2px]"})]})})}import{jsx as w,jsxs as L}from"react/jsx-runtime";var Ka="sidebar_state",qa=60*60*24*7,Ga="16rem",Xa="18rem",Ya="3rem",Ja="b",_t=b.createContext(null);function O(){let t=b.useContext(_t);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function At({defaultOpen:t=!0,open:a,onOpenChange:e,className:o,style:r,children:i,...n}){let s=St(),[l,p]=b.useState(!1),[u,T]=b.useState(t),P=a??u,N=b.useCallback(v=>{let S=typeof v=="function"?v(P):v;e?e(S):T(S),document.cookie=`${Ka}=${S}; path=/; max-age=${qa}`},[e,P]),z=b.useCallback(()=>s?p(v=>!v):N(v=>!v),[s,N,p]);b.useEffect(()=>{let v=S=>{S.key===Ja&&(S.metaKey||S.ctrlKey)&&(S.preventDefault(),z())};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[z]);let X=P?"expanded":"collapsed",W=b.useMemo(()=>({state:X,open:P,setOpen:N,isMobile:s,openMobile:l,setOpenMobile:p,toggleSidebar:z}),[X,P,N,s,l,p,z]);return w(_t.Provider,{value:W,children:w(rt,{delayDuration:0,children:w("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":Ga,"--sidebar-width-icon":Ya,...r},className:c("astw:group/sidebar-wrapper astw:has-data-[variant=inset]:bg-sidebar astw:flex astw:min-h-svh astw:w-full",o),...n,children:i})})})}function Lt({side:t="left",variant:a="sidebar",collapsible:e="offcanvas",className:o,children:r,...i}){let{isMobile:n,state:s,openMobile:l,setOpenMobile:p}=O();return e==="none"?w("div",{"data-slot":"sidebar",className:c("astw:bg-sidebar astw:text-sidebar-foreground astw:flex astw:h-full astw:w-(--sidebar-width) astw:flex-col",o),...i,children:r}):n?w(Rt,{open:l,onOpenChange:p,...i,children:L(Tt,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"astw:bg-sidebar astw:text-sidebar-foreground astw:w-(--sidebar-width) astw:p-0 astw:[&>button]:hidden",style:{"--sidebar-width":Xa},side:t,children:[L(Nt,{className:"astw:sr-only",children:[w(zt,{children:"Sidebar"}),w(Bt,{children:"Displays the mobile sidebar."})]}),w("div",{className:"flex h-full w-full flex-col",children:r})]})}):L("div",{className:"astw:group astw:peer astw:text-sidebar-foreground astw:hidden astw:md:block","data-state":s,"data-collapsible":s==="collapsed"?e:"","data-variant":a,"data-side":t,"data-slot":"sidebar",children:[w("div",{"data-slot":"sidebar-gap",className:c("astw:relative astw:w-(--sidebar-width) astw:bg-transparent astw:transition-[width] astw:duration-200 astw:ease-linear","astw:group-data-[collapsible=offcanvas]:w-0","astw:group-data-[side=right]:rotate-180",a==="floating"||a==="inset"?"astw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"astw:group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),w("div",{"data-slot":"sidebar-container",className:c("astw:fixed astw:inset-y-0 astw:z-10 astw:hidden astw:h-svh astw:w-(--sidebar-width) astw:transition-[left,right,width] astw:duration-200 astw:ease-linear astw:md:flex",t==="left"?"astw:left-0 astw:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"astw:right-0 astw:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a==="floating"||a==="inset"?"astw:p-2 astw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"astw:group-data-[collapsible=icon]:w-(--sidebar-width-icon) astw:group-data-[side=left]:border-r astw:group-data-[side=right]:border-l",a==="inset"&&"astw:border-x astw:border-x-border",o),...i,children:w("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"astw:bg-sidebar astw:group-data-[variant=floating]:border-sidebar-border astw:flex astw:h-full astw:w-full astw:flex-col astw:group-data-[variant=floating]:rounded-lg astw:group-data-[variant=floating]:border astw:group-data-[variant=floating]:shadow-sm",children:r})})]})}function st({className:t,onClick:a,...e}){let{toggleSidebar:o}=O();return L(y,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:c("astw:text-muted-foreground",t),onClick:r=>{a?.(r),o()},...e,children:[w(Va,{className:"astw:size-4.5"}),w("span",{className:"astw:sr-only",children:"Toggle Sidebar"})]})}function Ot({className:t,...a}){return w("main",{"data-slot":"sidebar-inset",className:c("astw:bg-background astw:relative astw:flex astw:w-full astw:flex-1 astw:flex-col","astw:px-4 astw:md:peer-data-[variant=inset]:px-8 astw:md:peer-data-[variant=inset]:py-2",t),...a})}function Dt({className:t,...a}){return w("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:c("astw:flex astw:flex-row astw:items-center astw:gap-0.5 astw:p-2",t),...a})}function $t({className:t,...a}){return w("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:c("astw:flex astw:min-h-0 astw:flex-1 astw:flex-col astw:gap-2 astw:overflow-auto astw:group-data-[collapsible=icon]:overflow-hidden",t),...a})}function jt({className:t,...a}){return w("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:c("astw:relative astw:flex astw:w-full astw:min-w-0 astw:flex-col astw:p-2",t),...a})}function Wt({className:t,...a}){return w("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:c("astw:flex astw:w-full astw:min-w-0 astw:flex-col astw:gap-1",t),...a})}function Ut({className:t,...a}){return w("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:c("astw:group/menu-item astw:relative",t),...a})}var Qa=Ha("astw:peer/menu-button astw:flex astw:w-full astw:items-center astw:gap-2 astw:overflow-hidden astw:rounded-md astw:p-2 astw:text-left astw:text-sm astw:outline-hidden astw:ring-sidebar-ring astw:transition-[width,height,padding] astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:focus-visible:ring-2 astw:active:bg-sidebar-accent astw:active:text-sidebar-accent-foreground astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:group-has-data-[sidebar=menu-action]/menu-item:pr-8 astw:aria-disabled:pointer-events-none astw:aria-disabled:opacity-50 astw:data-[active=true]:bg-sidebar-accent astw:data-[active=true]:font-medium astw:data-[active=true]:text-sidebar-accent-foreground astw:data-[state=open]:hover:bg-sidebar-accent astw:data-[state=open]:hover:text-sidebar-accent-foreground astw:group-data-[collapsible=icon]:size-8! astw:group-data-[collapsible=icon]:p-2! astw:[&>span:last-child]:truncate astw:[&>svg]:size-4 astw:[&>svg]:shrink-0",{variants:{variant:{default:"astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground",outline:"astw:bg-background astw:shadow-[0_0_0_1px_hsl(var(--sidebar-border))] astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"astw:h-8 astw:text-sm",sm:"astw:h-7 astw:rounded-md astw:gap-1.5 astw:px-3 astw:has-[>svg]:px-2.5",lg:"astw:h-12 astw:text-sm astw:group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function it({asChild:t=!1,isActive:a=!1,variant:e="default",size:o="default",tooltip:r,className:i,...n}){let s=t?ot:"button",{isMobile:l,state:p}=O(),u=w(s,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":a,className:c(Qa({variant:e,size:o}),i),...n});return r?(typeof r=="string"&&(r={children:r}),L(Mt,{children:[w(Et,{asChild:!0,children:u}),w(It,{side:"right",align:"center",hidden:p!=="collapsed"||l,...r})]})):u}function nt({className:t,asChild:a=!1,showOnHover:e=!1,...o}){return w(a?ot:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:c("astw:text-sidebar-foreground astw:ring-sidebar-ring astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:peer-hover/menu-button:text-sidebar-accent-foreground astw:absolute astw:top-1.5 astw:right-1 astw:flex astw:aspect-square astw:w-5 astw:items-center astw:justify-center astw:rounded-md astw:p-0 astw:outline-hidden astw:transition-transform astw:focus-visible:ring-2 astw:[&>svg]:size-4 astw:[&>svg]:shrink-0","astw:after:absolute astw:after:-inset-2 astw:md:after:hidden","astw:peer-data-[size=sm]/menu-button:top-1","astw:peer-data-[size=default]/menu-button:top-1.5","astw:peer-data-[size=lg]/menu-button:top-2.5","astw:group-data-[collapsible=icon]:hidden",e&&"astw:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground astw:group-focus-within/menu-item:opacity-100 astw:group-hover/menu-item:opacity-100 astw:data-[state=open]:opacity-100 astw:md:opacity-0",t),...o})}function Ft({className:t,...a}){return w("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:c("astw:border-sidebar-border astw:mx-3.5 astw:flex astw:min-w-0 astw:translate-x-px astw:flex-col astw:gap-1 astw:border-l astw:px-2.5 astw:py-0.5","astw:group-data-[collapsible=icon]:hidden",t),...a})}function Ht({className:t,...a}){return w("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:c("astw:group/menu-sub-item astw:relative",t),...a})}function Vt({asChild:t=!1,size:a="md",isActive:e=!1,className:o,...r}){return w(t?ot:"a",{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":a,"data-active":e,className:c("astw:text-sidebar-foreground astw:ring-sidebar-ring astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:active:bg-sidebar-accent astw:active:text-sidebar-accent-foreground astw:[&>svg]:text-sidebar-accent-foreground astw:flex astw:h-7 astw:min-w-0 astw:-translate-x-px astw:items-center astw:gap-2 astw:overflow-hidden astw:rounded-md astw:px-2 astw:outline-hidden astw:focus-visible:ring-2 astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:aria-disabled:pointer-events-none astw:aria-disabled:opacity-50 astw:[&>span:last-child]:truncate astw:[&>svg]:size-4 astw:[&>svg]:shrink-0","astw:data-[active=true]:bg-sidebar-accent astw:data-[active=true]:text-sidebar-accent-foreground",a==="sm"&&"astw:text-xs",a==="md"&&"astw:text-sm","astw:group-data-[collapsible=icon]:hidden",o),...r})}import{ChevronRight as Xt,SunIcon as se}from"lucide-react";import{Slot as ae}from"@radix-ui/react-slot";import{ChevronRight as ee,MoreHorizontal as wo}from"lucide-react";import{Link as Za,useHref as te}from"react-router";import{jsx as Kt}from"react/jsx-runtime";function D({to:t,children:a,...e}){try{return te(t),Kt(Za,{to:t,...e,children:a})}catch{return Kt("a",{href:t,...e,children:a})}}import{jsx as E,jsxs as mo}from"react/jsx-runtime";function dt({...t}){return E("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...t})}function lt({className:t,...a}){return E("ol",{"data-slot":"breadcrumb-list",className:c("astw:text-muted-foreground astw:flex astw:flex-wrap astw:items-center astw:gap-1.5 astw:text-sm astw:break-words astw:sm:gap-2.5",t),...a})}function ct({className:t,...a}){return E("li",{"data-slot":"breadcrumb-item",className:c("astw:inline-flex astw:items-center astw:gap-1.5",t),...a})}function wt({asChild:t,className:a,children:e,...o}){return E(t?ae:D,{"data-slot":"breadcrumb-link",className:c("astw:hover:text-foreground astw:transition-colors",a),...o,children:e})}function qt({children:t,className:a,...e}){return E("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:c("astw:[&>svg]:size-3.5",a),...e,children:t??E(ee,{})})}var re=t=>t.reduce((a,e)=>{a[e.path]={title:e.meta.title,breadcrumbTitle:e.meta.breadcrumbTitle};let o=(r,i)=>{!r||r.length===0||r.forEach(n=>{let s=`${i}/${n.path}`;a[s]={title:n.meta.title,breadcrumbTitle:n.meta.breadcrumbTitle},n.subResources&&n.subResources.length>0&&o(n.subResources,s)})};return e.resources&&e.resources.length>0&&o(e.resources,e.path),a},{});function Gt(t,a,e){let o=t.split("/").filter(s=>s!=="").slice(1),r=a?(()=>{let[s,...l]=o;return l})():o,i=re(e),n=r.map((s,l)=>{let p=r.slice(0,l+1).join("/"),u=i[p];if(!u){let P=Object.entries(i).find(([N])=>{let z=N.split("/").map(W=>W.startsWith(":")?"[^/]+":W).join("/");return new RegExp(`^${z}$`).test(p)})?.[1];P&&(u=P)}let T;return u?typeof u.breadcrumbTitle=="function"?T=u.breadcrumbTitle(s):typeof u.breadcrumbTitle=="string"?T=u.breadcrumbTitle:T=u.title:T=decodeURIComponent(s),{segment:s,path:p,title:T}});return{basePath:a||null,segments:n}}import{Fragment as Yt,jsx as d,jsxs as m}from"react/jsx-runtime";var ie=()=>{let{open:t}=O();return d("div",{className:t?"astw:md:hidden":void 0,children:d(st,{className:"astw:-ml-2.5"})})},ne=t=>{let a=t.children?t.children({Outlet:J}):null,e=Q(),o=()=>{e.setTheme(e.theme==="dark"?"light":"dark")};return d(At,{className:"astw:flex astw:flex-col",children:m("div",{className:"astw:flex astw:flex-1",children:[t.sidebar??d(Qt,{}),m(Ot,{className:"astw:w-[calc(100%-var(--sidebar-width))]",children:[d("header",{className:"astw:flex astw:h-14 astw:shrink-0 astw:items-center astw:gap-2 astw:transition-[width,height] astw:ease-linear astw:group-has-data-[collapsible=icon]/sidebar-wrapper:h-12",children:m("div",{className:"astw:flex astw:w-full astw:items-center astw:justify-between",children:[m("div",{className:"astw:flex astw:items-center astw:gap-2",children:[d(ie,{}),d(le,{})]}),d("div",{className:"astw:flex astw:items-center astw:gap-2",children:d(y,{variant:"outline",size:"icon",onClick:o,children:d(se,{})})})]})}),d("div",{className:"astw:flex astw:flex-col astw:gap-4",children:a??d(J,{})})]})]})})},Qt=t=>{let{title:a,icon:e,navItems:o}=R(),{pathname:r}=Jt(),i=m(Dt,{children:[e,d("h1",{className:"astw:text-sm astw:mb-2 astw:mt-2 astw:px-2",children:a})]});return m(Lt,{variant:"inset",children:[m("div",{className:"astw:flex astw:justify-between astw:items-center",children:[t.header??i,d("div",{className:"astw:hidden astw:md:block",children:d(st,{className:"astw:-ml-1"})})]}),d($t,{children:d(jt,{children:d(Wt,{children:o.map(s=>d(kt,{asChild:!0,defaultOpen:s.isActive,children:m(Ut,{children:[s.url?m(Yt,{children:[d(it,{asChild:!0,tooltip:s.title,children:m(D,{to:s.url,className:s.url===r?"astw:bg-sidebar-accent astw:font-medium":void 0,children:[s.icon,d("span",{children:s.title})]})}),!!s.items?.length&&d(Z,{asChild:!0,children:m(nt,{className:"astw:data-[state=open]:rotate-90",children:[d(Xt,{}),d("span",{className:"astw:sr-only",children:"Toggle"})]})})]}):d(Yt,{children:m(Z,{className:"astw:flex astw:w-[100%] astw:[&[data-state=open]_.astw-rotate-target]:rotate-90",children:[d(it,{asChild:!0,tooltip:s.title,children:m("span",{className:"astw:flex astw:w-[100%]",children:[s.icon,d("span",{children:s.title})]})}),!!s.items?.length&&d(nt,{className:"astw-rotate-target",asChild:!0,children:m("span",{children:[d(Xt,{}),d("span",{className:"astw:sr-only",children:"Toggle"})]})})]})}),!!s.items?.length&&d(Pt,{children:d(Ft,{children:s.items?.map(l=>d(Ht,{children:d(Vt,{asChild:!0,children:d(D,{to:l.url,className:l.url===r?"astw:bg-sidebar-accent astw:font-medium":void 0,children:d("span",{children:l.title})})})},l.title))})})]})},s.title))})})}),t.footer??null]})},de=()=>{let{configurations:t}=R(),a=Jt();return Gt(a.pathname,t.basePath,t.modules)},le=()=>{let{basePath:t,segments:a}=de(),e=oe("/:prefix/settings/:suffix");return e?d(dt,{children:d(lt,{children:d("div",{className:"astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",children:d(ct,{children:d(wt,{to:`/${e.params.prefix}/settings`,children:"Settings"})})})})}):d(dt,{children:d(lt,{children:a.map((o,r)=>m("div",{className:"astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",children:[d(ct,{children:d(wt,{to:C(o.path,t),children:o.title})}),r<a.length-1&&d(qt,{})]},r))})})};import{useLocation as Ko,useNavigate as qo,useParams as Go,useSearchParams as Xo,useRouteError as Yo,Link as Jo}from"react-router";import{createContext as we,useCallback as aa,useContext as pe,useEffect as ue,useMemo as ge,useState as me}from"react";import*as I from"oauth4webapi";var $="oauth_pkce_verifier",j="oauth_state",Zt=({apiEndpoint:t,clientId:a,state:e,codeChallenge:o,redirectUri:r})=>{let i=new URL(`${t}/oauth2/authorize`);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",a),i.searchParams.set("redirect_uri",r??window.location.origin),i.searchParams.set("scope","openid profile email"),i.searchParams.set("state",e),i.searchParams.set("code_challenge",o),i.searchParams.set("code_challenge_method","S256"),i.toString()},ce=async({code:t,returnedState:a,apiEndpoint:e,clientId:o,redirectUri:r})=>{let i=sessionStorage.getItem($),n=sessionStorage.getItem(j);if(!t||!a||!i||!n){let l=[];throw t||l.push("code"),a||l.push("returnedState"),i||l.push("code_verifier"),n||l.push("expectedState"),new Error(`Missing params: ${l.join(", ")}`)}if(a!==n)throw new Error("State mismatch: possible CSRF attack");let s=new URLSearchParams({grant_type:"authorization_code",client_id:o,code:t,redirect_uri:r??window.location.origin,code_verifier:i});try{let l=await fetch(`${e}/oauth2/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","X-Tailor-Nonce":crypto.randomUUID()},credentials:"include",body:s.toString()}),{access_token:p}=await l.json();return p}catch(l){throw new Error(`Token exchange failed: ${l instanceof Error?l.message:String(l)}`)}},ta=async()=>{let t=I.generateRandomCodeVerifier(),a=await I.calculatePKCECodeChallenge(t),e=I.generateRandomState();return sessionStorage.setItem($,t),sessionStorage.setItem(j,e),{codeChallenge:a,state:e}},Eo=async({currentUrl:t,apiEndpoint:a,clientId:e,redirectUri:o})=>{try{let r=t.searchParams.get("code"),i=t.searchParams.get("state");await ce({apiEndpoint:a,clientId:e,code:r,returnedState:i,redirectUri:o})}catch(r){console.error(r)}finally{sessionStorage.removeItem($),sessionStorage.removeItem(j),t.searchParams.delete("code"),t.searchParams.delete("state"),t.searchParams.delete("error"),t.searchParams.delete("error_description"),window.history.replaceState({},document.title,t.toString())}};import{jsx as fe}from"react/jsx-runtime";var ea=we(void 0),be=()=>{let t=pe(ea);if(t===void 0)throw new Error("useBuiltinIdpAuth must be used within an BuiltinIdPAuthContextProvider");return t},he=({apiEndpoint:t,clientId:a,redirectUri:e,children:o})=>{let[r,i]=me(!1),n=aa(async()=>{let{codeChallenge:l,state:p}=await ta(),u=Zt({apiEndpoint:t,clientId:a,codeChallenge:l,state:p,redirectUri:e});window.location.href=u},[t,a,e]);ue(()=>{(async()=>{(await(await fetch(`${t}/query`,{method:"POST",headers:{"Content-Type":"application/json","X-Tailor-Nonce":crypto.randomUUID()},credentials:"include",body:JSON.stringify({query:"query Myself(){ me { id }}"})})).json()).data.me?i(!0):n()})()},[t,n]);let s=aa(async()=>{sessionStorage.removeItem($),sessionStorage.removeItem(j);try{await fetch(`${t}/oauth2/revoke`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","X-Tailor-Nonce":crypto.randomUUID()},credentials:"include",body:""}),window.location.href="/"}catch(l){console.error(l)}},[t]);return fe(ea.Provider,{value:ge(()=>({login:n,logout:s}),[n,s]),children:r?o:null})};export{Da as AppShell,he as BuiltinIdPAuthProvider,Qt as DefaultSidebar,Jo as Link,j as OAUTH_STATE_KEY,$ as PKCE_VERIFIER_KEY,ne as SidebarLayoutContainer,Zt as buildAuthorizationUrl,fa as defineModule,va as defineResource,ce as exchangeCodeForToken,Eo as handleOAuthCallback,ta as prepareLogin,ha as redirectToResource,R as useAppShell,be as useBuiltinIdpAuth,Ko as useLocation,qo as useNavigate,Go as useParams,Yo as useRouteError,Xo as useSearchParams,Q as useTheme};
1
+ import{Table as _a}from"lucide-react";import{useEffect as Aa,useMemo as La,useState as Oa}from"react";import{createContext as ra,useContext as oa}from"react";var Y=ra({navItems:[],configurations:{modules:[]}}),R=()=>oa(Y);import{createBrowserRouter as xa,RouterProvider as ya,Navigate as Ca,redirect as ka,Outlet as Pa}from"react-router";import{NavLink as wa,Outlet as pt}from"react-router";import{Toaster as pa}from"sonner";import{Slot as na}from"@radix-ui/react-slot";import{cva as da}from"class-variance-authority";import{clsx as sa}from"clsx";import{twMerge as ia}from"tailwind-merge";function c(...t){return ia(sa(t))}import{jsx as ca}from"react/jsx-runtime";var la=da("astw:inline-flex astw:items-center astw:justify-center astw:gap-2 astw:whitespace-nowrap astw:rounded-md astw:text-sm astw:font-medium astw:transition-all astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:[&_svg]:pointer-events-none astw:[&_svg:not([class*='size-'])]:size-4 astw:shrink-0 astw:[&_svg]:shrink-0 astw:outline-none astw:focus-visible:border-ring astw:focus-visible:ring-ring/50 astw:focus-visible:ring-[3px] astw:aria-invalid:ring-destructive/20 astw:dark:aria-invalid:ring-destructive/40 astw:aria-invalid:border-destructive",{variants:{variant:{default:"astw:bg-primary astw:text-primary-foreground astw:shadow-xs astw:hover:bg-primary/90",destructive:"astw:bg-destructive astw:text-white astw:shadow-xs astw:hover:bg-destructive/90 astw:focus-visible:ring-destructive/20 astw:dark:focus-visible:ring-destructive/40 astw:dark:bg-destructive/60",outline:"astw:border astw:bg-background astw:shadow-xs astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:bg-input/30 astw:dark:border-input astw:dark:hover:bg-input/50",secondary:"astw:bg-secondary astw:text-secondary-foreground astw:shadow-xs astw:hover:bg-secondary/80",ghost:"astw:hover:bg-accent astw:hover:text-accent-foreground astw:dark:hover:bg-accent/50",link:"astw:text-primary astw:underline-offset-4 astw:hover:underline"},size:{default:"astw:h-9 astw:px-4 astw:py-2 astw:has-[>svg]:px-3",sm:"astw:h-8 astw:rounded-md astw:gap-1.5 astw:px-3 astw:has-[>svg]:px-2.5",lg:"astw:h-10 astw:rounded-md astw:px-6 astw:has-[>svg]:px-4",icon:"astw:size-9"}},defaultVariants:{variant:"default",size:"default"}});function y({className:t,variant:a,size:e,asChild:o=!1,...r}){return ca(o?na:"button",{"data-slot":"button",className:c(la({variant:a,size:e,className:t})),...r})}import{Fragment as ua,jsx as h,jsxs as _}from"react/jsx-runtime";var U=({contentBorder:t,children:a})=>h("div",{className:t?"astw:p-4 astw:rounded-sm astw:border astw:shadow-xs":"",children:a}),ut=()=>_(U,{contentBorder:!0,children:[h("p",{className:"astw:font-semibold astw:leading-none astw:tracking-tight",children:"Welcome to AppShell"}),h("p",{className:"pt-4",children:"Add your GraphQL resources from configuration at first!"})]}),J=()=>_(ua,{children:[h(pt,{}),h(pa,{})]}),mt=()=>{let{configurations:t}=R();return _("div",{className:"astw:mx-auto astw:flex-col astw:flex astw:md:flex-row astw:max-w-5xl astw:gap-[10px] astw:w-full",children:[h("div",{children:_("nav",{className:"astw:bg-card astw:md:w-xs astw:rounded-md astw:border astw:p-3 astw:shadow-xs",children:[h("h2",{className:"astw:text-sm astw:leading-[36px] astw:mb-2 astw:font-bold ",children:"Settings"}),h("ul",{className:"astw:flex astw:flex-col astw:gap-1",children:t.settingsResources?.map(a=>h("li",{children:h(wa,{to:`./${a.path}`,children:({isActive:e})=>_(y,{variant:e?"secondary":"ghost",className:"astw:w-full astw:justify-start",children:[a.meta.icon,a.meta.title]})})},a.path))})]})}),h("section",{className:"astw:bg-card astw:flex-1 astw:rounded-md astw:border astw:shadow-xs",children:h(pt,{})})]})};import{useRouteError as ma,isRouteErrorResponse as ga}from"react-router";import{AlertCircle as gt}from"lucide-react";import{jsx as x,jsxs as F}from"react/jsx-runtime";var bt=()=>{let t=ma();if(ga(t)&&t.status===404)return x("div",{className:"astw:p-6",children:F("div",{className:"astw:flex astw:items-start astw:gap-4",children:[x(gt,{className:"astw:h-5 astw:w-5 astw:text-destructive astw:flex-shrink-0 astw:mt-0.5"}),F("div",{children:[x("h1",{className:"astw:font-semibold astw:text-lg",children:"404 Not Found"}),x("p",{className:"astw:text-sm astw:text-muted-foreground astw:mt-1",children:"The page you requested could not be found."}),x(y,{variant:"outline",size:"sm",className:"astw:mt-4",onClick:()=>window.history.back(),children:"Go Back"})]})]})});let a=t instanceof Error?t.message:"An unexpected error occurred";return x("div",{className:"astw:p-6",children:F("div",{className:"astw:flex astw:items-start astw:gap-4",children:[x(gt,{className:"astw:h-5 astw:w-5 astw:text-destructive astw:flex-shrink-0 astw:mt-0.5"}),F("div",{children:[x("h1",{className:"astw:font-semibold astw:text-lg",children:"Something went wrong"}),x("p",{className:"astw:text-sm astw:text-muted-foreground astw:mt-1",children:a}),x(y,{variant:"outline",size:"sm",className:"astw:mt-4",onClick:()=>window.location.reload(),children:"Try Again"})]})]})})};import{capitalCase as ht}from"change-case";import{redirect as ba}from"react-router";var H="resources",C=(t,a)=>a?`/${a}/${H}/${t}`:`/${H}/${t}`;import{jsx as ft}from"react/jsx-runtime";function ha(t){return{redirectTo:t}}function V(t){return typeof t=="object"&&t!==null&&"redirectTo"in t}function fa(t){let{path:a,meta:e,component:o,resources:r,errorBoundary:i}=t,n=e?.title??ht(a),s=V(o)?{component:()=>null,loader:l=>ba(C(o.redirectTo,l))}:{component:()=>ft(U,{contentBorder:e?.contentBorder??!1,children:o({title:n,resources:r})})};return{path:a,type:"component",_type:"module",...s,meta:{title:n,...e?.breadcrumbTitle!==void 0?{breadcrumbTitle:e.breadcrumbTitle}:{},...e,menuItemClickable:!V(o),icon:t.meta?.icon},resources:r,errorBoundary:i}}function va(t){let{path:a,component:e,subResources:o,meta:r,errorBoundary:i}=t,n=r?.title??ht(a);return{_type:"resource",type:"component",path:a,meta:{title:n,icon:r?.icon,...r?.breadcrumbTitle!==void 0?{breadcrumbTitle:r.breadcrumbTitle}:{}},component:()=>ft(U,{contentBorder:r?.contentBorder??!1,children:e({title:n,resources:o})}),subResources:o,errorBoundary:i}}import{Fragment as Ra,jsx as A}from"react/jsx-runtime";var K=t=>()=>A(Ra,{children:t}),Sa=(t,a,e)=>t.reduce((o,r)=>{let i=r.errorBoundary||e,n={index:!0,Component:r.component,...r.loader&&{loader:()=>r.loader(a)}};return[...o,{path:r.path,...i&&{ErrorBoundary:K(i)},...r.resources&&r.resources.length>0?{children:[n,...r.resources.map(s=>vt(s,i))]}:{children:[n]}}]},[]),vt=(t,a)=>{let e=t.errorBoundary||a,o={index:!0,Component:t.component};return{path:t.path,...t.errorBoundary&&{ErrorBoundary:K(t.errorBoundary)},...t.subResources&&t.subResources.length>0?{children:[o,...t.subResources.map(r=>vt(r,e))]}:{children:[o]}}},xt=t=>{let{configurations:a}=R(),{rootComponent:e}=t,o=a.errorBoundary===void 0?A(bt,{}):a.errorBoundary,i=[V(e)?{index:!0,loader:()=>ka(C(e.redirectTo,a.basePath))}:{index:!0,Component:e??ut},{path:H,children:Sa(a.modules,a.basePath,o)},{path:"settings",index:!0,Component:()=>A(Ca,{to:(a.settingsResources??[])[0].path,relative:"path",replace:!0})},{path:"settings",Component:mt,children:a.settingsResources?.map(s=>({path:s.path,Component:s.component,...s.errorBoundary&&{ErrorBoundary:K(s.errorBoundary)}}))},{path:"*",loader:()=>{throw new Response("Not Found",{status:404})}}],n=xa([{path:a.basePath,element:t.children,children:o?[{element:A(Pa,{}),ErrorBoundary:K(o),children:i}]:i}]);return A(ya,{router:n})};import{createContext as Ta,useContext as Na,useEffect as za,useMemo as Ba,useState as Ma}from"react";import{jsx as Ia}from"react/jsx-runtime";var Ea={resolvedTheme:"light",theme:"system",setTheme:()=>null},yt=Ta(Ea);function Ct({children:t,storageKey:a,defaultTheme:e="system",...o}){let[r,i]=Ma(()=>localStorage.getItem(a)||e),n=Ba(()=>r!=="system"?r:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[r]);za(()=>{let l=window.document.documentElement;l.classList.remove("light","dark"),l.classList.add(n)},[n]);let s={resolvedTheme:n,theme:r,setTheme:l=>{localStorage.setItem(a,l),i(l)}};return Ia(yt.Provider,{...o,value:s,children:t})}var Q=()=>{let t=Na(yt);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t};import{jsx as q}from"react/jsx-runtime";var Da=t=>{let[a,e]=Oa(!1);Aa(function(){e(!0)},[]);let o=t.configurations.basePath,r=La(()=>t.configurations.modules.map(n=>{let s=n.resources.map(l=>({title:l.meta.title,url:C(`${n.path}/${l.path}`,o)}));return{title:n.meta.title,url:n.meta.menuItemClickable?C(n.path,o):void 0,clickable:n.component,icon:n.meta.icon||q(_a,{}),isActive:!0,items:s}}),[t.configurations.modules,o]);return a?q(Y.Provider,{value:{title:t.title,icon:t.icon,configurations:{...t.configurations,basePath:o},navItems:r},children:q(Ct,{defaultTheme:"system",storageKey:"appshell-ui-theme",children:q(xt,{rootComponent:t.configurations.rootComponent,children:t.children})})}):null};import*as B from"@radix-ui/react-collapsible";import{jsx as tt}from"react/jsx-runtime";function kt({...t}){return tt(B.Root,{"data-slot":"collapsible",...t})}function Z({...t}){return tt(B.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...t})}function Pt({...t}){return tt(B.CollapsibleContent,{"data-slot":"collapsible-content",...t})}import{useLocation as Jt,useMatch as oe}from"react-router";import*as b from"react";import{Slot as ot}from"@radix-ui/react-slot";import{cva as Ha}from"class-variance-authority";import{PanelLeftIcon as Va}from"lucide-react";import*as G from"react";var at=768;function St(){let[t,a]=G.useState(void 0);return G.useEffect(()=>{let e=window.matchMedia(`(max-width: ${at-1}px)`),o=()=>{a(window.innerWidth<at)};return e.addEventListener("change",o),a(window.innerWidth<at),()=>e.removeEventListener("change",o)},[]),!!t}import{jsx as Sr}from"react/jsx-runtime";import*as $a from"@radix-ui/react-separator";import{jsx as zr}from"react/jsx-runtime";import*as m from"@radix-ui/react-dialog";import{XIcon as ja}from"lucide-react";import{jsx as k,jsxs as et}from"react/jsx-runtime";function Rt({...t}){return k(m.Root,{"data-slot":"sheet",...t})}function Wa({...t}){return k(m.Portal,{"data-slot":"sheet-portal",...t})}function Ua({className:t,...a}){return k(m.Overlay,{"data-slot":"sheet-overlay",className:c("astw:data-[state=open]:animate-in astw:data-[state=closed]:animate-out astw:data-[state=closed]:fade-out-0 astw:data-[state=open]:fade-in-0 astw:fixed astw:inset-0 astw:z-50 astw:bg-black/50",t),...a})}function Tt({className:t,children:a,side:e="right",...o}){return et(Wa,{children:[k(Ua,{}),et(m.Content,{"data-slot":"sheet-content",className:c("astw:bg-background astw:data-[state=open]:animate-in astw:data-[state=closed]:animate-out astw:fixed astw:z-50 astw:flex astw:flex-col astw:gap-4 astw:shadow-lg astw:transition astw:ease-in-out astw:data-[state=closed]:duration-300 astw:data-[state=open]:duration-500",e==="right"&&"astw:data-[state=closed]:slide-out-to-right astw:data-[state=open]:slide-in-from-right astw:inset-y-0 astw:right-0 astw:h-full astw:w-3/4 astw:border-l astw:sm:max-w-sm",e==="left"&&"astw:data-[state=closed]:slide-out-to-left astw:data-[state=open]:slide-in-from-left astw:inset-y-0 astw:left-0 astw:h-full astw:w-3/4 astw:border-r astw:sm:max-w-sm",e==="top"&&"astw:data-[state=closed]:slide-out-to-top astw:data-[state=open]:slide-in-from-top astw:inset-x-0 astw:top-0 astw:h-auto astw:border-b",e==="bottom"&&"astw:data-[state=closed]:slide-out-to-bottom astw:data-[state=open]:slide-in-from-bottom astw:inset-x-0 astw:bottom-0 astw:h-auto astw:border-t",t),...o,children:[a,et(m.Close,{className:"astw:ring-offset-bg astw:focus:ring-ring astw:data-[state=open]:bg-secondary astw:absolute astw:top-4 astw:right-4 astw:rounded-xs astw:opacity-70 astw:transition-opacity astw:hover:opacity-100 astw:focus:ring-2 astw:focus:ring-offset-2 astw:focus:outline-hidden astw:disabled:pointer-events-none",children:[k(ja,{className:"astw:size-4"}),k("span",{className:"astw:sr-only",children:"Close"})]})]})]})}function Nt({className:t,...a}){return k("div",{"data-slot":"sheet-header",className:c("astw:flex astw:flex-col astw:gap-1.5 astw:p-4",t),...a})}function zt({className:t,...a}){return k(m.Title,{"data-slot":"sheet-title",className:c("astw:text-foreground astw:font-semibold",t),...a})}function Bt({className:t,...a}){return k(m.Description,{"data-slot":"sheet-description",className:c("astw:text-muted-foreground astw:text-sm",t),...a})}import{jsx as Or}from"react/jsx-runtime";import*as f from"@radix-ui/react-tooltip";import{jsx as M,jsxs as Fa}from"react/jsx-runtime";function rt({delayDuration:t=0,...a}){return M(f.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...a})}function Mt({...t}){return M(rt,{children:M(f.Root,{"data-slot":"tooltip",...t})})}function Et({...t}){return M(f.Trigger,{"data-slot":"tooltip-trigger",...t})}function It({className:t,sideOffset:a=0,children:e,...o}){return M(f.Portal,{children:Fa(f.Content,{"data-slot":"tooltip-content",sideOffset:a,className:c("astw:bg-primary astw:text-primary-foreground astw:animate-in astw:fade-in-0 astw:zoom-in-95 astw:data-[state=closed]:animate-out astw:data-[state=closed]:fade-out-0 astw:data-[state=closed]:zoom-out-95 astw:data-[side=bottom]:slide-in-from-top-2 astw:data-[side=left]:slide-in-from-right-2 astw:data-[side=right]:slide-in-from-left-2 astw:data-[side=top]:slide-in-from-bottom-2 astw:z-50 astw:w-fit astw:origin-(--radix-tooltip-content-transform-origin) astw:rounded-md astw:px-3 astw:py-1.5 astw:text-xs astw:text-balance",t),...o,children:[e,M(f.Arrow,{className:"astw:bg-primary astw:fill-primary astw:z-50 astw:size-2.5 astw:translate-y-[calc(-50%_-_2px)] astw:rotate-45 astw:rounded-[2px]"})]})})}import{jsx as w,jsxs as L}from"react/jsx-runtime";var Ka="sidebar_state",qa=60*60*24*7,Ga="16rem",Xa="18rem",Ya="3rem",Ja="b",_t=b.createContext(null);function O(){let t=b.useContext(_t);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function At({defaultOpen:t=!0,open:a,onOpenChange:e,className:o,style:r,children:i,...n}){let s=St(),[l,p]=b.useState(!1),[u,T]=b.useState(t),P=a??u,N=b.useCallback(v=>{let S=typeof v=="function"?v(P):v;e?e(S):T(S),document.cookie=`${Ka}=${S}; path=/; max-age=${qa}`},[e,P]),z=b.useCallback(()=>s?p(v=>!v):N(v=>!v),[s,N,p]);b.useEffect(()=>{let v=S=>{S.key===Ja&&(S.metaKey||S.ctrlKey)&&(S.preventDefault(),z())};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[z]);let X=P?"expanded":"collapsed",W=b.useMemo(()=>({state:X,open:P,setOpen:N,isMobile:s,openMobile:l,setOpenMobile:p,toggleSidebar:z}),[X,P,N,s,l,p,z]);return w(_t.Provider,{value:W,children:w(rt,{delayDuration:0,children:w("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":Ga,"--sidebar-width-icon":Ya,...r},className:c("astw:group/sidebar-wrapper astw:has-data-[variant=inset]:bg-sidebar astw:flex astw:min-h-svh astw:w-full",o),...n,children:i})})})}function Lt({side:t="left",variant:a="sidebar",collapsible:e="offcanvas",className:o,children:r,...i}){let{isMobile:n,state:s,openMobile:l,setOpenMobile:p}=O();return e==="none"?w("div",{"data-slot":"sidebar",className:c("astw:bg-sidebar astw:text-sidebar-foreground astw:flex astw:h-full astw:w-(--sidebar-width) astw:flex-col",o),...i,children:r}):n?w(Rt,{open:l,onOpenChange:p,...i,children:L(Tt,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"astw:bg-sidebar astw:text-sidebar-foreground astw:w-(--sidebar-width) astw:p-0 astw:[&>button]:hidden",style:{"--sidebar-width":Xa},side:t,children:[L(Nt,{className:"astw:sr-only",children:[w(zt,{children:"Sidebar"}),w(Bt,{children:"Displays the mobile sidebar."})]}),w("div",{className:"flex h-full w-full flex-col",children:r})]})}):L("div",{className:"astw:group astw:peer astw:text-sidebar-foreground astw:hidden astw:md:block","data-state":s,"data-collapsible":s==="collapsed"?e:"","data-variant":a,"data-side":t,"data-slot":"sidebar",children:[w("div",{"data-slot":"sidebar-gap",className:c("astw:relative astw:w-(--sidebar-width) astw:bg-transparent astw:transition-[width] astw:duration-200 astw:ease-linear","astw:group-data-[collapsible=offcanvas]:w-0","astw:group-data-[side=right]:rotate-180",a==="floating"||a==="inset"?"astw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"astw:group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),w("div",{"data-slot":"sidebar-container",className:c("astw:fixed astw:inset-y-0 astw:z-10 astw:hidden astw:h-svh astw:w-(--sidebar-width) astw:transition-[left,right,width] astw:duration-200 astw:ease-linear astw:md:flex",t==="left"?"astw:left-0 astw:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"astw:right-0 astw:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a==="floating"||a==="inset"?"astw:p-2 astw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"astw:group-data-[collapsible=icon]:w-(--sidebar-width-icon) astw:group-data-[side=left]:border-r astw:group-data-[side=right]:border-l",a==="inset"&&"astw:border-x astw:border-x-border",o),...i,children:w("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"astw:bg-sidebar astw:group-data-[variant=floating]:border-sidebar-border astw:flex astw:h-full astw:w-full astw:flex-col astw:group-data-[variant=floating]:rounded-lg astw:group-data-[variant=floating]:border astw:group-data-[variant=floating]:shadow-sm",children:r})})]})}function st({className:t,onClick:a,...e}){let{toggleSidebar:o}=O();return L(y,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:c("astw:text-muted-foreground",t),onClick:r=>{a?.(r),o()},...e,children:[w(Va,{className:"astw:size-4.5"}),w("span",{className:"astw:sr-only",children:"Toggle Sidebar"})]})}function Ot({className:t,...a}){return w("main",{"data-slot":"sidebar-inset",className:c("astw:bg-background astw:relative astw:flex astw:w-full astw:flex-1 astw:flex-col","astw:px-4 astw:md:peer-data-[variant=inset]:px-8 astw:md:peer-data-[variant=inset]:py-2",t),...a})}function Dt({className:t,...a}){return w("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:c("astw:flex astw:flex-row astw:items-center astw:gap-0.5 astw:p-2",t),...a})}function $t({className:t,...a}){return w("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:c("astw:flex astw:min-h-0 astw:flex-1 astw:flex-col astw:gap-2 astw:overflow-auto astw:group-data-[collapsible=icon]:overflow-hidden",t),...a})}function jt({className:t,...a}){return w("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:c("astw:relative astw:flex astw:w-full astw:min-w-0 astw:flex-col astw:p-2",t),...a})}function Wt({className:t,...a}){return w("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:c("astw:flex astw:w-full astw:min-w-0 astw:flex-col astw:gap-1",t),...a})}function Ut({className:t,...a}){return w("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:c("astw:group/menu-item astw:relative",t),...a})}var Qa=Ha("astw:peer/menu-button astw:flex astw:w-full astw:items-center astw:gap-2 astw:overflow-hidden astw:rounded-md astw:p-2 astw:text-left astw:text-sm astw:outline-hidden astw:ring-sidebar-ring astw:transition-[width,height,padding] astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:focus-visible:ring-2 astw:active:bg-sidebar-accent astw:active:text-sidebar-accent-foreground astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:group-has-data-[sidebar=menu-action]/menu-item:pr-8 astw:aria-disabled:pointer-events-none astw:aria-disabled:opacity-50 astw:data-[active=true]:bg-sidebar-accent astw:data-[active=true]:font-medium astw:data-[active=true]:text-sidebar-accent-foreground astw:data-[state=open]:hover:bg-sidebar-accent astw:data-[state=open]:hover:text-sidebar-accent-foreground astw:group-data-[collapsible=icon]:size-8! astw:group-data-[collapsible=icon]:p-2! astw:[&>span:last-child]:truncate astw:[&>svg]:size-4 astw:[&>svg]:shrink-0",{variants:{variant:{default:"astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground",outline:"astw:bg-background astw:shadow-[0_0_0_1px_hsl(var(--sidebar-border))] astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"astw:h-8 astw:text-sm",sm:"astw:h-7 astw:rounded-md astw:gap-1.5 astw:px-3 astw:has-[>svg]:px-2.5",lg:"astw:h-12 astw:text-sm astw:group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function it({asChild:t=!1,isActive:a=!1,variant:e="default",size:o="default",tooltip:r,className:i,...n}){let s=t?ot:"button",{isMobile:l,state:p}=O(),u=w(s,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":a,className:c(Qa({variant:e,size:o}),i),...n});return r?(typeof r=="string"&&(r={children:r}),L(Mt,{children:[w(Et,{asChild:!0,children:u}),w(It,{side:"right",align:"center",hidden:p!=="collapsed"||l,...r})]})):u}function nt({className:t,asChild:a=!1,showOnHover:e=!1,...o}){return w(a?ot:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:c("astw:text-sidebar-foreground astw:ring-sidebar-ring astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:peer-hover/menu-button:text-sidebar-accent-foreground astw:absolute astw:top-1.5 astw:right-1 astw:flex astw:aspect-square astw:w-5 astw:items-center astw:justify-center astw:rounded-md astw:p-0 astw:outline-hidden astw:transition-transform astw:focus-visible:ring-2 astw:[&>svg]:size-4 astw:[&>svg]:shrink-0","astw:after:absolute astw:after:-inset-2 astw:md:after:hidden","astw:peer-data-[size=sm]/menu-button:top-1","astw:peer-data-[size=default]/menu-button:top-1.5","astw:peer-data-[size=lg]/menu-button:top-2.5","astw:group-data-[collapsible=icon]:hidden",e&&"astw:peer-data-[active=true]/menu-button:text-sidebar-accent-foreground astw:group-focus-within/menu-item:opacity-100 astw:group-hover/menu-item:opacity-100 astw:data-[state=open]:opacity-100 astw:md:opacity-0",t),...o})}function Ft({className:t,...a}){return w("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:c("astw:border-sidebar-border astw:mx-3.5 astw:flex astw:min-w-0 astw:translate-x-px astw:flex-col astw:gap-1 astw:border-l astw:px-2.5 astw:py-0.5","astw:group-data-[collapsible=icon]:hidden",t),...a})}function Ht({className:t,...a}){return w("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:c("astw:group/menu-sub-item astw:relative",t),...a})}function Vt({asChild:t=!1,size:a="md",isActive:e=!1,className:o,...r}){return w(t?ot:"a",{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":a,"data-active":e,className:c("astw:text-sidebar-foreground astw:ring-sidebar-ring astw:hover:bg-sidebar-accent astw:hover:text-sidebar-accent-foreground astw:active:bg-sidebar-accent astw:active:text-sidebar-accent-foreground astw:[&>svg]:text-sidebar-accent-foreground astw:flex astw:h-7 astw:min-w-0 astw:-translate-x-px astw:items-center astw:gap-2 astw:overflow-hidden astw:rounded-md astw:px-2 astw:outline-hidden astw:focus-visible:ring-2 astw:disabled:pointer-events-none astw:disabled:opacity-50 astw:aria-disabled:pointer-events-none astw:aria-disabled:opacity-50 astw:[&>span:last-child]:truncate astw:[&>svg]:size-4 astw:[&>svg]:shrink-0","astw:data-[active=true]:bg-sidebar-accent astw:data-[active=true]:text-sidebar-accent-foreground",a==="sm"&&"astw:text-xs",a==="md"&&"astw:text-sm","astw:group-data-[collapsible=icon]:hidden",o),...r})}import{ChevronRight as Xt,SunIcon as se}from"lucide-react";import{Slot as ae}from"@radix-ui/react-slot";import{ChevronRight as ee,MoreHorizontal as wo}from"lucide-react";import{Link as Za,useHref as te}from"react-router";import{jsx as Kt}from"react/jsx-runtime";function D({to:t,children:a,...e}){try{return te(t),Kt(Za,{to:t,...e,children:a})}catch{return Kt("a",{href:t,...e,children:a})}}import{jsx as E,jsxs as go}from"react/jsx-runtime";function dt({...t}){return E("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...t})}function lt({className:t,...a}){return E("ol",{"data-slot":"breadcrumb-list",className:c("astw:text-muted-foreground astw:flex astw:flex-wrap astw:items-center astw:gap-1.5 astw:text-sm astw:break-words astw:sm:gap-2.5",t),...a})}function ct({className:t,...a}){return E("li",{"data-slot":"breadcrumb-item",className:c("astw:inline-flex astw:items-center astw:gap-1.5",t),...a})}function wt({asChild:t,className:a,children:e,...o}){return E(t?ae:D,{"data-slot":"breadcrumb-link",className:c("astw:hover:text-foreground astw:transition-colors",a),...o,children:e})}function qt({children:t,className:a,...e}){return E("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:c("astw:[&>svg]:size-3.5",a),...e,children:t??E(ee,{})})}var re=t=>t.reduce((a,e)=>{a[e.path]={title:e.meta.title,breadcrumbTitle:e.meta.breadcrumbTitle};let o=(r,i)=>{!r||r.length===0||r.forEach(n=>{let s=`${i}/${n.path}`;a[s]={title:n.meta.title,breadcrumbTitle:n.meta.breadcrumbTitle},n.subResources&&n.subResources.length>0&&o(n.subResources,s)})};return e.resources&&e.resources.length>0&&o(e.resources,e.path),a},{});function Gt(t,a,e){let o=t.split("/").filter(s=>s!=="").slice(1),r=a?(()=>{let[s,...l]=o;return l})():o,i=re(e),n=r.map((s,l)=>{let p=r.slice(0,l+1).join("/"),u=i[p];if(!u){let P=Object.entries(i).find(([N])=>{let z=N.split("/").map(W=>W.startsWith(":")?"[^/]+":W).join("/");return new RegExp(`^${z}$`).test(p)})?.[1];P&&(u=P)}let T;return u?typeof u.breadcrumbTitle=="function"?T=u.breadcrumbTitle(s):typeof u.breadcrumbTitle=="string"?T=u.breadcrumbTitle:T=u.title:T=decodeURIComponent(s),{segment:s,path:p,title:T}});return{basePath:a||null,segments:n}}import{Fragment as Yt,jsx as d,jsxs as g}from"react/jsx-runtime";var ie=()=>{let{open:t}=O();return d("div",{className:t?"astw:md:hidden":void 0,children:d(st,{className:"astw:-ml-2.5"})})},ne=t=>{let a=t.children?t.children({Outlet:J}):null,e=Q(),o=()=>{e.setTheme(e.theme==="dark"?"light":"dark")};return d(At,{className:"astw:flex astw:flex-col",children:g("div",{className:"astw:flex astw:flex-1",children:[t.sidebar??d(Qt,{}),g(Ot,{className:"astw:w-[calc(100%-var(--sidebar-width))]",children:[d("header",{className:"astw:flex astw:h-14 astw:shrink-0 astw:items-center astw:gap-2 astw:transition-[width,height] astw:ease-linear astw:group-has-data-[collapsible=icon]/sidebar-wrapper:h-12",children:g("div",{className:"astw:flex astw:w-full astw:items-center astw:justify-between",children:[g("div",{className:"astw:flex astw:items-center astw:gap-2",children:[d(ie,{}),d(le,{})]}),d("div",{className:"astw:flex astw:items-center astw:gap-2",children:d(y,{variant:"outline",size:"icon",onClick:o,children:d(se,{})})})]})}),d("div",{className:"astw:flex astw:flex-col astw:gap-4",children:a??d(J,{})})]})]})})},Qt=t=>{let{title:a,icon:e,navItems:o}=R(),{pathname:r}=Jt(),i=g(Dt,{children:[e,d("h1",{className:"astw:text-sm astw:mb-2 astw:mt-2 astw:px-2",children:a})]});return g(Lt,{variant:"inset",children:[g("div",{className:"astw:flex astw:justify-between astw:items-center",children:[t.header??i,d("div",{className:"astw:hidden astw:md:block",children:d(st,{className:"astw:-ml-1"})})]}),d($t,{children:d(jt,{children:d(Wt,{children:o.map(s=>d(kt,{asChild:!0,defaultOpen:s.isActive,children:g(Ut,{children:[s.url?g(Yt,{children:[d(it,{asChild:!0,tooltip:s.title,children:g(D,{to:s.url,className:s.url===r?"astw:bg-sidebar-accent astw:font-medium":void 0,children:[s.icon,d("span",{children:s.title})]})}),!!s.items?.length&&d(Z,{asChild:!0,children:g(nt,{className:"astw:data-[state=open]:rotate-90",children:[d(Xt,{}),d("span",{className:"astw:sr-only",children:"Toggle"})]})})]}):d(Yt,{children:g(Z,{className:"astw:flex astw:w-[100%] astw:[&[data-state=open]_.astw-rotate-target]:rotate-90",children:[d(it,{asChild:!0,tooltip:s.title,children:g("span",{className:"astw:flex astw:w-[100%]",children:[s.icon,d("span",{children:s.title})]})}),!!s.items?.length&&d(nt,{className:"astw-rotate-target",asChild:!0,children:g("span",{children:[d(Xt,{}),d("span",{className:"astw:sr-only",children:"Toggle"})]})})]})}),!!s.items?.length&&d(Pt,{children:d(Ft,{children:s.items?.map(l=>d(Ht,{children:d(Vt,{asChild:!0,children:d(D,{to:l.url,className:l.url===r?"astw:bg-sidebar-accent astw:font-medium":void 0,children:d("span",{children:l.title})})})},l.title))})})]})},s.title))})})}),t.footer??null]})},de=()=>{let{configurations:t}=R(),a=Jt();return Gt(a.pathname,t.basePath,t.modules)},le=()=>{let{basePath:t,segments:a}=de(),e=oe("/:prefix/settings/:suffix");return e?d(dt,{children:d(lt,{children:d("div",{className:"astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",children:d(ct,{children:d(wt,{to:`/${e.params.prefix}/settings`,children:"Settings"})})})})}):d(dt,{children:d(lt,{children:a.map((o,r)=>g("div",{className:"astw:inline-flex astw:items-center astw:gap-3 astw:last:text-foreground",children:[d(ct,{children:d(wt,{to:C(o.path,t),children:o.title})}),r<a.length-1&&d(qt,{})]},r))})})};import{useLocation as Ko,useNavigate as qo,useParams as Go,useSearchParams as Xo,useRouteError as Yo,Link as Jo}from"react-router";import{createContext as we,useCallback as aa,useContext as pe,useEffect as ue,useMemo as me,useState as ge}from"react";import*as I from"oauth4webapi";var $="oauth_pkce_verifier",j="oauth_state",Zt=({apiEndpoint:t,clientId:a,state:e,codeChallenge:o,redirectUri:r})=>{let i=new URL(`${t}/oauth2/authorize`);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",a),i.searchParams.set("redirect_uri",r??window.location.origin),i.searchParams.set("scope","openid profile email"),i.searchParams.set("state",e),i.searchParams.set("code_challenge",o),i.searchParams.set("code_challenge_method","S256"),i.toString()},ce=async({code:t,returnedState:a,apiEndpoint:e,clientId:o,redirectUri:r})=>{let i=sessionStorage.getItem($),n=sessionStorage.getItem(j);if(!t||!a||!i||!n){let l=[];throw t||l.push("code"),a||l.push("returnedState"),i||l.push("code_verifier"),n||l.push("expectedState"),new Error(`Missing params: ${l.join(", ")}`)}if(a!==n)throw new Error("State mismatch: possible CSRF attack");let s=new URLSearchParams({grant_type:"authorization_code",client_id:o,code:t,redirect_uri:r??window.location.origin,code_verifier:i});try{let l=await fetch(`${e}/oauth2/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","X-Tailor-Nonce":crypto.randomUUID()},credentials:"include",body:s.toString()}),{access_token:p}=await l.json();return p}catch(l){throw new Error(`Token exchange failed: ${l instanceof Error?l.message:String(l)}`)}},ta=async()=>{let t=I.generateRandomCodeVerifier(),a=await I.calculatePKCECodeChallenge(t),e=I.generateRandomState();return sessionStorage.setItem($,t),sessionStorage.setItem(j,e),{codeChallenge:a,state:e}},Eo=async({currentUrl:t,apiEndpoint:a,clientId:e,redirectUri:o})=>{try{let r=t.searchParams.get("code"),i=t.searchParams.get("state");await ce({apiEndpoint:a,clientId:e,code:r,returnedState:i,redirectUri:o})}catch(r){console.error(r)}finally{sessionStorage.removeItem($),sessionStorage.removeItem(j),t.searchParams.delete("code"),t.searchParams.delete("state"),t.searchParams.delete("error"),t.searchParams.delete("error_description"),window.history.replaceState({},document.title,t.toString())}};import{jsx as fe}from"react/jsx-runtime";var ea=we(void 0),be=()=>{let t=pe(ea);if(t===void 0)throw new Error("useBuiltinIdpAuth must be used within an BuiltinIdPAuthContextProvider");return t},he=({apiEndpoint:t,clientId:a,redirectUri:e,children:o})=>{let[r,i]=ge(!1),n=aa(async()=>{let{codeChallenge:l,state:p}=await ta(),u=Zt({apiEndpoint:t,clientId:a,codeChallenge:l,state:p,redirectUri:e});window.location.href=u},[t,a,e]);ue(()=>{(async()=>{(await(await fetch(`${t}/query`,{method:"POST",headers:{"Content-Type":"application/json","X-Tailor-Nonce":crypto.randomUUID()},credentials:"include",body:JSON.stringify({query:"query Myself(){ me { id }}"})})).json()).data.me?i(!0):n()})()},[t,n]);let s=aa(async()=>{sessionStorage.removeItem($),sessionStorage.removeItem(j);try{await fetch(`${t}/oauth2/revoke`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","X-Tailor-Nonce":crypto.randomUUID()},credentials:"include",body:""}),window.location.href="/"}catch(l){console.error(l)}},[t]);return fe(ea.Provider,{value:me(()=>({login:n,logout:s}),[n,s]),children:r?o:null})};export{Da as AppShell,he as BuiltinIdPAuthProvider,Qt as DefaultSidebar,Jo as Link,j as OAUTH_STATE_KEY,$ as PKCE_VERIFIER_KEY,ne as SidebarLayoutContainer,Zt as buildAuthorizationUrl,fa as defineModule,va as defineResource,ce as exchangeCodeForToken,Eo as handleOAuthCallback,ta as prepareLogin,ha as redirectToResource,R as useAppShell,be as useBuiltinIdpAuth,Ko as useLocation,qo as useNavigate,Go as useParams,Yo as useRouteError,Xo as useSearchParams,Q as useTheme};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailor-platform/app-shell",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./styles": "./dist/index.css",
@@ -20,12 +20,11 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@badgateway/oauth2-client": "^3.3.0",
23
- "@hookform/resolvers": "^5.2.2",
24
23
  "@radix-ui/react-checkbox": "^1.1.4",
25
24
  "@radix-ui/react-collapsible": "^1.1.3",
26
25
  "@radix-ui/react-dialog": "^1.1.15",
27
26
  "@radix-ui/react-dropdown-menu": "^2.1.6",
28
- "@radix-ui/react-label": "^2.1.2",
27
+ "@radix-ui/react-label": "^2.1.8",
29
28
  "@radix-ui/react-navigation-menu": "^1.2.5",
30
29
  "@radix-ui/react-popover": "^1.1.6",
31
30
  "@radix-ui/react-select": "^2.1.6",
@@ -38,16 +37,16 @@
38
37
  "change-case": "^5.4.4",
39
38
  "class-variance-authority": "^0.7.1",
40
39
  "clsx": "^2.1.1",
41
- "es-toolkit": "^1.34.1",
40
+ "es-toolkit": "^1.41.0",
42
41
  "lucide-react": "^0.487.0",
43
42
  "next-themes": "^0.4.6",
44
43
  "oauth4webapi": "^3.8.1",
45
- "react": "^19.1.1",
46
- "react-dom": "^19.1.1",
44
+ "react": "^19.2.1",
45
+ "react-dom": "^19.2.1",
47
46
  "react-hook-form": "^7.54.2",
48
47
  "react-router": "^7.4.0",
49
48
  "sonner": "^2.0.7",
50
- "tailwind-merge": "^3.0.1",
49
+ "tailwind-merge": "^3.4.0",
51
50
  "urql": "^5.0.1"
52
51
  },
53
52
  "devDependencies": {
@@ -62,7 +61,7 @@
62
61
  "prettier": "^3.6.2",
63
62
  "tailwindcss": "^4.1.3",
64
63
  "tsup": "^8.3.6",
65
- "tw-animate-css": "^1.2.5",
64
+ "tw-animate-css": "^1.4.0",
66
65
  "typescript": "^5",
67
66
  "vite-tsconfig-paths": "^5.1.4",
68
67
  "vitest": "^3.1.1"