@sentinel-core/sentinel 1.0.20 → 1.0.22
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/sentinel.cjs +16 -16
- package/dist/sentinel.css +1 -1
- package/dist/sentinel.es.js +186 -76
- package/dist/src/react/index.d.ts +2 -0
- package/dist/src/react/provider.d.ts +3 -1
- package/dist/src/saga/createSentinelSagaMonitor.d.ts +27 -0
- package/dist/src/ui/widgets/SentinelToolbar.d.ts +4 -1
- package/package.json +1 -1
package/dist/sentinel.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-orange-400:oklch(75% .183 55.934);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-400:oklch(70.7% .165 254.624);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-zinc-800:oklch(27.4% .006 286.033);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring))}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-\[50\%\]{top:50%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.z-\[999\]{z-index:999}.z-\[9999\]{z-index:9999}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0{margin-inline:0}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.\!size-4{width:calc(var(--spacing) * 4)!important;height:calc(var(--spacing) * 4)!important}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[1px\]{height:1px}.h-\[180px\]{height:180px}.h-\[var\(--huin-core-select-trigger-height\)\]{height:var(--huin-core-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-5\/6{max-height:83.3333%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-full{width:100%}.max-w-5\/6{max-width:83.3333%}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--huin-core-select-trigger-width\)\]{min-width:var(--huin-core-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--color-border)}.border-destructive\/50{border-color:color-mix(in srgb, hsl(var(--destructive)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-primary\/30{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[\#0f172a\]{background-color:#0f172a}.bg-\[\#111827\]{background-color:#111827}.bg-background{background-color:var(--color-background)}.bg-black{background-color:var(--color-black)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-destructive{background-color:var(--color-destructive)}.bg-muted{background-color:var(--color-muted)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.object-cover{object-fit:cover}.\!p-1{padding:var(--spacing)!important}.\!p-6{padding:calc(var(--spacing) * 6)!important}.p-0\!{padding:0!important}.p-0\.5\!{padding:calc(var(--spacing) * .5)!important}.p-1{padding:var(--spacing)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\!{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-4\!{padding:calc(var(--spacing) * 4)!important}.p-\[1px\]{padding:1px}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-1\.5\!{padding-inline:calc(var(--spacing) * 1.5)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\!{padding-inline:calc(var(--spacing) * 3)!important}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-0\.5\!{padding-block:calc(var(--spacing) * .5)!important}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-1\.5\!{padding-block:calc(var(--spacing) * 1.5)!important}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\!{padding-block:calc(var(--spacing) * 3)!important}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\!{padding-right:calc(var(--spacing) * 2)!important}.pb-3\!{padding-bottom:calc(var(--spacing) * 3)!important}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-8\!{padding-left:calc(var(--spacing) * 8)!important}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-blue-400{color:var(--color-blue-400)}.text-current{color:currentColor}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground{color:var(--color-foreground)}.text-gray-200{color:var(--color-gray-200)}.text-gray-400{color:var(--color-gray-400)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-orange-400{color:var(--color-orange-400)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-400{color:var(--color-sky-400)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-\[cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/80:hover{background-color:color-mix(in srgb, hsl(var(--destructive)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--color-destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:color-mix(in srgb, hsl(var(--destructive)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--color-destructive) 90%, transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-primary\/80:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--color-primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:color-mix(in srgb, hsl(var(--secondary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-muted-foreground:hover{color:var(--color-muted-foreground)}.hover\:text-primary-foreground:hover{color:var(--color-primary-foreground)}.hover\:text-sky-300:hover{color:var(--color-sky-300)}.hover\:text-sky-400:hover{color:var(--color-sky-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--color-foreground)}.data-\[state\=active\]\:shadow-xs[data-state=active]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--color-primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--color-accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--color-input)}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-destructive{border-color:var(--color-destructive)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--color-destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--color-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7\!>svg~*{padding-left:calc(var(--spacing) * 7)!important}}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 72.22% 50.59%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 5% 64.9%;--radius:.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 85.7% 97.3%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:240 4.9% 83.9%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}
|
|
2
|
+
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-orange-400:oklch(75% .183 55.934);--color-amber-400:oklch(82.8% .189 84.429);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-400:oklch(70.7% .165 254.624);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-zinc-800:oklch(27.4% .006 286.033);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring))}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-\[50\%\]{top:50%}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.z-\[999\]{z-index:999}.z-\[9999\]{z-index:9999}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0{margin-inline:0}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.\!size-4{width:calc(var(--spacing) * 4)!important;height:calc(var(--spacing) * 4)!important}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[1px\]{height:1px}.h-\[180px\]{height:180px}.h-\[var\(--huin-core-select-trigger-height\)\]{height:var(--huin-core-select-trigger-height)}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-5\/6{max-height:83.3333%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-full{width:100%}.max-w-5\/6{max-width:83.3333%}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--huin-core-select-trigger-width\)\]{min-width:var(--huin-core-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border{border-color:var(--color-border)}.border-destructive\/50{border-color:color-mix(in srgb, hsl(var(--destructive)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-input{border-color:var(--color-input)}.border-primary{border-color:var(--color-primary)}.border-primary\/30{border-color:color-mix(in srgb, hsl(var(--primary)) 30%, transparent)}@supports (color:color-mix(in lab, red, red)){.border-primary\/30{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[\#0f172a\]{background-color:#0f172a}.bg-\[\#111827\]{background-color:#111827}.bg-background{background-color:var(--color-background)}.bg-black{background-color:var(--color-black)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-destructive{background-color:var(--color-destructive)}.bg-destructive\/10{background-color:color-mix(in srgb, hsl(var(--destructive)) 10%, transparent)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.object-cover{object-fit:cover}.\!p-1{padding:var(--spacing)!important}.\!p-6{padding:calc(var(--spacing) * 6)!important}.p-0\.5\!{padding:calc(var(--spacing) * .5)!important}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\!{padding:calc(var(--spacing) * 3)!important}.p-4{padding:calc(var(--spacing) * 4)}.p-4\!{padding:calc(var(--spacing) * 4)!important}.p-\[1px\]{padding:1px}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-1\.5\!{padding-inline:calc(var(--spacing) * 1.5)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\!{padding-inline:calc(var(--spacing) * 3)!important}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-0\.5\!{padding-block:calc(var(--spacing) * .5)!important}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-1\.5\!{padding-block:calc(var(--spacing) * 1.5)!important}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\!{padding-block:calc(var(--spacing) * 3)!important}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\!{padding-right:calc(var(--spacing) * 2)!important}.pb-3\!{padding-bottom:calc(var(--spacing) * 3)!important}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-8\!{padding-left:calc(var(--spacing) * 8)!important}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-current{color:currentColor}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground{color:var(--color-foreground)}.text-gray-200{color:var(--color-gray-200)}.text-gray-400{color:var(--color-gray-400)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-orange-400{color:var(--color-orange-400)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-400{color:var(--color-sky-400)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-\[cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/80:hover{background-color:color-mix(in srgb, hsl(var(--destructive)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--color-destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:color-mix(in srgb, hsl(var(--destructive)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--color-destructive) 90%, transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-muted\/50:hover{background-color:color-mix(in srgb, hsl(var(--muted)) 50%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--color-primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb, hsl(var(--primary)) 90%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--color-primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:color-mix(in srgb, hsl(var(--secondary)) 80%, transparent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--color-secondary) 80%, transparent)}}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-muted-foreground:hover{color:var(--color-muted-foreground)}.hover\:text-primary-foreground:hover{color:var(--color-primary-foreground)}.hover\:text-sky-300:hover{color:var(--color-sky-300)}.hover\:text-sky-400:hover{color:var(--color-sky-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--color-foreground)}.data-\[state\=active\]\:shadow-xs[data-state=active]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--color-primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--color-accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--color-input)}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (prefers-color-scheme:dark){.dark\:border-destructive{border-color:var(--color-destructive)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--color-destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--color-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7\!>svg~*{padding-left:calc(var(--spacing) * 7)!important}}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 72.22% 50.59%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 5% 64.9%;--radius:.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 85.7% 97.3%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:240 4.9% 83.9%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}
|
|
3
3
|
/*$vite$:1*/
|
package/dist/sentinel.es.js
CHANGED
|
@@ -3570,7 +3570,7 @@ var la = (e) => {
|
|
|
3570
3570
|
let [t] = e.split(":");
|
|
3571
3571
|
return t.replace(/\\/g, "/").split("/").slice(-3).join("/");
|
|
3572
3572
|
}, ya = () => {
|
|
3573
|
-
let { openDialogId: e, closeDialog: n, dialogMeta: r } =
|
|
3573
|
+
let { openDialogId: e, closeDialog: n, dialogMeta: r } = $l();
|
|
3574
3574
|
return /* @__PURE__ */ t.createElement(ta, {
|
|
3575
3575
|
open: e !== null,
|
|
3576
3576
|
onOpenChange: (e) => !e && n()
|
|
@@ -5485,28 +5485,80 @@ var Il = e.forwardRef(({ className: t, type: n, ...r }, i) => /* @__PURE__ */ e.
|
|
|
5485
5485
|
}));
|
|
5486
5486
|
Il.displayName = "Input";
|
|
5487
5487
|
//#endregion
|
|
5488
|
-
//#region src/
|
|
5489
|
-
var Ll =
|
|
5488
|
+
//#region src/saga/createSentinelSagaMonitor.ts
|
|
5489
|
+
var Ll = 100, Rl = () => {
|
|
5490
|
+
let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Set(), n = () => t.forEach((e) => e()), r = () => {
|
|
5491
|
+
e.size > Ll && e.delete(e.keys().next().value);
|
|
5492
|
+
};
|
|
5493
|
+
return {
|
|
5494
|
+
effectTriggered({ effectId: t, parentEffectId: i, effect: a }) {
|
|
5495
|
+
let o = a;
|
|
5496
|
+
o?.type === "CALL" && (e.set(t, {
|
|
5497
|
+
id: t,
|
|
5498
|
+
parentId: i,
|
|
5499
|
+
fnName: o.payload?.fn?.name || "anonymous",
|
|
5500
|
+
args: o.payload?.args ?? [],
|
|
5501
|
+
status: "pending",
|
|
5502
|
+
startedAt: Date.now()
|
|
5503
|
+
}), r(), n());
|
|
5504
|
+
},
|
|
5505
|
+
effectResolved(t, r) {
|
|
5506
|
+
let i = e.get(t);
|
|
5507
|
+
i && (e.set(t, {
|
|
5508
|
+
...i,
|
|
5509
|
+
status: "resolved",
|
|
5510
|
+
result: r,
|
|
5511
|
+
duration: Date.now() - i.startedAt
|
|
5512
|
+
}), n());
|
|
5513
|
+
},
|
|
5514
|
+
effectRejected(t, r) {
|
|
5515
|
+
let i = e.get(t);
|
|
5516
|
+
i && (e.set(t, {
|
|
5517
|
+
...i,
|
|
5518
|
+
status: "rejected",
|
|
5519
|
+
error: r,
|
|
5520
|
+
duration: Date.now() - i.startedAt
|
|
5521
|
+
}), n());
|
|
5522
|
+
},
|
|
5523
|
+
effectCancelled(t) {
|
|
5524
|
+
let r = e.get(t);
|
|
5525
|
+
r && (e.set(t, {
|
|
5526
|
+
...r,
|
|
5527
|
+
status: "cancelled",
|
|
5528
|
+
duration: Date.now() - r.startedAt
|
|
5529
|
+
}), n());
|
|
5530
|
+
},
|
|
5531
|
+
_subscribe(e) {
|
|
5532
|
+
return t.add(e), () => t.delete(e);
|
|
5533
|
+
},
|
|
5534
|
+
_getEffects() {
|
|
5535
|
+
return Array.from(e.values()).reverse();
|
|
5536
|
+
},
|
|
5537
|
+
_clear() {
|
|
5538
|
+
e.clear(), n();
|
|
5539
|
+
}
|
|
5540
|
+
};
|
|
5541
|
+
}, zl = (e, t) => {
|
|
5490
5542
|
if (!t) return e;
|
|
5491
5543
|
let n = t.toLowerCase();
|
|
5492
5544
|
if (typeof e != "object" || !e) return String(e).toLowerCase().includes(n) ? e : void 0;
|
|
5493
5545
|
if (Array.isArray(e)) {
|
|
5494
|
-
let n = e.map((e) =>
|
|
5546
|
+
let n = e.map((e) => zl(e, t)).filter((e) => e !== void 0);
|
|
5495
5547
|
return n.length > 0 ? n : void 0;
|
|
5496
5548
|
}
|
|
5497
5549
|
let r = {};
|
|
5498
5550
|
for (let [i, a] of Object.entries(e)) if (i.toLowerCase().includes(n)) r[i] = a;
|
|
5499
5551
|
else {
|
|
5500
|
-
let e =
|
|
5552
|
+
let e = zl(a, t);
|
|
5501
5553
|
e !== void 0 && (r[i] = e);
|
|
5502
5554
|
}
|
|
5503
5555
|
return Object.keys(r).length > 0 ? r : void 0;
|
|
5504
|
-
},
|
|
5556
|
+
}, Bl = ({ store: e }) => {
|
|
5505
5557
|
let [n, r] = t.useState(e?.getState()), [i, a] = t.useState(""), [o, s] = t.useState(!1);
|
|
5506
5558
|
if (t.useEffect(() => {
|
|
5507
5559
|
if (e) return r(e.getState()), e.subscribe(() => r(e.getState()));
|
|
5508
5560
|
}, [e]), !e) return /* @__PURE__ */ t.createElement("div", { className: "py-6 text-center text-sm text-muted-foreground" }, "No store connected.", /* @__PURE__ */ t.createElement("span", { className: "block mt-1 text-xs font-mono" }, "<SentinelProvider store={store}>"));
|
|
5509
|
-
let c =
|
|
5561
|
+
let c = zl(n, i), l = ({ collapseDepth: e }) => c === void 0 ? /* @__PURE__ */ t.createElement("span", { className: "text-muted-foreground italic" }, "No results for \"", i, "\"") : /* @__PURE__ */ t.createElement(ga, {
|
|
5510
5562
|
value: c,
|
|
5511
5563
|
collapseFromDepth: e
|
|
5512
5564
|
});
|
|
@@ -5528,22 +5580,77 @@ var Ll = (e, t) => {
|
|
|
5528
5580
|
onChange: (e) => a(e.target.value),
|
|
5529
5581
|
className: "h-8 text-sm shrink-0"
|
|
5530
5582
|
}), /* @__PURE__ */ t.createElement("div", { className: "overflow-y-auto min-h-0 flex-1" }, /* @__PURE__ */ t.createElement("div", { className: "bg-primary text-primary-foreground p-4! rounded-md font-mono text-xs leading-5 overflow-x-hidden" }, /* @__PURE__ */ t.createElement(l, { collapseDepth: 2 }))))));
|
|
5531
|
-
},
|
|
5532
|
-
|
|
5533
|
-
|
|
5583
|
+
}, Vl = {
|
|
5584
|
+
pending: "⏳",
|
|
5585
|
+
resolved: "✓",
|
|
5586
|
+
rejected: "✗",
|
|
5587
|
+
cancelled: "⊘"
|
|
5588
|
+
}, Hl = {
|
|
5589
|
+
pending: "text-amber-400",
|
|
5590
|
+
resolved: "text-emerald-400",
|
|
5591
|
+
rejected: "text-red-400",
|
|
5592
|
+
cancelled: "text-muted-foreground"
|
|
5593
|
+
}, Ul = ({ effects: e, expandedId: n, onToggle: r }) => e.length === 0 ? /* @__PURE__ */ t.createElement("div", { className: "py-4 text-center text-xs text-muted-foreground" }, "No calls captured yet.") : /* @__PURE__ */ t.createElement("div", { className: "space-y-0.5" }, e.map((e) => /* @__PURE__ */ t.createElement("div", {
|
|
5594
|
+
key: e.id,
|
|
5595
|
+
className: "font-mono text-xs"
|
|
5596
|
+
}, /* @__PURE__ */ t.createElement("button", {
|
|
5597
|
+
className: "w-full flex items-center gap-2 px-2 py-1.5 rounded hover:bg-muted/50 transition-colors text-left",
|
|
5598
|
+
onClick: () => r(e.id)
|
|
5599
|
+
}, /* @__PURE__ */ t.createElement("span", { className: W("shrink-0 w-4 text-center", Hl[e.status]) }, Vl[e.status]), /* @__PURE__ */ t.createElement("span", { className: "flex-1 truncate text-foreground" }, e.fnName), e.duration !== void 0 && /* @__PURE__ */ t.createElement("span", { className: "shrink-0 text-muted-foreground" }, e.duration, "ms")), n === e.id && /* @__PURE__ */ t.createElement("div", { className: "ml-6 mb-1 space-y-1" }, e.args.length > 0 && /* @__PURE__ */ t.createElement("div", { className: "bg-muted p-2 rounded overflow-x-hidden" }, /* @__PURE__ */ t.createElement("div", { className: "text-muted-foreground mb-1" }, "args"), /* @__PURE__ */ t.createElement(ga, {
|
|
5600
|
+
value: e.args,
|
|
5601
|
+
collapseFromDepth: 1
|
|
5602
|
+
})), e.result !== void 0 && /* @__PURE__ */ t.createElement("div", { className: "bg-primary text-primary-foreground p-2 rounded overflow-x-hidden" }, /* @__PURE__ */ t.createElement("div", { className: "text-muted-foreground mb-1" }, "result"), /* @__PURE__ */ t.createElement(ga, {
|
|
5603
|
+
value: e.result,
|
|
5604
|
+
collapseFromDepth: 1
|
|
5605
|
+
})), e.error !== void 0 && /* @__PURE__ */ t.createElement("div", { className: "bg-destructive/10 text-destructive p-2 rounded overflow-x-hidden" }, /* @__PURE__ */ t.createElement("div", { className: "mb-1 font-medium" }, "error"), /* @__PURE__ */ t.createElement(ga, {
|
|
5606
|
+
value: e.error instanceof Error ? e.error.message : e.error,
|
|
5607
|
+
collapseFromDepth: 1
|
|
5608
|
+
})))))), Wl = ({ monitor: e }) => {
|
|
5609
|
+
let [n, r] = t.useState(() => e?._getEffects() ?? []), [i, a] = t.useState(null), [o, s] = t.useState(!1);
|
|
5610
|
+
t.useEffect(() => {
|
|
5611
|
+
if (e) return r(e._getEffects()), e._subscribe(() => r(e._getEffects()));
|
|
5612
|
+
}, [e]);
|
|
5613
|
+
let c = (e) => a((t) => t === e ? null : e);
|
|
5614
|
+
return e ? /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("div", { className: "py-3 space-y-2" }, /* @__PURE__ */ t.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ t.createElement("span", { className: "text-xs text-muted-foreground" }, n.length, " calls"), /* @__PURE__ */ t.createElement("div", { className: "flex items-center gap-3" }, n.length > 0 && /* @__PURE__ */ t.createElement("button", {
|
|
5615
|
+
onClick: () => {
|
|
5616
|
+
e?._clear(), a(null);
|
|
5617
|
+
},
|
|
5618
|
+
className: "text-xs text-muted-foreground hover:text-foreground transition-colors"
|
|
5619
|
+
}, "Clear"), /* @__PURE__ */ t.createElement("button", {
|
|
5620
|
+
onClick: () => s(!0),
|
|
5621
|
+
title: "Expand",
|
|
5622
|
+
className: "text-muted-foreground hover:text-foreground transition-colors"
|
|
5623
|
+
}, /* @__PURE__ */ t.createElement(Aa, { size: 14 })))), /* @__PURE__ */ t.createElement("div", { className: "max-h-60 overflow-y-auto" }, /* @__PURE__ */ t.createElement(Ul, {
|
|
5624
|
+
effects: n,
|
|
5625
|
+
expandedId: i,
|
|
5626
|
+
onToggle: c
|
|
5627
|
+
}))), /* @__PURE__ */ t.createElement(ta, {
|
|
5628
|
+
open: o,
|
|
5629
|
+
onOpenChange: s
|
|
5630
|
+
}, /* @__PURE__ */ t.createElement(ia, { className: "flex flex-col overflow-hidden" }, /* @__PURE__ */ t.createElement(aa, null, /* @__PURE__ */ t.createElement(sa, null, "Saga Calls")), /* @__PURE__ */ t.createElement("div", { className: "overflow-y-auto min-h-0 flex-1" }, /* @__PURE__ */ t.createElement(Ul, {
|
|
5631
|
+
effects: n,
|
|
5632
|
+
expandedId: i,
|
|
5633
|
+
onToggle: c
|
|
5634
|
+
}))))) : /* @__PURE__ */ t.createElement("div", { className: "py-6 text-center text-sm text-muted-foreground" }, "No saga monitor connected.", /* @__PURE__ */ t.createElement("span", { className: "block mt-1 text-xs font-mono" }, "sagaMonitor={sentinelMonitor}"));
|
|
5635
|
+
}, Gl = ({ sagaMonitor: e }) => {
|
|
5636
|
+
let { isActive: n, setIsActive: r, showOutlines: i, setShowOutlines: a, highlightName: o, setHighlightName: s, reduxStore: c } = Ql();
|
|
5637
|
+
return /* @__PURE__ */ t.createElement(vn, null, /* @__PURE__ */ t.createElement("div", { className: "fixed bottom-4 right-4 z-[9999]" }, /* @__PURE__ */ t.createElement(ul, null, /* @__PURE__ */ t.createElement(dl, { className: W("flex h-10 w-10 items-center justify-center rounded-full border shadow-lg transition-all duration-200 outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer", n ? "bg-primary text-primary-foreground border-primary/30" : "bg-background text-muted-foreground border-border hover:text-foreground") }, /* @__PURE__ */ t.createElement(ja, { size: 18 })), /* @__PURE__ */ t.createElement(fl, {
|
|
5534
5638
|
side: "top",
|
|
5535
5639
|
align: "end",
|
|
5536
|
-
className: "w-72
|
|
5640
|
+
className: "w-72"
|
|
5537
5641
|
}, /* @__PURE__ */ t.createElement("div", { className: "flex items-center justify-between py-3!" }, /* @__PURE__ */ t.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ t.createElement(ja, {
|
|
5538
5642
|
size: 14,
|
|
5539
5643
|
className: "text-muted-foreground"
|
|
5540
|
-
}), /* @__PURE__ */ t.createElement("span", { className: "text-sm font-semibold" }, "Sentinel")), /* @__PURE__ */ t.createElement("kbd", { className: "text-sm text-muted-foreground bg-muted px-1.5! py-0.5! rounded font-mono" }, "⌃ ⇧ S")), /* @__PURE__ */ t.createElement(Fl, null), /* @__PURE__ */ t.createElement(pn, { defaultValue: "controls" }, /* @__PURE__ */ t.createElement(mn, { className: "grid w-full grid-cols-
|
|
5644
|
+
}), /* @__PURE__ */ t.createElement("span", { className: "text-sm font-semibold" }, "Sentinel")), /* @__PURE__ */ t.createElement("kbd", { className: "text-sm text-muted-foreground bg-muted px-1.5! py-0.5! rounded font-mono" }, "⌃ ⇧ S")), /* @__PURE__ */ t.createElement(Fl, null), /* @__PURE__ */ t.createElement(pn, { defaultValue: "controls" }, /* @__PURE__ */ t.createElement(mn, { className: "grid w-full grid-cols-3 mx-0 rounded-none border-b bg-transparent h-9 gap-2" }, /* @__PURE__ */ t.createElement(hn, {
|
|
5541
5645
|
value: "controls",
|
|
5542
5646
|
className: "text-xs"
|
|
5543
5647
|
}, "Controls"), /* @__PURE__ */ t.createElement(hn, {
|
|
5544
5648
|
value: "redux",
|
|
5545
5649
|
className: "text-xs"
|
|
5546
|
-
}, "Redux")
|
|
5650
|
+
}, "Redux"), /* @__PURE__ */ t.createElement(hn, {
|
|
5651
|
+
value: "saga",
|
|
5652
|
+
className: "text-xs"
|
|
5653
|
+
}, "Saga")), /* @__PURE__ */ t.createElement(gn, {
|
|
5547
5654
|
value: "controls",
|
|
5548
5655
|
className: "mt-0"
|
|
5549
5656
|
}, /* @__PURE__ */ t.createElement("div", { className: "flex items-center justify-between py-3!" }, /* @__PURE__ */ t.createElement(Ol, {
|
|
@@ -5551,33 +5658,36 @@ var Ll = (e, t) => {
|
|
|
5551
5658
|
className: "cursor-pointer"
|
|
5552
5659
|
}, "Active"), /* @__PURE__ */ t.createElement(wl, {
|
|
5553
5660
|
id: "sentinel-active-switch",
|
|
5554
|
-
checked:
|
|
5555
|
-
onCheckedChange:
|
|
5661
|
+
checked: n,
|
|
5662
|
+
onCheckedChange: r
|
|
5556
5663
|
})), /* @__PURE__ */ t.createElement("div", { className: "flex items-center justify-between pb-3!" }, /* @__PURE__ */ t.createElement(Ol, {
|
|
5557
5664
|
htmlFor: "sentinel-outline-switch",
|
|
5558
|
-
className: W("cursor-pointer", !
|
|
5665
|
+
className: W("cursor-pointer", !n && "opacity-40")
|
|
5559
5666
|
}, "Outline All"), /* @__PURE__ */ t.createElement(wl, {
|
|
5560
5667
|
id: "sentinel-outline-switch",
|
|
5561
|
-
checked:
|
|
5562
|
-
onCheckedChange:
|
|
5563
|
-
disabled: !
|
|
5668
|
+
checked: i,
|
|
5669
|
+
onCheckedChange: a,
|
|
5670
|
+
disabled: !n
|
|
5564
5671
|
})), /* @__PURE__ */ t.createElement(Fl, null), /* @__PURE__ */ t.createElement("div", { className: "py-3! space-y-1.5" }, /* @__PURE__ */ t.createElement(Ol, {
|
|
5565
5672
|
htmlFor: "sentinel-filter-input",
|
|
5566
|
-
className: W("text-xs text-muted-foreground", !
|
|
5673
|
+
className: W("text-xs text-muted-foreground", !n && "opacity-40")
|
|
5567
5674
|
}, "Filter component"), /* @__PURE__ */ t.createElement(Il, {
|
|
5568
5675
|
id: "sentinel-filter-input",
|
|
5569
5676
|
placeholder: "e.g. ProductCard",
|
|
5570
|
-
value:
|
|
5571
|
-
onChange: (e) =>
|
|
5572
|
-
disabled: !
|
|
5677
|
+
value: o,
|
|
5678
|
+
onChange: (e) => s(e.target.value),
|
|
5679
|
+
disabled: !n,
|
|
5573
5680
|
className: "h-8 text-sm"
|
|
5574
5681
|
}))), /* @__PURE__ */ t.createElement(gn, {
|
|
5575
5682
|
value: "redux",
|
|
5576
5683
|
className: "mt-0"
|
|
5577
|
-
}, /* @__PURE__ */ t.createElement(
|
|
5578
|
-
|
|
5684
|
+
}, /* @__PURE__ */ t.createElement(Bl, { store: c })), /* @__PURE__ */ t.createElement(gn, {
|
|
5685
|
+
value: "saga",
|
|
5686
|
+
className: "mt-0"
|
|
5687
|
+
}, /* @__PURE__ */ t.createElement(Wl, { monitor: e })))))));
|
|
5688
|
+
}, Kl = ({ children: e, active: n = !0 }) => {
|
|
5579
5689
|
if (!n) return /* @__PURE__ */ t.createElement(t.Fragment, null, e);
|
|
5580
|
-
let { activeRect: r } =
|
|
5690
|
+
let { activeRect: r } = Ql(), i = r ? r.left + r.width / 2 : 0, a = r ? r.top + r.height / 2 : 0;
|
|
5581
5691
|
return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(vn, null, r && /* @__PURE__ */ t.createElement("div", {
|
|
5582
5692
|
className: "pointer-events-none fixed inset-0 z-[999] transition-all duration-500 ease-[cubic-bezier(0.16,1,0.3,1)]",
|
|
5583
5693
|
style: {
|
|
@@ -5594,22 +5704,22 @@ var Ll = (e, t) => {
|
|
|
5594
5704
|
WebkitBackdropFilter: "blur(8px) saturate(140%) contrast(105%)"
|
|
5595
5705
|
}
|
|
5596
5706
|
}), e));
|
|
5597
|
-
},
|
|
5598
|
-
let [
|
|
5707
|
+
}, ql = n(void 0), Jl = n(void 0), Yl = ({ children: e, store: n, sagaMonitor: r }) => {
|
|
5708
|
+
let [i, o] = d(null), [c, u] = d(null), [f, p] = d(null), [m, h] = d({}), [g, _] = d(!1), [v, y] = d(!1), [b, x] = d("");
|
|
5599
5709
|
s(() => {
|
|
5600
|
-
|
|
5601
|
-
}, [
|
|
5710
|
+
g || (o(null), u(null), p(null), h({}));
|
|
5711
|
+
}, [g]), s(() => {
|
|
5602
5712
|
let e = (e) => {
|
|
5603
|
-
e.ctrlKey && e.shiftKey && e.key === "S" &&
|
|
5713
|
+
e.ctrlKey && e.shiftKey && e.key === "S" && _((e) => !e);
|
|
5604
5714
|
};
|
|
5605
5715
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
5606
5716
|
}, []);
|
|
5607
|
-
let
|
|
5608
|
-
|
|
5609
|
-
}, []),
|
|
5610
|
-
|
|
5611
|
-
}, []),
|
|
5612
|
-
|
|
5717
|
+
let S = a((e, t) => {
|
|
5718
|
+
o(e), u(t);
|
|
5719
|
+
}, []), C = a((e) => {
|
|
5720
|
+
o((t) => t === e ? (u(null), null) : t);
|
|
5721
|
+
}, []), w = a((e, t, n, r, i, a, o) => {
|
|
5722
|
+
p(e), h({
|
|
5613
5723
|
componentName: t,
|
|
5614
5724
|
sourceFile: i,
|
|
5615
5725
|
renderCount: a,
|
|
@@ -5617,42 +5727,42 @@ var Ll = (e, t) => {
|
|
|
5617
5727
|
md: n,
|
|
5618
5728
|
componentProps: r
|
|
5619
5729
|
});
|
|
5620
|
-
}, []),
|
|
5621
|
-
|
|
5622
|
-
}, []),
|
|
5623
|
-
activeId:
|
|
5624
|
-
activeRect:
|
|
5625
|
-
isActive:
|
|
5626
|
-
setIsActive:
|
|
5627
|
-
showOutlines:
|
|
5628
|
-
setShowOutlines:
|
|
5629
|
-
highlightName:
|
|
5630
|
-
setHighlightName:
|
|
5730
|
+
}, []), T = a(() => {
|
|
5731
|
+
p(null), h({});
|
|
5732
|
+
}, []), E = l(() => ({
|
|
5733
|
+
activeId: i,
|
|
5734
|
+
activeRect: c,
|
|
5735
|
+
isActive: g,
|
|
5736
|
+
setIsActive: _,
|
|
5737
|
+
showOutlines: v,
|
|
5738
|
+
setShowOutlines: y,
|
|
5739
|
+
highlightName: b,
|
|
5740
|
+
setHighlightName: x,
|
|
5631
5741
|
reduxStore: n,
|
|
5632
|
-
registerHover:
|
|
5633
|
-
unregisterHover:
|
|
5634
|
-
openDialog:
|
|
5742
|
+
registerHover: S,
|
|
5743
|
+
unregisterHover: C,
|
|
5744
|
+
openDialog: w
|
|
5635
5745
|
}), [
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5746
|
+
i,
|
|
5747
|
+
c,
|
|
5748
|
+
g,
|
|
5749
|
+
v,
|
|
5750
|
+
b,
|
|
5641
5751
|
n,
|
|
5642
|
-
x,
|
|
5643
5752
|
S,
|
|
5644
|
-
C
|
|
5645
|
-
]), E = l(() => ({
|
|
5646
|
-
openDialogId: u,
|
|
5647
|
-
dialogMeta: p,
|
|
5648
|
-
closeDialog: w
|
|
5649
|
-
}), [
|
|
5650
|
-
u,
|
|
5651
|
-
p,
|
|
5753
|
+
C,
|
|
5652
5754
|
w
|
|
5755
|
+
]), ee = l(() => ({
|
|
5756
|
+
openDialogId: f,
|
|
5757
|
+
dialogMeta: m,
|
|
5758
|
+
closeDialog: T
|
|
5759
|
+
}), [
|
|
5760
|
+
f,
|
|
5761
|
+
m,
|
|
5762
|
+
T
|
|
5653
5763
|
]);
|
|
5654
|
-
return /* @__PURE__ */ t.createElement(
|
|
5655
|
-
},
|
|
5764
|
+
return /* @__PURE__ */ t.createElement(ql.Provider, { value: E }, /* @__PURE__ */ t.createElement(Jl.Provider, { value: ee }, e, /* @__PURE__ */ t.createElement(Kl, { active: g }, /* @__PURE__ */ t.createElement(ya, null)), /* @__PURE__ */ t.createElement(Gl, { sagaMonitor: r })));
|
|
5765
|
+
}, Xl = {
|
|
5656
5766
|
activeId: null,
|
|
5657
5767
|
activeRect: null,
|
|
5658
5768
|
isActive: !1,
|
|
@@ -5665,12 +5775,12 @@ var Ll = (e, t) => {
|
|
|
5665
5775
|
registerHover: () => {},
|
|
5666
5776
|
unregisterHover: () => {},
|
|
5667
5777
|
openDialog: () => {}
|
|
5668
|
-
},
|
|
5778
|
+
}, Zl = {
|
|
5669
5779
|
openDialogId: null,
|
|
5670
5780
|
dialogMeta: {},
|
|
5671
5781
|
closeDialog: () => {}
|
|
5672
|
-
},
|
|
5673
|
-
let e =
|
|
5782
|
+
}, Ql = () => o(ql) ?? Xl, $l = () => o(Jl) ?? Zl, eu = () => {
|
|
5783
|
+
let e = Ql(), t = $l();
|
|
5674
5784
|
return {
|
|
5675
5785
|
...e,
|
|
5676
5786
|
...t
|
|
@@ -5678,7 +5788,7 @@ var Ll = (e, t) => {
|
|
|
5678
5788
|
};
|
|
5679
5789
|
//#endregion
|
|
5680
5790
|
//#region src/utils/safeSerialize.ts
|
|
5681
|
-
function
|
|
5791
|
+
function tu(e, t = 0, n = /* @__PURE__ */ new WeakSet()) {
|
|
5682
5792
|
if (t > 6) return "[Max Depth]";
|
|
5683
5793
|
if (e === null) return null;
|
|
5684
5794
|
if (typeof e == "function") return "[Function]";
|
|
@@ -5686,15 +5796,15 @@ function Yl(e, t = 0, n = /* @__PURE__ */ new WeakSet()) {
|
|
|
5686
5796
|
if (n.has(e)) return "[Circular]";
|
|
5687
5797
|
if (n.add(e), "$$typeof" in e) return "[React Element]";
|
|
5688
5798
|
if ("_context" in e || "Provider" in e && "Consumer" in e) return "[React Context]";
|
|
5689
|
-
if (Array.isArray(e)) return e.map((e) =>
|
|
5799
|
+
if (Array.isArray(e)) return e.map((e) => tu(e, t + 1, n));
|
|
5690
5800
|
let r = {};
|
|
5691
|
-
for (let [i, a] of Object.entries(e)) i.startsWith("__react") || i.startsWith("_react") || i === "_owner" || (r[i] =
|
|
5801
|
+
for (let [i, a] of Object.entries(e)) i.startsWith("__react") || i.startsWith("_react") || i === "_owner" || (r[i] = tu(a, t + 1, n));
|
|
5692
5802
|
return r;
|
|
5693
5803
|
}
|
|
5694
5804
|
//#endregion
|
|
5695
5805
|
//#region src/react/Sentinel.tsx
|
|
5696
|
-
var
|
|
5697
|
-
let s = k(), { activeId: c, isActive: l, showOutlines: d, highlightName: f, registerHover: p, unregisterHover: m, openDialog: h } =
|
|
5806
|
+
var nu = ({ children: e, componentName: n, sourceFile: r, renderCount: i, dialogMd: a, componentProps: o }) => {
|
|
5807
|
+
let s = k(), { activeId: c, isActive: l, showOutlines: d, highlightName: f, registerHover: p, unregisterHover: m, openDialog: h } = Ql(), g = u([]), _ = u(""), v = o ? tu(o) : void 0, y = v ? JSON.stringify(v) : "";
|
|
5698
5808
|
v && y !== _.current && (_.current = y, g.current = [v, ...g.current].slice(0, 6));
|
|
5699
5809
|
let b = l && c === s, x = l && !!f && !!n && n.toLowerCase().includes(f.toLowerCase());
|
|
5700
5810
|
return /* @__PURE__ */ t.createElement("div", {
|
|
@@ -5719,4 +5829,4 @@ var Xl = ({ children: e, componentName: n, sourceFile: r, renderCount: i, dialog
|
|
|
5719
5829
|
}, e));
|
|
5720
5830
|
};
|
|
5721
5831
|
//#endregion
|
|
5722
|
-
export {
|
|
5832
|
+
export { nu as Sentinel, Yl as SentinelProvider, Rl as createSentinelSagaMonitor, eu as useSentinel, $l as useSentinelDialog, Ql as useSentinelInteraction };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export { Sentinel } from './Sentinel';
|
|
2
2
|
export { SentinelProvider } from './provider';
|
|
3
3
|
export { useSentinel, useSentinelInteraction, useSentinelDialog } from './provider';
|
|
4
|
+
export { createSentinelSagaMonitor } from '../saga/createSentinelSagaMonitor';
|
|
5
|
+
export type { SentinelSagaMonitor, EffectRecord, EffectStatus } from '../saga/createSentinelSagaMonitor';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
import { SentinelSagaMonitor } from '../saga/createSentinelSagaMonitor';
|
|
2
3
|
type DialogMeta = {
|
|
3
4
|
componentName?: string;
|
|
4
5
|
sourceFile?: string;
|
|
@@ -30,9 +31,10 @@ type SentinelDialogContextType = {
|
|
|
30
31
|
dialogMeta: DialogMeta;
|
|
31
32
|
closeDialog: () => void;
|
|
32
33
|
};
|
|
33
|
-
export declare const SentinelProvider: ({ children, store: reduxStore, }: {
|
|
34
|
+
export declare const SentinelProvider: ({ children, store: reduxStore, sagaMonitor, }: {
|
|
34
35
|
children: React.ReactNode;
|
|
35
36
|
store?: ReduxStore;
|
|
37
|
+
sagaMonitor?: SentinelSagaMonitor;
|
|
36
38
|
}) => React.JSX.Element;
|
|
37
39
|
export declare const useSentinelInteraction: () => SentinelInteractionContextType;
|
|
38
40
|
export declare const useSentinelDialog: () => SentinelDialogContextType;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type EffectStatus = "pending" | "resolved" | "rejected" | "cancelled";
|
|
2
|
+
export type EffectRecord = {
|
|
3
|
+
id: number;
|
|
4
|
+
parentId: number;
|
|
5
|
+
fnName: string;
|
|
6
|
+
args: unknown[];
|
|
7
|
+
status: EffectStatus;
|
|
8
|
+
result?: unknown;
|
|
9
|
+
error?: unknown;
|
|
10
|
+
startedAt: number;
|
|
11
|
+
duration?: number;
|
|
12
|
+
};
|
|
13
|
+
export type SentinelSagaMonitor = {
|
|
14
|
+
effectTriggered(options: {
|
|
15
|
+
effectId: number;
|
|
16
|
+
parentEffectId: number;
|
|
17
|
+
label: string;
|
|
18
|
+
effect: unknown;
|
|
19
|
+
}): void;
|
|
20
|
+
effectResolved(effectId: number, result: unknown): void;
|
|
21
|
+
effectRejected(effectId: number, error: unknown): void;
|
|
22
|
+
effectCancelled(effectId: number): void;
|
|
23
|
+
_subscribe(listener: () => void): () => void;
|
|
24
|
+
_getEffects(): EffectRecord[];
|
|
25
|
+
_clear(): void;
|
|
26
|
+
};
|
|
27
|
+
export declare const createSentinelSagaMonitor: () => SentinelSagaMonitor;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
2
|
+
import { SentinelSagaMonitor } from '../../saga/createSentinelSagaMonitor';
|
|
3
|
+
export declare const SentinelToolbar: ({ sagaMonitor }: {
|
|
4
|
+
sagaMonitor?: SentinelSagaMonitor;
|
|
5
|
+
}) => React.JSX.Element;
|