@xto/chat 1.0.2 → 1.1.0

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/es/style.css CHANGED
@@ -1 +1 @@
1
- .x-markdown-renderer{font-size:14px;line-height:1.6}.x-markdown-renderer h1,.x-markdown-renderer h2,.x-markdown-renderer h3,.x-markdown-renderer h4,.x-markdown-renderer h5,.x-markdown-renderer h6{margin:12px 0 6px;font-weight:600}.x-markdown-renderer h1{font-size:1.5em}.x-markdown-renderer h2{font-size:1.3em}.x-markdown-renderer h3{font-size:1.1em}.x-markdown-renderer p{margin:6px 0}.x-markdown-renderer ul,.x-markdown-renderer ol{padding-left:20px;margin:6px 0}.x-markdown-renderer code{background:#f0f0f0;padding:2px 4px;border-radius:2px;font-family:Monaco,Consolas,monospace;font-size:.9em}.x-markdown-renderer pre{margin:8px 0;border-radius:4px;overflow:hidden}.x-markdown-renderer pre code{display:block;padding:8px 12px;background:#1e1e1e;color:#d4d4d4}.x-markdown-renderer blockquote{border-left:3px solid #d0d0d0;padding-left:12px;margin:8px 0;color:#666}.x-markdown-renderer table{border-collapse:collapse;margin:8px 0}.x-markdown-renderer table th,.x-markdown-renderer table td{border:1px solid #d0d0d0;padding:6px 10px}.x-markdown-renderer table th{background:#f5f5f5}.x-markdown-renderer a{color:#155eef;text-decoration:none}.x-markdown-renderer a:hover{text-decoration:underline}.x-markdown-renderer img{max-width:100%;border-radius:4px}.x-markdown-renderer hr{border:none;border-top:1px solid #e0e0e0;margin:12px 0}.x-thinking-chain{background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-thinking-chain__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-thinking-chain__icon{font-size:14px}.x-thinking-chain__title{font-weight:600;color:#666}.x-thinking-chain__toggle{margin-left:auto;color:#999}.x-thinking-chain__steps{padding:0 10px 8px}.x-thinking-chain__step{border-left:2px solid #d0d0d0;padding-left:8px;margin-bottom:6px}.x-thinking-chain__step:last-child{margin-bottom:0}.x-thinking-chain__field{display:flex;gap:4px;margin-bottom:2px}.x-thinking-chain__label{color:#999;font-weight:600;flex-shrink:0}.x-thinking-chain__value{color:#333;word-break:break-word}.x-thinking-chain__value--action{color:#155eef;font-weight:500}.x-tool-call-display{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-tool-call-display__item{border-bottom:1px solid #f0f0f0}.x-tool-call-display__item:last-child{border-bottom:none}.x-tool-call-display__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-tool-call-display__icon{font-size:12px}.x-tool-call-display__name{font-weight:600;color:#333}.x-tool-call-display__status{font-size:11px;padding:1px 6px;border-radius:2px}.x-tool-call-display__status--success{background:#d1fae5;color:#10b981}.x-tool-call-display__status--failed{background:#fee2e2;color:#ef4444}.x-tool-call-display__time{color:#999;font-size:11px}.x-tool-call-display__toggle{margin-left:auto;color:#999}.x-tool-call-display__body{padding:8px 10px;background:#fafafa}.x-tool-call-display__section{margin-bottom:6px}.x-tool-call-display__label{color:#999;margin-bottom:2px}.x-tool-call-display__code{background:#1e1e1e;color:#d4d4d4;padding:6px;border-radius:2px;font-size:11px;overflow-x:auto;margin:0}.x-tool-call-display__error{color:#ef4444;background:#fef2f2;padding:4px 6px;border-radius:2px}.x-feedback-buttons{display:flex;gap:4px;margin-top:4px}.x-feedback-buttons__btn{background:none;border:1px solid transparent;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px}.x-feedback-buttons__btn:hover{background:#f5f5f5}.x-feedback-buttons__btn--active{background:#f0f7ff;border-color:#155eef}.x-message-item{display:flex;gap:12px}.x-message-item--user{flex-direction:row-reverse}.x-message-item__avatar{width:32px;height:32px;border-radius:50%;background:#155eef;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.x-message-item--user .x-message-item__avatar{background:#10b981}.x-message-item__body{flex:1;max-width:80%}.x-message-item--user .x-message-item__body{text-align:right}.x-message-item__meta{font-size:11px;color:#999;margin-bottom:4px;display:flex;gap:8px}.x-message-item__content{background:#f5f5f5;padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.6;text-align:left;word-break:break-word}.x-message-item--user .x-message-item__content{background:#155eef;color:#fff}.x-message-item__cursor{animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.x-message-list{display:flex;flex-direction:column;gap:16px}.x-message-list__loading{display:flex;gap:4px;align-items:center;padding:8px}.x-message-list__dot{width:8px;height:8px;background:#999;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.x-message-list__dot:nth-child(1){animation-delay:-.32s}.x-message-list__dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.x-message-input__attachments{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.x-message-input__attachment{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f5f5f5;border-radius:4px;font-size:12px}.x-message-input__attachment-remove{background:none;border:none;cursor:pointer;color:#999}.x-message-input__row{display:flex;gap:8px;align-items:flex-end}.x-message-input__upload{cursor:pointer;padding:8px;background:#f5f5f5;border-radius:4px}.x-message-input__upload input{display:none}.x-message-input__textarea{flex:1;padding:10px 12px;border:1px solid #d0d0d0;border-radius:8px;resize:none;font-size:14px;line-height:1.5;font-family:inherit;max-height:200px;overflow-y:auto}.x-message-input__textarea:focus{outline:none;border-color:#155eef}.x-message-input__textarea:disabled{background:#f5f5f5;cursor:not-allowed}.x-message-input__actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.x-message-input__count{font-size:11px;color:#999}.x-message-input__btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px}.x-message-input__btn--send{background:#155eef;color:#fff}.x-message-input__btn--send:disabled{background:#ccc;cursor:not-allowed}.x-message-input__btn--stop{background:#ef4444;color:#fff}.x-suggested-questions__label{font-size:11px;color:#999;margin-bottom:4px}.x-suggested-questions__list{display:flex;flex-wrap:wrap;gap:6px}.x-suggested-questions__item{padding:4px 10px;border:1px solid #d0d0d0;border-radius:12px;background:#fff;color:#155eef;cursor:pointer;font-size:12px;transition:all .2s}.x-suggested-questions__item:hover{background:#155eef;color:#fff;border-color:#155eef}.x-chat-container{display:flex;flex-direction:column;height:100%;background:#fff}.x-chat-container__messages{flex:1;overflow-y:auto;padding:16px}.x-chat-container__suggested{padding:8px 16px;border-top:1px solid #f0f0f0}.x-chat-container__input{border-top:1px solid #e0e0e0;padding:12px 16px}.x-code-block{border-radius:4px;overflow:hidden;margin:8px 0}.x-code-block__header{display:flex;justify-content:space-between;align-items:center;background:#2d2d2d;color:#ccc;padding:4px 8px;font-size:11px}.x-code-block__language{text-transform:uppercase}.x-code-block__copy{background:none;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:2px;cursor:pointer;font-size:11px}.x-code-block__copy:hover{background:#444}.x-code-block__pre{background:#1e1e1e;color:#d4d4d4;padding:8px 12px;margin:0;overflow-x:auto;font-family:Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.x-file-upload__dropzone{border:2px dashed #d0d0d0;border-radius:6px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.x-file-upload__dropzone:hover,.x-file-upload__dropzone--active{border-color:#155eef;background:#f0f7ff}.x-file-upload__dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.x-file-upload__hint{font-size:13px;color:#666}.x-file-upload__hint span{display:block}.x-file-upload__max{font-size:11px;color:#999;margin-top:4px}.x-file-upload__list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.x-file-upload__item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f5f5f5;border-radius:4px;font-size:12px}.x-file-upload__name{flex:1;color:#333}.x-file-upload__size{color:#999}.x-file-upload__remove{background:none;border:none;cursor:pointer;color:#ef4444;font-size:16px}
1
+ .x-markdown-renderer{font-size:14px;line-height:1.6}.x-markdown-renderer h1,.x-markdown-renderer h2,.x-markdown-renderer h3,.x-markdown-renderer h4,.x-markdown-renderer h5,.x-markdown-renderer h6{margin:12px 0 6px;font-weight:600}.x-markdown-renderer h1{font-size:1.5em}.x-markdown-renderer h2{font-size:1.3em}.x-markdown-renderer h3{font-size:1.1em}.x-markdown-renderer p{margin:6px 0}.x-markdown-renderer ul,.x-markdown-renderer ol{padding-left:20px;margin:6px 0}.x-markdown-renderer code{background:#f0f0f0;padding:2px 4px;border-radius:2px;font-family:Monaco,Consolas,monospace;font-size:.9em}.x-markdown-renderer pre{margin:8px 0;border-radius:4px;overflow:hidden}.x-markdown-renderer pre code{display:block;padding:8px 12px;background:#1e1e1e;color:#d4d4d4}.x-markdown-renderer blockquote{border-left:3px solid var(--xto-border-color, #D1D5DB);padding-left:12px;margin:8px 0;color:#666}.x-markdown-renderer table{border-collapse:collapse;margin:8px 0}.x-markdown-renderer table th,.x-markdown-renderer table td{border:1px solid var(--xto-border-color, #D1D5DB);padding:6px 10px}.x-markdown-renderer table th{background:var(--xto-fill-color, #F3F4F6)}.x-markdown-renderer a{color:var(--xto-color-primary, #4F46E5);text-decoration:none}.x-markdown-renderer a:hover{text-decoration:underline}.x-markdown-renderer img{max-width:100%;border-radius:4px}.x-markdown-renderer hr{border:none;border-top:1px solid #e0e0e0;margin:12px 0}.x-thinking-chain{background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-thinking-chain__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-thinking-chain__icon{font-size:14px}.x-thinking-chain__title{font-weight:600;color:#666}.x-thinking-chain__toggle{margin-left:auto;color:#999}.x-thinking-chain__steps{padding:0 10px 8px}.x-thinking-chain__step{border-left:2px solid var(--xto-border-color, #D1D5DB);padding-left:8px;margin-bottom:6px}.x-thinking-chain__step:last-child{margin-bottom:0}.x-thinking-chain__field{display:flex;gap:4px;margin-bottom:2px}.x-thinking-chain__label{color:#999;font-weight:600;flex-shrink:0}.x-thinking-chain__value{color:#333;word-break:break-word}.x-thinking-chain__value--action{color:var(--xto-color-primary, #4F46E5);font-weight:500}.x-tool-call-display{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-tool-call-display__item{border-bottom:1px solid #f0f0f0}.x-tool-call-display__item:last-child{border-bottom:none}.x-tool-call-display__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-tool-call-display__icon{font-size:12px}.x-tool-call-display__name{font-weight:600;color:#333}.x-tool-call-display__status{font-size:11px;padding:1px 6px;border-radius:2px}.x-tool-call-display__status--success{background:#d1fae5;color:#10b981}.x-tool-call-display__status--failed{background:#fee2e2;color:#ef4444}.x-tool-call-display__time{color:#999;font-size:11px}.x-tool-call-display__toggle{margin-left:auto;color:#999}.x-tool-call-display__body{padding:8px 10px;background:#fafafa}.x-tool-call-display__section{margin-bottom:6px}.x-tool-call-display__label{color:#999;margin-bottom:2px}.x-tool-call-display__code{background:#1e1e1e;color:#d4d4d4;padding:6px;border-radius:2px;font-size:11px;overflow-x:auto;margin:0}.x-tool-call-display__error{color:#ef4444;background:#fef2f2;padding:4px 6px;border-radius:2px}.x-feedback-buttons{display:flex;gap:4px;margin-top:4px}.x-feedback-buttons__btn{background:none;border:1px solid transparent;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px}.x-feedback-buttons__btn:hover{background:var(--xto-fill-color, #F3F4F6)}.x-feedback-buttons__btn--active{background:#f0f7ff;border-color:var(--xto-color-primary, #4F46E5)}.x-message-item{display:flex;gap:12px}.x-message-item--user{flex-direction:row-reverse}.x-message-item__avatar{width:32px;height:32px;border-radius:50%;background:var(--xto-color-primary, #4F46E5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.x-message-item--user .x-message-item__avatar{background:#10b981}.x-message-item__body{flex:1;max-width:80%}.x-message-item--user .x-message-item__body{text-align:right}.x-message-item__meta{font-size:11px;color:#999;margin-bottom:4px;display:flex;gap:8px}.x-message-item__content{background:var(--xto-fill-color, #F3F4F6);padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.6;text-align:left;word-break:break-word}.x-message-item--user .x-message-item__content{background:var(--xto-color-primary, #4F46E5);color:#fff}.x-message-item__cursor{animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.x-message-list{display:flex;flex-direction:column;gap:16px}.x-message-list__loading{display:flex;gap:4px;align-items:center;padding:8px}.x-message-list__dot{width:8px;height:8px;background:#999;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.x-message-list__dot:nth-child(1){animation-delay:-.32s}.x-message-list__dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.x-message-input__attachments{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.x-message-input__attachment{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--xto-fill-color, #F3F4F6);border-radius:4px;font-size:12px}.x-message-input__attachment-remove{background:none;border:none;cursor:pointer;color:#999}.x-message-input__row{display:flex;gap:8px;align-items:flex-end}.x-message-input__upload{cursor:pointer;padding:8px;background:var(--xto-fill-color, #F3F4F6);border-radius:4px}.x-message-input__upload input{display:none}.x-message-input__textarea{flex:1;padding:10px 12px;border:1px solid var(--xto-border-color, #D1D5DB);border-radius:8px;resize:none;font-size:14px;line-height:1.5;font-family:inherit;max-height:200px;overflow-y:auto}.x-message-input__textarea:focus{outline:none;border-color:var(--xto-color-primary, #4F46E5)}.x-message-input__textarea:disabled{background:var(--xto-fill-color, #F3F4F6);cursor:not-allowed}.x-message-input__actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.x-message-input__count{font-size:11px;color:#999}.x-message-input__btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px}.x-message-input__btn--send{background:var(--xto-color-primary, #4F46E5);color:#fff}.x-message-input__btn--send:disabled{background:#ccc;cursor:not-allowed}.x-message-input__btn--stop{background:#ef4444;color:#fff}.x-suggested-questions__label{font-size:11px;color:#999;margin-bottom:4px}.x-suggested-questions__list{display:flex;flex-wrap:wrap;gap:6px}.x-suggested-questions__item{padding:4px 10px;border:1px solid var(--xto-border-color, #D1D5DB);border-radius:12px;background:#fff;color:var(--xto-color-primary, #4F46E5);cursor:pointer;font-size:12px;transition:all .2s}.x-suggested-questions__item:hover{background:var(--xto-color-primary, #4F46E5);color:#fff;border-color:var(--xto-color-primary, #4F46E5)}.x-chat-container{display:flex;flex-direction:column;height:100%;background:#fff}.x-chat-container__messages{flex:1;overflow-y:auto;padding:16px}.x-chat-container__suggested{padding:8px 16px;border-top:1px solid #f0f0f0}.x-chat-container__input{border-top:1px solid #e0e0e0;padding:12px 16px}.x-code-block{border-radius:4px;overflow:hidden;margin:8px 0}.x-code-block__header{display:flex;justify-content:space-between;align-items:center;background:#2d2d2d;color:#ccc;padding:4px 8px;font-size:11px}.x-code-block__language{text-transform:uppercase}.x-code-block__copy{background:none;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:2px;cursor:pointer;font-size:11px}.x-code-block__copy:hover{background:#444}.x-code-block__pre{background:#1e1e1e;color:#d4d4d4;padding:8px 12px;margin:0;overflow-x:auto;font-family:Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.x-file-upload__dropzone{border:2px dashed var(--xto-border-color, #D1D5DB);border-radius:6px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.x-file-upload__dropzone:hover,.x-file-upload__dropzone--active{border-color:var(--xto-color-primary, #4F46E5);background:#f0f7ff}.x-file-upload__dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.x-file-upload__hint{font-size:13px;color:#666}.x-file-upload__hint span{display:block}.x-file-upload__max{font-size:11px;color:#999;margin-top:4px}.x-file-upload__list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.x-file-upload__item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--xto-fill-color, #F3F4F6);border-radius:4px;font-size:12px}.x-file-upload__name{flex:1;color:#333}.x-file-upload__size{color:#999}.x-file-upload__remove{background:none;border:none;cursor:pointer;color:#ef4444;font-size:16px}
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .x-markdown-renderer{font-size:14px;line-height:1.6}.x-markdown-renderer h1,.x-markdown-renderer h2,.x-markdown-renderer h3,.x-markdown-renderer h4,.x-markdown-renderer h5,.x-markdown-renderer h6{margin:12px 0 6px;font-weight:600}.x-markdown-renderer h1{font-size:1.5em}.x-markdown-renderer h2{font-size:1.3em}.x-markdown-renderer h3{font-size:1.1em}.x-markdown-renderer p{margin:6px 0}.x-markdown-renderer ul,.x-markdown-renderer ol{padding-left:20px;margin:6px 0}.x-markdown-renderer code{background:#f0f0f0;padding:2px 4px;border-radius:2px;font-family:Monaco,Consolas,monospace;font-size:.9em}.x-markdown-renderer pre{margin:8px 0;border-radius:4px;overflow:hidden}.x-markdown-renderer pre code{display:block;padding:8px 12px;background:#1e1e1e;color:#d4d4d4}.x-markdown-renderer blockquote{border-left:3px solid #d0d0d0;padding-left:12px;margin:8px 0;color:#666}.x-markdown-renderer table{border-collapse:collapse;margin:8px 0}.x-markdown-renderer table th,.x-markdown-renderer table td{border:1px solid #d0d0d0;padding:6px 10px}.x-markdown-renderer table th{background:#f5f5f5}.x-markdown-renderer a{color:#155eef;text-decoration:none}.x-markdown-renderer a:hover{text-decoration:underline}.x-markdown-renderer img{max-width:100%;border-radius:4px}.x-markdown-renderer hr{border:none;border-top:1px solid #e0e0e0;margin:12px 0}.x-thinking-chain{background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-thinking-chain__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-thinking-chain__icon{font-size:14px}.x-thinking-chain__title{font-weight:600;color:#666}.x-thinking-chain__toggle{margin-left:auto;color:#999}.x-thinking-chain__steps{padding:0 10px 8px}.x-thinking-chain__step{border-left:2px solid #d0d0d0;padding-left:8px;margin-bottom:6px}.x-thinking-chain__step:last-child{margin-bottom:0}.x-thinking-chain__field{display:flex;gap:4px;margin-bottom:2px}.x-thinking-chain__label{color:#999;font-weight:600;flex-shrink:0}.x-thinking-chain__value{color:#333;word-break:break-word}.x-thinking-chain__value--action{color:#155eef;font-weight:500}.x-tool-call-display{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-tool-call-display__item{border-bottom:1px solid #f0f0f0}.x-tool-call-display__item:last-child{border-bottom:none}.x-tool-call-display__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-tool-call-display__icon{font-size:12px}.x-tool-call-display__name{font-weight:600;color:#333}.x-tool-call-display__status{font-size:11px;padding:1px 6px;border-radius:2px}.x-tool-call-display__status--success{background:#d1fae5;color:#10b981}.x-tool-call-display__status--failed{background:#fee2e2;color:#ef4444}.x-tool-call-display__time{color:#999;font-size:11px}.x-tool-call-display__toggle{margin-left:auto;color:#999}.x-tool-call-display__body{padding:8px 10px;background:#fafafa}.x-tool-call-display__section{margin-bottom:6px}.x-tool-call-display__label{color:#999;margin-bottom:2px}.x-tool-call-display__code{background:#1e1e1e;color:#d4d4d4;padding:6px;border-radius:2px;font-size:11px;overflow-x:auto;margin:0}.x-tool-call-display__error{color:#ef4444;background:#fef2f2;padding:4px 6px;border-radius:2px}.x-feedback-buttons{display:flex;gap:4px;margin-top:4px}.x-feedback-buttons__btn{background:none;border:1px solid transparent;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px}.x-feedback-buttons__btn:hover{background:#f5f5f5}.x-feedback-buttons__btn--active{background:#f0f7ff;border-color:#155eef}.x-message-item{display:flex;gap:12px}.x-message-item--user{flex-direction:row-reverse}.x-message-item__avatar{width:32px;height:32px;border-radius:50%;background:#155eef;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.x-message-item--user .x-message-item__avatar{background:#10b981}.x-message-item__body{flex:1;max-width:80%}.x-message-item--user .x-message-item__body{text-align:right}.x-message-item__meta{font-size:11px;color:#999;margin-bottom:4px;display:flex;gap:8px}.x-message-item__content{background:#f5f5f5;padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.6;text-align:left;word-break:break-word}.x-message-item--user .x-message-item__content{background:#155eef;color:#fff}.x-message-item__cursor{animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.x-message-list{display:flex;flex-direction:column;gap:16px}.x-message-list__loading{display:flex;gap:4px;align-items:center;padding:8px}.x-message-list__dot{width:8px;height:8px;background:#999;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.x-message-list__dot:nth-child(1){animation-delay:-.32s}.x-message-list__dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.x-message-input__attachments{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.x-message-input__attachment{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#f5f5f5;border-radius:4px;font-size:12px}.x-message-input__attachment-remove{background:none;border:none;cursor:pointer;color:#999}.x-message-input__row{display:flex;gap:8px;align-items:flex-end}.x-message-input__upload{cursor:pointer;padding:8px;background:#f5f5f5;border-radius:4px}.x-message-input__upload input{display:none}.x-message-input__textarea{flex:1;padding:10px 12px;border:1px solid #d0d0d0;border-radius:8px;resize:none;font-size:14px;line-height:1.5;font-family:inherit;max-height:200px;overflow-y:auto}.x-message-input__textarea:focus{outline:none;border-color:#155eef}.x-message-input__textarea:disabled{background:#f5f5f5;cursor:not-allowed}.x-message-input__actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.x-message-input__count{font-size:11px;color:#999}.x-message-input__btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px}.x-message-input__btn--send{background:#155eef;color:#fff}.x-message-input__btn--send:disabled{background:#ccc;cursor:not-allowed}.x-message-input__btn--stop{background:#ef4444;color:#fff}.x-suggested-questions__label{font-size:11px;color:#999;margin-bottom:4px}.x-suggested-questions__list{display:flex;flex-wrap:wrap;gap:6px}.x-suggested-questions__item{padding:4px 10px;border:1px solid #d0d0d0;border-radius:12px;background:#fff;color:#155eef;cursor:pointer;font-size:12px;transition:all .2s}.x-suggested-questions__item:hover{background:#155eef;color:#fff;border-color:#155eef}.x-chat-container{display:flex;flex-direction:column;height:100%;background:#fff}.x-chat-container__messages{flex:1;overflow-y:auto;padding:16px}.x-chat-container__suggested{padding:8px 16px;border-top:1px solid #f0f0f0}.x-chat-container__input{border-top:1px solid #e0e0e0;padding:12px 16px}.x-code-block{border-radius:4px;overflow:hidden;margin:8px 0}.x-code-block__header{display:flex;justify-content:space-between;align-items:center;background:#2d2d2d;color:#ccc;padding:4px 8px;font-size:11px}.x-code-block__language{text-transform:uppercase}.x-code-block__copy{background:none;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:2px;cursor:pointer;font-size:11px}.x-code-block__copy:hover{background:#444}.x-code-block__pre{background:#1e1e1e;color:#d4d4d4;padding:8px 12px;margin:0;overflow-x:auto;font-family:Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.x-file-upload__dropzone{border:2px dashed #d0d0d0;border-radius:6px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.x-file-upload__dropzone:hover,.x-file-upload__dropzone--active{border-color:#155eef;background:#f0f7ff}.x-file-upload__dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.x-file-upload__hint{font-size:13px;color:#666}.x-file-upload__hint span{display:block}.x-file-upload__max{font-size:11px;color:#999;margin-top:4px}.x-file-upload__list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.x-file-upload__item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f5f5f5;border-radius:4px;font-size:12px}.x-file-upload__name{flex:1;color:#333}.x-file-upload__size{color:#999}.x-file-upload__remove{background:none;border:none;cursor:pointer;color:#ef4444;font-size:16px}
1
+ .x-markdown-renderer{font-size:14px;line-height:1.6}.x-markdown-renderer h1,.x-markdown-renderer h2,.x-markdown-renderer h3,.x-markdown-renderer h4,.x-markdown-renderer h5,.x-markdown-renderer h6{margin:12px 0 6px;font-weight:600}.x-markdown-renderer h1{font-size:1.5em}.x-markdown-renderer h2{font-size:1.3em}.x-markdown-renderer h3{font-size:1.1em}.x-markdown-renderer p{margin:6px 0}.x-markdown-renderer ul,.x-markdown-renderer ol{padding-left:20px;margin:6px 0}.x-markdown-renderer code{background:#f0f0f0;padding:2px 4px;border-radius:2px;font-family:Monaco,Consolas,monospace;font-size:.9em}.x-markdown-renderer pre{margin:8px 0;border-radius:4px;overflow:hidden}.x-markdown-renderer pre code{display:block;padding:8px 12px;background:#1e1e1e;color:#d4d4d4}.x-markdown-renderer blockquote{border-left:3px solid var(--xto-border-color, #D1D5DB);padding-left:12px;margin:8px 0;color:#666}.x-markdown-renderer table{border-collapse:collapse;margin:8px 0}.x-markdown-renderer table th,.x-markdown-renderer table td{border:1px solid var(--xto-border-color, #D1D5DB);padding:6px 10px}.x-markdown-renderer table th{background:var(--xto-fill-color, #F3F4F6)}.x-markdown-renderer a{color:var(--xto-color-primary, #4F46E5);text-decoration:none}.x-markdown-renderer a:hover{text-decoration:underline}.x-markdown-renderer img{max-width:100%;border-radius:4px}.x-markdown-renderer hr{border:none;border-top:1px solid #e0e0e0;margin:12px 0}.x-thinking-chain{background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-thinking-chain__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-thinking-chain__icon{font-size:14px}.x-thinking-chain__title{font-weight:600;color:#666}.x-thinking-chain__toggle{margin-left:auto;color:#999}.x-thinking-chain__steps{padding:0 10px 8px}.x-thinking-chain__step{border-left:2px solid var(--xto-border-color, #D1D5DB);padding-left:8px;margin-bottom:6px}.x-thinking-chain__step:last-child{margin-bottom:0}.x-thinking-chain__field{display:flex;gap:4px;margin-bottom:2px}.x-thinking-chain__label{color:#999;font-weight:600;flex-shrink:0}.x-thinking-chain__value{color:#333;word-break:break-word}.x-thinking-chain__value--action{color:var(--xto-color-primary, #4F46E5);font-weight:500}.x-tool-call-display{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;font-size:12px}.x-tool-call-display__item{border-bottom:1px solid #f0f0f0}.x-tool-call-display__item:last-child{border-bottom:none}.x-tool-call-display__header{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.x-tool-call-display__icon{font-size:12px}.x-tool-call-display__name{font-weight:600;color:#333}.x-tool-call-display__status{font-size:11px;padding:1px 6px;border-radius:2px}.x-tool-call-display__status--success{background:#d1fae5;color:#10b981}.x-tool-call-display__status--failed{background:#fee2e2;color:#ef4444}.x-tool-call-display__time{color:#999;font-size:11px}.x-tool-call-display__toggle{margin-left:auto;color:#999}.x-tool-call-display__body{padding:8px 10px;background:#fafafa}.x-tool-call-display__section{margin-bottom:6px}.x-tool-call-display__label{color:#999;margin-bottom:2px}.x-tool-call-display__code{background:#1e1e1e;color:#d4d4d4;padding:6px;border-radius:2px;font-size:11px;overflow-x:auto;margin:0}.x-tool-call-display__error{color:#ef4444;background:#fef2f2;padding:4px 6px;border-radius:2px}.x-feedback-buttons{display:flex;gap:4px;margin-top:4px}.x-feedback-buttons__btn{background:none;border:1px solid transparent;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px}.x-feedback-buttons__btn:hover{background:var(--xto-fill-color, #F3F4F6)}.x-feedback-buttons__btn--active{background:#f0f7ff;border-color:var(--xto-color-primary, #4F46E5)}.x-message-item{display:flex;gap:12px}.x-message-item--user{flex-direction:row-reverse}.x-message-item__avatar{width:32px;height:32px;border-radius:50%;background:var(--xto-color-primary, #4F46E5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.x-message-item--user .x-message-item__avatar{background:#10b981}.x-message-item__body{flex:1;max-width:80%}.x-message-item--user .x-message-item__body{text-align:right}.x-message-item__meta{font-size:11px;color:#999;margin-bottom:4px;display:flex;gap:8px}.x-message-item__content{background:var(--xto-fill-color, #F3F4F6);padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.6;text-align:left;word-break:break-word}.x-message-item--user .x-message-item__content{background:var(--xto-color-primary, #4F46E5);color:#fff}.x-message-item__cursor{animation:blink 1s infinite;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.x-message-list{display:flex;flex-direction:column;gap:16px}.x-message-list__loading{display:flex;gap:4px;align-items:center;padding:8px}.x-message-list__dot{width:8px;height:8px;background:#999;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.x-message-list__dot:nth-child(1){animation-delay:-.32s}.x-message-list__dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.x-message-input__attachments{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.x-message-input__attachment{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--xto-fill-color, #F3F4F6);border-radius:4px;font-size:12px}.x-message-input__attachment-remove{background:none;border:none;cursor:pointer;color:#999}.x-message-input__row{display:flex;gap:8px;align-items:flex-end}.x-message-input__upload{cursor:pointer;padding:8px;background:var(--xto-fill-color, #F3F4F6);border-radius:4px}.x-message-input__upload input{display:none}.x-message-input__textarea{flex:1;padding:10px 12px;border:1px solid var(--xto-border-color, #D1D5DB);border-radius:8px;resize:none;font-size:14px;line-height:1.5;font-family:inherit;max-height:200px;overflow-y:auto}.x-message-input__textarea:focus{outline:none;border-color:var(--xto-color-primary, #4F46E5)}.x-message-input__textarea:disabled{background:var(--xto-fill-color, #F3F4F6);cursor:not-allowed}.x-message-input__actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.x-message-input__count{font-size:11px;color:#999}.x-message-input__btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px}.x-message-input__btn--send{background:var(--xto-color-primary, #4F46E5);color:#fff}.x-message-input__btn--send:disabled{background:#ccc;cursor:not-allowed}.x-message-input__btn--stop{background:#ef4444;color:#fff}.x-suggested-questions__label{font-size:11px;color:#999;margin-bottom:4px}.x-suggested-questions__list{display:flex;flex-wrap:wrap;gap:6px}.x-suggested-questions__item{padding:4px 10px;border:1px solid var(--xto-border-color, #D1D5DB);border-radius:12px;background:#fff;color:var(--xto-color-primary, #4F46E5);cursor:pointer;font-size:12px;transition:all .2s}.x-suggested-questions__item:hover{background:var(--xto-color-primary, #4F46E5);color:#fff;border-color:var(--xto-color-primary, #4F46E5)}.x-chat-container{display:flex;flex-direction:column;height:100%;background:#fff}.x-chat-container__messages{flex:1;overflow-y:auto;padding:16px}.x-chat-container__suggested{padding:8px 16px;border-top:1px solid #f0f0f0}.x-chat-container__input{border-top:1px solid #e0e0e0;padding:12px 16px}.x-code-block{border-radius:4px;overflow:hidden;margin:8px 0}.x-code-block__header{display:flex;justify-content:space-between;align-items:center;background:#2d2d2d;color:#ccc;padding:4px 8px;font-size:11px}.x-code-block__language{text-transform:uppercase}.x-code-block__copy{background:none;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:2px;cursor:pointer;font-size:11px}.x-code-block__copy:hover{background:#444}.x-code-block__pre{background:#1e1e1e;color:#d4d4d4;padding:8px 12px;margin:0;overflow-x:auto;font-family:Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.x-file-upload__dropzone{border:2px dashed var(--xto-border-color, #D1D5DB);border-radius:6px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.x-file-upload__dropzone:hover,.x-file-upload__dropzone--active{border-color:var(--xto-color-primary, #4F46E5);background:#f0f7ff}.x-file-upload__dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.x-file-upload__hint{font-size:13px;color:#666}.x-file-upload__hint span{display:block}.x-file-upload__max{font-size:11px;color:#999;margin-top:4px}.x-file-upload__list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.x-file-upload__item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--xto-fill-color, #F3F4F6);border-radius:4px;font-size:12px}.x-file-upload__name{flex:1;color:#333}.x-file-upload__size{color:#999}.x-file-upload__remove{background:none;border:none;cursor:pointer;color:#ef4444;font-size:16px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xto/chat",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Xto Chat - AI Chat Interface Components (message list, streaming, thinking chain, tool calls)",
5
5
  "homepage": "https://jinguchu.github.io/xto-ui/",
6
6
  "repository": {
@@ -27,22 +27,17 @@
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
- "scripts": {
31
- "build": "vite build",
32
- "test": "vitest run",
33
- "test:watch": "vitest"
34
- },
35
30
  "dependencies": {
36
31
  "@vueuse/core": "^11.0.0",
37
32
  "markdown-it": "^14.1.0",
38
33
  "highlight.js": "^11.10.0",
39
34
  "dompurify": "^3.1.6",
40
35
  "dayjs": "^1.11.13",
41
- "@xto/base": "^1.4.1",
42
- "@xto/core": "^1.2.4",
43
- "@xto/form": "^1.4.1",
44
- "@xto/feedback": "^1.2.6",
45
- "@xto/data": "^1.2.2"
36
+ "@xto/base": "^1.5.0",
37
+ "@xto/core": "^1.3.0",
38
+ "@xto/form": "^1.5.0",
39
+ "@xto/feedback": "^1.3.0",
40
+ "@xto/data": "^1.3.0"
46
41
  },
47
42
  "peerDependencies": {
48
43
  "vue": "^3.4.0"
@@ -50,11 +45,16 @@
50
45
  "devDependencies": {
51
46
  "@vitejs/plugin-vue": "^5.0.4",
52
47
  "@vitejs/plugin-vue-jsx": "^3.1.0",
53
- "@xto/build": "workspace:*",
54
48
  "typescript": "^5.4.2",
55
49
  "vite": "^5.2.0",
56
50
  "vite-plugin-dts": "^4.5.4",
57
51
  "vitest": "^1.4.0",
58
- "vue": "^3.4.21"
52
+ "vue": "^3.4.21",
53
+ "@xto/build": "0.1.0"
54
+ },
55
+ "scripts": {
56
+ "build": "vite build",
57
+ "test": "vitest run",
58
+ "test:watch": "vitest"
59
59
  }
60
- }
60
+ }