@usecrow/ui 0.1.1 → 0.1.3
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.cjs +194 -137
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +195 -138
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/styles.css +0 -3
package/dist/index.cjs
CHANGED
|
@@ -32,6 +32,26 @@ var React3__default = /*#__PURE__*/_interopDefault(React3);
|
|
|
32
32
|
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
33
33
|
var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
|
|
34
34
|
|
|
35
|
+
// src/styles/inject.ts
|
|
36
|
+
var STYLE_ID = "crow-ui-styles";
|
|
37
|
+
var CSS_CONTENT = `*,: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: }
|
|
38
|
+
|
|
39
|
+
/*! 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}.crow-pointer-events-none{pointer-events:none}.crow-pointer-events-auto{pointer-events:auto}.crow-fixed{position:fixed}.crow-absolute{position:absolute}.crow-relative{position:relative}.crow-sticky{position:sticky}.crow-bottom-0{bottom:0}.crow-bottom-full{bottom:100%}.crow-left-0{left:0}.crow-right-0{right:0}.crow-top-0{top:0}.crow-z-50{z-index:50}.crow-z-\\[999999\\]{z-index:999999}.crow-m-0{margin:0}.crow-my-1{margin-top:.25rem}.crow-mb-1,.crow-my-1{margin-bottom:.25rem}.crow-mb-2{margin-bottom:.5rem}.crow-mb-3{margin-bottom:.75rem}.crow-ml-0{margin-left:0}.crow-ml-0\\.5{margin-left:.125rem}.crow-ml-2{margin-left:.5rem}.crow-ml-4{margin-left:1rem}.crow-mt-0{margin-top:0}.crow-mt-0\\.5{margin-top:.125rem}.crow-mt-1{margin-top:.25rem}.crow-mt-2{margin-top:.5rem}.crow-mt-auto{margin-top:auto}.crow-inline-block{display:inline-block}.crow-flex{display:flex}.crow-inline-flex{display:inline-flex}.crow-h-10{height:2.5rem}.crow-h-12{height:3rem}.crow-h-2{height:.5rem}.crow-h-3{height:.75rem}.crow-h-3\\.5{height:.875rem}.crow-h-4{height:1rem}.crow-h-7{height:1.75rem}.crow-h-8{height:2rem}.crow-h-full{height:100%}.crow-max-h-32{max-height:8rem}.crow-max-h-\\[200px\\]{max-height:200px}.crow-min-h-0{min-height:0}.crow-min-h-\\[32px\\]{min-height:32px}.crow-w-0{width:0}.crow-w-0\\.5{width:.125rem}.crow-w-2{width:.5rem}.crow-w-3{width:.75rem}.crow-w-3\\.5{width:.875rem}.crow-w-4{width:1rem}.crow-w-7{width:1.75rem}.crow-w-8{width:2rem}.crow-w-full{width:100%}.crow-min-w-0{min-width:0}.crow-min-w-\\[180px\\]{min-width:180px}.crow-max-w-\\[80\\%\\]{max-width:80%}.crow-max-w-\\[90\\%\\]{max-width:90%}.crow-max-w-full{max-width:100%}.crow-flex-1{flex:1 1 0%}.crow-flex-shrink-0{flex-shrink:0}.crow-rotate-180{--tw-rotate:180deg}.crow-rotate-180,.crow-scale-100{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))}.crow-scale-100{--tw-scale-x:1;--tw-scale-y:1}.crow-scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;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))}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-pulse{animation:crow-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}@keyframes crow-spin{to{transform:rotate(1turn)}}.crow-animate-spin{animation:crow-spin 1s linear infinite}.crow-cursor-default{cursor:default}.crow-cursor-not-allowed{cursor:not-allowed}.crow-cursor-pointer{cursor:pointer}.crow-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.crow-resize-none{resize:none}.crow-list-decimal{list-style-type:decimal}.crow-list-disc{list-style-type:disc}.crow-flex-row{flex-direction:row}.crow-flex-col{flex-direction:column}.crow-items-start{align-items:flex-start}.crow-items-end{align-items:flex-end}.crow-items-center{align-items:center}.crow-justify-start{justify-content:flex-start}.crow-justify-end{justify-content:flex-end}.crow-justify-center{justify-content:center}.crow-justify-between{justify-content:space-between}.crow-gap-1{gap:.25rem}.crow-gap-1\\.5{gap:.375rem}.crow-gap-2{gap:.5rem}.crow-gap-3{gap:.75rem}.crow-gap-4{gap:1rem}.crow-gap-6{gap:1.5rem}.crow-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))}.crow-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.crow-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))}.crow-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))}.crow-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.crow-overflow-hidden{overflow:hidden}.crow-overflow-visible{overflow:visible}.crow-overflow-x-auto{overflow-x:auto}.crow-overflow-y-auto{overflow-y:auto}.crow-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow-whitespace-pre-wrap{white-space:pre-wrap}.crow-break-words{overflow-wrap:break-word}.crow-rounded{border-radius:.25rem}.crow-rounded-2xl{border-radius:1rem}.crow-rounded-3xl{border-radius:1.5rem}.crow-rounded-full{border-radius:9999px}.crow-rounded-lg{border-radius:.5rem}.crow-rounded-md{border-radius:.375rem}.crow-rounded-xl{border-radius:.75rem}.crow-border{border-width:1px}.crow-border-b{border-bottom-width:1px}.crow-border-l{border-left-width:1px}.crow-border-l-2{border-left-width:2px}.crow-border-r{border-right-width:1px}.crow-border-t{border-top-width:1px}.crow-border-none{border-style:none}.crow-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.crow-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.crow-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.crow-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.crow-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.crow-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.crow-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.crow-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.crow-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.crow-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.crow-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.crow-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.crow-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.crow-bg-transparent{background-color:transparent}.crow-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.crow-p-0{padding:0}.crow-p-1{padding:.25rem}.crow-p-1\\.5{padding:.375rem}.crow-p-2{padding:.5rem}.crow-p-3{padding:.75rem}.crow-p-4{padding:1rem}.crow-p-6{padding:1.5rem}.crow-px-1{padding-left:.25rem;padding-right:.25rem}.crow-px-2{padding-left:.5rem;padding-right:.5rem}.crow-px-3{padding-left:.75rem;padding-right:.75rem}.crow-px-4{padding-left:1rem;padding-right:1rem}.crow-px-6{padding-left:1.5rem;padding-right:1.5rem}.crow-py-0{padding-top:0;padding-bottom:0}.crow-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.crow-py-1{padding-top:.25rem;padding-bottom:.25rem}.crow-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.crow-py-2{padding-top:.5rem;padding-bottom:.5rem}.crow-py-3{padding-top:.75rem;padding-bottom:.75rem}.crow-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.crow-py-8{padding-top:2rem;padding-bottom:2rem}.crow-pb-2{padding-bottom:.5rem}.crow-pl-3{padding-left:.75rem}.crow-pl-4{padding-left:1rem}.crow-pl-5{padding-left:1.25rem}.crow-pr-4{padding-right:1rem}.crow-pt-1{padding-top:.25rem}.crow-text-left{text-align:left}.crow-text-center{text-align:center}.crow-text-right{text-align:right}.crow-align-text-bottom{vertical-align:text-bottom}.crow-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.crow-text-base{font-size:1rem;line-height:1.5rem}.crow-text-lg{font-size:1.125rem;line-height:1.75rem}.crow-text-sm{font-size:.875rem;line-height:1.25rem}.crow-text-xs{font-size:.75rem;line-height:1rem}.crow-font-bold{font-weight:700}.crow-font-medium{font-weight:500}.crow-font-semibold{font-weight:600}.crow-uppercase{text-transform:uppercase}.crow-leading-relaxed{line-height:1.625}.crow-tracking-wide{letter-spacing:.025em}.crow-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.crow-text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.crow-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.crow-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.crow-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.crow-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.crow-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.crow-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.crow-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.crow-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.crow-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.crow-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.crow-underline{text-decoration-line:underline}.crow-opacity-0{opacity:0}.crow-opacity-100{opacity:1}.crow-opacity-50{opacity:.5}.crow-opacity-60{opacity:.6}.crow-shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.crow-shadow-2xl,.crow-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-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)}.crow-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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.crow-backdrop-blur-md,.crow-backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.crow-backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.crow-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}.crow-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-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}.crow-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-duration-150{transition-duration:.15s}.crow-duration-200{transition-duration:.2s}.crow-duration-300{transition-duration:.3s}.crow-duration-500{transition-duration:.5s}.crow-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}.crow-animate-pulse{animation:crow-pulse 1.5s ease-in-out infinite}.crow-animation-delay-100{animation-delay:.1s}.crow-animation-delay-200{animation-delay:.2s}@keyframes crow-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes crow-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes crow-pulse{0%,to{opacity:1}50%{opacity:.4}}.crow-overflow-y-auto::-webkit-scrollbar{width:6px}.crow-overflow-y-auto::-webkit-scrollbar-track{background:transparent}.crow-overflow-y-auto::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.crow-overflow-y-auto::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.crow-focus-visible\\:crow-outline-none:focus-visible{outline:none}.crow-focus-visible\\:crow-ring-2:focus-visible{box-shadow:0 0 0 2px var(--crow-primary,#6366f1)}:root{--crow-primary:#6366f1;--crow-primary-dark:#4f46e5;--crow-secondary:#f1f5f9;--crow-accent:#10b981}@media (prefers-color-scheme:dark){:root{--crow-primary:#818cf8;--crow-primary-dark:#6366f1}}.placeholder\\:crow-text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\\:crow-text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.last\\:crow-mb-0:last-child{margin-bottom:0}.last\\:crow-border-0:last-child{border-width:0}.hover\\:crow-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;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))}.hover\\:crow-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\\:crow-bg-white\\/80:hover{background-color:hsla(0,0%,100%,.8)}.hover\\:crow-text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\\:crow-opacity-100:hover{opacity:1}.focus\\:crow-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:crow-ring-0:focus{--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(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-0:focus,.focus\\:crow-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:crow-ring-2:focus{--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)}.focus\\:crow-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:crow-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:crow-ring-0: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(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)}.disabled\\:crow-pointer-events-none:disabled{pointer-events:none}.disabled\\:crow-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:crow-opacity-50:disabled{opacity:.5}`;
|
|
40
|
+
var injected = false;
|
|
41
|
+
function injectStyles() {
|
|
42
|
+
if (injected || typeof document === "undefined") return;
|
|
43
|
+
if (document.getElementById(STYLE_ID)) {
|
|
44
|
+
injected = true;
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const style = document.createElement("style");
|
|
48
|
+
style.id = STYLE_ID;
|
|
49
|
+
style.textContent = CSS_CONTENT;
|
|
50
|
+
document.head.appendChild(style);
|
|
51
|
+
injected = true;
|
|
52
|
+
}
|
|
53
|
+
injectStyles();
|
|
54
|
+
|
|
35
55
|
// src/utils.ts
|
|
36
56
|
var cn = (...classes) => classes.filter(Boolean).join(" ");
|
|
37
57
|
var formatTime = (date) => date.toLocaleTimeString("en-US", {
|
|
@@ -667,7 +687,10 @@ var DEFAULT_WIDGET_STYLES = {
|
|
|
667
687
|
typography: {
|
|
668
688
|
fontFamily: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
669
689
|
fontSize: 14,
|
|
670
|
-
headerFontSize: 16
|
|
690
|
+
headerFontSize: 16,
|
|
691
|
+
fontWeight: 400,
|
|
692
|
+
lineHeight: 1.5,
|
|
693
|
+
letterSpacing: 0
|
|
671
694
|
},
|
|
672
695
|
// ═══════════════════════════════════════════════════════════
|
|
673
696
|
// ANIMATIONS
|
|
@@ -682,7 +705,6 @@ var DEFAULT_WIDGET_STYLES = {
|
|
|
682
705
|
dimensions: {
|
|
683
706
|
width: 400,
|
|
684
707
|
maxHeight: 600,
|
|
685
|
-
previewHeight: 700,
|
|
686
708
|
messagesMaxHeight: 350,
|
|
687
709
|
borderRadius: 24,
|
|
688
710
|
padding: 20
|
|
@@ -745,7 +767,10 @@ var DEFAULT_COPILOT_STYLES = {
|
|
|
745
767
|
typography: {
|
|
746
768
|
fontFamily: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
747
769
|
fontSize: 14,
|
|
748
|
-
headerFontSize: 16
|
|
770
|
+
headerFontSize: 16,
|
|
771
|
+
fontWeight: 400,
|
|
772
|
+
lineHeight: 1.5,
|
|
773
|
+
letterSpacing: 0
|
|
749
774
|
},
|
|
750
775
|
// ═══════════════════════════════════════════════════════════
|
|
751
776
|
// ANIMATIONS
|
|
@@ -865,6 +890,9 @@ function stylesToCSSVariables(styles2) {
|
|
|
865
890
|
"--crow-font-family": styles2.typography.fontFamily,
|
|
866
891
|
"--crow-font-size": `${styles2.typography.fontSize}px`,
|
|
867
892
|
"--crow-header-font-size": `${styles2.typography.headerFontSize}px`,
|
|
893
|
+
"--crow-font-weight": `${styles2.typography.fontWeight}`,
|
|
894
|
+
"--crow-line-height": `${styles2.typography.lineHeight}`,
|
|
895
|
+
"--crow-letter-spacing": `${styles2.typography.letterSpacing}px`,
|
|
868
896
|
// Animations
|
|
869
897
|
"--crow-animation-duration": `${styles2.animations.duration}s`,
|
|
870
898
|
"--crow-animation-easing": styles2.animations.easing
|
|
@@ -1066,7 +1094,7 @@ function ChatBubble({ isExpanded, onClick }) {
|
|
|
1066
1094
|
"button",
|
|
1067
1095
|
{
|
|
1068
1096
|
onClick,
|
|
1069
|
-
className: "fixed z-[999999] rounded-full flex items-center justify-center shadow-2xl hover:scale-110 transition-all duration-500 border
|
|
1097
|
+
className: "crow-fixed crow-z-[999999] crow-rounded-full crow-flex crow-items-center crow-justify-center crow-shadow-2xl hover:crow-scale-110 crow-transition-all crow-duration-500 crow-border crow-backdrop-blur-md",
|
|
1070
1098
|
style: {
|
|
1071
1099
|
width: styles2.bubble.size,
|
|
1072
1100
|
height: styles2.bubble.size,
|
|
@@ -1089,9 +1117,10 @@ var GlassCard = React3.forwardRef(
|
|
|
1089
1117
|
{
|
|
1090
1118
|
ref,
|
|
1091
1119
|
className: cn(
|
|
1092
|
-
"
|
|
1120
|
+
"crow-border crow-flex crow-flex-col crow-gap-6 crow-rounded-2xl crow-py-6 crow-backdrop-blur-md",
|
|
1093
1121
|
className
|
|
1094
1122
|
),
|
|
1123
|
+
style: { background: "rgba(255, 255, 255, 0.3)", borderColor: "rgba(229, 231, 235, 0.3)", ...props.style },
|
|
1095
1124
|
...props,
|
|
1096
1125
|
children
|
|
1097
1126
|
}
|
|
@@ -1099,9 +1128,27 @@ var GlassCard = React3.forwardRef(
|
|
|
1099
1128
|
}
|
|
1100
1129
|
);
|
|
1101
1130
|
GlassCard.displayName = "GlassCard";
|
|
1131
|
+
var GOOGLE_FONTS_MAP = {
|
|
1132
|
+
'"Inter", sans-serif': "Inter:wght@300;400;500;600;700",
|
|
1133
|
+
'"Roboto", sans-serif': "Roboto:wght@300;400;500;700",
|
|
1134
|
+
'"Open Sans", sans-serif': "Open+Sans:wght@300;400;500;600;700",
|
|
1135
|
+
'"Poppins", sans-serif': "Poppins:wght@300;400;500;600;700",
|
|
1136
|
+
'"Montserrat", sans-serif': "Montserrat:wght@300;400;500;600;700"
|
|
1137
|
+
};
|
|
1102
1138
|
var WidgetShell = React3.forwardRef(
|
|
1103
1139
|
({ children, className }, ref) => {
|
|
1104
1140
|
const { styles: styles2, variant } = useWidgetStyleContext();
|
|
1141
|
+
React3.useEffect(() => {
|
|
1142
|
+
const fontParam = GOOGLE_FONTS_MAP[styles2.typography.fontFamily];
|
|
1143
|
+
if (!fontParam) return;
|
|
1144
|
+
const linkId = `crow-google-font-${fontParam.split(":")[0]}`;
|
|
1145
|
+
if (document.getElementById(linkId)) return;
|
|
1146
|
+
const link = document.createElement("link");
|
|
1147
|
+
link.id = linkId;
|
|
1148
|
+
link.rel = "stylesheet";
|
|
1149
|
+
link.href = `https://fonts.googleapis.com/css2?family=${fontParam}&display=swap`;
|
|
1150
|
+
document.head.appendChild(link);
|
|
1151
|
+
}, [styles2.typography.fontFamily]);
|
|
1105
1152
|
const baseStyle = {
|
|
1106
1153
|
borderRadius: styles2.dimensions.borderRadius,
|
|
1107
1154
|
padding: styles2.dimensions.padding,
|
|
@@ -1110,18 +1157,21 @@ var WidgetShell = React3.forwardRef(
|
|
|
1110
1157
|
color: styles2.colors.text,
|
|
1111
1158
|
boxShadow: styles2.shadows.widget,
|
|
1112
1159
|
fontFamily: styles2.typography.fontFamily,
|
|
1113
|
-
fontSize: styles2.typography.fontSize
|
|
1160
|
+
fontSize: styles2.typography.fontSize,
|
|
1161
|
+
fontWeight: styles2.typography.fontWeight,
|
|
1162
|
+
lineHeight: styles2.typography.lineHeight,
|
|
1163
|
+
letterSpacing: styles2.typography.letterSpacing
|
|
1114
1164
|
};
|
|
1115
1165
|
if (variant === "embedded") {
|
|
1116
1166
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1117
1167
|
GlassCard,
|
|
1118
1168
|
{
|
|
1119
1169
|
ref,
|
|
1120
|
-
className: `flex flex-col shadow-2xl gap-3
|
|
1170
|
+
className: `crow-flex crow-flex-col crow-shadow-2xl crow-gap-3 ${className ?? ""}`,
|
|
1121
1171
|
style: {
|
|
1122
1172
|
...baseStyle,
|
|
1123
|
-
|
|
1124
|
-
|
|
1173
|
+
width: `min(${styles2.dimensions.width}px, calc(100vw - 32px))`,
|
|
1174
|
+
height: `min(${styles2.dimensions.maxHeight}px, calc(100vh - 120px))`
|
|
1125
1175
|
},
|
|
1126
1176
|
children
|
|
1127
1177
|
}
|
|
@@ -1131,7 +1181,7 @@ var WidgetShell = React3.forwardRef(
|
|
|
1131
1181
|
GlassCard,
|
|
1132
1182
|
{
|
|
1133
1183
|
ref,
|
|
1134
|
-
className: `fixed z-[999999] shadow-2xl gap-3 transition-all duration-500 flex flex-col ${className ?? ""}`,
|
|
1184
|
+
className: `crow-fixed crow-z-[999999] crow-shadow-2xl crow-gap-3 crow-transition-all crow-duration-500 crow-flex crow-flex-col ${className ?? ""}`,
|
|
1135
1185
|
style: {
|
|
1136
1186
|
...baseStyle,
|
|
1137
1187
|
width: `min(${styles2.dimensions.width}px, calc(100vw - 32px))`,
|
|
@@ -1158,13 +1208,13 @@ function WidgetHeader({
|
|
|
1158
1208
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1159
1209
|
"div",
|
|
1160
1210
|
{
|
|
1161
|
-
className: "flex items-center justify-between mb-3 pb-2 border-b",
|
|
1211
|
+
className: "crow-flex crow-items-center crow-justify-between crow-mb-3 crow-pb-2 crow-border-b",
|
|
1162
1212
|
style: { borderColor: styles2.colors.border },
|
|
1163
1213
|
children: [
|
|
1164
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1214
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-items-center crow-gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1165
1215
|
"span",
|
|
1166
1216
|
{
|
|
1167
|
-
className: "text-sm font-semibold",
|
|
1217
|
+
className: "crow-text-sm crow-font-semibold",
|
|
1168
1218
|
style: {
|
|
1169
1219
|
color: styles2.colors.text,
|
|
1170
1220
|
fontSize: styles2.typography.headerFontSize
|
|
@@ -1172,34 +1222,34 @@ function WidgetHeader({
|
|
|
1172
1222
|
children: agentName
|
|
1173
1223
|
}
|
|
1174
1224
|
) }),
|
|
1175
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1225
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-gap-1", children: [
|
|
1176
1226
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1177
1227
|
"button",
|
|
1178
1228
|
{
|
|
1179
1229
|
onClick: onNewChat,
|
|
1180
|
-
className: "p-1.5 hover:bg-gray-200 rounded transition-colors",
|
|
1230
|
+
className: "crow-p-1.5 hover:crow-bg-gray-200 crow-rounded crow-transition-colors",
|
|
1181
1231
|
"aria-label": "New Chat",
|
|
1182
1232
|
title: "New Chat",
|
|
1183
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { size: 18, className: "text-gray-700" })
|
|
1233
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { size: 18, className: "crow-text-gray-700" })
|
|
1184
1234
|
}
|
|
1185
1235
|
),
|
|
1186
1236
|
isVerifiedUser && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1187
1237
|
"button",
|
|
1188
1238
|
{
|
|
1189
1239
|
onClick: onToggleHistory,
|
|
1190
|
-
className: `p-1.5 hover:bg-gray-200 rounded transition-colors ${showConversationList ? "bg-gray-200" : ""}`,
|
|
1240
|
+
className: `crow-p-1.5 hover:crow-bg-gray-200 crow-rounded crow-transition-colors ${showConversationList ? "crow-bg-gray-200" : ""}`,
|
|
1191
1241
|
"aria-label": "Conversation History",
|
|
1192
1242
|
title: "Conversation History",
|
|
1193
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { size: 18, className: "text-gray-700" })
|
|
1243
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { size: 18, className: "crow-text-gray-700" })
|
|
1194
1244
|
}
|
|
1195
1245
|
),
|
|
1196
1246
|
showMinimize && onToggleMinimize && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1197
1247
|
"button",
|
|
1198
1248
|
{
|
|
1199
1249
|
onClick: onToggleMinimize,
|
|
1200
|
-
className: "p-1 hover:bg-gray-200 rounded transition-colors",
|
|
1250
|
+
className: "crow-p-1 hover:crow-bg-gray-200 crow-rounded crow-transition-colors",
|
|
1201
1251
|
"aria-label": isMinimized ? "Expand" : "Minimize",
|
|
1202
|
-
children: isMinimized ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 18, className: "text-gray-900" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 18, className: "text-gray-900" })
|
|
1252
|
+
children: isMinimized ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 18, className: "crow-text-gray-900" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 18, className: "crow-text-gray-900" })
|
|
1203
1253
|
}
|
|
1204
1254
|
)
|
|
1205
1255
|
] })
|
|
@@ -1216,16 +1266,16 @@ function StreamingText({
|
|
|
1216
1266
|
ReactMarkdown__default.default,
|
|
1217
1267
|
{
|
|
1218
1268
|
components: {
|
|
1219
|
-
strong: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-bold", children }),
|
|
1220
|
-
ul: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-disc pl-5 my-1", children }),
|
|
1221
|
-
ol: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "list-decimal pl-5 my-1", children }),
|
|
1222
|
-
li: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("li", {
|
|
1223
|
-
p: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 last:mb-0", children }),
|
|
1269
|
+
strong: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "crow-font-bold", children }),
|
|
1270
|
+
ul: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "crow-list-disc crow-pl-5 crow-my-1", children }),
|
|
1271
|
+
ol: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "crow-list-decimal crow-pl-5 crow-my-1", children }),
|
|
1272
|
+
li: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("li", { children }),
|
|
1273
|
+
p: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "crow-mb-1 last:crow-mb-0", children }),
|
|
1224
1274
|
a: ({ href, children }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1225
1275
|
"a",
|
|
1226
1276
|
{
|
|
1227
1277
|
href,
|
|
1228
|
-
className: "underline hover:text-blue-300",
|
|
1278
|
+
className: "crow-underline hover:crow-text-blue-300",
|
|
1229
1279
|
target: "_blank",
|
|
1230
1280
|
rel: "noopener noreferrer",
|
|
1231
1281
|
children
|
|
@@ -1236,13 +1286,13 @@ function StreamingText({
|
|
|
1236
1286
|
return isInline ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1237
1287
|
"code",
|
|
1238
1288
|
{
|
|
1239
|
-
className: "bg-gray-100 px-1 py-0.5 rounded text-sm",
|
|
1289
|
+
className: "crow-bg-gray-100 crow-px-1 crow-py-0.5 crow-rounded crow-text-sm",
|
|
1240
1290
|
...props,
|
|
1241
1291
|
children
|
|
1242
1292
|
}
|
|
1243
1293
|
) : /* @__PURE__ */ jsxRuntime.jsx("code", { className, ...props, children });
|
|
1244
1294
|
},
|
|
1245
|
-
pre: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "bg-gray-100 p-2 rounded my-1 overflow-x-auto text-sm", children })
|
|
1295
|
+
pre: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "crow-bg-gray-100 crow-p-2 crow-rounded crow-my-1 crow-overflow-x-auto crow-text-sm", children })
|
|
1246
1296
|
},
|
|
1247
1297
|
children: content
|
|
1248
1298
|
}
|
|
@@ -1250,7 +1300,7 @@ function StreamingText({
|
|
|
1250
1300
|
isStreaming && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1251
1301
|
"span",
|
|
1252
1302
|
{
|
|
1253
|
-
className: "inline-block w-0.5 h-4 ml-0.5 align-text-bottom",
|
|
1303
|
+
className: "crow-inline-block crow-w-0.5 crow-h-4 crow-ml-0.5 crow-align-text-bottom",
|
|
1254
1304
|
style: {
|
|
1255
1305
|
backgroundColor: "currentColor",
|
|
1256
1306
|
animation: "cursor-blink 1s ease-in-out infinite"
|
|
@@ -1271,7 +1321,7 @@ function ThinkingIndicator() {
|
|
|
1271
1321
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1272
1322
|
"span",
|
|
1273
1323
|
{
|
|
1274
|
-
className: "inline-block font-medium",
|
|
1324
|
+
className: "crow-inline-block crow-font-medium",
|
|
1275
1325
|
style: {
|
|
1276
1326
|
background: "linear-gradient(90deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0.4) 100%)",
|
|
1277
1327
|
backgroundSize: "200% 100%",
|
|
@@ -1297,18 +1347,18 @@ function LoadingHistory() {
|
|
|
1297
1347
|
{
|
|
1298
1348
|
initial: { opacity: 0, y: 10 },
|
|
1299
1349
|
animate: { opacity: 1, y: 0 },
|
|
1300
|
-
className: "flex justify-center items-center py-8",
|
|
1301
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-3", children: [
|
|
1302
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: [0, 0.15, 0.3].map((delay, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1350
|
+
className: "crow-flex crow-justify-center crow-items-center crow-py-8",
|
|
1351
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-flex-col crow-items-center crow-gap-3", children: [
|
|
1352
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-gap-1", children: [0, 0.15, 0.3].map((delay, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1303
1353
|
framerMotion.motion.div,
|
|
1304
1354
|
{
|
|
1305
|
-
className: "w-2 h-2 bg-gray-400 rounded-full",
|
|
1355
|
+
className: "crow-w-2 crow-h-2 crow-bg-gray-400 crow-rounded-full",
|
|
1306
1356
|
animate: { y: [0, -8, 0] },
|
|
1307
1357
|
transition: { duration: 0.6, repeat: Infinity, delay }
|
|
1308
1358
|
},
|
|
1309
1359
|
i
|
|
1310
1360
|
)) }),
|
|
1311
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-500", children: "Loading conversation..." })
|
|
1361
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-text-sm crow-text-gray-500", children: "Loading conversation..." })
|
|
1312
1362
|
] })
|
|
1313
1363
|
}
|
|
1314
1364
|
);
|
|
@@ -1333,7 +1383,7 @@ function ShimmeringContent({ children }) {
|
|
|
1333
1383
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1334
1384
|
"span",
|
|
1335
1385
|
{
|
|
1336
|
-
className: "inline-block",
|
|
1386
|
+
className: "crow-inline-block",
|
|
1337
1387
|
style: {
|
|
1338
1388
|
background: "linear-gradient(90deg, rgba(100,100,100,0.6) 0%, rgba(100,100,100,1) 50%, rgba(100,100,100,0.6) 100%)",
|
|
1339
1389
|
backgroundSize: "200% 100%",
|
|
@@ -1358,16 +1408,16 @@ function ReasoningTrace({ thinking, isComplete, toolCalls = [], isWaiting = fals
|
|
|
1358
1408
|
const hasThinking = !!thinking && thinking.trim().length > 0;
|
|
1359
1409
|
const hasToolCalls = toolCalls.length > 0;
|
|
1360
1410
|
if (!isWaiting && !hasThinking && !hasToolCalls) return null;
|
|
1361
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-start mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-[90%] space-y-1.5", children: [
|
|
1411
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-justify-start crow-mb-2", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-max-w-[90%] crow-space-y-1.5", children: [
|
|
1362
1412
|
isWaiting && !hasThinking && /* @__PURE__ */ jsxRuntime.jsx(WaitingIndicator, {}),
|
|
1363
1413
|
hasThinking && /* @__PURE__ */ jsxRuntime.jsx(ThinkingBlock, { thinking, isComplete }),
|
|
1364
1414
|
toolCalls.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(ToolCallBlock, { toolCall: tool }, tool.id))
|
|
1365
1415
|
] }) });
|
|
1366
1416
|
}
|
|
1367
1417
|
function WaitingIndicator() {
|
|
1368
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-xs text-gray-500", children: [
|
|
1369
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center w-4 h-4", children: /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Brain, { className: "w-3.5 h-3.5" }) }) }),
|
|
1370
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: getRandomThinkingMessage() }) })
|
|
1418
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-gap-1.5 crow-text-xs crow-text-gray-500", children: [
|
|
1419
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-items-center crow-justify-center crow-w-4 crow-h-4", children: /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Brain, { className: "crow-w-3.5 crow-h-3.5" }) }) }),
|
|
1420
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: getRandomThinkingMessage() }) })
|
|
1371
1421
|
] });
|
|
1372
1422
|
}
|
|
1373
1423
|
function ThinkingBlock({ thinking, isComplete }) {
|
|
@@ -1376,25 +1426,25 @@ function ThinkingBlock({ thinking, isComplete }) {
|
|
|
1376
1426
|
setIsExpanded(!isComplete);
|
|
1377
1427
|
}, [isComplete]);
|
|
1378
1428
|
const isInProgress = !isComplete;
|
|
1379
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 text-xs", children: [
|
|
1429
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-flex-col crow-gap-1 crow-text-xs", children: [
|
|
1380
1430
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1381
1431
|
"button",
|
|
1382
1432
|
{
|
|
1383
1433
|
onClick: () => setIsExpanded(!isExpanded),
|
|
1384
|
-
className: `flex items-center gap-1.5 select-none transition-colors ${isInProgress ? "text-gray-500" : "text-gray-600 hover:text-gray-800"} cursor-pointer`,
|
|
1434
|
+
className: `crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors ${isInProgress ? "crow-text-gray-500" : "crow-text-gray-600 hover:crow-text-gray-800"} crow-cursor-pointer`,
|
|
1385
1435
|
children: [
|
|
1386
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center w-4 h-4", children: isInProgress ? /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Brain, { className: "w-3.5 h-3.5" }) }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Brain, { className: "w-3.5 h-3.5" }) }),
|
|
1387
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: isInProgress ? /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: getRandomThinkingMessage() }) : "Thought" }),
|
|
1436
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-items-center crow-justify-center crow-w-4 crow-h-4", children: isInProgress ? /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Brain, { className: "crow-w-3.5 crow-h-3.5" }) }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Brain, { className: "crow-w-3.5 crow-h-3.5" }) }),
|
|
1437
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-font-medium", children: isInProgress ? /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: getRandomThinkingMessage() }) : "Thought" }),
|
|
1388
1438
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1389
1439
|
framerMotion.motion.div,
|
|
1390
1440
|
{
|
|
1391
1441
|
animate: { rotate: isExpanded ? 90 : 0 },
|
|
1392
1442
|
transition: { duration: 0.15 },
|
|
1393
|
-
className: "flex-shrink-0",
|
|
1394
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "w-3 h-3" })
|
|
1443
|
+
className: "crow-flex-shrink-0",
|
|
1444
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "crow-w-3 crow-h-3" })
|
|
1395
1445
|
}
|
|
1396
1446
|
),
|
|
1397
|
-
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-3 h-3 text-green-500" })
|
|
1447
|
+
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "crow-w-3 crow-h-3 crow-text-green-500" })
|
|
1398
1448
|
]
|
|
1399
1449
|
}
|
|
1400
1450
|
),
|
|
@@ -1405,11 +1455,11 @@ function ThinkingBlock({ thinking, isComplete }) {
|
|
|
1405
1455
|
animate: { height: "auto", opacity: 1 },
|
|
1406
1456
|
exit: { height: 0, opacity: 0 },
|
|
1407
1457
|
transition: { duration: 0.15 },
|
|
1408
|
-
className: "overflow-hidden",
|
|
1409
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-l-2 border-gray-200 pl-3 ml-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1458
|
+
className: "crow-overflow-hidden",
|
|
1459
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-border-l-2 crow-border-gray-200 crow-pl-3 crow-ml-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1410
1460
|
"div",
|
|
1411
1461
|
{
|
|
1412
|
-
className: `text-xs leading-relaxed whitespace-pre-wrap ${isComplete ? "text-gray-500" : "text-gray-600"}`,
|
|
1462
|
+
className: `crow-text-xs crow-leading-relaxed crow-whitespace-pre-wrap ${isComplete ? "crow-text-gray-500" : "crow-text-gray-600"}`,
|
|
1413
1463
|
children: thinking
|
|
1414
1464
|
}
|
|
1415
1465
|
) })
|
|
@@ -1423,12 +1473,12 @@ function ToolCallBlock({ toolCall }) {
|
|
|
1423
1473
|
const isExecuting = toolCall.status === "executing";
|
|
1424
1474
|
const isComplete = toolCall.status === "complete";
|
|
1425
1475
|
const isError = toolCall.status === "error";
|
|
1426
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 text-xs", children: [
|
|
1476
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-flex-col crow-gap-1 crow-text-xs", children: [
|
|
1427
1477
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1428
1478
|
"button",
|
|
1429
1479
|
{
|
|
1430
1480
|
onClick: () => hasArgs && setExpanded(!expanded),
|
|
1431
|
-
className: `flex items-center gap-1.5 select-none transition-colors ${hasArgs ? "cursor-pointer hover:text-gray-800" : "cursor-default"} ${isExecuting ? "text-gray-500" : "text-gray-600"}`,
|
|
1481
|
+
className: `crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors ${hasArgs ? "crow-cursor-pointer hover:crow-text-gray-800" : "crow-cursor-default"} ${isExecuting ? "crow-text-gray-500" : "crow-text-gray-600"}`,
|
|
1432
1482
|
disabled: !hasArgs,
|
|
1433
1483
|
children: [
|
|
1434
1484
|
hasArgs && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1436,14 +1486,14 @@ function ToolCallBlock({ toolCall }) {
|
|
|
1436
1486
|
{
|
|
1437
1487
|
animate: { rotate: expanded ? 90 : 0 },
|
|
1438
1488
|
transition: { duration: 0.15 },
|
|
1439
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "w-3 h-3" })
|
|
1489
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "crow-w-3 crow-h-3" })
|
|
1440
1490
|
}
|
|
1441
1491
|
),
|
|
1442
|
-
isExecuting && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-3 h-3 animate-spin text-blue-500" }),
|
|
1443
|
-
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-3 h-3 text-green-500" }),
|
|
1444
|
-
isError && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-3 h-3 text-red-500", children: "\u2715" }),
|
|
1445
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: toolCall.name }),
|
|
1446
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-400", children: [
|
|
1492
|
+
isExecuting && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "crow-w-3 crow-h-3 crow-animate-spin crow-text-blue-500" }),
|
|
1493
|
+
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "crow-w-3 crow-h-3 crow-text-green-500" }),
|
|
1494
|
+
isError && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-w-3 crow-h-3 crow-text-red-500", children: "\u2715" }),
|
|
1495
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-font-medium", children: toolCall.name }),
|
|
1496
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "crow-text-gray-400", children: [
|
|
1447
1497
|
isExecuting && "running...",
|
|
1448
1498
|
isComplete && "done",
|
|
1449
1499
|
isError && "failed"
|
|
@@ -1458,8 +1508,8 @@ function ToolCallBlock({ toolCall }) {
|
|
|
1458
1508
|
animate: { height: "auto", opacity: 1 },
|
|
1459
1509
|
exit: { height: 0, opacity: 0 },
|
|
1460
1510
|
transition: { duration: 0.15 },
|
|
1461
|
-
className: "overflow-hidden",
|
|
1462
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 p-2 bg-gray-100 rounded text-
|
|
1511
|
+
className: "crow-overflow-hidden",
|
|
1512
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "crow-mt-1 crow-p-2 crow-bg-gray-100 crow-rounded crow-text-xs crow-font-mono crow-text-gray-700 crow-overflow-x-auto crow-max-h-32 crow-overflow-y-auto crow-ml-4", children: JSON.stringify(toolCall.arguments, null, 2) })
|
|
1463
1513
|
}
|
|
1464
1514
|
) })
|
|
1465
1515
|
] });
|
|
@@ -1480,7 +1530,7 @@ function MessageBubble({
|
|
|
1480
1530
|
"div",
|
|
1481
1531
|
{
|
|
1482
1532
|
id: message.id,
|
|
1483
|
-
className: `flex flex-col ${message.isBot ? "items-start" : "items-end"}`,
|
|
1533
|
+
className: `crow-flex crow-flex-col ${message.isBot ? "crow-items-start" : "crow-items-end"}`,
|
|
1484
1534
|
children: [
|
|
1485
1535
|
showReasoningTrace && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1486
1536
|
ReasoningTrace,
|
|
@@ -1494,7 +1544,7 @@ function MessageBubble({
|
|
|
1494
1544
|
hasContent && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1495
1545
|
"div",
|
|
1496
1546
|
{
|
|
1497
|
-
className: "max-w-[80%] rounded-2xl px-4 py-2 transition-all duration-150",
|
|
1547
|
+
className: "crow-max-w-[80%] crow-rounded-2xl crow-px-4 crow-py-2 crow-transition-all crow-duration-150",
|
|
1498
1548
|
style: message.isBot ? {
|
|
1499
1549
|
background: styles2.colors.botBubble,
|
|
1500
1550
|
color: styles2.colors.botText
|
|
@@ -1504,7 +1554,7 @@ function MessageBubble({
|
|
|
1504
1554
|
border: `1px solid ${styles2.colors.userBorder}`
|
|
1505
1555
|
},
|
|
1506
1556
|
children: [
|
|
1507
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1557
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-whitespace-pre-wrap", children: message.isBot ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1508
1558
|
StreamingText,
|
|
1509
1559
|
{
|
|
1510
1560
|
content: message.content,
|
|
@@ -1514,16 +1564,16 @@ function MessageBubble({
|
|
|
1514
1564
|
ReactMarkdown__default.default,
|
|
1515
1565
|
{
|
|
1516
1566
|
components: {
|
|
1517
|
-
strong: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-bold", children }),
|
|
1518
|
-
ul: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-disc pl-5 my-1", children }),
|
|
1519
|
-
ol: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "list-decimal pl-5 my-1", children }),
|
|
1520
|
-
li: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("li", {
|
|
1521
|
-
p: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 last:mb-0", children }),
|
|
1567
|
+
strong: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "crow-font-bold", children }),
|
|
1568
|
+
ul: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "crow-list-disc crow-pl-5 crow-my-1", children }),
|
|
1569
|
+
ol: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "crow-list-decimal crow-pl-5 crow-my-1", children }),
|
|
1570
|
+
li: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("li", { children }),
|
|
1571
|
+
p: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "crow-mb-1 last:crow-mb-0", children }),
|
|
1522
1572
|
a: ({ href, children }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1523
1573
|
"a",
|
|
1524
1574
|
{
|
|
1525
1575
|
href,
|
|
1526
|
-
className: "underline hover:text-blue-300",
|
|
1576
|
+
className: "crow-underline hover:crow-text-blue-300",
|
|
1527
1577
|
target: "_blank",
|
|
1528
1578
|
rel: "noopener noreferrer",
|
|
1529
1579
|
children
|
|
@@ -1533,7 +1583,7 @@ function MessageBubble({
|
|
|
1533
1583
|
children: message.content
|
|
1534
1584
|
}
|
|
1535
1585
|
) }),
|
|
1536
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs opacity-60 mt-1", children: formatTime(message.timestamp) })
|
|
1586
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-xs crow-opacity-60 crow-mt-1", children: formatTime(message.timestamp) })
|
|
1537
1587
|
]
|
|
1538
1588
|
}
|
|
1539
1589
|
)
|
|
@@ -1615,7 +1665,7 @@ var MessagesContainer = React3.forwardRef(
|
|
|
1615
1665
|
animate: { opacity: 1 },
|
|
1616
1666
|
exit: { opacity: 0 },
|
|
1617
1667
|
transition: { duration: styles2.animations.duration },
|
|
1618
|
-
className: "relative flex-1 min-h-0 rounded-2xl mb-3 overflow-y-auto p-4 space-y-3 pointer-events-auto",
|
|
1668
|
+
className: "crow-relative crow-flex-1 crow-min-h-0 crow-rounded-2xl crow-mb-3 crow-overflow-y-auto crow-p-4 crow-space-y-3 crow-pointer-events-auto",
|
|
1619
1669
|
style: {
|
|
1620
1670
|
background: styles2.colors.messagesBackground,
|
|
1621
1671
|
...maxHeight && { maxHeight }
|
|
@@ -1638,20 +1688,20 @@ function ConversationList({
|
|
|
1638
1688
|
initial: { opacity: 0, height: 0 },
|
|
1639
1689
|
animate: { opacity: 1, height: "auto" },
|
|
1640
1690
|
exit: { opacity: 0, height: 0 },
|
|
1641
|
-
className: "mb-3 rounded-xl bg-gray-50 border border-gray-200",
|
|
1691
|
+
className: "crow-mb-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200",
|
|
1642
1692
|
children: [
|
|
1643
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2 border-b border-gray-200 flex justify-between items-center", children: [
|
|
1644
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700", children: "Recent Conversations" }),
|
|
1645
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { onClick: onClose, className: "p-1 hover:bg-gray-200 rounded", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14, className: "text-gray-500" }) })
|
|
1693
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-p-2 crow-border-b crow-border-gray-200 crow-flex crow-justify-between crow-items-center", children: [
|
|
1694
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-text-sm crow-font-medium crow-text-gray-700", children: "Recent Conversations" }),
|
|
1695
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { onClick: onClose, className: "crow-p-1 hover:crow-bg-gray-200 crow-rounded", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14, className: "crow-text-gray-500" }) })
|
|
1646
1696
|
] }),
|
|
1647
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-[200px] overflow-y-auto", children: conversations.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 text-center text-sm text-gray-500", children: "No conversations yet" }) : conversations.map((conv) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1697
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-max-h-[200px] crow-overflow-y-auto", children: conversations.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-p-4 crow-text-center crow-text-sm crow-text-gray-500", children: "No conversations yet" }) : conversations.map((conv) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1648
1698
|
"button",
|
|
1649
1699
|
{
|
|
1650
1700
|
onClick: () => onSelect(conv.id),
|
|
1651
|
-
className: `w-full p-3 text-left hover:bg-gray-100 transition-colors border-b border-gray-100 last:border-0 ${currentConversationId === conv.id ? "bg-blue-50" : ""}`,
|
|
1701
|
+
className: `crow-w-full crow-p-3 crow-text-left hover:crow-bg-gray-100 crow-transition-colors crow-border-b crow-border-gray-100 last:crow-border-0 ${currentConversationId === conv.id ? "crow-bg-blue-50" : ""}`,
|
|
1652
1702
|
children: [
|
|
1653
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium text-gray-800 truncate", children: conv.name || "Untitled conversation" }),
|
|
1654
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-gray-500 mt-0.5", children: formatConversationDate(conv.updated_at) })
|
|
1703
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-sm crow-font-medium crow-text-gray-800 crow-truncate", children: conv.name || "Untitled conversation" }),
|
|
1704
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-xs crow-text-gray-500 crow-mt-0.5", children: formatConversationDate(conv.updated_at) })
|
|
1655
1705
|
]
|
|
1656
1706
|
},
|
|
1657
1707
|
conv.id
|
|
@@ -1668,14 +1718,14 @@ function WorkflowPanel({ workflow, onExit }) {
|
|
|
1668
1718
|
animate: { opacity: 1, y: 0 },
|
|
1669
1719
|
exit: { opacity: 0, y: -10 },
|
|
1670
1720
|
transition: { duration: 0.3 },
|
|
1671
|
-
className: "mb-3 p-3 rounded-xl bg-gray-50 border border-gray-200",
|
|
1672
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1673
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-900 flex items-center gap-1", children: workflow.name }),
|
|
1721
|
+
className: "crow-mb-3 crow-p-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200",
|
|
1722
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-justify-between", children: [
|
|
1723
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-text-sm crow-font-medium crow-text-gray-900 crow-flex crow-items-center crow-gap-1", children: workflow.name }),
|
|
1674
1724
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1675
1725
|
"button",
|
|
1676
1726
|
{
|
|
1677
1727
|
onClick: onExit,
|
|
1678
|
-
className: "text-xs text-gray-500 hover:text-gray-700 underline",
|
|
1728
|
+
className: "crow-text-xs crow-text-gray-500 hover:crow-text-gray-700 crow-underline",
|
|
1679
1729
|
children: "Exit"
|
|
1680
1730
|
}
|
|
1681
1731
|
)
|
|
@@ -1688,7 +1738,7 @@ function PoweredByBadge({ apiUrl = "" }) {
|
|
|
1688
1738
|
const branding = styles2.branding;
|
|
1689
1739
|
if (!branding.showPoweredBy) return null;
|
|
1690
1740
|
const logoUrl = branding.logoUrl?.startsWith("http") ? branding.logoUrl : `${apiUrl}${branding.logoUrl}`;
|
|
1691
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-1.5 mb-3 text-
|
|
1741
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-justify-center crow-gap-1.5 crow-mb-3 crow-text-xs crow-text-gray-400", children: [
|
|
1692
1742
|
branding.showLogo && logoUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1693
1743
|
"img",
|
|
1694
1744
|
{
|
|
@@ -1696,7 +1746,7 @@ function PoweredByBadge({ apiUrl = "" }) {
|
|
|
1696
1746
|
alt: "Crow",
|
|
1697
1747
|
width: 14,
|
|
1698
1748
|
height: 14,
|
|
1699
|
-
className: "opacity-50"
|
|
1749
|
+
className: "crow-opacity-50"
|
|
1700
1750
|
}
|
|
1701
1751
|
),
|
|
1702
1752
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: branding.poweredByText })
|
|
@@ -1725,7 +1775,7 @@ var ModelSelector = ({
|
|
|
1725
1775
|
acc[model.provider].push(model);
|
|
1726
1776
|
return acc;
|
|
1727
1777
|
}, {});
|
|
1728
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", ref: dropdownRef, children: [
|
|
1778
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-relative", ref: dropdownRef, children: [
|
|
1729
1779
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1730
1780
|
"button",
|
|
1731
1781
|
{
|
|
@@ -1733,10 +1783,10 @@ var ModelSelector = ({
|
|
|
1733
1783
|
onClick: () => !disabled && setIsOpen(!isOpen),
|
|
1734
1784
|
disabled,
|
|
1735
1785
|
className: cn(
|
|
1736
|
-
"flex items-center gap-1 px-2 py-1 rounded-md text-xs",
|
|
1737
|
-
"bg-transparent text-
|
|
1738
|
-
"hover:text-gray-700 transition-colors",
|
|
1739
|
-
disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
|
|
1786
|
+
"crow-flex crow-items-center crow-gap-1 crow-px-2 crow-py-1 crow-rounded-md crow-text-xs",
|
|
1787
|
+
"crow-bg-transparent crow-text-gray-400",
|
|
1788
|
+
"hover:crow-text-gray-700 crow-transition-colors",
|
|
1789
|
+
disabled ? "crow-opacity-50 crow-cursor-not-allowed" : "crow-cursor-pointer"
|
|
1740
1790
|
),
|
|
1741
1791
|
children: [
|
|
1742
1792
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: selectedModelData?.name || "Select Model" }),
|
|
@@ -1744,16 +1794,16 @@ var ModelSelector = ({
|
|
|
1744
1794
|
lucideReact.ChevronDown,
|
|
1745
1795
|
{
|
|
1746
1796
|
className: cn(
|
|
1747
|
-
"w-3 h-3 transition-transform",
|
|
1748
|
-
isOpen ? "rotate-180" : ""
|
|
1797
|
+
"crow-w-3 crow-h-3 crow-transition-transform",
|
|
1798
|
+
isOpen ? "crow-rotate-180" : ""
|
|
1749
1799
|
)
|
|
1750
1800
|
}
|
|
1751
1801
|
)
|
|
1752
1802
|
]
|
|
1753
1803
|
}
|
|
1754
1804
|
),
|
|
1755
|
-
isOpen && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-full mb-2 left-0 min-w-[180px] bg-white border border-gray-200 rounded-xl shadow-lg z-50 overflow-hidden", children: Object.entries(groupedModels).map(([provider, providerModels]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1756
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-1.5 text-xs font-medium text-gray-400 uppercase tracking-wide bg-gray-50", children: provider }),
|
|
1805
|
+
isOpen && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-absolute crow-bottom-full crow-mb-2 crow-left-0 crow-min-w-[180px] crow-bg-white crow-border crow-border-gray-200 crow-rounded-xl crow-shadow-lg crow-z-50 crow-overflow-hidden", children: Object.entries(groupedModels).map(([provider, providerModels]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1806
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-px-3 crow-py-1.5 crow-text-xs crow-font-medium crow-text-gray-400 crow-uppercase crow-tracking-wide crow-bg-gray-50", children: provider }),
|
|
1757
1807
|
providerModels.map((model) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1758
1808
|
"button",
|
|
1759
1809
|
{
|
|
@@ -1762,13 +1812,13 @@ var ModelSelector = ({
|
|
|
1762
1812
|
setIsOpen(false);
|
|
1763
1813
|
},
|
|
1764
1814
|
className: cn(
|
|
1765
|
-
"w-full flex items-center justify-between px-3 py-1.5 text-sm",
|
|
1766
|
-
"hover:bg-gray-100 transition-colors",
|
|
1767
|
-
model.id === selectedModel ? "text-gray-900" : "text-gray-600"
|
|
1815
|
+
"crow-w-full crow-flex crow-items-center crow-justify-between crow-px-3 crow-py-1.5 crow-text-sm",
|
|
1816
|
+
"hover:crow-bg-gray-100 crow-transition-colors",
|
|
1817
|
+
model.id === selectedModel ? "crow-text-gray-900" : "crow-text-gray-600"
|
|
1768
1818
|
),
|
|
1769
1819
|
children: [
|
|
1770
1820
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: model.name }),
|
|
1771
|
-
model.id === selectedModel && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-4 h-4 text-green-500" })
|
|
1821
|
+
model.id === selectedModel && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "crow-w-4 crow-h-4 crow-text-green-500" })
|
|
1772
1822
|
]
|
|
1773
1823
|
},
|
|
1774
1824
|
model.id
|
|
@@ -1805,7 +1855,7 @@ var Textarea = React3__default.default.forwardRef(
|
|
|
1805
1855
|
"textarea",
|
|
1806
1856
|
{
|
|
1807
1857
|
className: cn(
|
|
1808
|
-
"flex w-full rounded-md border-none bg-transparent px-3 py-1.5 text-base text-gray-900 placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50 min-h-[32px] resize-none",
|
|
1858
|
+
"crow-flex crow-w-full crow-rounded-md crow-border-none crow-bg-transparent crow-px-3 crow-py-1.5 crow-text-base crow-text-gray-900 placeholder:crow-text-gray-500 focus-visible:crow-outline-none focus-visible:crow-ring-0 disabled:crow-cursor-not-allowed disabled:crow-opacity-50 crow-min-h-[32px] crow-resize-none",
|
|
1809
1859
|
className
|
|
1810
1860
|
),
|
|
1811
1861
|
ref,
|
|
@@ -1824,9 +1874,10 @@ var TooltipContent = React3__default.default.forwardRef(({ className, sideOffset
|
|
|
1824
1874
|
ref,
|
|
1825
1875
|
sideOffset,
|
|
1826
1876
|
className: cn(
|
|
1827
|
-
"z-50 overflow-hidden rounded-md border
|
|
1877
|
+
"crow-z-50 crow-overflow-hidden crow-rounded-md crow-border crow-px-3 crow-py-1.5 crow-text-sm crow-text-white crow-shadow-md",
|
|
1828
1878
|
className
|
|
1829
1879
|
),
|
|
1880
|
+
style: { borderColor: "#333333", background: "#1F2023" },
|
|
1830
1881
|
...props
|
|
1831
1882
|
}
|
|
1832
1883
|
));
|
|
@@ -1834,21 +1885,21 @@ TooltipContent.displayName = "TooltipContent";
|
|
|
1834
1885
|
var Button = React3__default.default.forwardRef(
|
|
1835
1886
|
({ className, variant = "default", size = "default", ...props }, ref) => {
|
|
1836
1887
|
const variantClasses = {
|
|
1837
|
-
default: "bg-white hover:bg-white/80 text-black",
|
|
1838
|
-
outline: "border
|
|
1839
|
-
ghost: "bg-transparent hover:bg-
|
|
1888
|
+
default: "crow-bg-white hover:crow-bg-white/80 crow-text-black",
|
|
1889
|
+
outline: "crow-border crow-bg-transparent hover:crow-bg-gray-700",
|
|
1890
|
+
ghost: "crow-bg-transparent hover:crow-bg-gray-700"
|
|
1840
1891
|
};
|
|
1841
1892
|
const sizeClasses = {
|
|
1842
|
-
default: "h-10 px-4 py-2",
|
|
1843
|
-
sm: "h-8 px-3 text-sm",
|
|
1844
|
-
lg: "h-12 px-6",
|
|
1845
|
-
icon: "h-8 w-8 rounded-full
|
|
1893
|
+
default: "crow-h-10 crow-px-4 crow-py-2",
|
|
1894
|
+
sm: "crow-h-8 crow-px-3 crow-text-sm",
|
|
1895
|
+
lg: "crow-h-12 crow-px-6",
|
|
1896
|
+
icon: "crow-h-8 crow-w-8 crow-rounded-full"
|
|
1846
1897
|
};
|
|
1847
1898
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1848
1899
|
"button",
|
|
1849
1900
|
{
|
|
1850
1901
|
className: cn(
|
|
1851
|
-
"inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
|
|
1902
|
+
"crow-inline-flex crow-items-center crow-justify-center crow-font-medium crow-transition-colors focus-visible:crow-outline-none disabled:crow-pointer-events-none disabled:crow-opacity-50",
|
|
1852
1903
|
variantClasses[variant],
|
|
1853
1904
|
sizeClasses[size],
|
|
1854
1905
|
className
|
|
@@ -1908,10 +1959,11 @@ var PromptInput = React3__default.default.forwardRef(
|
|
|
1908
1959
|
{
|
|
1909
1960
|
ref,
|
|
1910
1961
|
className: cn(
|
|
1911
|
-
"rounded-3xl border
|
|
1912
|
-
isLoading && "border-red-500
|
|
1962
|
+
"crow-rounded-3xl crow-border crow-p-1.5 crow-shadow-lg crow-transition-all crow-duration-300",
|
|
1963
|
+
isLoading && "crow-border-red-500",
|
|
1913
1964
|
className
|
|
1914
1965
|
),
|
|
1966
|
+
style: { borderColor: isLoading ? void 0 : "#444444", background: "#1F2023" },
|
|
1915
1967
|
children
|
|
1916
1968
|
}
|
|
1917
1969
|
)
|
|
@@ -1953,7 +2005,7 @@ var PromptInputActions = ({
|
|
|
1953
2005
|
children,
|
|
1954
2006
|
className,
|
|
1955
2007
|
...props
|
|
1956
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-2", className), ...props, children });
|
|
2008
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("crow-flex crow-items-center crow-gap-2", className), ...props, children });
|
|
1957
2009
|
var PromptInputAction = ({
|
|
1958
2010
|
tooltip,
|
|
1959
2011
|
children,
|
|
@@ -1994,15 +2046,15 @@ var PromptInputBox = React3__default.default.forwardRef(
|
|
|
1994
2046
|
isLoading,
|
|
1995
2047
|
onSubmit: handleSubmit,
|
|
1996
2048
|
className: cn(
|
|
1997
|
-
"w-full
|
|
2049
|
+
"crow-w-full crow-shadow-lg crow-transition-all crow-duration-300 crow-ease-in-out",
|
|
1998
2050
|
className
|
|
1999
2051
|
),
|
|
2000
2052
|
disabled: isLoading,
|
|
2001
2053
|
ref: ref || promptBoxRef,
|
|
2002
2054
|
children: [
|
|
2003
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "transition-all duration-300 opacity-100", children: /* @__PURE__ */ jsxRuntime.jsx(PromptInputTextarea, { placeholder, className: "text-base" }) }),
|
|
2004
|
-
/* @__PURE__ */ jsxRuntime.jsxs(PromptInputActions, { className: "flex items-center justify-between gap-2 p-0 pt-1", children: [
|
|
2005
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: availableModels.length > 0 && onModelChange && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2055
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-transition-all crow-duration-300 crow-opacity-100", children: /* @__PURE__ */ jsxRuntime.jsx(PromptInputTextarea, { placeholder, className: "crow-text-base" }) }),
|
|
2056
|
+
/* @__PURE__ */ jsxRuntime.jsxs(PromptInputActions, { className: "crow-flex crow-items-center crow-justify-between crow-gap-2 crow-p-0 crow-pt-1", children: [
|
|
2057
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-items-center", children: availableModels.length > 0 && onModelChange && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2006
2058
|
ModelSelector,
|
|
2007
2059
|
{
|
|
2008
2060
|
models: availableModels,
|
|
@@ -2021,9 +2073,12 @@ var PromptInputBox = React3__default.default.forwardRef(
|
|
|
2021
2073
|
variant: "default",
|
|
2022
2074
|
size: "icon",
|
|
2023
2075
|
className: cn(
|
|
2024
|
-
"h-7 w-7 rounded-full transition-all duration-200"
|
|
2025
|
-
isLoading ? "!bg-red-500 hover:!bg-red-600 !text-white" : hasContent ? "!bg-white hover:!bg-white/80 !text-[#1F2023]" : "!bg-transparent hover:!bg-gray-600/30 !text-[#1F2023] hover:!text-[#1F2023]"
|
|
2076
|
+
"crow-h-7 crow-w-7 crow-rounded-full crow-transition-all crow-duration-200"
|
|
2026
2077
|
),
|
|
2078
|
+
style: {
|
|
2079
|
+
background: isLoading ? "#ef4444" : hasContent ? "#ffffff" : "transparent",
|
|
2080
|
+
color: isLoading ? "#ffffff" : "#1F2023"
|
|
2081
|
+
},
|
|
2027
2082
|
onClick: () => {
|
|
2028
2083
|
if (isLoading && onStop) {
|
|
2029
2084
|
onStop();
|
|
@@ -2031,7 +2086,7 @@ var PromptInputBox = React3__default.default.forwardRef(
|
|
|
2031
2086
|
handleSubmit();
|
|
2032
2087
|
}
|
|
2033
2088
|
},
|
|
2034
|
-
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3.5 w-3.5 fill
|
|
2089
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "crow-h-3.5 crow-w-3.5", style: { fill: "white", color: "white" } }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "crow-h-3.5 crow-w-3.5", style: { color: "#1F2023" } })
|
|
2035
2090
|
}
|
|
2036
2091
|
)
|
|
2037
2092
|
}
|
|
@@ -2230,7 +2285,7 @@ function CrowWidget({
|
|
|
2230
2285
|
onExit: handleExitWorkflow
|
|
2231
2286
|
}
|
|
2232
2287
|
) }),
|
|
2233
|
-
/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: (chat.messages.length > 0 || conversations.isLoadingHistory) && /* @__PURE__ */ jsxRuntime.jsx(MessagesContainer, { ref: messagesContainerRef, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2288
|
+
/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: (chat.messages.length > 0 || conversations.isLoadingHistory) && /* @__PURE__ */ jsxRuntime.jsx(MessagesContainer, { ref: messagesContainerRef, maxHeight: styles2.dimensions.messagesMaxHeight, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2234
2289
|
MessageList,
|
|
2235
2290
|
{
|
|
2236
2291
|
messages: chat.messages,
|
|
@@ -2239,7 +2294,7 @@ function CrowWidget({
|
|
|
2239
2294
|
isGenerating: chat.isLoading
|
|
2240
2295
|
}
|
|
2241
2296
|
) }) }),
|
|
2242
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-auto", children: [
|
|
2297
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-mt-auto", children: [
|
|
2243
2298
|
/* @__PURE__ */ jsxRuntime.jsx(PoweredByBadge, { apiUrl }),
|
|
2244
2299
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2245
2300
|
PromptInputBox,
|
|
@@ -2248,7 +2303,7 @@ function CrowWidget({
|
|
|
2248
2303
|
onStop: chat.stopGeneration,
|
|
2249
2304
|
placeholder: "Type your message...",
|
|
2250
2305
|
isLoading: chat.isLoading,
|
|
2251
|
-
className: "
|
|
2306
|
+
className: "crow-backdrop-blur-md"
|
|
2252
2307
|
}
|
|
2253
2308
|
)
|
|
2254
2309
|
] })
|
|
@@ -2280,7 +2335,7 @@ function CrowWidget({
|
|
|
2280
2335
|
onExit: handleExitWorkflow
|
|
2281
2336
|
}
|
|
2282
2337
|
) }),
|
|
2283
|
-
/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: (chat.messages.length > 0 || conversations.isLoadingHistory) && /* @__PURE__ */ jsxRuntime.jsx(MessagesContainer, { ref: messagesContainerRef, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2338
|
+
/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: (chat.messages.length > 0 || conversations.isLoadingHistory) && /* @__PURE__ */ jsxRuntime.jsx(MessagesContainer, { ref: messagesContainerRef, maxHeight: styles2.dimensions.messagesMaxHeight, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2284
2339
|
MessageList,
|
|
2285
2340
|
{
|
|
2286
2341
|
messages: chat.messages,
|
|
@@ -2289,7 +2344,7 @@ function CrowWidget({
|
|
|
2289
2344
|
isGenerating: chat.isLoading
|
|
2290
2345
|
}
|
|
2291
2346
|
) }) }),
|
|
2292
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-auto", children: [
|
|
2347
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-mt-auto", children: [
|
|
2293
2348
|
/* @__PURE__ */ jsxRuntime.jsx(PoweredByBadge, { apiUrl }),
|
|
2294
2349
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2295
2350
|
PromptInputBox,
|
|
@@ -2298,7 +2353,7 @@ function CrowWidget({
|
|
|
2298
2353
|
onStop: chat.stopGeneration,
|
|
2299
2354
|
placeholder: "Type your message...",
|
|
2300
2355
|
isLoading: chat.isLoading,
|
|
2301
|
-
className: "
|
|
2356
|
+
className: "crow-backdrop-blur-md"
|
|
2302
2357
|
}
|
|
2303
2358
|
)
|
|
2304
2359
|
] })
|
|
@@ -2415,11 +2470,14 @@ function CrowCopilot({
|
|
|
2415
2470
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2416
2471
|
"div",
|
|
2417
2472
|
{
|
|
2418
|
-
className: `flex flex-col h-full
|
|
2473
|
+
className: `crow-flex crow-flex-col crow-h-full ${position === "left" ? "crow-border-r" : "crow-border-l"} ${className || ""}`,
|
|
2419
2474
|
style: {
|
|
2420
2475
|
width: widthStyle,
|
|
2421
2476
|
fontFamily: styles2.typography.fontFamily,
|
|
2422
2477
|
fontSize: styles2.typography.fontSize,
|
|
2478
|
+
fontWeight: styles2.typography.fontWeight,
|
|
2479
|
+
lineHeight: styles2.typography.lineHeight,
|
|
2480
|
+
letterSpacing: styles2.typography.letterSpacing,
|
|
2423
2481
|
background: styles2.colors.background,
|
|
2424
2482
|
borderColor: styles2.colors.border
|
|
2425
2483
|
},
|
|
@@ -2427,7 +2485,7 @@ function CrowCopilot({
|
|
|
2427
2485
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2428
2486
|
"div",
|
|
2429
2487
|
{
|
|
2430
|
-
className: "flex items-center justify-between px-4 py-3 border-b",
|
|
2488
|
+
className: "crow-flex crow-items-center crow-justify-between crow-px-4 crow-py-3 crow-border-b",
|
|
2431
2489
|
style: {
|
|
2432
2490
|
height: styles2.dimensions.headerHeight,
|
|
2433
2491
|
borderColor: styles2.colors.border
|
|
@@ -2436,7 +2494,7 @@ function CrowCopilot({
|
|
|
2436
2494
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2437
2495
|
"span",
|
|
2438
2496
|
{
|
|
2439
|
-
className: "font-semibold",
|
|
2497
|
+
className: "crow-font-semibold",
|
|
2440
2498
|
style: {
|
|
2441
2499
|
color: styles2.colors.text,
|
|
2442
2500
|
fontSize: styles2.typography.headerFontSize
|
|
@@ -2444,34 +2502,34 @@ function CrowCopilot({
|
|
|
2444
2502
|
children: agentName || title
|
|
2445
2503
|
}
|
|
2446
2504
|
),
|
|
2447
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
2505
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-gap-1", children: [
|
|
2448
2506
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2449
2507
|
"button",
|
|
2450
2508
|
{
|
|
2451
2509
|
onClick: handleNewChat,
|
|
2452
|
-
className: "p-1.5 hover:bg-gray-100 rounded transition-colors",
|
|
2510
|
+
className: "crow-p-1.5 hover:crow-bg-gray-100 crow-rounded crow-transition-colors",
|
|
2453
2511
|
"aria-label": "New Chat",
|
|
2454
2512
|
title: "New Chat",
|
|
2455
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { className: "w-4 h-4 text-gray-600" })
|
|
2513
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-600" })
|
|
2456
2514
|
}
|
|
2457
2515
|
),
|
|
2458
2516
|
isVerifiedUser && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2459
2517
|
"button",
|
|
2460
2518
|
{
|
|
2461
2519
|
onClick: handleToggleHistory,
|
|
2462
|
-
className: `p-1.5 hover:bg-gray-100 rounded transition-colors ${showConversationList ? "bg-gray-100" : ""}`,
|
|
2520
|
+
className: `crow-p-1.5 hover:crow-bg-gray-100 crow-rounded crow-transition-colors ${showConversationList ? "crow-bg-gray-100" : ""}`,
|
|
2463
2521
|
"aria-label": "Conversation History",
|
|
2464
2522
|
title: "Conversation History",
|
|
2465
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(HistoryIcon, { className: "w-4 h-4 text-gray-600" })
|
|
2523
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(HistoryIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-600" })
|
|
2466
2524
|
}
|
|
2467
2525
|
),
|
|
2468
2526
|
showClose && onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2469
2527
|
"button",
|
|
2470
2528
|
{
|
|
2471
2529
|
onClick: onClose,
|
|
2472
|
-
className: "p-1.5 hover:bg-gray-100 rounded transition-colors",
|
|
2530
|
+
className: "crow-p-1.5 hover:crow-bg-gray-100 crow-rounded crow-transition-colors",
|
|
2473
2531
|
"aria-label": "Close",
|
|
2474
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "w-4 h-4 text-gray-600" })
|
|
2532
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-600" })
|
|
2475
2533
|
}
|
|
2476
2534
|
)
|
|
2477
2535
|
] })
|
|
@@ -2496,7 +2554,7 @@ function CrowCopilot({
|
|
|
2496
2554
|
isGenerating: chat.isLoading
|
|
2497
2555
|
}
|
|
2498
2556
|
) }),
|
|
2499
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-3 border-t", style: { borderColor: styles2.colors.border }, children: [
|
|
2557
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-p-3 crow-border-t", style: { borderColor: styles2.colors.border }, children: [
|
|
2500
2558
|
styles2.branding.showPoweredBy && /* @__PURE__ */ jsxRuntime.jsx(PoweredByBadge, { apiUrl }),
|
|
2501
2559
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2502
2560
|
PromptInputBox,
|
|
@@ -2504,8 +2562,7 @@ function CrowCopilot({
|
|
|
2504
2562
|
onSend: handleSend,
|
|
2505
2563
|
onStop: chat.stopGeneration,
|
|
2506
2564
|
placeholder: "Ask anything...",
|
|
2507
|
-
isLoading: chat.isLoading
|
|
2508
|
-
className: "!bg-white !border-gray-300"
|
|
2565
|
+
isLoading: chat.isLoading
|
|
2509
2566
|
}
|
|
2510
2567
|
)
|
|
2511
2568
|
] })
|