Chuyển đến nội dung
OrbZTài liệu APIAPI phần tử

API phần tử

Giao diện công khai gốc gồm thẻ <orb-z>, các thuộc tính được ghi trong tài liệu, thuộc tính giọng nói, phương thức hội thoại và phương thức hoạt ảnh. Các nút Shadow DOM bên trong và biến CSS được chủ ý loại khỏi những điểm tùy chỉnh công khai.

Thuộc tính HTML và JavaScript

Thuộc tính HTMLThuộc tính JavaScriptGiá trị chấp nhậnMặc định
statestateidle, listening, thinking, speaking, asleepidle
speechspeechVăn bản của ứng dụng; ưu tiên hơn talkFlowundefined
sizesizeĐộ dài CSS không rỗng; thuộc tính cũng chấp nhận số dương theo đơn vị pixel16rem
speedspeedSố dương1
pausedpausedSự hiện diện của thuộc tính boolean / thuộc tính booleanfalse
elevatedelevatedSự hiện diện của thuộc tính boolean / thuộc tính booleanfalse
reduced-motionreducedMotionsystem, always, neversystem
presetpresetCác giá trị chuẩn của ORBZ_PRESET_NAMES và một bí danh cũ bắt nguồn từ tên tài khoản; xem cách đặt tên bộ màuneongate (DEFAULT_ORBZ_PRESET)
color-primary—Màu CSSMàu chính Neongate
color-secondary—Màu CSSMàu phụ Neongate
color-accent—Màu CSSMàu nhấn Neongate
color-highlight—Màu CSSMàu nổi bật Neongate
color-background—Màu CSSMàu lõi Neongate

Năm màu tùy chỉnh là các thuộc tính HTML gốc. Chúng không phải những thuộc tính JavaScript riêng biệt trên phần tử gốc.

Thuộc tính giọng nói

Cấu hình giọng nói sử dụng thuộc tính JavaScript vì bộ máy và các bước hội thoại là giá trị có cấu trúc, không phải chuỗi HTML.

Thuộc tínhKiểuMặc định
voiceEngineOrbzVoiceEnginePort | undefinedundefined
talkFlowreadonly OrbzTalkStep[] | undefinedDEFAULT_TALK_FLOW
talkContextOrbzTalkContext chỉ đọcBộ nhớ thực thi rỗng
intelligenceOrbzIntelligencePort | undefinedundefined

Thiết lập bộ máy trước khi gọi startTalking(). Việc kết nối phần tử và gán bộ máy đều không phát âm thanh cho đến khi phương thức này được gọi rõ ràng. Gán undefined sẽ xóa bộ máy đã cấu hình.

Trạng thái

Trạng tháiÝ nghĩa trực quan
idleSự hiện diện bình tĩnh khi trợ lý chờ
listeningPhản hồi chú ý khi đang thu nhận đầu vào
thinkingChuyển động tập trung khi xử lý
speakingChuyển động sinh động khi phát phản hồi
asleepTrạng thái nghỉ yên tĩnh, tối hơn hoặc bị vô hiệu hóa
const orb = document.querySelector("orb-z"); if (orb) orb.state = "thinking";

Giá trị không được hỗ trợ sẽ được chuẩn hóa thành idle. Khi phát hiện một thuộc tính không hợp lệ và không phải null, Orbz ghi giá trị đã chuẩn hóa trở lại thuộc tính đó.

Kích thước và tốc độ

Thuộc tính size chấp nhận số hoặc chuỗi:

orb.size = 320; // "320px" orb.size = "20rem"; // "20rem" orb.size = "40vw"; // "40vw"

Kích thước dạng số không hữu hạn hoặc không dương sẽ trở về 16rem. Khoảng trắng ở hai đầu chuỗi được loại bỏ; hãy truyền độ dài CSS hợp lệ, không rỗng để có bố cục dễ dự đoán.

speed là hệ số nhân dương. Giá trị không hợp lệ, bằng không, âm hoặc không hữu hạn được chuẩn hóa thành 1.

orb.speed = 0.8; orb.speed = 1.25;

Ngữ nghĩa boolean

paused và elevated là thuộc tính boolean tiêu chuẩn. Chỉ cần thuộc tính hiện diện là giá trị đúng, ngay cả khi giá trị chuỗi của thuộc tính là "false".

<orb-z paused></orb-z> <orb-z elevated></orb-z>
orb.paused = false; // removes the paused attribute orb.elevated = true; // adds the elevated attribute

paused đóng băng hoạt ảnh đang chạy. elevated thêm bóng đổ cân giữa quanh thành phần hình tròn và không thay đổi kích thước bố cục.

Giảm chuyển động

Giá trịHành vi
systemTuân theo prefers-reduced-motion và phản ứng khi tùy chọn thay đổi
alwaysLuôn hiển thị phiên bản giảm chuyển động
neverLuôn hiển thị đầy đủ chuyển động

Giá trị không hợp lệ được chuẩn hóa thành system. paused và giảm chuyển động khác nhau: tạm dừng đóng băng hình ảnh hiện tại; giảm chuyển động chọn cách hiển thị nhẹ nhàng hơn.

Bộ màu có sẵn

TênChínhPhụNhấnNổi bậtNền
neongate (mặc định)#6C5CFF#00E9FF#FF4DDE#FFB07A#14142B
periwinkle#6667AB#8FB8FF#E66FA9#F3ECFF#111226
magenta#BB2649#F06A82#29B8A6#FFDCE4#250A12
peach#FFBE98#FF8F70#D987A3#FFF0E7#2A1516
mocha#A47864#D3A17E#7FA18F#F2E2D7#211613
ivory#F0EEE9#AFC7D3#C8B3D4#FFFFFF#171A20
<orb-z preset="ivory"></orb-z>

Bộ màu không hợp lệ được chuẩn hóa thành DEFAULT_ORBZ_PRESET. API công khai có tên preset; không có thuộc tính HTML hay JavaScript tên palette. Xem cách đặt tên bộ màu Neongate để biết bí danh cũ và hành vi chuẩn hóa về tên chuẩn.

Bảng màu tùy chỉnh

Bỏ thuộc tính preset và đặt một hoặc nhiều màu tùy chỉnh:

<orb-z color-primary="#7C3AED" color-secondary="#22D3EE" color-accent="#F472B6" color-highlight="#FDE68A" color-background="#09090B" ></orb-z>

Giá trị rỗng bị loại bỏ, màu không được chỉ định dùng giá trị mặc định của Neongate. Bộ màu được chỉ định rõ ràng và màu tùy chỉnh loại trừ lẫn nhau. Khi cả hai cùng hiện diện, bộ màu có sẵn được ưu tiên, màu tùy chỉnh bị bỏ qua và Orbz ghi một lỗi xung đột. Xóa preset sẽ kích hoạt các màu tùy chỉnh vẫn còn hiện diện.

Getter của thuộc tính preset luôn trả về tên bộ màu đã chuẩn hóa, bao gồm DEFAULT_ORBZ_PRESET khi không có thuộc tính. Dùng hasAttribute("preset") khi cần phân biệt chế độ bộ màu được chỉ định rõ ràng với chế độ màu tùy chỉnh. Gán null hoặc undefined cho setter của preset sẽ xóa thuộc tính.

Phương thức

Phương thứcTác động
pause()Tạm dừng hoạt ảnh đang chạy và phản ánh trạng thái tạm dừng
play()Tiếp tục hoạt ảnh đang chạy và xóa trạng thái tạm dừng
restart()Dựng lại hoạt ảnh của trạng thái hiện tại từ đầu
startTalking()Đọc speech của ứng dụng hoặc đặt lại ngữ cảnh và chạy talkFlow không rỗng; nếu không có thì không làm gì
receive(input)Chuyển văn bản đến bước hỏi hoặc phản hồi hiện tại
stopTalking()Dừng bộ máy giọng nói và lượt hội thoại hiện tại
import type { OrbzElement } from "@neongate-ai/orbz"; const orb = document.querySelector<OrbzElement>("orb-z"); orb?.pause(); orb?.play(); orb?.restart(); await orb?.receive('Jonatas');

Orbz chỉ phát giọng nói khi ứng dụng gọi startTalking(). Cung cấp speech hoặc talkFlow không rỗng; speech ưu tiên và nếu thiếu cả hai thì lời gọi không làm gì. Bước ask tùy chỉnh lưu đầu vào dưới khóa capture đã khai báo trong ngữ cảnh của phần tử. Không có câu hỏi tên hay hội thoại mặc định tích hợp. Xem Giọng nói và runtime hội thoại.

Thuộc tính được theo dõi

ORBZ_OBSERVED_ATTRIBUTES chứa danh sách chính xác các thuộc tính phản ứng với thay đổi:

state, size, speed, speech, paused, elevated, preset, reduced-motion, color-accent, color-background, color-highlight, color-primary, color-secondary

Thay đổi một trong các thuộc tính này sau khi kết nối sẽ đồng bộ thành phần. Xem Các mục xuất của gói để biết hằng số và kiểu TypeScript.

Cập nhật lần cuối vào