@smartspace/chat-ui 1.13.1-dev.3184d8f → 1.13.1-dev.8387ebd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -1,3 +1,3 @@
1
1
  *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
2
2
 
3
- /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:250.59 54.84% 6.08%;--primary:252.13 88.59% 57.45%;--primary-foreground:254.27 90% 96.08%;--card:247.5 80% 98.04%;--card-foreground:250.59 54.84% 6.08%;--popover:0 0% 100%;--popover-foreground:250.59 54.84% 6.08%;--secondary:252.48 86.67% 94.12%;--secondary-foreground:0 0% 0%;--muted:254.27 90% 96.08%;--muted-foreground:0 0% 40%;--accent:254.27 90% 96.08%;--accent-foreground:252.05 57.45% 9.22%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:252.61 90% 92.16%;--input:251.85 25% 82.75%;--ring:252.13 88.59% 57.45%;--radius:0.5rem;--sidebar-background:252.13 100% 99.22%;--sidebar-foreground:250.59 54.84% 6.08%;--sidebar-primary:252.13 88.59% 57.45%;--sidebar-primary-foreground:254.27 90% 96.08%;--sidebar-accent:252.13 88.59% 57.45%;--sidebar-accent-foreground:254.27 90% 96.08%;--sidebar-border:252.61 90% 92.16%;--sidebar-ring:252.13 88.59% 57.45%}.dark{--background:0 0% 0%;--foreground:252.48 86.67% 94.12%;--primary:252.13 88.59% 57.45%;--primary-foreground:254.27 90% 96.08%;--card:257.14 22.58% 6.08%;--card-foreground:252.48 86.67% 94.12%;--popover:0 0% 0%;--popover-foreground:252.48 86.67% 94.12%;--secondary:252.55 57.41% 21.18%;--secondary-foreground:0 0% 100%;--muted:0 0% 9.8%;--muted-foreground:0 0% 50.2%;--accent:252.55 57.41% 21.18%;--accent-foreground:252.48 86.67% 94.12%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:252.61 58.06% 12.16%;--input:250 16.67% 21.18%;--ring:252.13 88.59% 57.45%}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-1{bottom:.25rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[58px\]{height:58px}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-\[400px\]{max-height:400px}.max-h-\[60\%\]{max-height:60%}.min-h-3{min-height:.75rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.max-w-3xl{max-width:48rem}.max-w-\[220px\]{max-width:220px}.max-w-\[360px\]{max-width:360px}.max-w-\[70\%\]{max-width:70%}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-destructive\/30{border-color:hsl(var(--destructive)/.3)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground)/.3)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:transparent}.border-t-foreground\/60{border-top-color:hsl(var(--foreground)/.6)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/90{background-color:hsl(var(--background)/.9)}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted)/.1)}.bg-muted\/20{background-color:hsl(var(--muted)/.2)}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/5{background-color:hsl(var(--muted)/.05)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-muted\/60{background-color:hsl(var(--muted)/.6)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/40{background-color:hsl(var(--primary)/.4)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-10\%{--tw-gradient-from-position:10%}.via-blue-500\/5{--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(59,130,246,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-emerald-500\/5{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary\/5{--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-500\/5{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-40\%{--tw-gradient-via-position:40%}.to-blue-500\/10{--tw-gradient-to:rgba(59,130,246,.1) var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to:hsl(var(--primary)/0.1) var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position:100%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.normal-case{text-transform:none}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-foreground\/90{color:hsl(var(--foreground)/.9)}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-width\]{transition-property:max-width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-150{animation-duration:.15s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.jsonforms-compact .ss-jsonforms-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.jsonforms-compact .ss-jsonforms-cell{flex:0 0 auto;min-width:0}.jsonforms-compact .ss-jsonforms-textarea{flex:1 1 100%}.jsonforms-compact .compact-field{width:280px;max-width:100%}@media (max-width:480px){.jsonforms-compact .compact-field{width:100%}}.md-editor{position:relative}.ss-attach{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:6px;background:color-mix(in srgb,var(--muted),#fff 80%);border:1px solid var(--border);overflow:hidden}.ss-attach--image{padding:2px}.ss-attach__img{display:block;-o-object-fit:contain;object-fit:contain}.md-editor .ProseMirror{min-height:var(--md-min-height,1.6em);max-height:var(--md-max-height,none);overflow:auto;--md-pad-v:12px;--md-pad-h:14px;padding:var(--md-pad-v) var(--md-pad-h);border:1px solid #e3e3e3;border-radius:10px;line-height:1.6;outline:none}.md-editor .ProseMirror:focus{border-color:#b9d6ff;box-shadow:0 0 0 3px rgba(70,128,255,.15)}.md-editor.md-editor--readonly .ProseMirror{border:none;padding:0;box-shadow:none}.md-editor.md-editor--bare .ProseMirror{border:none;padding:0;box-shadow:none;--md-pad-v:0px;--md-pad-h:0px}.md-editor .ProseMirror a{color:#2563eb;text-decoration:underline;cursor:pointer}.ss-markdown .ss-attach__img[data-error]{background:rgba(220,38,38,.08)}.file-tag{display:inline-block;padding:0 6px;border-radius:6px;border:1px solid #a7b7e9;background:#eef2ff;font-size:.9em;color:#2b3a8a;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:nowrap}.md-editor__ghost{position:absolute;top:var(--md-pad-v);left:var(--md-pad-h);right:var(--md-pad-h);color:#9aa2af;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;line-height:inherit}.md-editor .ProseMirror>:first-child{margin-top:0}.mention{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:0 6px;color:#0369a1}.md-editor .ss-code-block,.ss-markdown .ss-code-block{border:1px solid var(--border,#e5e7eb);border-radius:8px;background:#0b1020;color:#e6edf3;margin:.75em 0;overflow:hidden}.md-editor .ss-code-block__header,.ss-markdown .ss-code-block__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:hsla(0,0%,100%,.06);border-bottom:1px solid hsla(0,0%,100%,.08);font-size:12px;line-height:1}.md-editor .ss-code-block__lang,.ss-markdown .ss-code-block__lang{text-transform:uppercase;letter-spacing:.04em;color:#9ba3af;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.md-editor .ss-code-block__actions,.ss-markdown .ss-code-block__actions{display:flex;align-items:center;gap:6px}.md-editor .ss-code-block__copy,.md-editor .ss-code-block__toggle,.ss-markdown .ss-code-block__copy,.ss-markdown .ss-code-block__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.1);color:#e6edf3;border:1px solid hsla(0,0%,100%,.15);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1}.md-editor .ss-code-block__copy:hover,.md-editor .ss-code-block__toggle:hover,.ss-markdown .ss-code-block__copy:hover,.ss-markdown .ss-code-block__toggle:hover{background:hsla(0,0%,100%,.18)}.md-editor .ss-code-block pre,.ss-markdown .ss-code-block pre{margin:0;padding:12px 14px;background:transparent;color:inherit;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre}.md-editor .ss-code-block pre code,.ss-markdown .ss-code-block pre code{background:transparent;color:inherit;padding:0;font:inherit}.md-editor .ss-code-block__iframe,.ss-markdown .ss-code-block__iframe{display:block;width:100%;height:500px;border:0;background:#fff;vertical-align:top}.ss-markdown :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.ss-markdown a{color:#2563eb;text-decoration:underline}.ss-markdown details{margin:.75em 0}.ss-markdown summary{cursor:pointer;font-weight:600}.md-editor .ProseMirror :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.md-mention-menu{background:hsl(var(--background,0 0% 100%));color:var(--foreground,#111);border:1px solid var(--border,#e5e7eb);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:220px;max-width:320px;overflow:hidden;z-index:1000}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:hsl(var(--ring)/0.5)}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.hover\:\!bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))!important}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/80:hover{background-color:hsl(var(--accent)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted)/.7)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:hsl(var(--primary))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:via-emerald-400\/10:is(.dark *){--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(52,211,153,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-primary\/10:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-400\/10:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,91%,71%,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-primary\/20:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0.2) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}@media (min-width:640px){.sm\:max-w-xs{max-width:20rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:px-4{padding-left:1rem;padding-right:1rem}}
3
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:250.59 54.84% 6.08%;--primary:252.13 88.59% 57.45%;--primary-foreground:254.27 90% 96.08%;--card:247.5 80% 98.04%;--card-foreground:250.59 54.84% 6.08%;--popover:0 0% 100%;--popover-foreground:250.59 54.84% 6.08%;--secondary:252.48 86.67% 94.12%;--secondary-foreground:0 0% 0%;--muted:254.27 90% 96.08%;--muted-foreground:0 0% 40%;--accent:254.27 90% 96.08%;--accent-foreground:252.05 57.45% 9.22%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:252.61 90% 92.16%;--input:251.85 25% 82.75%;--ring:252.13 88.59% 57.45%;--radius:0.5rem;--sidebar-background:252.13 100% 99.22%;--sidebar-foreground:250.59 54.84% 6.08%;--sidebar-primary:252.13 88.59% 57.45%;--sidebar-primary-foreground:254.27 90% 96.08%;--sidebar-accent:252.13 88.59% 57.45%;--sidebar-accent-foreground:254.27 90% 96.08%;--sidebar-border:252.61 90% 92.16%;--sidebar-ring:252.13 88.59% 57.45%}.dark{--background:0 0% 0%;--foreground:252.48 86.67% 94.12%;--primary:252.13 88.59% 57.45%;--primary-foreground:254.27 90% 96.08%;--card:257.14 22.58% 6.08%;--card-foreground:252.48 86.67% 94.12%;--popover:0 0% 0%;--popover-foreground:252.48 86.67% 94.12%;--secondary:252.55 57.41% 21.18%;--secondary-foreground:0 0% 100%;--muted:0 0% 9.8%;--muted-foreground:0 0% 50.2%;--accent:252.55 57.41% 21.18%;--accent-foreground:252.48 86.67% 94.12%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:252.61 58.06% 12.16%;--input:250 16.67% 21.18%;--ring:252.13 88.59% 57.45%}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.-right-2{right:-.5rem}.-top-2{top:-.5rem}.bottom-1{bottom:.25rem}.right-1{right:.25rem}.right-2{right:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[58px\]{height:58px}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-\[400px\]{max-height:400px}.max-h-\[60\%\]{max-height:60%}.min-h-3{min-height:.75rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.max-w-3xl{max-width:48rem}.max-w-\[220px\]{max-width:220px}.max-w-\[360px\]{max-width:360px}.max-w-\[70\%\]{max-width:70%}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-border{border-color:hsl(var(--border))}.border-destructive\/30{border-color:hsl(var(--destructive)/.3)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground)/.3)}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:transparent}.border-t-foreground\/60{border-top-color:hsl(var(--foreground)/.6)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/90{background-color:hsl(var(--background)/.9)}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted)/.1)}.bg-muted\/20{background-color:hsl(var(--muted)/.2)}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/5{background-color:hsl(var(--muted)/.05)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-muted\/60{background-color:hsl(var(--muted)/.6)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/40{background-color:hsl(var(--primary)/.4)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-10\%{--tw-gradient-from-position:10%}.via-blue-500\/5{--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(59,130,246,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-emerald-500\/5{--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(16,185,129,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary\/5{--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-red-500\/5{--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(239,68,68,.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-40\%{--tw-gradient-via-position:40%}.to-blue-500\/10{--tw-gradient-to:rgba(59,130,246,.1) var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to:rgba(16,185,129,.1) var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to:hsl(var(--primary)/0.1) var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:rgba(239,68,68,.1) var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position:100%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.normal-case{text-transform:none}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-foreground\/90{color:hsl(var(--foreground)/.9)}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground)/.7)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-width\]{transition-property:max-width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-150{animation-duration:.15s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.jsonforms-compact .ss-jsonforms-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.jsonforms-compact .ss-jsonforms-cell{flex:0 0 auto;min-width:0}.jsonforms-compact .ss-jsonforms-textarea{flex:1 1 100%}.jsonforms-compact .compact-field{width:280px;max-width:100%}@media (max-width:480px){.jsonforms-compact .compact-field{width:100%}}.md-editor,.ss-attach{position:relative}.ss-attach{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border-radius:8px;background:hsl(var(--muted,0 0% 96%));border:1px solid hsl(var(--border,0 0% 89%));overflow:hidden;min-width:32px;min-height:32px}.ss-attach--image{padding:2px}.ss-attach__img{display:block;-o-object-fit:contain;object-fit:contain;border-radius:6px}.ss-attach__spinner{position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid hsl(var(--muted-foreground,0 0% 40%)/.25);border-top-color:hsl(var(--foreground,0 0% 10%));animation:ss-attach-spin .7s linear infinite;pointer-events:none;z-index:1;box-sizing:border-box}@keyframes ss-attach-spin{to{transform:rotate(1turn)}}.ss-attach__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;border-radius:50%;border:1px solid hsl(var(--border,0 0% 89%));background:hsla(0,0%,100%,.95);color:hsl(var(--muted-foreground,0 0% 40%));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;font:inherit;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;z-index:2;box-shadow:0 1px 2px rgba(0,0,0,.08)}.ss-attach:hover .ss-attach__remove,.ss-attach__remove:focus-visible{opacity:1}.ss-attach__remove:hover{color:#dc2626;background:#fff}.ss-attach__remove svg{width:12px;height:12px;display:block}.md-editor .ProseMirror{min-height:var(--md-min-height,1.6em);max-height:var(--md-max-height,none);overflow:auto;--md-pad-v:12px;--md-pad-h:14px;padding:var(--md-pad-v) var(--md-pad-h);border:1px solid #e3e3e3;border-radius:10px;line-height:1.6;outline:none}.md-editor .ProseMirror:focus{border-color:#b9d6ff;box-shadow:0 0 0 3px rgba(70,128,255,.15)}.md-editor.md-editor--readonly .ProseMirror{border:none;padding:0;box-shadow:none}.md-editor.md-editor--bare .ProseMirror{border:none;padding:0;box-shadow:none;--md-pad-v:0px;--md-pad-h:0px}.md-editor .ProseMirror a{color:#2563eb;text-decoration:underline;cursor:pointer}.ss-markdown .ss-attach__img[data-error]{background:rgba(220,38,38,.08)}.file-tag{display:inline-block;padding:0 6px;border-radius:6px;border:1px solid #a7b7e9;background:#eef2ff;font-size:.9em;color:#2b3a8a;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:nowrap}.md-editor__ghost{position:absolute;top:var(--md-pad-v);left:var(--md-pad-h);right:var(--md-pad-h);color:#9aa2af;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;line-height:inherit}.md-editor .ProseMirror>:first-child{margin-top:0}.mention{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:0 6px;color:#0369a1}.md-editor .ss-code-block,.ss-markdown .ss-code-block{border:1px solid var(--border,#e5e7eb);border-radius:8px;background:#0b1020;color:#e6edf3;margin:.75em 0;overflow:hidden}.md-editor .ss-code-block__header,.ss-markdown .ss-code-block__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:hsla(0,0%,100%,.06);border-bottom:1px solid hsla(0,0%,100%,.08);font-size:12px;line-height:1}.md-editor .ss-code-block__lang,.ss-markdown .ss-code-block__lang{text-transform:uppercase;letter-spacing:.04em;color:#9ba3af;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.md-editor .ss-code-block__actions,.ss-markdown .ss-code-block__actions{display:flex;align-items:center;gap:6px}.md-editor .ss-code-block__copy,.md-editor .ss-code-block__toggle,.ss-markdown .ss-code-block__copy,.ss-markdown .ss-code-block__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.1);color:#e6edf3;border:1px solid hsla(0,0%,100%,.15);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1}.md-editor .ss-code-block__copy:hover,.md-editor .ss-code-block__toggle:hover,.ss-markdown .ss-code-block__copy:hover,.ss-markdown .ss-code-block__toggle:hover{background:hsla(0,0%,100%,.18)}.md-editor .ss-code-block pre,.ss-markdown .ss-code-block pre{margin:0;padding:12px 14px;background:transparent;color:inherit;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre}.md-editor .ss-code-block pre code,.ss-markdown .ss-code-block pre code{background:transparent;color:inherit;padding:0;font:inherit}.md-editor .ss-code-block__iframe,.ss-markdown .ss-code-block__iframe{display:block;width:100%;height:500px;border:0;background:#fff;vertical-align:top}.ss-markdown :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.ss-markdown a{color:#2563eb;text-decoration:underline}.ss-markdown details{margin:.75em 0}.ss-markdown summary{cursor:pointer;font-weight:600}.md-editor .ProseMirror :not(pre)>code{background:hsla(44,6%,50%,.15);color:#c7254e;padding:1px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.md-mention-menu{background:hsl(var(--background,0 0% 100%));color:var(--foreground,#111);border:1px solid var(--border,#e5e7eb);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);min-width:220px;max-width:320px;overflow:hidden;z-index:1000}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:hsl(var(--ring)/0.5)}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.hover\:\!bg-gray-50:hover{--tw-bg-opacity:1!important;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))!important}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/80:hover{background-color:hsl(var(--accent)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted)/.7)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:hsl(var(--primary))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:via-emerald-400\/10:is(.dark *){--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(52,211,153,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-primary\/10:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--primary)/0.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:via-red-400\/10:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,91%,71%,.1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-emerald-400\/20:is(.dark *){--tw-gradient-to:rgba(52,211,153,.2) var(--tw-gradient-to-position)}.dark\:to-primary\/20:is(.dark *){--tw-gradient-to:hsl(var(--primary)/0.2) var(--tw-gradient-to-position)}.dark\:to-red-400\/20:is(.dark *){--tw-gradient-to:hsla(0,91%,71%,.2) var(--tw-gradient-to-position)}@media (min-width:640px){.sm\:max-w-xs{max-width:20rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:px-4{padding-left:1rem;padding-right:1rem}}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shared/markdown/styles.css","../src/chat-variables/VariablesForm.css"],"sourcesContent":["/* Base editor container */\n.md-editor {\n position: relative;\n}\n\n.ss-attach {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n border-radius: 6px;\n background: color-mix(in srgb, var(--muted), white 80%);\n border: 1px solid var(--border);\n overflow: hidden;\n}\n\n.ss-attach--image {\n padding: 2px;\n}\n\n.ss-attach__img {\n display: block;\n -o-object-fit: contain;\n object-fit: contain;\n}\n\n.md-editor .ProseMirror {\n /* Height controls via CSS variables set on the root element */\n min-height: var(--md-min-height, 1.6em);\n max-height: var(--md-max-height, none);\n overflow: auto; /* will only scroll when max-height is exceeded */\n /* Expose padding as variables for consistent placeholder alignment */\n --md-pad-v: 12px;\n --md-pad-h: 14px;\n padding: var(--md-pad-v) var(--md-pad-h);\n border: 1px solid #e3e3e3;\n border-radius: 10px;\n line-height: 1.6;\n outline: none;\n}\n\n/* Focus ring */\n.md-editor .ProseMirror:focus {\n border-color: #b9d6ff;\n box-shadow: 0 0 0 3px rgba(70, 128, 255, 0.15);\n}\n\n/* Readonly appearance: remove border and padding to blend into bubbles */\n.md-editor.md-editor--readonly .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n}\n\n/* Bare composer appearance (no border or padding regardless of editable) */\n.md-editor.md-editor--bare .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n /* Ensure placeholder aligns to the start of content when bare */\n --md-pad-v: 0px;\n --md-pad-h: 0px;\n}\n\n/* Links (autolinked bare URLs and markdown-syntax links) */\n.md-editor .ProseMirror a {\n color: #2563eb;\n text-decoration: underline;\n cursor: pointer;\n}\n\n/* Read-only: error state for ss-file image attachments. The SsImage renderer\n sets `data-error` when the file resolver hook rejects. */\n.ss-markdown .ss-attach__img[data-error] {\n background: rgba(220, 38, 38, 0.08);\n}\n\n/* Custom inline file-tag */\n.file-tag {\n display: inline-block;\n padding: 0 6px;\n border-radius: 6px;\n border: 1px solid #a7b7e9;\n background: #eef2ff;\n font-size: 0.9em;\n color: #2b3a8a;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text; /* allow selection across it */\n white-space: nowrap;\n}\n\n/* Ghost placeholder for empty editable state */\n.md-editor__ghost {\n position: absolute;\n top: var(--md-pad-v); /* align with ProseMirror padding */\n left: var(--md-pad-h); /* align with ProseMirror padding */\n right: var(--md-pad-h);\n color: #9aa2af;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font: inherit;\n line-height: inherit;\n}\n\n/* Normalize top margin so caret height is consistent when empty */\n.md-editor .ProseMirror > :first-child {\n margin-top: 0;\n}\n\n/* Mention (placeholder) – tweak as desired */\n.mention {\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: 6px;\n padding: 0 6px;\n color: #0369a1;\n}\n\n/* Code block wrapper — shared by the Milkdown editor node view\n (`.md-editor` scope) and the react-markdown read-only renderer\n (`.ss-markdown` scope). Keep selectors in sync. */\n.md-editor .ss-code-block,\n.ss-markdown .ss-code-block {\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n background: #0b1020;\n color: #e6edf3;\n margin: 0.75em 0;\n overflow: hidden;\n}\n\n.md-editor .ss-code-block__header,\n.ss-markdown .ss-code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n background: rgba(255, 255, 255, 0.06);\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n font-size: 12px;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__lang,\n.ss-markdown .ss-code-block__lang {\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: #9ba3af;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n\n.md-editor .ss-code-block__actions,\n.ss-markdown .ss-code-block__actions {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.md-editor .ss-code-block__toggle,\n.md-editor .ss-code-block__copy,\n.ss-markdown .ss-code-block__toggle,\n.ss-markdown .ss-code-block__copy {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: rgba(255, 255, 255, 0.1);\n color: #e6edf3;\n border: 1px solid rgba(255, 255, 255, 0.15);\n border-radius: 6px;\n padding: 4px 10px;\n font-size: 12px;\n cursor: pointer;\n font-family: inherit;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__toggle:hover,\n.md-editor .ss-code-block__copy:hover,\n.ss-markdown .ss-code-block__toggle:hover,\n.ss-markdown .ss-code-block__copy:hover {\n background: rgba(255, 255, 255, 0.18);\n}\n\n.md-editor .ss-code-block pre,\n.ss-markdown .ss-code-block pre {\n margin: 0;\n padding: 12px 14px;\n background: transparent;\n color: inherit;\n overflow-x: auto;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 13px;\n line-height: 1.5;\n white-space: pre;\n}\n\n.md-editor .ss-code-block pre code,\n.ss-markdown .ss-code-block pre code {\n background: transparent;\n color: inherit;\n padding: 0;\n font: inherit;\n}\n\n.md-editor .ss-code-block__iframe,\n.ss-markdown .ss-code-block__iframe {\n display: block;\n width: 100%;\n /* Initial height before the height reporter postMessages in the real size\n (capped in JS by MAX_IFRAME_HEIGHT). */\n height: 500px;\n border: 0;\n background: #ffffff;\n /* Kill the baseline gap under replaced elements (iframe is inline by\n default), which otherwise adds ~4px of empty space below the preview. */\n vertical-align: top;\n}\n\n/* Inline code in read-only messages — matches the Milkdown editor's\n inline code treatment. */\n.ss-markdown :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Read-only: anchors should feel clickable. */\n.ss-markdown a {\n color: #2563eb;\n text-decoration: underline;\n}\n\n/* Read-only: give <details>/<summary> sensible defaults. Most browser UAs\n already render the triangle, but we tidy spacing. */\n.ss-markdown details {\n margin: 0.75em 0;\n}\n\n.ss-markdown summary {\n cursor: pointer;\n font-weight: 600;\n}\n\n/* Inline code */\n.md-editor .ProseMirror :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Mentions popup */\n.md-mention-menu {\n background: hsl(var(--background, 0 0% 100%));\n color: var(--foreground, #111);\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);\n min-width: 220px;\n max-width: 320px;\n overflow: hidden;\n z-index: 1000;\n}\n","/* Horizontal wrap layout for variables (no forced stretching) */\n.jsonforms-compact .ss-jsonforms-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n align-items: flex-start;\n}\n\n/* Each variable is its own flex item */\n.jsonforms-compact .ss-jsonforms-cell {\n flex: 0 0 auto;\n min-width: 0;\n}\n\n/* Let long/tall fields take a full row when present */\n.jsonforms-compact .ss-jsonforms-textarea {\n flex: 1 1 100%;\n}\n\n/* Keep compact fields at a comfortable fixed width */\n.jsonforms-compact .compact-field {\n width: 280px;\n max-width: 100%;\n}\n\n/* On very small screens, let it shrink gracefully */\n@media (max-width: 480px) {\n .jsonforms-compact .compact-field {\n width: 100%; /* full width on phones */\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/shared/markdown/styles.css","../src/chat-variables/VariablesForm.css"],"sourcesContent":["/* Base editor container */\n.md-editor {\n position: relative;\n}\n\n.ss-attach {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n border-radius: 8px;\n background: hsl(var(--muted, 0 0% 96%));\n border: 1px solid hsl(var(--border, 0 0% 89%));\n overflow: hidden;\n min-width: 32px;\n min-height: 32px;\n}\n\n.ss-attach--image {\n padding: 2px;\n}\n\n.ss-attach__img {\n display: block;\n -o-object-fit: contain;\n object-fit: contain;\n border-radius: 6px;\n}\n\n/* Loading spinner overlay shared by Milkdown node view and read-only renderer */\n.ss-attach__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 22px;\n height: 22px;\n margin: -11px 0 0 -11px;\n border-radius: 50%;\n border: 2px solid hsl(var(--muted-foreground, 0 0% 40%) / 0.25);\n border-top-color: hsl(var(--foreground, 0 0% 10%));\n animation: ss-attach-spin 0.7s linear infinite;\n pointer-events: none;\n z-index: 1;\n box-sizing: border-box;\n}\n\n@keyframes ss-attach-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Remove (X) button — only present in editable Milkdown node view. */\n.ss-attach__remove {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 20px;\n height: 20px;\n padding: 0;\n border-radius: 50%;\n border: 1px solid hsl(var(--border, 0 0% 89%));\n background: rgba(255, 255, 255, 0.95);\n color: hsl(var(--muted-foreground, 0 0% 40%));\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n font: inherit;\n opacity: 0;\n transition: opacity 0.15s ease, color 0.15s ease, background 0.15s ease;\n z-index: 2;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);\n}\n\n.ss-attach:hover .ss-attach__remove,\n.ss-attach__remove:focus-visible {\n opacity: 1;\n}\n\n.ss-attach__remove:hover {\n color: #dc2626;\n background: #fff;\n}\n\n.ss-attach__remove svg {\n width: 12px;\n height: 12px;\n display: block;\n}\n\n.md-editor .ProseMirror {\n /* Height controls via CSS variables set on the root element */\n min-height: var(--md-min-height, 1.6em);\n max-height: var(--md-max-height, none);\n overflow: auto; /* will only scroll when max-height is exceeded */\n /* Expose padding as variables for consistent placeholder alignment */\n --md-pad-v: 12px;\n --md-pad-h: 14px;\n padding: var(--md-pad-v) var(--md-pad-h);\n border: 1px solid #e3e3e3;\n border-radius: 10px;\n line-height: 1.6;\n outline: none;\n}\n\n/* Focus ring */\n.md-editor .ProseMirror:focus {\n border-color: #b9d6ff;\n box-shadow: 0 0 0 3px rgba(70, 128, 255, 0.15);\n}\n\n/* Readonly appearance: remove border and padding to blend into bubbles */\n.md-editor.md-editor--readonly .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n}\n\n/* Bare composer appearance (no border or padding regardless of editable) */\n.md-editor.md-editor--bare .ProseMirror {\n border: none;\n padding: 0;\n box-shadow: none;\n /* Ensure placeholder aligns to the start of content when bare */\n --md-pad-v: 0px;\n --md-pad-h: 0px;\n}\n\n/* Links (autolinked bare URLs and markdown-syntax links) */\n.md-editor .ProseMirror a {\n color: #2563eb;\n text-decoration: underline;\n cursor: pointer;\n}\n\n/* Read-only: error state for ss-file image attachments. The SsImage renderer\n sets `data-error` when the file resolver hook rejects. */\n.ss-markdown .ss-attach__img[data-error] {\n background: rgba(220, 38, 38, 0.08);\n}\n\n/* Custom inline file-tag */\n.file-tag {\n display: inline-block;\n padding: 0 6px;\n border-radius: 6px;\n border: 1px solid #a7b7e9;\n background: #eef2ff;\n font-size: 0.9em;\n color: #2b3a8a;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text; /* allow selection across it */\n white-space: nowrap;\n}\n\n/* Ghost placeholder for empty editable state */\n.md-editor__ghost {\n position: absolute;\n top: var(--md-pad-v); /* align with ProseMirror padding */\n left: var(--md-pad-h); /* align with ProseMirror padding */\n right: var(--md-pad-h);\n color: #9aa2af;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font: inherit;\n line-height: inherit;\n}\n\n/* Normalize top margin so caret height is consistent when empty */\n.md-editor .ProseMirror > :first-child {\n margin-top: 0;\n}\n\n/* Mention (placeholder) – tweak as desired */\n.mention {\n background: #f0f9ff;\n border: 1px solid #bae6fd;\n border-radius: 6px;\n padding: 0 6px;\n color: #0369a1;\n}\n\n/* Code block wrapper — shared by the Milkdown editor node view\n (`.md-editor` scope) and the react-markdown read-only renderer\n (`.ss-markdown` scope). Keep selectors in sync. */\n.md-editor .ss-code-block,\n.ss-markdown .ss-code-block {\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n background: #0b1020;\n color: #e6edf3;\n margin: 0.75em 0;\n overflow: hidden;\n}\n\n.md-editor .ss-code-block__header,\n.ss-markdown .ss-code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n background: rgba(255, 255, 255, 0.06);\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n font-size: 12px;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__lang,\n.ss-markdown .ss-code-block__lang {\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: #9ba3af;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n}\n\n.md-editor .ss-code-block__actions,\n.ss-markdown .ss-code-block__actions {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.md-editor .ss-code-block__toggle,\n.md-editor .ss-code-block__copy,\n.ss-markdown .ss-code-block__toggle,\n.ss-markdown .ss-code-block__copy {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: rgba(255, 255, 255, 0.1);\n color: #e6edf3;\n border: 1px solid rgba(255, 255, 255, 0.15);\n border-radius: 6px;\n padding: 4px 10px;\n font-size: 12px;\n cursor: pointer;\n font-family: inherit;\n line-height: 1;\n}\n\n.md-editor .ss-code-block__toggle:hover,\n.md-editor .ss-code-block__copy:hover,\n.ss-markdown .ss-code-block__toggle:hover,\n.ss-markdown .ss-code-block__copy:hover {\n background: rgba(255, 255, 255, 0.18);\n}\n\n.md-editor .ss-code-block pre,\n.ss-markdown .ss-code-block pre {\n margin: 0;\n padding: 12px 14px;\n background: transparent;\n color: inherit;\n overflow-x: auto;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 13px;\n line-height: 1.5;\n white-space: pre;\n}\n\n.md-editor .ss-code-block pre code,\n.ss-markdown .ss-code-block pre code {\n background: transparent;\n color: inherit;\n padding: 0;\n font: inherit;\n}\n\n.md-editor .ss-code-block__iframe,\n.ss-markdown .ss-code-block__iframe {\n display: block;\n width: 100%;\n /* Initial height before the height reporter postMessages in the real size\n (capped in JS by MAX_IFRAME_HEIGHT). */\n height: 500px;\n border: 0;\n background: #ffffff;\n /* Kill the baseline gap under replaced elements (iframe is inline by\n default), which otherwise adds ~4px of empty space below the preview. */\n vertical-align: top;\n}\n\n/* Inline code in read-only messages — matches the Milkdown editor's\n inline code treatment. */\n.ss-markdown :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Read-only: anchors should feel clickable. */\n.ss-markdown a {\n color: #2563eb;\n text-decoration: underline;\n}\n\n/* Read-only: give <details>/<summary> sensible defaults. Most browser UAs\n already render the triangle, but we tidy spacing. */\n.ss-markdown details {\n margin: 0.75em 0;\n}\n\n.ss-markdown summary {\n cursor: pointer;\n font-weight: 600;\n}\n\n/* Inline code */\n.md-editor .ProseMirror :not(pre) > code {\n background: rgba(135, 131, 120, 0.15);\n color: #c7254e;\n padding: 1px 5px;\n border-radius: 4px;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n font-size: 0.9em;\n}\n\n/* Mentions popup */\n.md-mention-menu {\n background: hsl(var(--background, 0 0% 100%));\n color: var(--foreground, #111);\n border: 1px solid var(--border, #e5e7eb);\n border-radius: 8px;\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);\n min-width: 220px;\n max-width: 320px;\n overflow: hidden;\n z-index: 1000;\n}\n","/* Horizontal wrap layout for variables (no forced stretching) */\n.jsonforms-compact .ss-jsonforms-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n align-items: flex-start;\n}\n\n/* Each variable is its own flex item */\n.jsonforms-compact .ss-jsonforms-cell {\n flex: 0 0 auto;\n min-width: 0;\n}\n\n/* Let long/tall fields take a full row when present */\n.jsonforms-compact .ss-jsonforms-textarea {\n flex: 1 1 100%;\n}\n\n/* Keep compact fields at a comfortable fixed width */\n.jsonforms-compact .compact-field {\n width: 280px;\n max-width: 100%;\n}\n\n/* On very small screens, let it shrink gracefully */\n@media (max-width: 480px) {\n .jsonforms-compact .compact-field {\n width: 100%; /* full width on phones */\n }\n}\n"],"mappings":"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","names":[]}
package/dist/index.d.ts CHANGED
@@ -257,22 +257,22 @@ type MentionUser = {
257
257
  type Workspace = {
258
258
  id: string;
259
259
  name: string;
260
- tags?: string[];
261
- showSources?: boolean;
262
- dataSpaces?: unknown[];
260
+ tags: string[];
261
+ showSources: boolean;
262
+ dataSpaces: unknown[];
263
263
  createdByUserId?: string;
264
264
  createdAt?: Date;
265
265
  modifiedByUserId?: string;
266
266
  modifiedAt?: Date;
267
267
  favorited: boolean;
268
- summary?: string;
269
- firstPrompt?: string;
268
+ summary: string;
269
+ firstPrompt: string;
270
270
  outputSchema?: unknown;
271
- isPromptAndResponseLoggingEnabled?: boolean;
272
271
  inputs?: unknown;
272
+ isPromptAndResponseLoggingEnabled: boolean;
273
273
  variables: Variables;
274
274
  sandBoxThreadId?: string;
275
- supportsFiles?: boolean;
275
+ supportsFiles: boolean;
276
276
  avatarName: string;
277
277
  };
278
278
 
@@ -1019,6 +1019,23 @@ declare function unmarkDraftThreadId(threadId: string): void;
1019
1019
  declare function isDraftThreadId(threadId?: string | null): boolean;
1020
1020
  declare function createDraftThreadId(): string;
1021
1021
 
1022
+ /**
1023
+ * Treat an API date string as UTC even when it lacks a trailing "Z".
1024
+ * If already a Date, returns it as-is (Date stores UTC internally).
1025
+ */
1026
+ declare function utcDate(value: string | Date): Date;
1027
+ /**
1028
+ * Zod schema that coerces a Date, ISO string, or numeric timestamp
1029
+ * from the API into a Date object, ensuring timezone-less strings
1030
+ * are treated as UTC.
1031
+ */
1032
+ declare const DateFromApi: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodCoercedDate<unknown>>;
1033
+
1034
+ declare function parseDateTime(date: Date | string, customFormat?: string): string;
1035
+ declare function parseDateTimeHuman(date: Date | string): string;
1036
+
1037
+ declare function getUserPhotoUrl(userId: string | null | undefined): string | undefined;
1038
+
1022
1039
  declare const messagesKeys: {
1023
1040
  all: readonly ["messages"];
1024
1041
  lists: () => readonly ["messages", "list"];
@@ -1147,11 +1164,7 @@ declare const messagesListOptions: (service: ChatService, threadId: string, opts
1147
1164
  [dataTagErrorSymbol]: Error;
1148
1165
  };
1149
1166
  };
1150
- declare function useMessages(threadId: string, opts?: {
1151
- take?: number;
1152
- skip?: number;
1153
- skipWhenNewThread?: boolean;
1154
- }): _tanstack_react_query.UseQueryResult<Message[], Error>;
1167
+ declare function useMessages(threadId: string): _tanstack_react_query.UseQueryResult<Message[], Error>;
1155
1168
 
1156
1169
  declare const useFileMutations: (scope: FileScope) => {
1157
1170
  uploadFilesMutation: _tanstack_react_query.UseMutationResult<FileInfo$1[], Error, File[], unknown>;
@@ -1305,4 +1318,4 @@ declare function useModels({ search, take, skip, }?: {
1305
1318
  total: number;
1306
1319
  }, Error>;
1307
1320
 
1308
- export { type ChatContextIds, type ChatIdentity, ChatProvider, type ChatProviderProps, type ChatService, ChatVariablesForm, DRAFT_THREAD_PREFIX, type FileInfo$1 as FileInfo, type FileScope, type FlowRunVariables, MarkdownEditor, type MarkdownEditorHandle, type MentionUser, type Message, MessageComposer, type MessageComposerProps, type MessageContentItem, type MessageError, MessageList, type MessageListProps, MessageListSkeleton, MessageMarkdown, type MessageThread, type MessageValue, MessageValueType, type Model, type ModelProperty, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, type ThreadsResponse, type Variables, type Workspace, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, workspaceDetailOptions, workspaceKeys };
1321
+ export { type ChatContextIds, type ChatIdentity, ChatProvider, type ChatProviderProps, type ChatService, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, type FileInfo$1 as FileInfo, type FileScope, type FlowRunVariables, MarkdownEditor, type MarkdownEditorHandle, type MentionUser, type Message, MessageComposer, type MessageComposerProps, type MessageContentItem, type MessageError, MessageList, type MessageListProps, MessageListSkeleton, MessageMarkdown, type MessageThread, type MessageValue, MessageValueType, type Model, type ModelProperty, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, type ThreadsResponse, type Variables, type Workspace, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
package/dist/index.js CHANGED
@@ -127,6 +127,7 @@ var filesKeys = {
127
127
  var useFileMutations = (scope) => {
128
128
  const { workspaceId, threadId } = scope;
129
129
  const service = useChatService();
130
+ const queryClient = useQueryClient();
130
131
  const [uploadedFiles, setUploadedFiles] = useState([]);
131
132
  const [fileProgress, setFileProgress] = useState({});
132
133
  const clearUploadState = useCallback(() => {
@@ -185,11 +186,19 @@ var useFileMutations = (scope) => {
185
186
  status: uploadedFiles.some((f) => f.name === file.name) ? "done" : "uploading"
186
187
  }));
187
188
  const getFileBlobUrl = useCallback(
188
- async (id) => {
189
- const blob = await service.downloadFile(id, { workspaceId, threadId });
190
- return URL.createObjectURL(blob);
191
- },
192
- [service, workspaceId, threadId]
189
+ (id) => queryClient.fetchQuery({
190
+ queryKey: filesKeys.downloadBlob(id),
191
+ queryFn: async () => {
192
+ const blob = await service.downloadFile(id, {
193
+ workspaceId,
194
+ threadId
195
+ });
196
+ return URL.createObjectURL(blob);
197
+ },
198
+ staleTime: Infinity,
199
+ gcTime: Infinity
200
+ }),
201
+ [queryClient, service, workspaceId, threadId]
193
202
  );
194
203
  return {
195
204
  uploadFilesMutation,
@@ -871,7 +880,7 @@ var ssImageView = $view(ssImageNode, (ctx) => (node2) => {
871
880
  removeBtn.type = "button";
872
881
  removeBtn.className = "ss-attach__remove";
873
882
  removeBtn.setAttribute("aria-label", "Remove image");
874
- removeBtn.textContent = "\xD7";
883
+ removeBtn.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg>';
875
884
  removeBtn.addEventListener("mousedown", (e) => {
876
885
  e.preventDefault();
877
886
  e.stopPropagation();
@@ -890,16 +899,19 @@ var ssImageView = $view(ssImageNode, (ctx) => (node2) => {
890
899
  }
891
900
  });
892
901
  img.style.background = "rgba(0,0,0,0.04)";
902
+ img.style.visibility = "hidden";
893
903
  let hasSetRealSrc = false;
894
904
  img.addEventListener("load", () => {
895
905
  if (!hasSetRealSrc) return;
896
906
  spinner.remove();
897
907
  img.style.background = "";
908
+ img.style.visibility = "";
898
909
  });
899
910
  img.addEventListener("error", () => {
900
911
  if (!hasSetRealSrc) return;
901
912
  spinner.remove();
902
913
  img.style.background = "rgba(255,0,0,0.06)";
914
+ img.style.visibility = "";
903
915
  });
904
916
  try {
905
917
  const anyWin = window;
@@ -3310,7 +3322,7 @@ function utcDate(value) {
3310
3322
  }
3311
3323
  return new Date(value);
3312
3324
  }
3313
- z.preprocess((val) => {
3325
+ var DateFromApi = z.preprocess((val) => {
3314
3326
  if (typeof val === "string" && !hasTimezone(val)) {
3315
3327
  return val + "Z";
3316
3328
  }
@@ -3818,11 +3830,13 @@ function MessageComposer({
3818
3830
  workspaceId,
3819
3831
  threadId: isDraftThread ? void 0 : threadId
3820
3832
  });
3821
- if (typeof window !== "undefined") {
3822
- window.__ssDownloadFile = async (id) => {
3823
- return await getFileBlobUrl(id);
3833
+ useEffect(() => {
3834
+ if (typeof window === "undefined") return;
3835
+ window.__ssDownloadFile = (id) => getFileBlobUrl(id);
3836
+ return () => {
3837
+ if (window.__ssDownloadFile) delete window.__ssDownloadFile;
3824
3838
  };
3825
- }
3839
+ }, [getFileBlobUrl]);
3826
3840
  const onUploadFiles = async (files) => {
3827
3841
  const res = await uploadFilesMutation.mutateAsync(files);
3828
3842
  return res.map(({ id, name }) => ({ id, name }));
@@ -4245,15 +4259,13 @@ var messagesListOptions = (service, threadId, opts) => queryOptions({
4245
4259
  // Avoid re-fetching the entire thread on every small navigation.
4246
4260
  staleTime: 3e4
4247
4261
  });
4248
- function useMessages(threadId, opts) {
4262
+ function useMessages(threadId) {
4249
4263
  const service = useChatService();
4250
4264
  const isDraft = isDraftThreadId(threadId);
4251
- const skipFetch = opts?.skipWhenNewThread || !threadId || isDraft;
4252
- const listOpts = opts?.take != null || opts?.skip != null ? { take: opts.take, skip: opts.skip } : void 0;
4253
4265
  return useQuery({
4254
- ...messagesListOptions(service, threadId, listOpts),
4255
- enabled: !opts?.skipWhenNewThread && !!threadId && !isDraft,
4256
- initialData: skipFetch ? [] : void 0
4266
+ ...messagesListOptions(service, threadId),
4267
+ enabled: !!threadId && !isDraft,
4268
+ initialData: !threadId || isDraft ? [] : void 0
4257
4269
  });
4258
4270
  }
4259
4271
 
@@ -18760,7 +18772,8 @@ function SsImage(props) {
18760
18772
  alt: alt ?? "",
18761
18773
  title,
18762
18774
  width: finalWidth,
18763
- height: finalHeight
18775
+ height: finalHeight,
18776
+ style: !resolvedSrc && !errored ? { visibility: "hidden" } : void 0
18764
18777
  }
18765
18778
  )
18766
18779
  ]
@@ -19086,14 +19099,20 @@ dayjs.extend(relativeTime);
19086
19099
  dayjs.extend(advancedFormat);
19087
19100
  function parseDateTime(date, customFormat) {
19088
19101
  const d = dayjs.utc(date).local();
19089
- return d.format(customFormat);
19102
+ if (customFormat === "X") return Math.floor(d.valueOf() / 1e3).toString();
19103
+ if (customFormat === "x") return d.valueOf().toString();
19104
+ return d.format(customFormat ?? "YYYY-MM-DD HH:mm:ss");
19105
+ }
19106
+ function parseDateTimeHuman(date) {
19107
+ return dayjs.utc(date).local().fromNow();
19090
19108
  }
19091
19109
 
19092
19110
  // src/shared/utils/userPhoto.ts
19093
19111
  function getChatApiBaseUrl() {
19094
19112
  try {
19095
19113
  const w = window;
19096
- const cfg = w?.ssconfig?.Chat_Api_Uri ?? import.meta.env.VITE_CHAT_API_URI;
19114
+ const env2 = import.meta.env;
19115
+ const cfg = w?.ssconfig?.Chat_Api_Uri ?? env2?.VITE_CHAT_API_URI;
19097
19116
  return typeof cfg === "string" && cfg.trim() ? cfg.trim() : "";
19098
19117
  } catch {
19099
19118
  return "";
@@ -20126,26 +20145,28 @@ function mapWorkspaceDtoToModel(dto) {
20126
20145
  id: dto.id ?? "",
20127
20146
  name: dto.name ?? "",
20128
20147
  tags: dto.tags ?? [],
20129
- showSources: dto.showSources ?? void 0,
20130
- dataSpaces: Array.isArray(dto.dataSpaces) ? dto.dataSpaces : void 0,
20148
+ showSources: truthy(dto.showSources),
20149
+ dataSpaces: Array.isArray(dto.dataSpaces) ? dto.dataSpaces : [],
20131
20150
  createdByUserId: dto.createdByUserId ?? void 0,
20132
20151
  createdAt: dto.createdAt != null ? utcDate(dto.createdAt) : void 0,
20133
20152
  modifiedByUserId: dto.modifiedByUserId ?? void 0,
20134
20153
  modifiedAt: dto.modifiedAt != null ? utcDate(dto.modifiedAt) : void 0,
20135
20154
  favorited: truthy(dto.favorited),
20136
- summary: dto.summary ?? void 0,
20137
- firstPrompt: dto.firstPrompt ?? void 0,
20155
+ summary: dto.summary ?? "",
20156
+ firstPrompt: dto.firstPrompt ?? "",
20138
20157
  outputSchema: dto.outputSchema ?? void 0,
20139
- isPromptAndResponseLoggingEnabled: dto.isPromptAndResponseLoggingEnabled ?? void 0,
20140
20158
  inputs: dto.inputs ?? void 0,
20159
+ isPromptAndResponseLoggingEnabled: truthy(
20160
+ dto.isPromptAndResponseLoggingEnabled
20161
+ ),
20141
20162
  variables,
20142
20163
  sandBoxThreadId: dto.sandBoxThreadId ?? void 0,
20143
- supportsFiles: dto.supportsFiles ?? void 0,
20164
+ supportsFiles: truthy(dto.supportsFiles),
20144
20165
  avatarName: computeAvatar(dto.name ?? "")
20145
20166
  };
20146
20167
  }
20147
20168
  var mapWorkspacesDtoToModels = (arr) => arr.map(mapWorkspaceDtoToModel);
20148
20169
 
20149
- export { ChatProvider, ChatVariablesForm, DRAFT_THREAD_PREFIX, MarkdownEditor, MessageComposer, MessageList, MessageListSkeleton, MessageMarkdown, MessageValueType, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, workspaceDetailOptions, workspaceKeys };
20170
+ export { ChatProvider, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, MarkdownEditor, MessageComposer, MessageList, MessageListSkeleton, MessageMarkdown, MessageValueType, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
20150
20171
  //# sourceMappingURL=index.js.map
20151
20172
  //# sourceMappingURL=index.js.map