@cognicatch/react 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cognicatch-react.css +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +159 -140
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-500:oklch(62.7% .265 303.9);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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;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{.fixed{position:fixed}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-\[99999\]{z-index:99999}.z-\[999999\]{z-index:999999}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-16{height:calc(var(--spacing)*16)}.h-full{height:100%}.min-h-\[70vh\]{min-height:70vh}.min-h-\[100px\]{min-height:100px}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/60{border-color:color-mix(in oklab,var(--color-amber-200)60%,transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-200\/50{border-color:#e4e4e780}@supports (color:color-mix(in lab,red,red)){.border-zinc-200\/50{border-color:color-mix(in oklab,var(--color-zinc-200)50%,transparent)}}.border-zinc-300{border-color:var(--color-zinc-300)}.border-zinc-400\/30{border-color:#9f9fa94d}@supports (color:color-mix(in lab,red,red)){.border-zinc-400\/30{border-color:color-mix(in oklab,var(--color-zinc-400)30%,transparent)}}.border-t-zinc-900{border-top-color:var(--color-zinc-900)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-50\/50{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-50\/50{background-color:color-mix(in oklab,var(--color-zinc-50)50%,transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\/20{background-color:#18181b33}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\/20{background-color:color-mix(in oklab,var(--color-zinc-900)20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-indigo-500\/20{--tw-gradient-from:#625fff33}@supports (color:color-mix(in lab,red,red)){.from-indigo-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.from-indigo-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500\/20{--tw-gradient-to:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.to-purple-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.to-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-8{padding-top:calc(var(--spacing)*8)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.text-center{text-align:center}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-700{color:var(--color-emerald-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-900{color:var(--color-zinc-900)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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-indigo-500\/20{--tw-shadow-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.shadow-indigo-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.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-500{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-amber-200:hover{background-color:var(--color-amber-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:bg-zinc-300:hover{background-color:var(--color-zinc-300)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.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-indigo-500\/50:focus{--tw-ring-color:#625fff80}@supports (color:color-mix(in lab,red,red)){.focus\:ring-indigo-500\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-indigo-500)50%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}@media(min-width:40rem){.sm\:top-1\/2{top:50%}.sm\:bottom-auto{bottom:auto}.sm\:left-1\/2{left:50%}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-none{max-width:none}.sm\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:rounded-2xl{border-radius:var(--radius-2xl)}.sm\:border{border-style:var(--tw-border-style);border-width:1px}}.dark\:border-amber-800\/50:where(.dark,.dark *){border-color:#953d0080}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-800\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-amber-800)50%,transparent)}}.dark\:border-amber-900\/40:where(.dark,.dark *){border-color:#7b330666}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-900\/40:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-amber-900)40%,transparent)}}.dark\:border-red-500\/20:where(.dark,.dark *){border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark\:border-red-500\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.dark\:border-zinc-500\/30:where(.dark,.dark *){border-color:#71717b4d}@supports (color:color-mix(in lab,red,red)){.dark\:border-zinc-500\/30:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-zinc-500)30%,transparent)}}.dark\:border-zinc-700:where(.dark,.dark *){border-color:var(--color-zinc-700)}.dark\:border-zinc-800:where(.dark,.dark *){border-color:var(--color-zinc-800)}.dark\:border-zinc-800\/50:where(.dark,.dark *){border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\:border-zinc-800\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\:border-t-zinc-100:where(.dark,.dark *){border-top-color:var(--color-zinc-100)}.dark\:bg-amber-500\/10:where(.dark,.dark *){background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.dark\:bg-amber-950\/20:where(.dark,.dark *){background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-950)20%,transparent)}}.dark\:bg-amber-950\/50:where(.dark,.dark *){background-color:#46190180}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-950)50%,transparent)}}.dark\:bg-black\/80:where(.dark,.dark *){background-color:#000c}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/80:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.dark\:bg-emerald-500\/10:where(.dark,.dark *){background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.dark\:bg-red-500\/10:where(.dark,.dark *){background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-zinc-100:where(.dark,.dark *){background-color:var(--color-zinc-100)}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:bg-zinc-900\/20:where(.dark,.dark *){background-color:#18181b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-zinc-900)20%,transparent)}}.dark\:bg-zinc-900\/50:where(.dark,.dark *){background-color:#18181b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-zinc-900)50%,transparent)}}.dark\:bg-zinc-950:where(.dark,.dark *){background-color:var(--color-zinc-950)}.dark\:bg-zinc-950\/80:where(.dark,.dark *){background-color:#09090bcc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-950\/80:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-zinc-950)80%,transparent)}}.dark\:text-amber-100:where(.dark,.dark *){color:var(--color-amber-100)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-red-500:where(.dark,.dark *){color:var(--color-red-500)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-zinc-50:where(.dark,.dark *){color:var(--color-zinc-50)}.dark\:text-zinc-100:where(.dark,.dark *){color:var(--color-zinc-100)}.dark\:text-zinc-300:where(.dark,.dark *){color:var(--color-zinc-300)}.dark\:text-zinc-400:where(.dark,.dark *){color:var(--color-zinc-400)}.dark\:text-zinc-900:where(.dark,.dark *){color:var(--color-zinc-900)}.dark\:shadow-2xl:where(.dark,.dark *){--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.dark\:hover\:border-zinc-800:where(.dark,.dark *):hover{border-color:var(--color-zinc-800)}.dark\:hover\:bg-white:where(.dark,.dark *):hover{background-color:var(--color-white)}.dark\:hover\:bg-zinc-700:where(.dark,.dark *):hover{background-color:var(--color-zinc-700)}.dark\:hover\:bg-zinc-900:where(.dark,.dark *):hover{background-color:var(--color-zinc-900)}.dark\:hover\:text-zinc-200:where(.dark,.dark *):hover{color:var(--color-zinc-200)}}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes overlayHide{0%{opacity:1}to{opacity:0}}@keyframes contentShowDesktop{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contentHideDesktop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes contentShowMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes contentHideMobile{0%{transform:translateY(0)}to{transform:translateY(100%)}}.radix-overlay[data-state=open]{animation:.4s cubic-bezier(.16,1,.3,1) overlayShow}.radix-overlay[data-state=closed]{animation:.3s cubic-bezier(.16,1,.3,1) overlayHide}.radix-content[data-state=open]{animation:.4s cubic-bezier(.16,1,.3,1) contentShowMobile}.radix-content[data-state=closed]{animation:.3s cubic-bezier(.16,1,.3,1) contentHideMobile}@media(min-width:640px){.radix-content[data-state=open]{animation:.5s cubic-bezier(.16,1,.3,1) contentShowDesktop}.radix-content[data-state=closed]{animation:.4s cubic-bezier(.16,1,.3,1) contentHideDesktop}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@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-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-500:oklch(62.7% .265 303.9);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--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-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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;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-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.z-\[99999\]{z-index:99999}.z-\[999999\]{z-index:999999}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-16{height:calc(var(--spacing)*16)}.h-full{height:100%}.min-h-\[70vh\]{min-height:70vh}.min-h-\[100px\]{min-height:100px}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/60{border-color:color-mix(in oklab,var(--color-amber-200)60%,transparent)}}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-200\/50{border-color:#e4e4e780}@supports (color:color-mix(in lab,red,red)){.border-zinc-200\/50{border-color:color-mix(in oklab,var(--color-zinc-200)50%,transparent)}}.border-zinc-300{border-color:var(--color-zinc-300)}.border-zinc-400\/30{border-color:#9f9fa94d}@supports (color:color-mix(in lab,red,red)){.border-zinc-400\/30{border-color:color-mix(in oklab,var(--color-zinc-400)30%,transparent)}}.border-t-zinc-900{border-top-color:var(--color-zinc-900)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-50\/50{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-50\/50{background-color:color-mix(in oklab,var(--color-zinc-50)50%,transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\/20{background-color:#18181b33}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\/20{background-color:color-mix(in oklab,var(--color-zinc-900)20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-indigo-500\/20{--tw-gradient-from:#625fff33}@supports (color:color-mix(in lab,red,red)){.from-indigo-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-500)20%,transparent)}}.from-indigo-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500\/20{--tw-gradient-to:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.to-purple-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.to-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-8{padding-top:calc(var(--spacing)*8)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.text-center{text-align:center}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--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-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-amber-900{color:var(--color-amber-900)}.text-blue-500{color:var(--color-blue-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-700{color:var(--color-emerald-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-900{color:var(--color-zinc-900)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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-indigo-500\/20{--tw-shadow-color:#625fff33}@supports (color:color-mix(in lab,red,red)){.shadow-indigo-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.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-500{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-amber-200:hover{background-color:var(--color-amber-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:bg-zinc-300:hover{background-color:var(--color-zinc-300)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.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-indigo-500\/50:focus{--tw-ring-color:#625fff80}@supports (color:color-mix(in lab,red,red)){.focus\:ring-indigo-500\/50:focus{--tw-ring-color:color-mix(in oklab,var(--color-indigo-500)50%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}@media(min-width:48rem){.md\:hidden{display:none}.md\:max-w-md{max-width:var(--container-md)}.md\:max-w-none{max-width:none}.md\:items-center{align-items:center}.md\:rounded-2xl{border-radius:var(--radius-2xl)}.md\:border{border-style:var(--tw-border-style);border-width:1px}.md\:border-zinc-200{border-color:var(--color-zinc-200)}.md\:p-4{padding:calc(var(--spacing)*4)}}.dark\:border-amber-800\/50:where(.dark,.dark *){border-color:#953d0080}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-800\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-amber-800)50%,transparent)}}.dark\:border-amber-900\/40:where(.dark,.dark *){border-color:#7b330666}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-900\/40:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-amber-900)40%,transparent)}}.dark\:border-red-500\/20:where(.dark,.dark *){border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.dark\:border-red-500\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.dark\:border-zinc-500\/30:where(.dark,.dark *){border-color:#71717b4d}@supports (color:color-mix(in lab,red,red)){.dark\:border-zinc-500\/30:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-zinc-500)30%,transparent)}}.dark\:border-zinc-700:where(.dark,.dark *){border-color:var(--color-zinc-700)}.dark\:border-zinc-800:where(.dark,.dark *){border-color:var(--color-zinc-800)}.dark\:border-zinc-800\/50:where(.dark,.dark *){border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.dark\:border-zinc-800\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-zinc-800)50%,transparent)}}.dark\:border-t-zinc-100:where(.dark,.dark *){border-top-color:var(--color-zinc-100)}.dark\:bg-amber-500\/10:where(.dark,.dark *){background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.dark\:bg-amber-950\/20:where(.dark,.dark *){background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-950)20%,transparent)}}.dark\:bg-amber-950\/50:where(.dark,.dark *){background-color:#46190180}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-amber-950)50%,transparent)}}.dark\:bg-black\/80:where(.dark,.dark *){background-color:#000c}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/80:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.dark\:bg-emerald-500\/10:where(.dark,.dark *){background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}}.dark\:bg-red-500\/10:where(.dark,.dark *){background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-500\/10:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-zinc-100:where(.dark,.dark *){background-color:var(--color-zinc-100)}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:bg-zinc-900\/20:where(.dark,.dark *){background-color:#18181b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-zinc-900)20%,transparent)}}.dark\:bg-zinc-900\/50:where(.dark,.dark *){background-color:#18181b80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-zinc-900)50%,transparent)}}.dark\:bg-zinc-950:where(.dark,.dark *){background-color:var(--color-zinc-950)}.dark\:bg-zinc-950\/80:where(.dark,.dark *){background-color:#09090bcc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-950\/80:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-zinc-950)80%,transparent)}}.dark\:text-amber-100:where(.dark,.dark *){color:var(--color-amber-100)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-red-500:where(.dark,.dark *){color:var(--color-red-500)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-zinc-50:where(.dark,.dark *){color:var(--color-zinc-50)}.dark\:text-zinc-100:where(.dark,.dark *){color:var(--color-zinc-100)}.dark\:text-zinc-300:where(.dark,.dark *){color:var(--color-zinc-300)}.dark\:text-zinc-400:where(.dark,.dark *){color:var(--color-zinc-400)}.dark\:text-zinc-900:where(.dark,.dark *){color:var(--color-zinc-900)}.dark\:shadow-2xl:where(.dark,.dark *){--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.dark\:hover\:border-zinc-800:where(.dark,.dark *):hover{border-color:var(--color-zinc-800)}.dark\:hover\:bg-white:where(.dark,.dark *):hover{background-color:var(--color-white)}.dark\:hover\:bg-zinc-700:where(.dark,.dark *):hover{background-color:var(--color-zinc-700)}.dark\:hover\:bg-zinc-900:where(.dark,.dark *):hover{background-color:var(--color-zinc-900)}.dark\:hover\:text-zinc-200:where(.dark,.dark *):hover{color:var(--color-zinc-200)}}@media(min-width:48rem){.md\:dark\:border-zinc-800:where(.dark,.dark *){border-color:var(--color-zinc-800)}}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes overlayShow{0%{opacity:0}to{opacity:1}}@keyframes overlayHide{0%{opacity:1}to{opacity:0}}@keyframes contentShowDesktop{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contentHideDesktop{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes contentShowMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes contentHideMobile{0%{transform:translateY(0)}to{transform:translateY(100%)}}.radix-overlay[data-state=open]{animation:.4s cubic-bezier(.16,1,.3,1) overlayShow}.radix-overlay[data-state=closed]{animation:.3s cubic-bezier(.16,1,.3,1) overlayHide}.radix-content[data-state=open]{animation:.4s cubic-bezier(.16,1,.3,1) contentShowMobile}.radix-content[data-state=closed]{animation:.3s cubic-bezier(.16,1,.3,1) contentHideMobile}@media(min-width:640px){.radix-content[data-state=open]{animation:.5s cubic-bezier(.16,1,.3,1) contentShowDesktop}.radix-content[data-state=closed]{animation:.4s cubic-bezier(.16,1,.3,1) contentHideDesktop}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),g=require("react"),
|
|
2
|
-
`)[1]??"";a=/at (\w+)/.exec(o)?.[1]}return{message:w(t.message,500),httpStatus:t.httpStatus,errorCode:t.errorCode?w(t.errorCode,100):void 0,routePath:r,componentName:a}}function x(...t){return _.twMerge(E.clsx(t))}function z({title:t,description:r,severity:a="medium",primaryAction:o,secondaryAction:s,theme:n,className:i}){const l=a==="high";return e.jsx("div",{role:"alert","aria-live":"polite",className:x("rounded-xl border p-4 transition-all shadow-sm",!n?.backgroundColor&&"bg-amber-50 border-amber-200/60 dark:bg-amber-950/20 dark:border-amber-900/40",n?.fontFamily,i),style:{backgroundColor:n?.backgroundColor,color:n?.textColor,borderColor:n?.primaryColor?`${n.primaryColor}40`:void 0},children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"shrink-0 mt-0.5",children:l?e.jsx(p.AlertCircle,{className:"h-5 w-5 text-red-500"}):e.jsx(p.AlertTriangle,{className:"h-5 w-5 text-amber-500"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-sm font-medium leading-none text-amber-900 dark:text-amber-100",style:{color:n?.textColor},children:t}),e.jsx("p",{className:"mt-2 text-sm leading-relaxed opacity-90",style:{color:n?.textColor},children:r}),(o||s)&&e.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[o&&e.jsx("button",{onClick:o.onClick,style:n?.primaryColor?{backgroundColor:n.primaryColor,color:"#fff"}:{},className:x("text-xs font-medium px-3 py-1.5 rounded-lg transition-all active:scale-95","bg-amber-100 border border-amber-200 text-amber-900 hover:bg-amber-200","dark:bg-amber-950/50 dark:border-amber-800/50 dark:text-amber-100"),children:o.label}),s&&e.jsx("button",{onClick:s.onClick,className:"text-xs font-medium opacity-70 hover:opacity-100 transition-opacity underline-offset-4 hover:underline",style:{color:n?.textColor},children:s.label})]})]})]})})}function A({title:t,description:r,statusUrl:a,showRefresh:o=!0,isOpen:s,onOpenChange:n,theme:i,onPrimaryAction:l,primaryActionLabel:c="Atualizar a página"}){const[h,b]=g.useState(!1);g.useEffect(()=>{b(!0)},[]);const f=i==="dark"||typeof i=="object"&&i?.backgroundColor==="dark",d=typeof i=="object"?i.primaryColor:void 0,y=typeof i=="object"?i.fontFamily:void 0;if(!h)return null;const k=e.jsx(v.Root,{open:s,onOpenChange:n,children:e.jsx(v.Portal,{children:e.jsxs("div",{className:`cognicatch-ui-wrapper ${f?"dark":""} ${y||""}`,children:[e.jsx(v.Overlay,{className:"radix-overlay fixed inset-0 z-[99999] bg-zinc-900/20 dark:bg-black/80 backdrop-blur-sm"}),e.jsxs(v.Content,{onInteractOutside:m=>m.preventDefault(),onEscapeKeyDown:m=>m.preventDefault(),className:x("radix-content fixed z-[999999] flex flex-col items-center text-center shadow-2xl transition-all","bg-white border-zinc-200 dark:bg-zinc-950 dark:border-zinc-800","bottom-0 left-0 right-0 border-t rounded-t-3xl p-8 pb-10","sm:bottom-auto sm:top-1/2 sm:left-1/2 sm:-translate-x-1/2 sm:-translate-y-1/2 sm:w-full sm:max-w-md sm:rounded-2xl sm:border"),style:{boxSizing:"border-box"},children:[e.jsx("div",{className:"mx-auto w-12 h-1.5 rounded-full bg-zinc-200 dark:bg-zinc-800 mb-6 sm:hidden"}),e.jsx("div",{className:"w-16 h-16 rounded-full flex items-center justify-center mb-6 border bg-red-50 border-red-100 dark:bg-red-500/10 dark:border-red-500/20",children:e.jsx(p.AlertOctagon,{className:"w-8 h-8 text-red-600 dark:text-red-500"})}),e.jsx(v.Title,{className:"text-xl font-semibold text-zinc-900 dark:text-zinc-50 mb-3 tracking-tight",children:t}),e.jsx(v.Description,{className:"text-sm leading-relaxed mb-8 max-w-[280px] sm:max-w-none text-zinc-600 dark:text-zinc-400",children:r}),e.jsxs("div",{className:"flex flex-col w-full gap-3",children:[o&&e.jsxs("button",{onClick:()=>l?l():window.location.reload(),style:d?{backgroundColor:d,borderColor:d}:{},className:x("flex items-center justify-center gap-2 w-full py-3 px-4 rounded-xl font-medium transition-all shadow-sm",d?"text-white hover:opacity-90 hover:scale-[1.02] active:scale-95":"bg-zinc-900 text-white hover:bg-zinc-800 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white hover:scale-[1.02] active:scale-95"),children:[e.jsx(p.RefreshCcw,{className:"w-4 h-4"}),c]}),a&&e.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:x("flex items-center justify-center gap-2 w-full py-3 px-4 rounded-xl font-medium transition-colors border border-transparent","text-zinc-500 hover:text-zinc-900 hover:bg-zinc-100 dark:text-zinc-400 dark:hover:text-zinc-200 dark:hover:bg-zinc-900 dark:hover:border-zinc-800"),children:["Check system status",e.jsx(p.ExternalLink,{className:"w-4 h-4 opacity-70"})]})]})]})]})})});return D.createPortal(k,document.body)}function T({customTheme:t,toastOptions:r,position:a="top-right",...o}){return e.jsx(u.Toaster,{position:a,containerAriaLabel:"Notifications",...o,toastOptions:{...r,classNames:{...r?.classNames,toast:x("bg-white/90 border-zinc-200 text-zinc-900 shadow-xl backdrop-blur-md","dark:bg-zinc-950/80 dark:border-zinc-800 dark:text-zinc-50 dark:shadow-2xl",t?.fontFamily,r?.classNames?.toast),title:x("font-medium text-sm text-zinc-900 dark:text-zinc-50",r?.classNames?.title),description:x("mt-0.5 text-xs text-zinc-500 dark:text-zinc-400 line-clamp-2",r?.classNames?.description),actionButton:x("font-medium rounded-lg transition-all px-3 py-1.5 border text-xs","bg-zinc-900 text-white border-transparent hover:scale-[1.02] active:scale-95","dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white",r?.classNames?.actionButton)},style:{borderRadius:t?.borderRadius||"0.75rem",backgroundColor:t?.backgroundColor,color:t?.textColor,fontFamily:t?.fontFamily,...r?.style}}})}function j(t,r,a,o,s="medium"){const n={low:e.jsx(p.Info,{className:"w-5 h-5 text-blue-500"}),medium:e.jsx(p.AlertTriangle,{className:"w-5 h-5 text-amber-500"}),high:e.jsx(p.AlertCircle,{className:"w-5 h-5 text-red-500"})};return u.toast(t,{description:r,icon:n[s],duration:s==="high"?8e3:5e3,action:a?{label:a,onClick:()=>o?.()}:void 0})}const M={success:(t,r)=>u.toast(t,{description:r,icon:e.jsx(p.CheckCircle2,{className:"w-5 h-5 text-emerald-500"})}),error:(t,r)=>u.toast(t,{description:r,icon:e.jsx(p.AlertCircle,{className:"w-5 h-5 text-red-500"})}),warning:(t,r)=>u.toast(t,{description:r,icon:e.jsx(p.AlertTriangle,{className:"w-5 h-5 text-amber-500 dark:text-amber-400"})}),loading:(t,r)=>u.toast.loading(t,{description:r}),custom:(t,r,a)=>{u.toast.custom(o=>e.jsx("div",{className:x("flex gap-3 p-4 shadow-2xl border",a.fontFamily),style:{backgroundColor:a.backgroundColor||"var(--bg-card)",color:a.textColor||"var(--text-card)",borderColor:a.primaryColor||"#e4e4e7",borderRadius:a.borderRadius||"12px"},children:e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"font-semibold text-sm",children:t}),e.jsx("span",{className:"text-xs opacity-70",children:r})]})}))}},C=g.createContext(void 0);function I({apiKey:t,apiUrl:r,language:a,children:o}){const s=g.useCallback(async i=>{const l=i instanceof Error?i:new Error(String(i)),c=u.toast.loading("Analyzing error context...",{description:"Applying AI recovery heuristics..."});if(t==="sk_test_mock"){setTimeout(()=>{u.toast.info("Mock Mode Analysis",{id:c,description:"This is a mocked async recovery because sk_test_mock was used."})},1500);return}try{const h={message:l.message,componentStack:l.stack,url:typeof window<"u"?window.location.href:void 0},b=N(h),f=r||"https://api.cognicatch.dev/v1/analyze-error",d=typeof navigator<"u"?navigator.language:"en-US",y=a||d,k=await fetch(f,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({error:b.message,stack:b.componentName?`Component: ${b.componentName}`:b.errorCode||"Async Error",routePath:b.routePath,language:y})});if(!k.ok)throw new Error("SaaS API Error");const m=await k.json();m&&((m.severity||m.level)==="low"?u.toast.info(m.title,{id:c,description:m.description}):u.toast.error(m.title,{id:c,description:m.description}))}catch(h){console.error("AdaptiveUI API Request failed:",h),u.toast.error("Analysis Failed",{id:c,description:"We couldn't reach the AI servers. Please try again later."})}},[t,r,a]),n=g.useMemo(()=>({apiKey:t,apiUrl:r,language:a,captureAsyncError:s}),[t,r,a,s]);return e.jsx(C.Provider,{value:n,children:o})}function F(){const t=g.useContext(C);if(!t)throw new Error("❌ AdaptiveUI Developer Error: You tried to use the 'useAdaptive' hook outside of an <AdaptiveProvider>. Please wrap the root of your application (e.g., App.tsx or layout.tsx) with <AdaptiveProvider apiKey='YOUR_KEY'>");return t}const L=({onRecover:t,theme:r})=>{const a=r==="dark";return e.jsx("div",{className:`p-6 rounded-xl border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 shadow-sm ${a?"dark":""}`,children:e.jsxs("div",{className:"flex flex-col items-center text-center gap-4",children:[e.jsx("div",{className:"p-3 rounded-full bg-red-50 dark:bg-red-900/20",children:e.jsx("svg",{className:"w-6 h-6 text-red-600 dark:text-red-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-zinc-900 dark:text-zinc-100",children:"Component Unavailable"}),e.jsx("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 mt-1",children:"An unexpected error occurred in the interface."})]}),e.jsx("button",{onClick:t,style:{backgroundColor:r?.primaryColor||void 0},className:"px-4 py-2 text-xs font-medium bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 rounded-lg hover:opacity-90 transition-opacity",children:"Try Reloading"})]})})};class O extends g.Component{static contextType=C;_isMounted=!1;constructor(r){super(r),this.state={hasError:!1,error:null,aiData:null,isProcessingAuto:!1,hasCrashedFallback:!1}}componentDidMount(){this._isMounted=!0}componentWillUnmount(){this._isMounted=!1}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,a){if(this.state.hasCrashedFallback)return;const{mode:o}=this.props;o==="manual"&&this.props.severity==="low"&&j(this.props.title,this.props.description,this.props.actionLabel??void 0,this.handleRecover),o==="auto"&&this._isMounted&&(this.setState({isProcessingAuto:!0}),this.processAutoMode(r,a))}processAutoMode=async(r,a)=>{const o=this.props,s=o.apiKey||this.context?.apiKey,n=o.apiUrl||this.context?.apiUrl,i=typeof navigator<"u"?navigator.language:"en-US",l=o.language||this.context?.language||i;if(!s){console.error("AdaptiveUI: Missing API Key for auto mode. Provide it via props or <AdaptiveProvider>."),this._isMounted&&this.setState({isProcessingAuto:!1});return}if(s==="sk_test_mock"){setTimeout(()=>{this._isMounted&&this.setState({isProcessingAuto:!1,aiData:{severity:"medium",title:"Mock Mode Error",description:"This is a mocked response because sk_test_mock was used.",actionLabel:"Reload Component"}})},1500);return}try{const c={message:r.message,componentStack:a.componentStack||void 0,url:typeof window<"u"?window.location.href:void 0},h=N(c),f=await fetch(n||"https://api.cognicatch.dev/v1/analyze-error",{method:"POST",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"},body:JSON.stringify({error:h.message,stack:h.componentName?`Component: ${h.componentName}`:"No stack",routePath:h.routePath,language:l})});if(!f.ok)throw new Error(`SaaS API returned ${f.status}`);const d=await f.json();d&&this._isMounted&&(d.severity==="low"?(j(d.title,d.description,d.actionLabel??void 0,this.handleRecover),this.setState({isProcessingAuto:!1,aiData:d})):this.setState({isProcessingAuto:!1,aiData:d}))}catch(c){console.error("AdaptiveUI AI Request failed:",c),this._isMounted&&this.setState({isProcessingAuto:!1,aiData:{severity:"medium",title:"Communication Error",description:"We were unable to connect to the analytics servers at this time. Our team has already been notified.",actionLabel:"Reload Component"}})}};handleRecover=()=>{this._isMounted&&this.setState({hasError:!1,error:null,aiData:null,hasCrashedFallback:!1}),this.props.onRecover&&this.props.onRecover()};render(){if(this.state.hasCrashedFallback)return e.jsx(L,{onRecover:this.handleRecover,theme:this.props.theme});if(!this.state.hasError)return this.props.children;const{mode:r,theme:a,className:o}=this.props;if(r==="manual"){const{severity:s,title:n,description:i,actionLabel:l}=this.props;try{if(s==="high")return e.jsx(A,{isOpen:!0,onOpenChange:c=>{c||this.handleRecover()},title:n,description:i,theme:a});if(s==="medium")return e.jsx(z,{title:n,description:i,primaryAction:l?{label:l,onClick:this.handleRecover}:void 0,theme:a,className:o});if(s==="low")return null}catch{return this.setState({hasCrashedFallback:!0}),null}}if(r==="auto"){if(this.state.isProcessingAuto)return e.jsxs("div",{className:"w-full h-full min-h-[100px] rounded-xl border border-zinc-200/50 dark:border-zinc-800/50 bg-zinc-50/50 dark:bg-zinc-900/20 flex flex-col items-center justify-center p-6 animate-pulse",children:[e.jsx("div",{className:"w-5 h-5 border-2 border-zinc-400/30 dark:border-zinc-500/30 border-t-zinc-900 dark:border-t-zinc-100 rounded-full animate-spin mb-3"}),e.jsx("p",{className:"text-xs font-medium text-zinc-500 dark:text-zinc-400",children:"Analyzing error context..."})]});if(this.state.aiData){const{severity:s,title:n,description:i,actionLabel:l}=this.state.aiData;try{if(s==="high")return e.jsx(A,{isOpen:!0,onOpenChange:c=>{c||this.handleRecover()},title:n,description:i,theme:a});if(s==="medium")return e.jsx(z,{title:n,description:i,primaryAction:l?{label:l,onClick:this.handleRecover}:void 0,theme:a,className:o});if(s==="low")return null}catch{return this.setState({hasCrashedFallback:!0}),null}}}return null}}exports.AdaptiveErrorBoundary=O;exports.AdaptiveProvider=I;exports.AdaptiveToastProvider=T;exports.adaptiveToast=M;exports.useAdaptive=F;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),g=require("react"),h=require("lucide-react"),E=require("clsx"),_=require("tailwind-merge"),R=require("@radix-ui/react-dialog"),m=require("sonner");function D(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const o=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(r,a,o.get?o:{enumerable:!0,get:()=>t[a]})}}return r.default=t,Object.freeze(r)}const k=D(R),S=[{name:"email",pattern:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,replacement:"[EMAIL_REDACTED]"},{name:"bearer_token",pattern:/Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,replacement:"Bearer [TOKEN_REDACTED]"},{name:"jwt",pattern:/eyJ[A-Za-z0-9\-_]+\.eyJ[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+/g,replacement:"[JWT_REDACTED]"},{name:"api_key",pattern:/\b(?:sk|pk|key|api|sec)_[a-zA-Z0-9]{20,}\b|\b[A-Za-z0-9]{32,48}\b/g,replacement:"[KEY_REDACTED]"},{name:"phone",pattern:/(?:\+?\d{1,3}[-.\s]?)?\(?\d{2,4}\)?[-.\s]?\d{3,5}[-.\s]?\d{4}\b/g,replacement:"[PHONE_REDACTED]"},{name:"ipv4",pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/g,replacement:"[IP_REDACTED]"},{name:"url_query_params",pattern:/([?&](?:token|key|secret|auth|email|user|access_token|refresh_token|api_key|apikey|password|passwd|pwd)=[^&\s]+)/gi,replacement:"[PARAM_REDACTED]"},{name:"ssn",pattern:/\b\d{3}[-\s]?\d{2}[-\s]?\d{4}\b/g,replacement:"[SSN_REDACTED]"},{name:"credit_card",pattern:/\b(?:\d[ -]?){12,18}\d\b/g,replacement:"[CC_REDACTED]"}];function w(t,r=1e3){if(!t)return"";let a=String(t);return a.length>r&&(a=a.slice(0,r)+"... [TRUNCATED]"),S.reduce((o,{pattern:i,replacement:s})=>o.replace(i,s),a)}function N(t){let r;if(t.url)try{r=new URL(t.url,"http://dummy.com").pathname}catch{r=void 0}let a=t.componentName;if(!a&&t.componentStack){const o=t.componentStack.split(`
|
|
2
|
+
`)[1]??"";a=/at (\w+)/.exec(o)?.[1]}return{message:w(t.message,500),httpStatus:t.httpStatus,errorCode:t.errorCode?w(t.errorCode,100):void 0,routePath:r,componentName:a}}function x(...t){return _.twMerge(E.clsx(t))}function z({title:t,description:r,severity:a="medium",primaryAction:o,secondaryAction:i,theme:s,className:n}){const d=a==="high";return e.jsx("div",{role:"alert","aria-live":"polite",className:x("rounded-xl border p-4 transition-all shadow-sm",!s?.backgroundColor&&"bg-amber-50 border-amber-200/60 dark:bg-amber-950/20 dark:border-amber-900/40",s?.fontFamily,n),style:{backgroundColor:s?.backgroundColor,color:s?.textColor,borderColor:s?.primaryColor?`${s.primaryColor}40`:void 0},children:e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"shrink-0 mt-0.5",children:d?e.jsx(h.AlertCircle,{className:"h-5 w-5 text-red-500"}):e.jsx(h.AlertTriangle,{className:"h-5 w-5 text-amber-500"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-sm font-medium leading-none text-amber-900 dark:text-amber-100",style:{color:s?.textColor},children:t}),e.jsx("p",{className:"mt-2 text-sm leading-relaxed opacity-90",style:{color:s?.textColor},children:r}),(o||i)&&e.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[o&&e.jsx("button",{onClick:o.onClick,style:s?.primaryColor?{backgroundColor:s.primaryColor,color:"#fff"}:{},className:x("text-xs font-medium px-3 py-1.5 rounded-lg transition-all active:scale-95","bg-amber-100 border border-amber-200 text-amber-900 hover:bg-amber-200","dark:bg-amber-950/50 dark:border-amber-800/50 dark:text-amber-100"),children:o.label}),i&&e.jsx("button",{onClick:i.onClick,className:"text-xs font-medium opacity-70 hover:opacity-100 transition-opacity underline-offset-4 hover:underline",style:{color:s?.textColor},children:i.label})]})]})]})})}function j({title:t,description:r,statusUrl:a,showRefresh:o=!0,isOpen:i,onOpenChange:s,theme:n,onPrimaryAction:d,primaryActionLabel:c="Refresh the page"}){const[l,u]=g.useState(!1);g.useEffect(()=>{u(!0)},[]);const f=n==="dark"||typeof n=="object"&&n?.backgroundColor==="dark",p=typeof n=="object"?n.primaryColor:void 0,y=typeof n=="object"?n.fontFamily:void 0;return l?e.jsx(k.Root,{open:i,onOpenChange:s,children:e.jsx(k.Portal,{children:e.jsxs("div",{className:`cognicatch-ui-wrapper ${f?"dark":""} ${y||""}`,children:[e.jsx(k.Overlay,{className:"radix-overlay fixed inset-0 z-[99999] bg-zinc-900/20 dark:bg-black/80 backdrop-blur-sm"}),e.jsx("div",{className:"fixed inset-0 z-[999999] flex items-end md:items-center justify-center pointer-events-none md:p-4",children:e.jsxs(k.Content,{onInteractOutside:v=>v.preventDefault(),onEscapeKeyDown:v=>v.preventDefault(),className:x("pointer-events-auto w-full flex flex-col items-center text-center shadow-2xl transition-all","bg-white dark:bg-zinc-950","rounded-t-3xl border-t border-zinc-200 dark:border-zinc-800 p-8 pb-10","md:max-w-md md:rounded-2xl md:border md:border-zinc-200 md:dark:border-zinc-800"),style:{boxSizing:"border-box"},children:[e.jsx("div",{className:"mx-auto w-12 h-1.5 rounded-full bg-zinc-200 dark:bg-zinc-800 mb-6 md:hidden"}),e.jsx("div",{className:"w-16 h-16 rounded-full flex items-center justify-center mb-6 border bg-red-50 border-red-100 dark:bg-red-500/10 dark:border-red-500/20",children:e.jsx(h.AlertOctagon,{className:"w-8 h-8 text-red-600 dark:text-red-500"})}),e.jsx(k.Title,{className:"text-xl font-semibold text-zinc-900 dark:text-zinc-50 mb-3 tracking-tight",children:t}),e.jsx(k.Description,{className:"text-sm leading-relaxed mb-8 max-w-[280px] md:max-w-none text-zinc-600 dark:text-zinc-400",children:r}),e.jsxs("div",{className:"flex flex-col w-full gap-3",children:[o&&e.jsxs("button",{onClick:()=>d?d():window.location.reload(),style:p?{backgroundColor:p,borderColor:p}:{},className:x("flex items-center justify-center gap-2 w-full py-3 px-4 rounded-xl font-medium transition-all shadow-sm",p?"text-white hover:opacity-90 hover:scale-[1.02] active:scale-95":"bg-zinc-900 text-white hover:bg-zinc-800 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white hover:scale-[1.02] active:scale-95"),children:[e.jsx(h.RefreshCcw,{className:"w-4 h-4"}),c]}),a&&e.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:x("flex items-center justify-center gap-2 w-full py-3 px-4 rounded-xl font-medium transition-colors border border-transparent","text-zinc-500 hover:text-zinc-900 hover:bg-zinc-100 dark:text-zinc-400 dark:hover:text-zinc-200 dark:hover:bg-zinc-900 dark:hover:border-zinc-800"),children:["Check system status",e.jsx(h.ExternalLink,{className:"w-4 h-4 opacity-70"})]})]})]})})]})})}):null}function P({customTheme:t,toastOptions:r,position:a="top-right",...o}){return e.jsx(m.Toaster,{position:a,containerAriaLabel:"Notifications",...o,toastOptions:{...r,classNames:{...r?.classNames,toast:x("bg-white/90 border-zinc-200 text-zinc-900 shadow-xl backdrop-blur-md","dark:bg-zinc-950/80 dark:border-zinc-800 dark:text-zinc-50 dark:shadow-2xl",t?.fontFamily,r?.classNames?.toast),title:x("font-medium text-sm text-zinc-900 dark:text-zinc-50",r?.classNames?.title),description:x("mt-0.5 text-xs text-zinc-500 dark:text-zinc-400 line-clamp-2",r?.classNames?.description),actionButton:x("font-medium rounded-lg transition-all px-3 py-1.5 border text-xs","bg-zinc-900 text-white border-transparent hover:scale-[1.02] active:scale-95","dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white",r?.classNames?.actionButton)},style:{borderRadius:t?.borderRadius||"0.75rem",backgroundColor:t?.backgroundColor,color:t?.textColor,fontFamily:t?.fontFamily,...r?.style}}})}function A(t,r,a,o,i="medium"){const s={low:e.jsx(h.Info,{className:"w-5 h-5 text-blue-500"}),medium:e.jsx(h.AlertTriangle,{className:"w-5 h-5 text-amber-500"}),high:e.jsx(h.AlertCircle,{className:"w-5 h-5 text-red-500"})};return m.toast(t,{description:r,icon:s[i],duration:i==="high"?8e3:5e3,action:a?{label:a,onClick:()=>o?.()}:void 0})}const T={success:(t,r)=>m.toast(t,{description:r,icon:e.jsx(h.CheckCircle2,{className:"w-5 h-5 text-emerald-500"})}),error:(t,r)=>m.toast(t,{description:r,icon:e.jsx(h.AlertCircle,{className:"w-5 h-5 text-red-500"})}),warning:(t,r)=>m.toast(t,{description:r,icon:e.jsx(h.AlertTriangle,{className:"w-5 h-5 text-amber-500 dark:text-amber-400"})}),loading:(t,r)=>m.toast.loading(t,{description:r}),custom:(t,r,a)=>{m.toast.custom(o=>e.jsx("div",{className:x("flex gap-3 p-4 shadow-2xl border",a.fontFamily),style:{backgroundColor:a.backgroundColor||"var(--bg-card)",color:a.textColor||"var(--text-card)",borderColor:a.primaryColor||"#e4e4e7",borderRadius:a.borderRadius||"12px"},children:e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"font-semibold text-sm",children:t}),e.jsx("span",{className:"text-xs opacity-70",children:r})]})}))}},C=g.createContext(void 0);function M({apiKey:t,apiUrl:r,language:a,children:o}){const i=g.useCallback(async n=>{const d=n instanceof Error?n:new Error(String(n)),c=m.toast.loading("Analyzing error context...",{description:"Applying AI recovery heuristics..."});if(t==="sk_test_mock"){setTimeout(()=>{m.toast.info("Mock Mode Analysis",{id:c,description:"This is a mocked async recovery because sk_test_mock was used."})},1500);return}try{const l={message:d.message,componentStack:d.stack,url:typeof window<"u"?window.location.href:void 0},u=N(l),f=r||"https://api.cognicatch.dev/v1/analyze-error",p=typeof navigator<"u"?navigator.language:"en-US",y=a||p,v=await fetch(f,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({error:u.message,stack:u.componentName?`Component: ${u.componentName}`:u.errorCode||"Async Error",routePath:u.routePath,language:y})});if(!v.ok)throw new Error("SaaS API Error");const b=await v.json();b&&((b.severity||b.level)==="low"?m.toast.info(b.title,{id:c,description:b.description}):m.toast.error(b.title,{id:c,description:b.description}))}catch(l){console.error("AdaptiveUI API Request failed:",l),m.toast.error("Analysis Failed",{id:c,description:"We couldn't reach the AI servers. Please try again later."})}},[t,r,a]),s=g.useMemo(()=>({apiKey:t,apiUrl:r,language:a,captureAsyncError:i}),[t,r,a,i]);return e.jsx(C.Provider,{value:s,children:o})}function I(){const t=g.useContext(C);if(!t)throw new Error("❌ AdaptiveUI Developer Error: You tried to use the 'useAdaptive' hook outside of an <AdaptiveProvider>. Please wrap the root of your application (e.g., App.tsx or layout.tsx) with <AdaptiveProvider apiKey='YOUR_KEY'>");return t}const F=({onRecover:t,theme:r})=>{const a=r==="dark";return e.jsx("div",{className:`p-6 rounded-xl border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 shadow-sm ${a?"dark":""}`,children:e.jsxs("div",{className:"flex flex-col items-center text-center gap-4",children:[e.jsx("div",{className:"p-3 rounded-full bg-red-50 dark:bg-red-900/20",children:e.jsx("svg",{className:"w-6 h-6 text-red-600 dark:text-red-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-zinc-900 dark:text-zinc-100",children:"Component Unavailable"}),e.jsx("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 mt-1",children:"An unexpected error occurred in the interface."})]}),e.jsx("button",{onClick:t,style:{backgroundColor:r?.primaryColor||void 0},className:"px-4 py-2 text-xs font-medium bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 rounded-lg hover:opacity-90 transition-opacity",children:"Try Reloading"})]})})};class L extends g.Component{static contextType=C;_isMounted=!1;constructor(r){super(r),this.state={hasError:!1,error:null,aiData:null,isProcessingAuto:!1,hasCrashedFallback:!1}}componentDidMount(){this._isMounted=!0}componentWillUnmount(){this._isMounted=!1}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,a){if(this.state.hasCrashedFallback)return;const{mode:o}=this.props;o==="manual"&&this.props.severity==="low"&&A(this.props.title,this.props.description,this.props.actionLabel??void 0,this.handleRecover),o==="auto"&&this._isMounted&&(this.setState({isProcessingAuto:!0}),this.processAutoMode(r,a))}processAutoMode=async(r,a)=>{const o=this.props,i=o.apiKey||this.context?.apiKey,s=o.apiUrl||this.context?.apiUrl,n=typeof navigator<"u"?navigator.language:"en-US",d=o.language||this.context?.language||n;if(!i){console.error("AdaptiveUI: Missing API Key for auto mode. Provide it via props or <AdaptiveProvider>."),this._isMounted&&this.setState({isProcessingAuto:!1});return}if(i==="sk_test_mock"){setTimeout(()=>{this._isMounted&&this.setState({isProcessingAuto:!1,aiData:{severity:"medium",title:"Mock Mode Error",description:"This is a mocked response because sk_test_mock was used.",actionLabel:"Reload Component"}})},1500);return}try{const c={message:r.message,componentStack:a.componentStack||void 0,url:typeof window<"u"?window.location.href:void 0},l=N(c),f=await fetch(s||"https://api.cognicatch.dev/v1/analyze-error",{method:"POST",headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json"},body:JSON.stringify({error:l.message,stack:l.componentName?`Component: ${l.componentName}`:"No stack",routePath:l.routePath,language:d})});if(!f.ok)throw new Error(`SaaS API returned ${f.status}`);const p=await f.json();p&&this._isMounted&&(p.severity==="low"?(A(p.title,p.description,p.actionLabel??void 0,this.handleRecover),this.setState({isProcessingAuto:!1,aiData:p})):this.setState({isProcessingAuto:!1,aiData:p}))}catch(c){console.error("AdaptiveUI AI Request failed:",c),this._isMounted&&this.setState({isProcessingAuto:!1,aiData:{severity:"medium",title:"Communication Error",description:"We were unable to connect to the analytics servers at this time. Our team has already been notified.",actionLabel:"Reload Component"}})}};handleRecover=()=>{this._isMounted&&this.setState({hasError:!1,error:null,aiData:null,hasCrashedFallback:!1}),this.props.onRecover&&this.props.onRecover()};render(){if(this.state.hasCrashedFallback)return e.jsx(F,{onRecover:this.handleRecover,theme:this.props.theme});if(!this.state.hasError)return this.props.children;const{mode:r,theme:a,className:o,showRefresh:i,statusUrl:s}=this.props;if(r==="manual"){const{severity:n,title:d,description:c,actionLabel:l}=this.props;try{if(n==="high")return e.jsx(j,{isOpen:!0,onOpenChange:u=>{u||this.handleRecover()},title:d,description:c,theme:a,showRefresh:i,statusUrl:s});if(n==="medium")return e.jsx(z,{title:d,description:c,primaryAction:l?{label:l,onClick:this.handleRecover}:void 0,theme:a,className:o});if(n==="low")return null}catch{return this.setState({hasCrashedFallback:!0}),null}}if(r==="auto"){if(this.state.isProcessingAuto)return e.jsxs("div",{className:"w-full h-full min-h-[100px] rounded-xl border border-zinc-200/50 dark:border-zinc-800/50 bg-zinc-50/50 dark:bg-zinc-900/20 flex flex-col items-center justify-center p-6 animate-pulse",children:[e.jsx("div",{className:"w-5 h-5 border-2 border-zinc-400/30 dark:border-zinc-500/30 border-t-zinc-900 dark:border-t-zinc-100 rounded-full animate-spin mb-3"}),e.jsx("p",{className:"text-xs font-medium text-zinc-500 dark:text-zinc-400",children:"Analyzing error context..."})]});if(this.state.aiData){const{severity:n,title:d,description:c,actionLabel:l}=this.state.aiData;try{if(n==="high")return e.jsx(j,{isOpen:!0,onOpenChange:u=>{u||this.handleRecover()},title:d,description:c,theme:a,showRefresh:i,statusUrl:s});if(n==="medium")return e.jsx(z,{title:d,description:c,primaryAction:l?{label:l,onClick:this.handleRecover}:void 0,theme:a,className:o});if(n==="low")return null}catch{return this.setState({hasCrashedFallback:!0}),null}}}return null}}exports.AdaptiveErrorBoundary=L;exports.AdaptiveProvider=M;exports.AdaptiveToastProvider=P;exports.adaptiveToast=T;exports.useAdaptive=I;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { AlertCircle as y, AlertTriangle as C, AlertOctagon as F, RefreshCcw as L, ExternalLink as j, CheckCircle2 as
|
|
1
|
+
import { jsx as r, jsxs as u } from "react/jsx-runtime";
|
|
2
|
+
import { useState as R, useEffect as D, createContext as S, useCallback as P, useMemo as T, useContext as M, Component as I } from "react";
|
|
3
|
+
import { AlertCircle as y, AlertTriangle as C, AlertOctagon as F, RefreshCcw as L, ExternalLink as j, CheckCircle2 as U, Info as O } from "lucide-react";
|
|
4
4
|
import { clsx as B } from "clsx";
|
|
5
5
|
import { twMerge as Z } from "tailwind-merge";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
const K = [
|
|
6
|
+
import * as k from "@radix-ui/react-dialog";
|
|
7
|
+
import { Toaster as $, toast as h } from "sonner";
|
|
8
|
+
const J = [
|
|
10
9
|
{ name: "email", pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g, replacement: "[EMAIL_REDACTED]" },
|
|
11
10
|
{ name: "bearer_token", pattern: /Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi, replacement: "Bearer [TOKEN_REDACTED]" },
|
|
12
11
|
{ name: "jwt", pattern: /eyJ[A-Za-z0-9\-_]+\.eyJ[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+/g, replacement: "[JWT_REDACTED]" },
|
|
@@ -20,7 +19,7 @@ const K = [
|
|
|
20
19
|
function z(t, e = 1e3) {
|
|
21
20
|
if (!t) return "";
|
|
22
21
|
let o = String(t);
|
|
23
|
-
return o.length > e && (o = o.slice(0, e) + "... [TRUNCATED]"),
|
|
22
|
+
return o.length > e && (o = o.slice(0, e) + "... [TRUNCATED]"), J.reduce((a, { pattern: s, replacement: n }) => a.replace(s, n), o);
|
|
24
23
|
}
|
|
25
24
|
function _(t) {
|
|
26
25
|
let e;
|
|
@@ -52,11 +51,11 @@ function A({
|
|
|
52
51
|
description: e,
|
|
53
52
|
severity: o = "medium",
|
|
54
53
|
primaryAction: a,
|
|
55
|
-
secondaryAction:
|
|
56
|
-
theme:
|
|
57
|
-
className:
|
|
54
|
+
secondaryAction: s,
|
|
55
|
+
theme: n,
|
|
56
|
+
className: i
|
|
58
57
|
}) {
|
|
59
|
-
const
|
|
58
|
+
const d = o === "high";
|
|
60
59
|
return /* @__PURE__ */ r(
|
|
61
60
|
"div",
|
|
62
61
|
{
|
|
@@ -64,23 +63,23 @@ function A({
|
|
|
64
63
|
"aria-live": "polite",
|
|
65
64
|
className: f(
|
|
66
65
|
"rounded-xl border p-4 transition-all shadow-sm",
|
|
67
|
-
!
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
!n?.backgroundColor && "bg-amber-50 border-amber-200/60 dark:bg-amber-950/20 dark:border-amber-900/40",
|
|
67
|
+
n?.fontFamily,
|
|
68
|
+
i
|
|
70
69
|
),
|
|
71
70
|
style: {
|
|
72
|
-
backgroundColor:
|
|
73
|
-
color:
|
|
74
|
-
borderColor:
|
|
71
|
+
backgroundColor: n?.backgroundColor,
|
|
72
|
+
color: n?.textColor,
|
|
73
|
+
borderColor: n?.primaryColor ? `${n.primaryColor}40` : void 0
|
|
75
74
|
},
|
|
76
|
-
children: /* @__PURE__ */
|
|
77
|
-
/* @__PURE__ */ r("div", { className: "shrink-0 mt-0.5", children:
|
|
78
|
-
/* @__PURE__ */
|
|
75
|
+
children: /* @__PURE__ */ u("div", { className: "flex gap-3", children: [
|
|
76
|
+
/* @__PURE__ */ r("div", { className: "shrink-0 mt-0.5", children: d ? /* @__PURE__ */ r(y, { className: "h-5 w-5 text-red-500" }) : /* @__PURE__ */ r(C, { className: "h-5 w-5 text-amber-500" }) }),
|
|
77
|
+
/* @__PURE__ */ u("div", { className: "flex-1 min-w-0", children: [
|
|
79
78
|
/* @__PURE__ */ r(
|
|
80
79
|
"h3",
|
|
81
80
|
{
|
|
82
81
|
className: "text-sm font-medium leading-none text-amber-900 dark:text-amber-100",
|
|
83
|
-
style: { color:
|
|
82
|
+
style: { color: n?.textColor },
|
|
84
83
|
children: t
|
|
85
84
|
}
|
|
86
85
|
),
|
|
@@ -88,16 +87,16 @@ function A({
|
|
|
88
87
|
"p",
|
|
89
88
|
{
|
|
90
89
|
className: "mt-2 text-sm leading-relaxed opacity-90",
|
|
91
|
-
style: { color:
|
|
90
|
+
style: { color: n?.textColor },
|
|
92
91
|
children: e
|
|
93
92
|
}
|
|
94
93
|
),
|
|
95
|
-
(a ||
|
|
94
|
+
(a || s) && /* @__PURE__ */ u("div", { className: "mt-4 flex flex-wrap items-center gap-3", children: [
|
|
96
95
|
a && /* @__PURE__ */ r(
|
|
97
96
|
"button",
|
|
98
97
|
{
|
|
99
98
|
onClick: a.onClick,
|
|
100
|
-
style:
|
|
99
|
+
style: n?.primaryColor ? { backgroundColor: n.primaryColor, color: "#fff" } : {},
|
|
101
100
|
className: f(
|
|
102
101
|
"text-xs font-medium px-3 py-1.5 rounded-lg transition-all active:scale-95",
|
|
103
102
|
"bg-amber-100 border border-amber-200 text-amber-900 hover:bg-amber-200",
|
|
@@ -106,13 +105,13 @@ function A({
|
|
|
106
105
|
children: a.label
|
|
107
106
|
}
|
|
108
107
|
),
|
|
109
|
-
|
|
108
|
+
s && /* @__PURE__ */ r(
|
|
110
109
|
"button",
|
|
111
110
|
{
|
|
112
|
-
onClick:
|
|
111
|
+
onClick: s.onClick,
|
|
113
112
|
className: "text-xs font-medium opacity-70 hover:opacity-100 transition-opacity underline-offset-4 hover:underline",
|
|
114
|
-
style: { color:
|
|
115
|
-
children:
|
|
113
|
+
style: { color: n?.textColor },
|
|
114
|
+
children: s.label
|
|
116
115
|
}
|
|
117
116
|
)
|
|
118
117
|
] })
|
|
@@ -126,51 +125,50 @@ function N({
|
|
|
126
125
|
description: e,
|
|
127
126
|
statusUrl: o,
|
|
128
127
|
showRefresh: a = !0,
|
|
129
|
-
isOpen:
|
|
130
|
-
onOpenChange:
|
|
131
|
-
theme:
|
|
132
|
-
onPrimaryAction:
|
|
133
|
-
primaryActionLabel: c = "
|
|
128
|
+
isOpen: s,
|
|
129
|
+
onOpenChange: n,
|
|
130
|
+
theme: i,
|
|
131
|
+
onPrimaryAction: d,
|
|
132
|
+
primaryActionLabel: c = "Refresh the page"
|
|
134
133
|
}) {
|
|
135
|
-
const [
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
const [l, m] = R(!1);
|
|
135
|
+
D(() => {
|
|
136
|
+
m(!0);
|
|
138
137
|
}, []);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
const k = /* @__PURE__ */ r(g.Root, { open: n, onOpenChange: i, children: /* @__PURE__ */ r(g.Portal, { children: /* @__PURE__ */ m("div", { className: `cognicatch-ui-wrapper ${x ? "dark" : ""} ${v || ""}`, children: [
|
|
138
|
+
const b = i === "dark" || typeof i == "object" && i?.backgroundColor === "dark", p = typeof i == "object" ? i.primaryColor : void 0, v = typeof i == "object" ? i.fontFamily : void 0;
|
|
139
|
+
return l ? /* @__PURE__ */ r(k.Root, { open: s, onOpenChange: n, children: /* @__PURE__ */ r(k.Portal, { children: /* @__PURE__ */ u("div", { className: `cognicatch-ui-wrapper ${b ? "dark" : ""} ${v || ""}`, children: [
|
|
142
140
|
/* @__PURE__ */ r(
|
|
143
|
-
|
|
141
|
+
k.Overlay,
|
|
144
142
|
{
|
|
145
143
|
className: "radix-overlay fixed inset-0 z-[99999] bg-zinc-900/20 dark:bg-black/80 backdrop-blur-sm"
|
|
146
144
|
}
|
|
147
145
|
),
|
|
148
|
-
/* @__PURE__ */
|
|
149
|
-
|
|
146
|
+
/* @__PURE__ */ r("div", { className: "fixed inset-0 z-[999999] flex items-end md:items-center justify-center pointer-events-none md:p-4", children: /* @__PURE__ */ u(
|
|
147
|
+
k.Content,
|
|
150
148
|
{
|
|
151
|
-
onInteractOutside: (
|
|
152
|
-
onEscapeKeyDown: (
|
|
149
|
+
onInteractOutside: (g) => g.preventDefault(),
|
|
150
|
+
onEscapeKeyDown: (g) => g.preventDefault(),
|
|
153
151
|
className: f(
|
|
154
|
-
"
|
|
155
|
-
"bg-white
|
|
156
|
-
"
|
|
157
|
-
"
|
|
152
|
+
"pointer-events-auto w-full flex flex-col items-center text-center shadow-2xl transition-all",
|
|
153
|
+
"bg-white dark:bg-zinc-950",
|
|
154
|
+
"rounded-t-3xl border-t border-zinc-200 dark:border-zinc-800 p-8 pb-10",
|
|
155
|
+
"md:max-w-md md:rounded-2xl md:border md:border-zinc-200 md:dark:border-zinc-800"
|
|
158
156
|
),
|
|
159
157
|
style: { boxSizing: "border-box" },
|
|
160
158
|
children: [
|
|
161
|
-
/* @__PURE__ */ r("div", { className: "mx-auto w-12 h-1.5 rounded-full bg-zinc-200 dark:bg-zinc-800 mb-6
|
|
159
|
+
/* @__PURE__ */ r("div", { className: "mx-auto w-12 h-1.5 rounded-full bg-zinc-200 dark:bg-zinc-800 mb-6 md:hidden" }),
|
|
162
160
|
/* @__PURE__ */ r("div", { className: "w-16 h-16 rounded-full flex items-center justify-center mb-6 border bg-red-50 border-red-100 dark:bg-red-500/10 dark:border-red-500/20", children: /* @__PURE__ */ r(F, { className: "w-8 h-8 text-red-600 dark:text-red-500" }) }),
|
|
163
|
-
/* @__PURE__ */ r(
|
|
164
|
-
/* @__PURE__ */ r(
|
|
165
|
-
/* @__PURE__ */
|
|
166
|
-
a && /* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ r(k.Title, { className: "text-xl font-semibold text-zinc-900 dark:text-zinc-50 mb-3 tracking-tight", children: t }),
|
|
162
|
+
/* @__PURE__ */ r(k.Description, { className: "text-sm leading-relaxed mb-8 max-w-[280px] md:max-w-none text-zinc-600 dark:text-zinc-400", children: e }),
|
|
163
|
+
/* @__PURE__ */ u("div", { className: "flex flex-col w-full gap-3", children: [
|
|
164
|
+
a && /* @__PURE__ */ u(
|
|
167
165
|
"button",
|
|
168
166
|
{
|
|
169
|
-
onClick: () =>
|
|
170
|
-
style:
|
|
167
|
+
onClick: () => d ? d() : window.location.reload(),
|
|
168
|
+
style: p ? { backgroundColor: p, borderColor: p } : {},
|
|
171
169
|
className: f(
|
|
172
170
|
"flex items-center justify-center gap-2 w-full py-3 px-4 rounded-xl font-medium transition-all shadow-sm",
|
|
173
|
-
|
|
171
|
+
p ? "text-white hover:opacity-90 hover:scale-[1.02] active:scale-95" : "bg-zinc-900 text-white hover:bg-zinc-800 dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white hover:scale-[1.02] active:scale-95"
|
|
174
172
|
),
|
|
175
173
|
children: [
|
|
176
174
|
/* @__PURE__ */ r(L, { className: "w-4 h-4" }),
|
|
@@ -178,7 +176,7 @@ function N({
|
|
|
178
176
|
]
|
|
179
177
|
}
|
|
180
178
|
),
|
|
181
|
-
o && /* @__PURE__ */
|
|
179
|
+
o && /* @__PURE__ */ u(
|
|
182
180
|
"a",
|
|
183
181
|
{
|
|
184
182
|
href: o,
|
|
@@ -197,18 +195,17 @@ function N({
|
|
|
197
195
|
] })
|
|
198
196
|
]
|
|
199
197
|
}
|
|
200
|
-
)
|
|
201
|
-
] }) }) });
|
|
202
|
-
return $(k, document.body);
|
|
198
|
+
) })
|
|
199
|
+
] }) }) }) : null;
|
|
203
200
|
}
|
|
204
|
-
function
|
|
201
|
+
function X({
|
|
205
202
|
customTheme: t,
|
|
206
203
|
toastOptions: e,
|
|
207
204
|
position: o = "top-right",
|
|
208
205
|
...a
|
|
209
206
|
}) {
|
|
210
207
|
return /* @__PURE__ */ r(
|
|
211
|
-
|
|
208
|
+
$,
|
|
212
209
|
{
|
|
213
210
|
position: o,
|
|
214
211
|
containerAriaLabel: "Notifications",
|
|
@@ -243,37 +240,37 @@ function te({
|
|
|
243
240
|
}
|
|
244
241
|
);
|
|
245
242
|
}
|
|
246
|
-
function E(t, e, o, a,
|
|
247
|
-
return
|
|
243
|
+
function E(t, e, o, a, s = "medium") {
|
|
244
|
+
return h(t, {
|
|
248
245
|
description: e,
|
|
249
246
|
icon: {
|
|
250
|
-
low: /* @__PURE__ */ r(
|
|
247
|
+
low: /* @__PURE__ */ r(O, { className: "w-5 h-5 text-blue-500" }),
|
|
251
248
|
medium: /* @__PURE__ */ r(C, { className: "w-5 h-5 text-amber-500" }),
|
|
252
249
|
high: /* @__PURE__ */ r(y, { className: "w-5 h-5 text-red-500" })
|
|
253
|
-
}[
|
|
254
|
-
duration:
|
|
250
|
+
}[s],
|
|
251
|
+
duration: s === "high" ? 8e3 : 5e3,
|
|
255
252
|
action: o ? {
|
|
256
253
|
label: o,
|
|
257
254
|
onClick: () => a?.()
|
|
258
255
|
} : void 0
|
|
259
256
|
});
|
|
260
257
|
}
|
|
261
|
-
const
|
|
262
|
-
success: (t, e) =>
|
|
258
|
+
const ee = {
|
|
259
|
+
success: (t, e) => h(t, {
|
|
263
260
|
description: e,
|
|
264
|
-
icon: /* @__PURE__ */ r(
|
|
261
|
+
icon: /* @__PURE__ */ r(U, { className: "w-5 h-5 text-emerald-500" })
|
|
265
262
|
}),
|
|
266
|
-
error: (t, e) =>
|
|
263
|
+
error: (t, e) => h(t, {
|
|
267
264
|
description: e,
|
|
268
265
|
icon: /* @__PURE__ */ r(y, { className: "w-5 h-5 text-red-500" })
|
|
269
266
|
}),
|
|
270
|
-
warning: (t, e) =>
|
|
267
|
+
warning: (t, e) => h(t, {
|
|
271
268
|
description: e,
|
|
272
269
|
icon: /* @__PURE__ */ r(C, { className: "w-5 h-5 text-amber-500 dark:text-amber-400" })
|
|
273
270
|
}),
|
|
274
|
-
loading: (t, e) =>
|
|
271
|
+
loading: (t, e) => h.loading(t, { description: e }),
|
|
275
272
|
custom: (t, e, o) => {
|
|
276
|
-
|
|
273
|
+
h.custom((a) => /* @__PURE__ */ r(
|
|
277
274
|
"div",
|
|
278
275
|
{
|
|
279
276
|
className: f("flex gap-3 p-4 shadow-2xl border", o.fontFamily),
|
|
@@ -283,7 +280,7 @@ const re = {
|
|
|
283
280
|
borderColor: o.primaryColor || "#e4e4e7",
|
|
284
281
|
borderRadius: o.borderRadius || "12px"
|
|
285
282
|
},
|
|
286
|
-
children: /* @__PURE__ */
|
|
283
|
+
children: /* @__PURE__ */ u("div", { className: "flex flex-col gap-1", children: [
|
|
287
284
|
/* @__PURE__ */ r("span", { className: "font-semibold text-sm", children: t }),
|
|
288
285
|
/* @__PURE__ */ r("span", { className: "text-xs opacity-70", children: e })
|
|
289
286
|
] })
|
|
@@ -291,19 +288,19 @@ const re = {
|
|
|
291
288
|
));
|
|
292
289
|
}
|
|
293
290
|
}, w = S(void 0);
|
|
294
|
-
function
|
|
291
|
+
function te({
|
|
295
292
|
apiKey: t,
|
|
296
293
|
apiUrl: e,
|
|
297
294
|
language: o,
|
|
298
295
|
children: a
|
|
299
296
|
}) {
|
|
300
|
-
const
|
|
301
|
-
const
|
|
297
|
+
const s = P(async (i) => {
|
|
298
|
+
const d = i instanceof Error ? i : new Error(String(i)), c = h.loading("Analyzing error context...", {
|
|
302
299
|
description: "Applying AI recovery heuristics..."
|
|
303
300
|
});
|
|
304
301
|
if (t === "sk_test_mock") {
|
|
305
302
|
setTimeout(() => {
|
|
306
|
-
|
|
303
|
+
h.info("Mock Mode Analysis", {
|
|
307
304
|
id: c,
|
|
308
305
|
description: "This is a mocked async recovery because sk_test_mock was used."
|
|
309
306
|
});
|
|
@@ -311,41 +308,41 @@ function oe({
|
|
|
311
308
|
return;
|
|
312
309
|
}
|
|
313
310
|
try {
|
|
314
|
-
const
|
|
315
|
-
message:
|
|
316
|
-
componentStack:
|
|
311
|
+
const l = {
|
|
312
|
+
message: d.message,
|
|
313
|
+
componentStack: d.stack,
|
|
317
314
|
url: typeof window < "u" ? window.location.href : void 0
|
|
318
|
-
},
|
|
315
|
+
}, m = _(l), b = e || "https://api.cognicatch.dev/v1/analyze-error", p = typeof navigator < "u" ? navigator.language : "en-US", v = o || p, g = await fetch(b, {
|
|
319
316
|
method: "POST",
|
|
320
317
|
headers: {
|
|
321
318
|
Authorization: `Bearer ${t}`,
|
|
322
319
|
"Content-Type": "application/json"
|
|
323
320
|
},
|
|
324
321
|
body: JSON.stringify({
|
|
325
|
-
error:
|
|
326
|
-
stack:
|
|
327
|
-
routePath:
|
|
322
|
+
error: m.message,
|
|
323
|
+
stack: m.componentName ? `Component: ${m.componentName}` : m.errorCode || "Async Error",
|
|
324
|
+
routePath: m.routePath,
|
|
328
325
|
language: v
|
|
329
326
|
})
|
|
330
327
|
});
|
|
331
|
-
if (!
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
} catch (
|
|
335
|
-
console.error("AdaptiveUI API Request failed:",
|
|
328
|
+
if (!g.ok) throw new Error("SaaS API Error");
|
|
329
|
+
const x = await g.json();
|
|
330
|
+
x && ((x.severity || x.level) === "low" ? h.info(x.title, { id: c, description: x.description }) : h.error(x.title, { id: c, description: x.description }));
|
|
331
|
+
} catch (l) {
|
|
332
|
+
console.error("AdaptiveUI API Request failed:", l), h.error("Analysis Failed", {
|
|
336
333
|
id: c,
|
|
337
334
|
description: "We couldn't reach the AI servers. Please try again later."
|
|
338
335
|
});
|
|
339
336
|
}
|
|
340
|
-
}, [t, e, o]),
|
|
337
|
+
}, [t, e, o]), n = T(() => ({
|
|
341
338
|
apiKey: t,
|
|
342
339
|
apiUrl: e,
|
|
343
340
|
language: o,
|
|
344
|
-
captureAsyncError:
|
|
345
|
-
}), [t, e, o,
|
|
346
|
-
return /* @__PURE__ */ r(w.Provider, { value:
|
|
341
|
+
captureAsyncError: s
|
|
342
|
+
}), [t, e, o, s]);
|
|
343
|
+
return /* @__PURE__ */ r(w.Provider, { value: n, children: a });
|
|
347
344
|
}
|
|
348
|
-
function
|
|
345
|
+
function re() {
|
|
349
346
|
const t = M(w);
|
|
350
347
|
if (!t)
|
|
351
348
|
throw new Error(
|
|
@@ -353,9 +350,9 @@ function ae() {
|
|
|
353
350
|
);
|
|
354
351
|
return t;
|
|
355
352
|
}
|
|
356
|
-
const
|
|
353
|
+
const K = ({ onRecover: t, theme: e }) => /* @__PURE__ */ r("div", { className: `p-6 rounded-xl border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-950 shadow-sm ${e === "dark" ? "dark" : ""}`, children: /* @__PURE__ */ u("div", { className: "flex flex-col items-center text-center gap-4", children: [
|
|
357
354
|
/* @__PURE__ */ r("div", { className: "p-3 rounded-full bg-red-50 dark:bg-red-900/20", children: /* @__PURE__ */ r("svg", { className: "w-6 h-6 text-red-600 dark:text-red-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ r("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }),
|
|
358
|
-
/* @__PURE__ */
|
|
355
|
+
/* @__PURE__ */ u("div", { children: [
|
|
359
356
|
/* @__PURE__ */ r("h3", { className: "text-sm font-semibold text-zinc-900 dark:text-zinc-100", children: "Component Unavailable" }),
|
|
360
357
|
/* @__PURE__ */ r("p", { className: "text-xs text-zinc-500 dark:text-zinc-400 mt-1", children: "An unexpected error occurred in the interface." })
|
|
361
358
|
] }),
|
|
@@ -364,7 +361,6 @@ const W = ({ onRecover: t, theme: e }) => /* @__PURE__ */ r("div", { className:
|
|
|
364
361
|
{
|
|
365
362
|
onClick: t,
|
|
366
363
|
style: {
|
|
367
|
-
// Se o usuário definiu uma cor primária no objeto ThemeOptions, usamos aqui!
|
|
368
364
|
backgroundColor: e?.primaryColor || void 0
|
|
369
365
|
},
|
|
370
366
|
className: "px-4 py-2 text-xs font-medium bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 rounded-lg hover:opacity-90 transition-opacity",
|
|
@@ -372,7 +368,7 @@ const W = ({ onRecover: t, theme: e }) => /* @__PURE__ */ r("div", { className:
|
|
|
372
368
|
}
|
|
373
369
|
)
|
|
374
370
|
] }) });
|
|
375
|
-
class
|
|
371
|
+
class oe extends I {
|
|
376
372
|
static contextType = w;
|
|
377
373
|
_isMounted = !1;
|
|
378
374
|
constructor(e) {
|
|
@@ -404,12 +400,12 @@ class ne extends I {
|
|
|
404
400
|
), a === "auto" && this._isMounted && (this.setState({ isProcessingAuto: !0 }), this.processAutoMode(e, o));
|
|
405
401
|
}
|
|
406
402
|
processAutoMode = async (e, o) => {
|
|
407
|
-
const a = this.props,
|
|
408
|
-
if (!
|
|
403
|
+
const a = this.props, s = a.apiKey || this.context?.apiKey, n = a.apiUrl || this.context?.apiUrl, i = typeof navigator < "u" ? navigator.language : "en-US", d = a.language || this.context?.language || i;
|
|
404
|
+
if (!s) {
|
|
409
405
|
console.error("AdaptiveUI: Missing API Key for auto mode. Provide it via props or <AdaptiveProvider>."), this._isMounted && this.setState({ isProcessingAuto: !1 });
|
|
410
406
|
return;
|
|
411
407
|
}
|
|
412
|
-
if (
|
|
408
|
+
if (s === "sk_test_mock") {
|
|
413
409
|
setTimeout(() => {
|
|
414
410
|
this._isMounted && this.setState({
|
|
415
411
|
isProcessingAuto: !1,
|
|
@@ -428,28 +424,28 @@ class ne extends I {
|
|
|
428
424
|
message: e.message,
|
|
429
425
|
componentStack: o.componentStack || void 0,
|
|
430
426
|
url: typeof window < "u" ? window.location.href : void 0
|
|
431
|
-
},
|
|
427
|
+
}, l = _(c), b = await fetch(n || "https://api.cognicatch.dev/v1/analyze-error", {
|
|
432
428
|
method: "POST",
|
|
433
429
|
headers: {
|
|
434
|
-
Authorization: `Bearer ${
|
|
430
|
+
Authorization: `Bearer ${s}`,
|
|
435
431
|
"Content-Type": "application/json"
|
|
436
432
|
},
|
|
437
433
|
body: JSON.stringify({
|
|
438
|
-
error:
|
|
439
|
-
stack:
|
|
440
|
-
routePath:
|
|
441
|
-
language:
|
|
434
|
+
error: l.message,
|
|
435
|
+
stack: l.componentName ? `Component: ${l.componentName}` : "No stack",
|
|
436
|
+
routePath: l.routePath,
|
|
437
|
+
language: d
|
|
442
438
|
})
|
|
443
439
|
});
|
|
444
|
-
if (!
|
|
445
|
-
throw new Error(`SaaS API returned ${
|
|
446
|
-
const
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
440
|
+
if (!b.ok)
|
|
441
|
+
throw new Error(`SaaS API returned ${b.status}`);
|
|
442
|
+
const p = await b.json();
|
|
443
|
+
p && this._isMounted && (p.severity === "low" ? (E(
|
|
444
|
+
p.title,
|
|
445
|
+
p.description,
|
|
446
|
+
p.actionLabel ?? void 0,
|
|
451
447
|
this.handleRecover
|
|
452
|
-
), this.setState({ isProcessingAuto: !1, aiData:
|
|
448
|
+
), this.setState({ isProcessingAuto: !1, aiData: p })) : this.setState({ isProcessingAuto: !1, aiData: p }));
|
|
453
449
|
} catch (c) {
|
|
454
450
|
console.error("AdaptiveUI AI Request failed:", c), this._isMounted && this.setState({
|
|
455
451
|
isProcessingAuto: !1,
|
|
@@ -468,7 +464,7 @@ class ne extends I {
|
|
|
468
464
|
render() {
|
|
469
465
|
if (this.state.hasCrashedFallback)
|
|
470
466
|
return /* @__PURE__ */ r(
|
|
471
|
-
|
|
467
|
+
K,
|
|
472
468
|
{
|
|
473
469
|
onRecover: this.handleRecover,
|
|
474
470
|
theme: this.props.theme
|
|
@@ -476,35 +472,58 @@ class ne extends I {
|
|
|
476
472
|
);
|
|
477
473
|
if (!this.state.hasError)
|
|
478
474
|
return this.props.children;
|
|
479
|
-
const { mode: e, theme: o, className: a } = this.props;
|
|
475
|
+
const { mode: e, theme: o, className: a, showRefresh: s, statusUrl: n } = this.props;
|
|
480
476
|
if (e === "manual") {
|
|
481
|
-
const { severity:
|
|
477
|
+
const { severity: i, title: d, description: c, actionLabel: l } = this.props;
|
|
482
478
|
try {
|
|
483
|
-
if (
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
479
|
+
if (i === "high")
|
|
480
|
+
return /* @__PURE__ */ r(
|
|
481
|
+
N,
|
|
482
|
+
{
|
|
483
|
+
isOpen: !0,
|
|
484
|
+
onOpenChange: (m) => {
|
|
485
|
+
m || this.handleRecover();
|
|
486
|
+
},
|
|
487
|
+
title: d,
|
|
488
|
+
description: c,
|
|
489
|
+
theme: o,
|
|
490
|
+
showRefresh: s,
|
|
491
|
+
statusUrl: n
|
|
492
|
+
}
|
|
493
|
+
);
|
|
494
|
+
if (i === "medium") return /* @__PURE__ */ r(A, { title: d, description: c, primaryAction: l ? { label: l, onClick: this.handleRecover } : void 0, theme: o, className: a });
|
|
495
|
+
if (i === "low") return null;
|
|
488
496
|
} catch {
|
|
489
497
|
return this.setState({ hasCrashedFallback: !0 }), null;
|
|
490
498
|
}
|
|
491
499
|
}
|
|
492
500
|
if (e === "auto") {
|
|
493
501
|
if (this.state.isProcessingAuto)
|
|
494
|
-
return /* @__PURE__ */
|
|
502
|
+
return /* @__PURE__ */ u("div", { className: "w-full h-full min-h-[100px] rounded-xl border border-zinc-200/50 dark:border-zinc-800/50 bg-zinc-50/50 dark:bg-zinc-900/20 flex flex-col items-center justify-center p-6 animate-pulse", children: [
|
|
495
503
|
/* @__PURE__ */ r("div", { className: "w-5 h-5 border-2 border-zinc-400/30 dark:border-zinc-500/30 border-t-zinc-900 dark:border-t-zinc-100 rounded-full animate-spin mb-3" }),
|
|
496
504
|
/* @__PURE__ */ r("p", { className: "text-xs font-medium text-zinc-500 dark:text-zinc-400", children: "Analyzing error context..." })
|
|
497
505
|
] });
|
|
498
506
|
if (this.state.aiData) {
|
|
499
|
-
const { severity:
|
|
507
|
+
const { severity: i, title: d, description: c, actionLabel: l } = this.state.aiData;
|
|
500
508
|
try {
|
|
501
|
-
if (
|
|
502
|
-
return /* @__PURE__ */ r(
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
509
|
+
if (i === "high")
|
|
510
|
+
return /* @__PURE__ */ r(
|
|
511
|
+
N,
|
|
512
|
+
{
|
|
513
|
+
isOpen: !0,
|
|
514
|
+
onOpenChange: (m) => {
|
|
515
|
+
m || this.handleRecover();
|
|
516
|
+
},
|
|
517
|
+
title: d,
|
|
518
|
+
description: c,
|
|
519
|
+
theme: o,
|
|
520
|
+
showRefresh: s,
|
|
521
|
+
statusUrl: n
|
|
522
|
+
}
|
|
523
|
+
);
|
|
524
|
+
if (i === "medium")
|
|
525
|
+
return /* @__PURE__ */ r(A, { title: d, description: c, primaryAction: l ? { label: l, onClick: this.handleRecover } : void 0, theme: o, className: a });
|
|
526
|
+
if (i === "low")
|
|
508
527
|
return null;
|
|
509
528
|
} catch {
|
|
510
529
|
return this.setState({ hasCrashedFallback: !0 }), null;
|
|
@@ -515,9 +534,9 @@ class ne extends I {
|
|
|
515
534
|
}
|
|
516
535
|
}
|
|
517
536
|
export {
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
537
|
+
oe as AdaptiveErrorBoundary,
|
|
538
|
+
te as AdaptiveProvider,
|
|
539
|
+
X as AdaptiveToastProvider,
|
|
540
|
+
ee as adaptiveToast,
|
|
541
|
+
re as useAdaptive
|
|
523
542
|
};
|