copilot-chat-widget 0.1.6 → 0.1.8

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.
Files changed (2) hide show
  1. package/README.md +68 -78
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,35 +1,31 @@
1
- # Copilot Chat Widget (NPM)
2
-
3
- Widget chat Copilot nay co the nhung bang 2 cach:
4
-
5
- 1. Qua NPM (khuyen nghi cho SPA/Next.js/React/Vue).
6
- 2. Qua the `<script>` (tuong thich nguoc voi cach dang dung hien tai).
7
-
8
- ## Cai dat
9
-
10
- ```bash
11
- npm install copilot-chat-widget
12
- # hoac
13
- yarn add copilot-chat-widget
14
- ```
15
-
16
- ## Su dung voi NPM (import)
17
-
18
- ```js
19
- import { loadCopilotChatWidget } from "copilot-chat-widget";
20
-
21
- loadCopilotChatWidget({ token: "YOUR_WIDGET_TOKEN" });
22
- ```
23
-
24
- Hàm này se gắn script `chat-widget.min.js` (IIFE) vào trang, đọc `token` từ options (hoặc `window.CopilotChatConfig` nếu bạn set trước).
25
- - Nếu backend widget không cùng origin với web hiện tại, truyền thêm `baseUrl: "https://your-backend-domain"` để gọi đúng API. Nếu không truyền, widget sẽ dùng giá trị build-time (`WIDGET_BASE_URL` hoặc `VITE_WIDGET_BASE_URL`), sau đó mới fallback sang origin của script/trang.
26
-
27
- ### React/Next.js
28
-
29
- ```jsx
30
- import { useEffect } from "react";
31
- import { loadCopilotChatWidget } from "copilot-chat-widget";
32
-
1
+ # Copilot Chat Widget (NPM)
2
+
3
+ Widget chat Copilot thể nhúng theo hai cách:
4
+ 1. Qua NPM (khuyến nghị cho SPA/Next.js/React/Vue).
5
+ 2. Qua thẻ `<script>` (tương thích ngược, không cần build).
6
+
7
+ ## Cài đặt
8
+ ```bash
9
+ npm install copilot-chat-widget
10
+ # hoặc
11
+ yarn add copilot-chat-widget
12
+ ```
13
+
14
+ ## Sử dụng với NPM (import)
15
+ ```js
16
+ import { loadCopilotChatWidget } from "copilot-chat-widget";
17
+
18
+ loadCopilotChatWidget({ token: "YOUR_WIDGET_TOKEN" });
19
+ ```
20
+
21
+ Hàm này sẽ gắn script `chat-widget.min.js` (IIFE) vào trang, đọc `token` từ options (hoặc `window.CopilotChatConfig` nếu bạn set trước).
22
+ - Nếu backend widget không cùng origin với web hiện tại, truyền thêm `baseUrl: "https://your-backend-domain"` để gọi đúng API. Nếu không truyền, widget sẽ dùng giá trị build-time `WIDGET_BASE_URL`, sau đó mới fallback sang origin của script/trang.
23
+
24
+ ### React/Next.js
25
+ ```jsx
26
+ import { useEffect } from "react";
27
+ import { loadCopilotChatWidget } from "copilot-chat-widget";
28
+
33
29
  export default function Page() {
34
30
  useEffect(() => {
35
31
  loadCopilotChatWidget({
@@ -37,49 +33,43 @@ export default function Page() {
37
33
  baseUrl: process.env.NEXT_PUBLIC_WIDGET_BASE_URL // nếu backend khác origin; nếu không, sẽ dùng giá trị build-time hoặc origin hiện tại
38
34
  });
39
35
  }, []);
40
-
41
- return <main>Your page content</main>;
42
- }
43
- ```
44
-
45
- ## Su dung qua the `<script>` (giu hanh vi cu)
46
-
47
- ```html
48
- <script
49
- src="https://cdn.example.com/chat-widget.min.js"
50
- data-token="YOUR_WIDGET_TOKEN"
51
- ></script>
52
- ```
53
-
54
- - `data-token`: bat buoc.
55
- - `data-autoload="false"`: neu muon chen script nhung tu goi `window.CopilotChat.init()` sau.
56
-
57
- ## API cau hinh
58
-
59
- - `token` (string, bat buoc): ma token widget.
60
- - `autoload` (boolean): dat `false` neu muon tu goi `window.CopilotChat.load()`.
61
- - `baseUrl` (string): host/backend cung cấp API `/api/chat-widget/config`. Can khi web embed khac origin.
62
-
63
- Khi script da load, co the goi:
64
-
65
- ```js
66
- window.CopilotChat.open(); // mo widget
67
- window.CopilotChat.close(); // dong widget
68
- window.CopilotChat.load(); // khoi tao lai neu autoload=false
69
- ```
70
-
71
- ## Build va publish package
72
-
73
- ```bash
74
- cd webui/widget
75
- npm install
76
- npm run build # tao dist/index.mjs, dist/index.cjs va dist/chat-widget.min.js
77
- ```
78
-
79
- Sau khi kiem tra output trong `webui/widget/dist`, co the publish len NPM:
80
-
81
- ```bash
82
- npm publish --access public
83
- ```
84
-
85
- Neu muon doi ten package cho phu hop scope cong ty, sua truong `name` trong `webui/widget/package.json` truoc khi publish.
36
+
37
+ return <main>Your page content</main>;
38
+ }
39
+ ```
40
+
41
+ ## Sử dụng qua thẻ `<script>` (giữ hành vi )
42
+ ```html
43
+ <script
44
+ src="https://cdn.example.com/chat-widget.min.js"
45
+ data-token="YOUR_WIDGET_TOKEN"
46
+ data-base-url="https://your-backend-domain" <!-- tùy chọn nếu khác origin -->
47
+ ></script>
48
+ ```
49
+ - `data-token`: bắt buộc.
50
+ - `data-autoload="false"`: nếu muốn chèn script nhưng tự gọi `window.CopilotChat.init()` sau.
51
+ - `data-base-url`: override host backend nếu khác origin hoặc bạn không build sẵn `WIDGET_BASE_URL`.
52
+
53
+ ## API cấu hình
54
+ - `token` (string, bắt buộc): mã token widget.
55
+ - `autoload` (boolean): đặt `false` nếu muốn tự gọi `window.CopilotChat.load()`.
56
+ - `baseUrl` (string): host/backend cung cấp API `/api/chat-widget/config`. Cần khi web embed khác origin; nếu không truyền sẽ dùng `WIDGET_BASE_URL` build-time rồi fallback origin.
57
+
58
+ Khi script đã load, có thể gọi:
59
+ ```js
60
+ window.CopilotChat.open(); // mở widget
61
+ window.CopilotChat.close(); // đóng widget
62
+ window.CopilotChat.load(); // khởi tạo lại nếu autoload=false
63
+ ```
64
+
65
+ ## Build và publish package
66
+ ```bash
67
+ cd webui/widget
68
+ npm install
69
+ WIDGET_BASE_URL=https://your-backend-domain npm run build # gắn default baseUrl vào bundle
70
+ ```
71
+ Sau khi kiểm tra output trong `webui/widget/dist`, có thể publish lên NPM:
72
+ ```bash
73
+ npm publish --access public
74
+ ```
75
+ Nếu muốn đổi tên package cho phù hợp scope công ty, sửa trường `name` trong `webui/widget/package.json` trước khi publish.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "copilot-chat-widget",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Embeddable Copilot chat widget that can be loaded via NPM or a script tag.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",