@usecrow/ui 0.1.1 → 0.1.2
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 +154 -129
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +154 -129
- 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", {
|
|
@@ -1066,7 +1086,7 @@ function ChatBubble({ isExpanded, onClick }) {
|
|
|
1066
1086
|
"button",
|
|
1067
1087
|
{
|
|
1068
1088
|
onClick,
|
|
1069
|
-
className: "fixed z-[999999] rounded-full flex items-center justify-center shadow-2xl hover:scale-110 transition-all duration-500 border
|
|
1089
|
+
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
1090
|
style: {
|
|
1071
1091
|
width: styles2.bubble.size,
|
|
1072
1092
|
height: styles2.bubble.size,
|
|
@@ -1089,9 +1109,10 @@ var GlassCard = React3.forwardRef(
|
|
|
1089
1109
|
{
|
|
1090
1110
|
ref,
|
|
1091
1111
|
className: cn(
|
|
1092
|
-
"
|
|
1112
|
+
"crow-border crow-flex crow-flex-col crow-gap-6 crow-rounded-2xl crow-py-6 crow-backdrop-blur-md",
|
|
1093
1113
|
className
|
|
1094
1114
|
),
|
|
1115
|
+
style: { background: "rgba(255, 255, 255, 0.3)", borderColor: "rgba(229, 231, 235, 0.3)", ...props.style },
|
|
1095
1116
|
...props,
|
|
1096
1117
|
children
|
|
1097
1118
|
}
|
|
@@ -1117,7 +1138,7 @@ var WidgetShell = React3.forwardRef(
|
|
|
1117
1138
|
GlassCard,
|
|
1118
1139
|
{
|
|
1119
1140
|
ref,
|
|
1120
|
-
className: `flex flex-col shadow-2xl gap-3 w-full h-full ${className ?? ""}`,
|
|
1141
|
+
className: `crow-flex crow-flex-col crow-shadow-2xl crow-gap-3 crow-w-full crow-h-full ${className ?? ""}`,
|
|
1121
1142
|
style: {
|
|
1122
1143
|
...baseStyle,
|
|
1123
1144
|
maxWidth: styles2.dimensions.width,
|
|
@@ -1131,7 +1152,7 @@ var WidgetShell = React3.forwardRef(
|
|
|
1131
1152
|
GlassCard,
|
|
1132
1153
|
{
|
|
1133
1154
|
ref,
|
|
1134
|
-
className: `fixed z-[999999] shadow-2xl gap-3 transition-all duration-500 flex flex-col ${className ?? ""}`,
|
|
1155
|
+
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
1156
|
style: {
|
|
1136
1157
|
...baseStyle,
|
|
1137
1158
|
width: `min(${styles2.dimensions.width}px, calc(100vw - 32px))`,
|
|
@@ -1158,13 +1179,13 @@ function WidgetHeader({
|
|
|
1158
1179
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1159
1180
|
"div",
|
|
1160
1181
|
{
|
|
1161
|
-
className: "flex items-center justify-between mb-3 pb-2 border-b",
|
|
1182
|
+
className: "crow-flex crow-items-center crow-justify-between crow-mb-3 crow-pb-2 crow-border-b",
|
|
1162
1183
|
style: { borderColor: styles2.colors.border },
|
|
1163
1184
|
children: [
|
|
1164
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1185
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-items-center crow-gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1165
1186
|
"span",
|
|
1166
1187
|
{
|
|
1167
|
-
className: "text-sm font-semibold",
|
|
1188
|
+
className: "crow-text-sm crow-font-semibold",
|
|
1168
1189
|
style: {
|
|
1169
1190
|
color: styles2.colors.text,
|
|
1170
1191
|
fontSize: styles2.typography.headerFontSize
|
|
@@ -1172,34 +1193,34 @@ function WidgetHeader({
|
|
|
1172
1193
|
children: agentName
|
|
1173
1194
|
}
|
|
1174
1195
|
) }),
|
|
1175
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1196
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-gap-1", children: [
|
|
1176
1197
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1177
1198
|
"button",
|
|
1178
1199
|
{
|
|
1179
1200
|
onClick: onNewChat,
|
|
1180
|
-
className: "p-1.5 hover:bg-gray-200 rounded transition-colors",
|
|
1201
|
+
className: "crow-p-1.5 hover:crow-bg-gray-200 crow-rounded crow-transition-colors",
|
|
1181
1202
|
"aria-label": "New Chat",
|
|
1182
1203
|
title: "New Chat",
|
|
1183
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { size: 18, className: "text-gray-700" })
|
|
1204
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { size: 18, className: "crow-text-gray-700" })
|
|
1184
1205
|
}
|
|
1185
1206
|
),
|
|
1186
1207
|
isVerifiedUser && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1187
1208
|
"button",
|
|
1188
1209
|
{
|
|
1189
1210
|
onClick: onToggleHistory,
|
|
1190
|
-
className: `p-1.5 hover:bg-gray-200 rounded transition-colors ${showConversationList ? "bg-gray-200" : ""}`,
|
|
1211
|
+
className: `crow-p-1.5 hover:crow-bg-gray-200 crow-rounded crow-transition-colors ${showConversationList ? "crow-bg-gray-200" : ""}`,
|
|
1191
1212
|
"aria-label": "Conversation History",
|
|
1192
1213
|
title: "Conversation History",
|
|
1193
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { size: 18, className: "text-gray-700" })
|
|
1214
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { size: 18, className: "crow-text-gray-700" })
|
|
1194
1215
|
}
|
|
1195
1216
|
),
|
|
1196
1217
|
showMinimize && onToggleMinimize && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1197
1218
|
"button",
|
|
1198
1219
|
{
|
|
1199
1220
|
onClick: onToggleMinimize,
|
|
1200
|
-
className: "p-1 hover:bg-gray-200 rounded transition-colors",
|
|
1221
|
+
className: "crow-p-1 hover:crow-bg-gray-200 crow-rounded crow-transition-colors",
|
|
1201
1222
|
"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" })
|
|
1223
|
+
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
1224
|
}
|
|
1204
1225
|
)
|
|
1205
1226
|
] })
|
|
@@ -1216,16 +1237,16 @@ function StreamingText({
|
|
|
1216
1237
|
ReactMarkdown__default.default,
|
|
1217
1238
|
{
|
|
1218
1239
|
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 }),
|
|
1240
|
+
strong: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "crow-font-bold", children }),
|
|
1241
|
+
ul: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "crow-list-disc crow-pl-5 crow-my-1", children }),
|
|
1242
|
+
ol: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "crow-list-decimal crow-pl-5 crow-my-1", children }),
|
|
1243
|
+
li: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("li", { children }),
|
|
1244
|
+
p: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "crow-mb-1 last:crow-mb-0", children }),
|
|
1224
1245
|
a: ({ href, children }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1225
1246
|
"a",
|
|
1226
1247
|
{
|
|
1227
1248
|
href,
|
|
1228
|
-
className: "underline hover:text-blue-300",
|
|
1249
|
+
className: "crow-underline hover:crow-text-blue-300",
|
|
1229
1250
|
target: "_blank",
|
|
1230
1251
|
rel: "noopener noreferrer",
|
|
1231
1252
|
children
|
|
@@ -1236,13 +1257,13 @@ function StreamingText({
|
|
|
1236
1257
|
return isInline ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1237
1258
|
"code",
|
|
1238
1259
|
{
|
|
1239
|
-
className: "bg-gray-100 px-1 py-0.5 rounded text-sm",
|
|
1260
|
+
className: "crow-bg-gray-100 crow-px-1 crow-py-0.5 crow-rounded crow-text-sm",
|
|
1240
1261
|
...props,
|
|
1241
1262
|
children
|
|
1242
1263
|
}
|
|
1243
1264
|
) : /* @__PURE__ */ jsxRuntime.jsx("code", { className, ...props, children });
|
|
1244
1265
|
},
|
|
1245
|
-
pre: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "bg-gray-100 p-2 rounded my-1 overflow-x-auto text-sm", children })
|
|
1266
|
+
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
1267
|
},
|
|
1247
1268
|
children: content
|
|
1248
1269
|
}
|
|
@@ -1250,7 +1271,7 @@ function StreamingText({
|
|
|
1250
1271
|
isStreaming && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1251
1272
|
"span",
|
|
1252
1273
|
{
|
|
1253
|
-
className: "inline-block w-0.5 h-4 ml-0.5 align-text-bottom",
|
|
1274
|
+
className: "crow-inline-block crow-w-0.5 crow-h-4 crow-ml-0.5 crow-align-text-bottom",
|
|
1254
1275
|
style: {
|
|
1255
1276
|
backgroundColor: "currentColor",
|
|
1256
1277
|
animation: "cursor-blink 1s ease-in-out infinite"
|
|
@@ -1271,7 +1292,7 @@ function ThinkingIndicator() {
|
|
|
1271
1292
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1272
1293
|
"span",
|
|
1273
1294
|
{
|
|
1274
|
-
className: "inline-block font-medium",
|
|
1295
|
+
className: "crow-inline-block crow-font-medium",
|
|
1275
1296
|
style: {
|
|
1276
1297
|
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
1298
|
backgroundSize: "200% 100%",
|
|
@@ -1297,18 +1318,18 @@ function LoadingHistory() {
|
|
|
1297
1318
|
{
|
|
1298
1319
|
initial: { opacity: 0, y: 10 },
|
|
1299
1320
|
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(
|
|
1321
|
+
className: "crow-flex crow-justify-center crow-items-center crow-py-8",
|
|
1322
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-flex-col crow-items-center crow-gap-3", children: [
|
|
1323
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-gap-1", children: [0, 0.15, 0.3].map((delay, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1303
1324
|
framerMotion.motion.div,
|
|
1304
1325
|
{
|
|
1305
|
-
className: "w-2 h-2 bg-gray-400 rounded-full",
|
|
1326
|
+
className: "crow-w-2 crow-h-2 crow-bg-gray-400 crow-rounded-full",
|
|
1306
1327
|
animate: { y: [0, -8, 0] },
|
|
1307
1328
|
transition: { duration: 0.6, repeat: Infinity, delay }
|
|
1308
1329
|
},
|
|
1309
1330
|
i
|
|
1310
1331
|
)) }),
|
|
1311
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-500", children: "Loading conversation..." })
|
|
1332
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-text-sm crow-text-gray-500", children: "Loading conversation..." })
|
|
1312
1333
|
] })
|
|
1313
1334
|
}
|
|
1314
1335
|
);
|
|
@@ -1333,7 +1354,7 @@ function ShimmeringContent({ children }) {
|
|
|
1333
1354
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1334
1355
|
"span",
|
|
1335
1356
|
{
|
|
1336
|
-
className: "inline-block",
|
|
1357
|
+
className: "crow-inline-block",
|
|
1337
1358
|
style: {
|
|
1338
1359
|
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
1360
|
backgroundSize: "200% 100%",
|
|
@@ -1358,16 +1379,16 @@ function ReasoningTrace({ thinking, isComplete, toolCalls = [], isWaiting = fals
|
|
|
1358
1379
|
const hasThinking = !!thinking && thinking.trim().length > 0;
|
|
1359
1380
|
const hasToolCalls = toolCalls.length > 0;
|
|
1360
1381
|
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: [
|
|
1382
|
+
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
1383
|
isWaiting && !hasThinking && /* @__PURE__ */ jsxRuntime.jsx(WaitingIndicator, {}),
|
|
1363
1384
|
hasThinking && /* @__PURE__ */ jsxRuntime.jsx(ThinkingBlock, { thinking, isComplete }),
|
|
1364
1385
|
toolCalls.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(ToolCallBlock, { toolCall: tool }, tool.id))
|
|
1365
1386
|
] }) });
|
|
1366
1387
|
}
|
|
1367
1388
|
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() }) })
|
|
1389
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-gap-1.5 crow-text-xs crow-text-gray-500", children: [
|
|
1390
|
+
/* @__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" }) }) }),
|
|
1391
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: getRandomThinkingMessage() }) })
|
|
1371
1392
|
] });
|
|
1372
1393
|
}
|
|
1373
1394
|
function ThinkingBlock({ thinking, isComplete }) {
|
|
@@ -1376,25 +1397,25 @@ function ThinkingBlock({ thinking, isComplete }) {
|
|
|
1376
1397
|
setIsExpanded(!isComplete);
|
|
1377
1398
|
}, [isComplete]);
|
|
1378
1399
|
const isInProgress = !isComplete;
|
|
1379
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 text-xs", children: [
|
|
1400
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-flex-col crow-gap-1 crow-text-xs", children: [
|
|
1380
1401
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1381
1402
|
"button",
|
|
1382
1403
|
{
|
|
1383
1404
|
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`,
|
|
1405
|
+
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
1406
|
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" }),
|
|
1407
|
+
/* @__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" }) }),
|
|
1408
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-font-medium", children: isInProgress ? /* @__PURE__ */ jsxRuntime.jsx(ShimmeringContent, { children: getRandomThinkingMessage() }) : "Thought" }),
|
|
1388
1409
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1389
1410
|
framerMotion.motion.div,
|
|
1390
1411
|
{
|
|
1391
1412
|
animate: { rotate: isExpanded ? 90 : 0 },
|
|
1392
1413
|
transition: { duration: 0.15 },
|
|
1393
|
-
className: "flex-shrink-0",
|
|
1394
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "w-3 h-3" })
|
|
1414
|
+
className: "crow-flex-shrink-0",
|
|
1415
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "crow-w-3 crow-h-3" })
|
|
1395
1416
|
}
|
|
1396
1417
|
),
|
|
1397
|
-
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-3 h-3 text-green-500" })
|
|
1418
|
+
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "crow-w-3 crow-h-3 crow-text-green-500" })
|
|
1398
1419
|
]
|
|
1399
1420
|
}
|
|
1400
1421
|
),
|
|
@@ -1405,11 +1426,11 @@ function ThinkingBlock({ thinking, isComplete }) {
|
|
|
1405
1426
|
animate: { height: "auto", opacity: 1 },
|
|
1406
1427
|
exit: { height: 0, opacity: 0 },
|
|
1407
1428
|
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(
|
|
1429
|
+
className: "crow-overflow-hidden",
|
|
1430
|
+
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
1431
|
"div",
|
|
1411
1432
|
{
|
|
1412
|
-
className: `text-xs leading-relaxed whitespace-pre-wrap ${isComplete ? "text-gray-500" : "text-gray-600"}`,
|
|
1433
|
+
className: `crow-text-xs crow-leading-relaxed crow-whitespace-pre-wrap ${isComplete ? "crow-text-gray-500" : "crow-text-gray-600"}`,
|
|
1413
1434
|
children: thinking
|
|
1414
1435
|
}
|
|
1415
1436
|
) })
|
|
@@ -1423,12 +1444,12 @@ function ToolCallBlock({ toolCall }) {
|
|
|
1423
1444
|
const isExecuting = toolCall.status === "executing";
|
|
1424
1445
|
const isComplete = toolCall.status === "complete";
|
|
1425
1446
|
const isError = toolCall.status === "error";
|
|
1426
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 text-xs", children: [
|
|
1447
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-flex-col crow-gap-1 crow-text-xs", children: [
|
|
1427
1448
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1428
1449
|
"button",
|
|
1429
1450
|
{
|
|
1430
1451
|
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"}`,
|
|
1452
|
+
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
1453
|
disabled: !hasArgs,
|
|
1433
1454
|
children: [
|
|
1434
1455
|
hasArgs && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1436,14 +1457,14 @@ function ToolCallBlock({ toolCall }) {
|
|
|
1436
1457
|
{
|
|
1437
1458
|
animate: { rotate: expanded ? 90 : 0 },
|
|
1438
1459
|
transition: { duration: 0.15 },
|
|
1439
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "w-3 h-3" })
|
|
1460
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "crow-w-3 crow-h-3" })
|
|
1440
1461
|
}
|
|
1441
1462
|
),
|
|
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: [
|
|
1463
|
+
isExecuting && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "crow-w-3 crow-h-3 crow-animate-spin crow-text-blue-500" }),
|
|
1464
|
+
isComplete && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "crow-w-3 crow-h-3 crow-text-green-500" }),
|
|
1465
|
+
isError && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-w-3 crow-h-3 crow-text-red-500", children: "\u2715" }),
|
|
1466
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-font-medium", children: toolCall.name }),
|
|
1467
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "crow-text-gray-400", children: [
|
|
1447
1468
|
isExecuting && "running...",
|
|
1448
1469
|
isComplete && "done",
|
|
1449
1470
|
isError && "failed"
|
|
@@ -1458,8 +1479,8 @@ function ToolCallBlock({ toolCall }) {
|
|
|
1458
1479
|
animate: { height: "auto", opacity: 1 },
|
|
1459
1480
|
exit: { height: 0, opacity: 0 },
|
|
1460
1481
|
transition: { duration: 0.15 },
|
|
1461
|
-
className: "overflow-hidden",
|
|
1462
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 p-2 bg-gray-100 rounded text-
|
|
1482
|
+
className: "crow-overflow-hidden",
|
|
1483
|
+
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
1484
|
}
|
|
1464
1485
|
) })
|
|
1465
1486
|
] });
|
|
@@ -1480,7 +1501,7 @@ function MessageBubble({
|
|
|
1480
1501
|
"div",
|
|
1481
1502
|
{
|
|
1482
1503
|
id: message.id,
|
|
1483
|
-
className: `flex flex-col ${message.isBot ? "items-start" : "items-end"}`,
|
|
1504
|
+
className: `crow-flex crow-flex-col ${message.isBot ? "crow-items-start" : "crow-items-end"}`,
|
|
1484
1505
|
children: [
|
|
1485
1506
|
showReasoningTrace && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1486
1507
|
ReasoningTrace,
|
|
@@ -1494,7 +1515,7 @@ function MessageBubble({
|
|
|
1494
1515
|
hasContent && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1495
1516
|
"div",
|
|
1496
1517
|
{
|
|
1497
|
-
className: "max-w-[80%] rounded-2xl px-4 py-2 transition-all duration-150",
|
|
1518
|
+
className: "crow-max-w-[80%] crow-rounded-2xl crow-px-4 crow-py-2 crow-transition-all crow-duration-150",
|
|
1498
1519
|
style: message.isBot ? {
|
|
1499
1520
|
background: styles2.colors.botBubble,
|
|
1500
1521
|
color: styles2.colors.botText
|
|
@@ -1504,7 +1525,7 @@ function MessageBubble({
|
|
|
1504
1525
|
border: `1px solid ${styles2.colors.userBorder}`
|
|
1505
1526
|
},
|
|
1506
1527
|
children: [
|
|
1507
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm whitespace-pre-wrap", children: message.isBot ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1528
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-sm crow-whitespace-pre-wrap", children: message.isBot ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1508
1529
|
StreamingText,
|
|
1509
1530
|
{
|
|
1510
1531
|
content: message.content,
|
|
@@ -1514,16 +1535,16 @@ function MessageBubble({
|
|
|
1514
1535
|
ReactMarkdown__default.default,
|
|
1515
1536
|
{
|
|
1516
1537
|
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 }),
|
|
1538
|
+
strong: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "crow-font-bold", children }),
|
|
1539
|
+
ul: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "crow-list-disc crow-pl-5 crow-my-1", children }),
|
|
1540
|
+
ol: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "crow-list-decimal crow-pl-5 crow-my-1", children }),
|
|
1541
|
+
li: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("li", { children }),
|
|
1542
|
+
p: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "crow-mb-1 last:crow-mb-0", children }),
|
|
1522
1543
|
a: ({ href, children }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1523
1544
|
"a",
|
|
1524
1545
|
{
|
|
1525
1546
|
href,
|
|
1526
|
-
className: "underline hover:text-blue-300",
|
|
1547
|
+
className: "crow-underline hover:crow-text-blue-300",
|
|
1527
1548
|
target: "_blank",
|
|
1528
1549
|
rel: "noopener noreferrer",
|
|
1529
1550
|
children
|
|
@@ -1533,7 +1554,7 @@ function MessageBubble({
|
|
|
1533
1554
|
children: message.content
|
|
1534
1555
|
}
|
|
1535
1556
|
) }),
|
|
1536
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs opacity-60 mt-1", children: formatTime(message.timestamp) })
|
|
1557
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-xs crow-opacity-60 crow-mt-1", children: formatTime(message.timestamp) })
|
|
1537
1558
|
]
|
|
1538
1559
|
}
|
|
1539
1560
|
)
|
|
@@ -1615,7 +1636,7 @@ var MessagesContainer = React3.forwardRef(
|
|
|
1615
1636
|
animate: { opacity: 1 },
|
|
1616
1637
|
exit: { opacity: 0 },
|
|
1617
1638
|
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",
|
|
1639
|
+
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
1640
|
style: {
|
|
1620
1641
|
background: styles2.colors.messagesBackground,
|
|
1621
1642
|
...maxHeight && { maxHeight }
|
|
@@ -1638,20 +1659,20 @@ function ConversationList({
|
|
|
1638
1659
|
initial: { opacity: 0, height: 0 },
|
|
1639
1660
|
animate: { opacity: 1, height: "auto" },
|
|
1640
1661
|
exit: { opacity: 0, height: 0 },
|
|
1641
|
-
className: "mb-3 rounded-xl bg-gray-50 border border-gray-200",
|
|
1662
|
+
className: "crow-mb-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200",
|
|
1642
1663
|
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" }) })
|
|
1664
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-p-2 crow-border-b crow-border-gray-200 crow-flex crow-justify-between crow-items-center", children: [
|
|
1665
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "crow-text-sm crow-font-medium crow-text-gray-700", children: "Recent Conversations" }),
|
|
1666
|
+
/* @__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
1667
|
] }),
|
|
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(
|
|
1668
|
+
/* @__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
1669
|
"button",
|
|
1649
1670
|
{
|
|
1650
1671
|
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" : ""}`,
|
|
1672
|
+
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
1673
|
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) })
|
|
1674
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-sm crow-font-medium crow-text-gray-800 crow-truncate", children: conv.name || "Untitled conversation" }),
|
|
1675
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-text-xs crow-text-gray-500 crow-mt-0.5", children: formatConversationDate(conv.updated_at) })
|
|
1655
1676
|
]
|
|
1656
1677
|
},
|
|
1657
1678
|
conv.id
|
|
@@ -1668,14 +1689,14 @@ function WorkflowPanel({ workflow, onExit }) {
|
|
|
1668
1689
|
animate: { opacity: 1, y: 0 },
|
|
1669
1690
|
exit: { opacity: 0, y: -10 },
|
|
1670
1691
|
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 }),
|
|
1692
|
+
className: "crow-mb-3 crow-p-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200",
|
|
1693
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-justify-between", children: [
|
|
1694
|
+
/* @__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
1695
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1675
1696
|
"button",
|
|
1676
1697
|
{
|
|
1677
1698
|
onClick: onExit,
|
|
1678
|
-
className: "text-xs text-gray-500 hover:text-gray-700 underline",
|
|
1699
|
+
className: "crow-text-xs crow-text-gray-500 hover:crow-text-gray-700 crow-underline",
|
|
1679
1700
|
children: "Exit"
|
|
1680
1701
|
}
|
|
1681
1702
|
)
|
|
@@ -1688,7 +1709,7 @@ function PoweredByBadge({ apiUrl = "" }) {
|
|
|
1688
1709
|
const branding = styles2.branding;
|
|
1689
1710
|
if (!branding.showPoweredBy) return null;
|
|
1690
1711
|
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-
|
|
1712
|
+
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
1713
|
branding.showLogo && logoUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1693
1714
|
"img",
|
|
1694
1715
|
{
|
|
@@ -1696,7 +1717,7 @@ function PoweredByBadge({ apiUrl = "" }) {
|
|
|
1696
1717
|
alt: "Crow",
|
|
1697
1718
|
width: 14,
|
|
1698
1719
|
height: 14,
|
|
1699
|
-
className: "opacity-50"
|
|
1720
|
+
className: "crow-opacity-50"
|
|
1700
1721
|
}
|
|
1701
1722
|
),
|
|
1702
1723
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: branding.poweredByText })
|
|
@@ -1725,7 +1746,7 @@ var ModelSelector = ({
|
|
|
1725
1746
|
acc[model.provider].push(model);
|
|
1726
1747
|
return acc;
|
|
1727
1748
|
}, {});
|
|
1728
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", ref: dropdownRef, children: [
|
|
1749
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-relative", ref: dropdownRef, children: [
|
|
1729
1750
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1730
1751
|
"button",
|
|
1731
1752
|
{
|
|
@@ -1733,10 +1754,10 @@ var ModelSelector = ({
|
|
|
1733
1754
|
onClick: () => !disabled && setIsOpen(!isOpen),
|
|
1734
1755
|
disabled,
|
|
1735
1756
|
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"
|
|
1757
|
+
"crow-flex crow-items-center crow-gap-1 crow-px-2 crow-py-1 crow-rounded-md crow-text-xs",
|
|
1758
|
+
"crow-bg-transparent crow-text-gray-400",
|
|
1759
|
+
"hover:crow-text-gray-700 crow-transition-colors",
|
|
1760
|
+
disabled ? "crow-opacity-50 crow-cursor-not-allowed" : "crow-cursor-pointer"
|
|
1740
1761
|
),
|
|
1741
1762
|
children: [
|
|
1742
1763
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: selectedModelData?.name || "Select Model" }),
|
|
@@ -1744,16 +1765,16 @@ var ModelSelector = ({
|
|
|
1744
1765
|
lucideReact.ChevronDown,
|
|
1745
1766
|
{
|
|
1746
1767
|
className: cn(
|
|
1747
|
-
"w-3 h-3 transition-transform",
|
|
1748
|
-
isOpen ? "rotate-180" : ""
|
|
1768
|
+
"crow-w-3 crow-h-3 crow-transition-transform",
|
|
1769
|
+
isOpen ? "crow-rotate-180" : ""
|
|
1749
1770
|
)
|
|
1750
1771
|
}
|
|
1751
1772
|
)
|
|
1752
1773
|
]
|
|
1753
1774
|
}
|
|
1754
1775
|
),
|
|
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 }),
|
|
1776
|
+
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: [
|
|
1777
|
+
/* @__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
1778
|
providerModels.map((model) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1758
1779
|
"button",
|
|
1759
1780
|
{
|
|
@@ -1762,13 +1783,13 @@ var ModelSelector = ({
|
|
|
1762
1783
|
setIsOpen(false);
|
|
1763
1784
|
},
|
|
1764
1785
|
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"
|
|
1786
|
+
"crow-w-full crow-flex crow-items-center crow-justify-between crow-px-3 crow-py-1.5 crow-text-sm",
|
|
1787
|
+
"hover:crow-bg-gray-100 crow-transition-colors",
|
|
1788
|
+
model.id === selectedModel ? "crow-text-gray-900" : "crow-text-gray-600"
|
|
1768
1789
|
),
|
|
1769
1790
|
children: [
|
|
1770
1791
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: model.name }),
|
|
1771
|
-
model.id === selectedModel && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-4 h-4 text-green-500" })
|
|
1792
|
+
model.id === selectedModel && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "crow-w-4 crow-h-4 crow-text-green-500" })
|
|
1772
1793
|
]
|
|
1773
1794
|
},
|
|
1774
1795
|
model.id
|
|
@@ -1805,7 +1826,7 @@ var Textarea = React3__default.default.forwardRef(
|
|
|
1805
1826
|
"textarea",
|
|
1806
1827
|
{
|
|
1807
1828
|
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",
|
|
1829
|
+
"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
1830
|
className
|
|
1810
1831
|
),
|
|
1811
1832
|
ref,
|
|
@@ -1824,9 +1845,10 @@ var TooltipContent = React3__default.default.forwardRef(({ className, sideOffset
|
|
|
1824
1845
|
ref,
|
|
1825
1846
|
sideOffset,
|
|
1826
1847
|
className: cn(
|
|
1827
|
-
"z-50 overflow-hidden rounded-md border
|
|
1848
|
+
"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
1849
|
className
|
|
1829
1850
|
),
|
|
1851
|
+
style: { borderColor: "#333333", background: "#1F2023" },
|
|
1830
1852
|
...props
|
|
1831
1853
|
}
|
|
1832
1854
|
));
|
|
@@ -1834,21 +1856,21 @@ TooltipContent.displayName = "TooltipContent";
|
|
|
1834
1856
|
var Button = React3__default.default.forwardRef(
|
|
1835
1857
|
({ className, variant = "default", size = "default", ...props }, ref) => {
|
|
1836
1858
|
const variantClasses = {
|
|
1837
|
-
default: "bg-white hover:bg-white/80 text-black",
|
|
1838
|
-
outline: "border
|
|
1839
|
-
ghost: "bg-transparent hover:bg-
|
|
1859
|
+
default: "crow-bg-white hover:crow-bg-white/80 crow-text-black",
|
|
1860
|
+
outline: "crow-border crow-bg-transparent hover:crow-bg-gray-700",
|
|
1861
|
+
ghost: "crow-bg-transparent hover:crow-bg-gray-700"
|
|
1840
1862
|
};
|
|
1841
1863
|
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
|
|
1864
|
+
default: "crow-h-10 crow-px-4 crow-py-2",
|
|
1865
|
+
sm: "crow-h-8 crow-px-3 crow-text-sm",
|
|
1866
|
+
lg: "crow-h-12 crow-px-6",
|
|
1867
|
+
icon: "crow-h-8 crow-w-8 crow-rounded-full"
|
|
1846
1868
|
};
|
|
1847
1869
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1848
1870
|
"button",
|
|
1849
1871
|
{
|
|
1850
1872
|
className: cn(
|
|
1851
|
-
"inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
|
|
1873
|
+
"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
1874
|
variantClasses[variant],
|
|
1853
1875
|
sizeClasses[size],
|
|
1854
1876
|
className
|
|
@@ -1908,10 +1930,11 @@ var PromptInput = React3__default.default.forwardRef(
|
|
|
1908
1930
|
{
|
|
1909
1931
|
ref,
|
|
1910
1932
|
className: cn(
|
|
1911
|
-
"rounded-3xl border
|
|
1912
|
-
isLoading && "border-red-500
|
|
1933
|
+
"crow-rounded-3xl crow-border crow-p-1.5 crow-shadow-lg crow-transition-all crow-duration-300",
|
|
1934
|
+
isLoading && "crow-border-red-500",
|
|
1913
1935
|
className
|
|
1914
1936
|
),
|
|
1937
|
+
style: { borderColor: isLoading ? void 0 : "#444444", background: "#1F2023" },
|
|
1915
1938
|
children
|
|
1916
1939
|
}
|
|
1917
1940
|
)
|
|
@@ -1953,7 +1976,7 @@ var PromptInputActions = ({
|
|
|
1953
1976
|
children,
|
|
1954
1977
|
className,
|
|
1955
1978
|
...props
|
|
1956
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-2", className), ...props, children });
|
|
1979
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("crow-flex crow-items-center crow-gap-2", className), ...props, children });
|
|
1957
1980
|
var PromptInputAction = ({
|
|
1958
1981
|
tooltip,
|
|
1959
1982
|
children,
|
|
@@ -1994,15 +2017,15 @@ var PromptInputBox = React3__default.default.forwardRef(
|
|
|
1994
2017
|
isLoading,
|
|
1995
2018
|
onSubmit: handleSubmit,
|
|
1996
2019
|
className: cn(
|
|
1997
|
-
"w-full
|
|
2020
|
+
"crow-w-full crow-shadow-lg crow-transition-all crow-duration-300 crow-ease-in-out",
|
|
1998
2021
|
className
|
|
1999
2022
|
),
|
|
2000
2023
|
disabled: isLoading,
|
|
2001
2024
|
ref: ref || promptBoxRef,
|
|
2002
2025
|
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(
|
|
2026
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-transition-all crow-duration-300 crow-opacity-100", children: /* @__PURE__ */ jsxRuntime.jsx(PromptInputTextarea, { placeholder, className: "crow-text-base" }) }),
|
|
2027
|
+
/* @__PURE__ */ jsxRuntime.jsxs(PromptInputActions, { className: "crow-flex crow-items-center crow-justify-between crow-gap-2 crow-p-0 crow-pt-1", children: [
|
|
2028
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "crow-flex crow-items-center", children: availableModels.length > 0 && onModelChange && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2006
2029
|
ModelSelector,
|
|
2007
2030
|
{
|
|
2008
2031
|
models: availableModels,
|
|
@@ -2021,9 +2044,12 @@ var PromptInputBox = React3__default.default.forwardRef(
|
|
|
2021
2044
|
variant: "default",
|
|
2022
2045
|
size: "icon",
|
|
2023
2046
|
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]"
|
|
2047
|
+
"crow-h-7 crow-w-7 crow-rounded-full crow-transition-all crow-duration-200"
|
|
2026
2048
|
),
|
|
2049
|
+
style: {
|
|
2050
|
+
background: isLoading ? "#ef4444" : hasContent ? "#ffffff" : "transparent",
|
|
2051
|
+
color: isLoading ? "#ffffff" : "#1F2023"
|
|
2052
|
+
},
|
|
2027
2053
|
onClick: () => {
|
|
2028
2054
|
if (isLoading && onStop) {
|
|
2029
2055
|
onStop();
|
|
@@ -2031,7 +2057,7 @@ var PromptInputBox = React3__default.default.forwardRef(
|
|
|
2031
2057
|
handleSubmit();
|
|
2032
2058
|
}
|
|
2033
2059
|
},
|
|
2034
|
-
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3.5 w-3.5 fill
|
|
2060
|
+
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
2061
|
}
|
|
2036
2062
|
)
|
|
2037
2063
|
}
|
|
@@ -2239,7 +2265,7 @@ function CrowWidget({
|
|
|
2239
2265
|
isGenerating: chat.isLoading
|
|
2240
2266
|
}
|
|
2241
2267
|
) }) }),
|
|
2242
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-auto", children: [
|
|
2268
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-mt-auto", children: [
|
|
2243
2269
|
/* @__PURE__ */ jsxRuntime.jsx(PoweredByBadge, { apiUrl }),
|
|
2244
2270
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2245
2271
|
PromptInputBox,
|
|
@@ -2248,7 +2274,7 @@ function CrowWidget({
|
|
|
2248
2274
|
onStop: chat.stopGeneration,
|
|
2249
2275
|
placeholder: "Type your message...",
|
|
2250
2276
|
isLoading: chat.isLoading,
|
|
2251
|
-
className: "
|
|
2277
|
+
className: "crow-backdrop-blur-md"
|
|
2252
2278
|
}
|
|
2253
2279
|
)
|
|
2254
2280
|
] })
|
|
@@ -2289,7 +2315,7 @@ function CrowWidget({
|
|
|
2289
2315
|
isGenerating: chat.isLoading
|
|
2290
2316
|
}
|
|
2291
2317
|
) }) }),
|
|
2292
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-auto", children: [
|
|
2318
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-mt-auto", children: [
|
|
2293
2319
|
/* @__PURE__ */ jsxRuntime.jsx(PoweredByBadge, { apiUrl }),
|
|
2294
2320
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2295
2321
|
PromptInputBox,
|
|
@@ -2298,7 +2324,7 @@ function CrowWidget({
|
|
|
2298
2324
|
onStop: chat.stopGeneration,
|
|
2299
2325
|
placeholder: "Type your message...",
|
|
2300
2326
|
isLoading: chat.isLoading,
|
|
2301
|
-
className: "
|
|
2327
|
+
className: "crow-backdrop-blur-md"
|
|
2302
2328
|
}
|
|
2303
2329
|
)
|
|
2304
2330
|
] })
|
|
@@ -2415,7 +2441,7 @@ function CrowCopilot({
|
|
|
2415
2441
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2416
2442
|
"div",
|
|
2417
2443
|
{
|
|
2418
|
-
className: `flex flex-col h-full
|
|
2444
|
+
className: `crow-flex crow-flex-col crow-h-full ${position === "left" ? "crow-border-r" : "crow-border-l"} ${className || ""}`,
|
|
2419
2445
|
style: {
|
|
2420
2446
|
width: widthStyle,
|
|
2421
2447
|
fontFamily: styles2.typography.fontFamily,
|
|
@@ -2427,7 +2453,7 @@ function CrowCopilot({
|
|
|
2427
2453
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2428
2454
|
"div",
|
|
2429
2455
|
{
|
|
2430
|
-
className: "flex items-center justify-between px-4 py-3 border-b",
|
|
2456
|
+
className: "crow-flex crow-items-center crow-justify-between crow-px-4 crow-py-3 crow-border-b",
|
|
2431
2457
|
style: {
|
|
2432
2458
|
height: styles2.dimensions.headerHeight,
|
|
2433
2459
|
borderColor: styles2.colors.border
|
|
@@ -2436,7 +2462,7 @@ function CrowCopilot({
|
|
|
2436
2462
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2437
2463
|
"span",
|
|
2438
2464
|
{
|
|
2439
|
-
className: "font-semibold",
|
|
2465
|
+
className: "crow-font-semibold",
|
|
2440
2466
|
style: {
|
|
2441
2467
|
color: styles2.colors.text,
|
|
2442
2468
|
fontSize: styles2.typography.headerFontSize
|
|
@@ -2444,34 +2470,34 @@ function CrowCopilot({
|
|
|
2444
2470
|
children: agentName || title
|
|
2445
2471
|
}
|
|
2446
2472
|
),
|
|
2447
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
2473
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-flex crow-items-center crow-gap-1", children: [
|
|
2448
2474
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2449
2475
|
"button",
|
|
2450
2476
|
{
|
|
2451
2477
|
onClick: handleNewChat,
|
|
2452
|
-
className: "p-1.5 hover:bg-gray-100 rounded transition-colors",
|
|
2478
|
+
className: "crow-p-1.5 hover:crow-bg-gray-100 crow-rounded crow-transition-colors",
|
|
2453
2479
|
"aria-label": "New Chat",
|
|
2454
2480
|
title: "New Chat",
|
|
2455
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { className: "w-4 h-4 text-gray-600" })
|
|
2481
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(PlusIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-600" })
|
|
2456
2482
|
}
|
|
2457
2483
|
),
|
|
2458
2484
|
isVerifiedUser && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2459
2485
|
"button",
|
|
2460
2486
|
{
|
|
2461
2487
|
onClick: handleToggleHistory,
|
|
2462
|
-
className: `p-1.5 hover:bg-gray-100 rounded transition-colors ${showConversationList ? "bg-gray-100" : ""}`,
|
|
2488
|
+
className: `crow-p-1.5 hover:crow-bg-gray-100 crow-rounded crow-transition-colors ${showConversationList ? "crow-bg-gray-100" : ""}`,
|
|
2463
2489
|
"aria-label": "Conversation History",
|
|
2464
2490
|
title: "Conversation History",
|
|
2465
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(HistoryIcon, { className: "w-4 h-4 text-gray-600" })
|
|
2491
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(HistoryIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-600" })
|
|
2466
2492
|
}
|
|
2467
2493
|
),
|
|
2468
2494
|
showClose && onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2469
2495
|
"button",
|
|
2470
2496
|
{
|
|
2471
2497
|
onClick: onClose,
|
|
2472
|
-
className: "p-1.5 hover:bg-gray-100 rounded transition-colors",
|
|
2498
|
+
className: "crow-p-1.5 hover:crow-bg-gray-100 crow-rounded crow-transition-colors",
|
|
2473
2499
|
"aria-label": "Close",
|
|
2474
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "w-4 h-4 text-gray-600" })
|
|
2500
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-600" })
|
|
2475
2501
|
}
|
|
2476
2502
|
)
|
|
2477
2503
|
] })
|
|
@@ -2496,7 +2522,7 @@ function CrowCopilot({
|
|
|
2496
2522
|
isGenerating: chat.isLoading
|
|
2497
2523
|
}
|
|
2498
2524
|
) }),
|
|
2499
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-3 border-t", style: { borderColor: styles2.colors.border }, children: [
|
|
2525
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "crow-p-3 crow-border-t", style: { borderColor: styles2.colors.border }, children: [
|
|
2500
2526
|
styles2.branding.showPoweredBy && /* @__PURE__ */ jsxRuntime.jsx(PoweredByBadge, { apiUrl }),
|
|
2501
2527
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2502
2528
|
PromptInputBox,
|
|
@@ -2504,8 +2530,7 @@ function CrowCopilot({
|
|
|
2504
2530
|
onSend: handleSend,
|
|
2505
2531
|
onStop: chat.stopGeneration,
|
|
2506
2532
|
placeholder: "Ask anything...",
|
|
2507
|
-
isLoading: chat.isLoading
|
|
2508
|
-
className: "!bg-white !border-gray-300"
|
|
2533
|
+
isLoading: chat.isLoading
|
|
2509
2534
|
}
|
|
2510
2535
|
)
|
|
2511
2536
|
] })
|