@aparte/svelte 0.16.8 → 0.16.10
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/README.md +4 -3
- package/dist/AparteChat.svelte +25 -5
- package/dist/AparteUi.svelte +5 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -35,12 +35,13 @@ npm install @aparte/svelte @aparte/core svelte
|
|
|
35
35
|
<AparteChat
|
|
36
36
|
bind:this={comp}
|
|
37
37
|
messages={$messages}
|
|
38
|
-
|
|
38
|
+
onmessagesChange={(m) => chat.onMessagesChange(m)}
|
|
39
39
|
/>
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The user's message is appended automatically on send — don't add it yourself. `
|
|
43
|
-
optional and only for side-effects (scroll, analytics).
|
|
42
|
+
The user's message is appended automatically on send — don't add it yourself. `onmessageSent` is
|
|
43
|
+
optional and only for side-effects (scroll, analytics). Every callback prop also exists as a component
|
|
44
|
+
event (`on:messagesChange`, payload under `event.detail`) — the Svelte 4 spelling, still fine on Svelte 5.
|
|
44
45
|
|
|
45
46
|
`@aparte/core` and `svelte` are **peer dependencies**.
|
|
46
47
|
|
package/dist/AparteChat.svelte
CHANGED
|
@@ -17,6 +17,12 @@ export { className as class };
|
|
|
17
17
|
export let style = void 0;
|
|
18
18
|
export let conversationId = null;
|
|
19
19
|
export let config = void 0;
|
|
20
|
+
export let onmessageSent = void 0;
|
|
21
|
+
export let onaction = void 0;
|
|
22
|
+
export let onmessagesChange = void 0;
|
|
23
|
+
export let onmessageAppended = void 0;
|
|
24
|
+
export let ontypingChange = void 0;
|
|
25
|
+
export let onconversationCreated = void 0;
|
|
20
26
|
const dispatch = createEventDispatcher();
|
|
21
27
|
let hostId = "";
|
|
22
28
|
let rootRef;
|
|
@@ -57,10 +63,14 @@ $: if (composerRef) {
|
|
|
57
63
|
}
|
|
58
64
|
function handleSend(event) {
|
|
59
65
|
viewportRef?.requestSmoothScroll?.();
|
|
60
|
-
|
|
66
|
+
const detail = event.detail;
|
|
67
|
+
onmessageSent?.(detail);
|
|
68
|
+
dispatch("messageSent", detail);
|
|
61
69
|
}
|
|
62
70
|
function handleAction(event) {
|
|
63
|
-
|
|
71
|
+
const detail = event.detail;
|
|
72
|
+
onaction?.(detail);
|
|
73
|
+
dispatch("action", detail);
|
|
64
74
|
}
|
|
65
75
|
onMount(() => {
|
|
66
76
|
hostId = id ?? `aparte-chat-${uuid()}`;
|
|
@@ -73,10 +83,17 @@ onMount(() => {
|
|
|
73
83
|
setMessages: (m) => {
|
|
74
84
|
internalMessages = m;
|
|
75
85
|
},
|
|
76
|
-
onMessagesChange: (m) =>
|
|
77
|
-
|
|
86
|
+
onMessagesChange: (m) => {
|
|
87
|
+
onmessagesChange?.(m);
|
|
88
|
+
dispatch("messagesChange", m);
|
|
89
|
+
},
|
|
90
|
+
onMessageAppended: (m) => {
|
|
91
|
+
onmessageAppended?.(m);
|
|
92
|
+
dispatch("messageAppended", m);
|
|
93
|
+
},
|
|
78
94
|
onTypingChange: (t) => {
|
|
79
95
|
typingActive = t;
|
|
96
|
+
ontypingChange?.(t);
|
|
80
97
|
dispatch("typingChange", t);
|
|
81
98
|
},
|
|
82
99
|
onStreamingChange: () => {
|
|
@@ -89,7 +106,10 @@ onMount(() => {
|
|
|
89
106
|
host = new AparteChatHost(binding, {
|
|
90
107
|
layoutTransitionMs,
|
|
91
108
|
conversationId: conversationId ?? null,
|
|
92
|
-
onConversationCreated: (id2) =>
|
|
109
|
+
onConversationCreated: (id2) => {
|
|
110
|
+
onconversationCreated?.(id2);
|
|
111
|
+
dispatch("conversationCreated", id2);
|
|
112
|
+
},
|
|
93
113
|
config
|
|
94
114
|
});
|
|
95
115
|
teardown = host.bind();
|
package/dist/AparteUi.svelte
CHANGED
|
@@ -3,6 +3,7 @@ import { applyElementProps, APARTE_DEFAULT_UI_EVENTS } from "@aparte/core";
|
|
|
3
3
|
export let name;
|
|
4
4
|
export let props = {};
|
|
5
5
|
export let events = void 0;
|
|
6
|
+
export let onelementEvent = void 0;
|
|
6
7
|
const dispatch = createEventDispatcher();
|
|
7
8
|
let host;
|
|
8
9
|
let el = null;
|
|
@@ -15,7 +16,10 @@ function create() {
|
|
|
15
16
|
el = document.createElement(name);
|
|
16
17
|
applyProps();
|
|
17
18
|
for (const ev of events ?? APARTE_DEFAULT_UI_EVENTS) {
|
|
18
|
-
const listener = (e) =>
|
|
19
|
+
const listener = (e) => {
|
|
20
|
+
onelementEvent?.(e);
|
|
21
|
+
dispatch("elementEvent", e);
|
|
22
|
+
};
|
|
19
23
|
el.addEventListener(ev, listener);
|
|
20
24
|
cleanups.push(() => el?.removeEventListener(ev, listener));
|
|
21
25
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -16,6 +16,11 @@ export interface AparteUiProps {
|
|
|
16
16
|
* interactive aparté surface (`APARTE_DEFAULT_UI_EVENTS` from `@aparte/core`).
|
|
17
17
|
*/
|
|
18
18
|
events?: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Called with the element's own CustomEvent for every forwarded event, alongside
|
|
21
|
+
* the `elementEvent` component event — the callback-prop route Svelte 5 recommends.
|
|
22
|
+
*/
|
|
23
|
+
onelementEvent?: (event: CustomEvent) => void;
|
|
19
24
|
}
|
|
20
25
|
/**
|
|
21
26
|
* The imperative surface `<AparteUi>` exposes (`bind:this`) — the same
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,GAC1B,MAAM,cAAc,CAAC;AAEtB,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC1B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,GAC1B,MAAM,cAAc,CAAC;AAEtB,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC1B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC,GAAG,IAAI,CAAC;IAC5D,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAClF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aparte/svelte",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.10",
|
|
4
4
|
"homepage": "https://apartejs.dev/frameworks/svelte/",
|
|
5
5
|
"description": "Svelte wrapper for aparté — an ergonomic <AparteChat> component plus stores over the framework-agnostic web components. Works on Svelte 4 and 5.",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@sveltejs/package itself. Until then the props are documented, not compiler-enforced, for consumers."
|
|
40
40
|
],
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@aparte/core": ">=0.16.
|
|
42
|
+
"@aparte/core": ">=0.16.10 <1.0.0",
|
|
43
43
|
"svelte": "^4.0.0 || ^5.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"svelte2tsx": "^0.7.61",
|
|
53
53
|
"typescript": "^5.4.0",
|
|
54
54
|
"vite": "^6.0.0",
|
|
55
|
-
"@aparte/core": "0.16.
|
|
55
|
+
"@aparte/core": "0.16.10"
|
|
56
56
|
},
|
|
57
57
|
"keywords": [
|
|
58
58
|
"svelte",
|