@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 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 border-gray-200/30 backdrop-blur-md",
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
- "bg-white/30 border border-gray-200/30 flex flex-col gap-6 rounded-2xl py-6 backdrop-blur-md",
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 w-full h-full ${className ?? ""}`,
1170
+ className: `crow-flex crow-flex-col crow-shadow-2xl crow-gap-3 ${className ?? ""}`,
1121
1171
  style: {
1122
1172
  ...baseStyle,
1123
- maxWidth: styles2.dimensions.width,
1124
- maxHeight: styles2.dimensions.previewHeight
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", { className: "[&>p]:inline [&>p]:m-0", children }),
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-[10px] font-mono text-gray-700 overflow-x-auto max-h-32 overflow-y-auto ml-4", children: JSON.stringify(toolCall.arguments, null, 2) })
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: "text-sm whitespace-pre-wrap", children: message.isBot ? /* @__PURE__ */ jsxRuntime.jsx(
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", { className: "[&>p]:inline [&>p]:m-0", children }),
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-[11px] text-gray-400", children: [
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-[#9CA3AF]",
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 border-[#333333] bg-[#1F2023] px-3 py-1.5 text-sm text-white shadow-md animate-in fade-in-0 zoom-in-95",
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 border-[#444444] bg-transparent hover:bg-[#3A3A40]",
1839
- ghost: "bg-transparent hover:bg-[#3A3A40]"
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 aspect-[1/1]"
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 border-[#444444] bg-[#1F2023] p-1.5 shadow-[0_8px_30px_rgba(0,0,0,0.24)] transition-all duration-300",
1912
- isLoading && "border-red-500/70",
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 bg-[#1F2023] border-[#444444] shadow-[0_8px_30px_rgba(0,0,0,0.24)] transition-all duration-300 ease-in-out",
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-white text-white" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUp, { className: "h-3.5 w-3.5 text-[#1F2023]" })
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: "!bg-white !border-gray-300 backdrop-blur-md"
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: "!bg-white !border-gray-300 backdrop-blur-md"
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 bg-white ${position === "left" ? "border-r" : "border-l"} border-gray-200 ${className || ""}`,
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
  ] })