@blogmcp/community 0.0.0-stage → 0.2.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/LICENSE +21 -0
- package/README.md +243 -2
- package/dist/blogmcp-community.global.js +10 -0
- package/dist/chunks/mount-WadUnaTa.js +6436 -0
- package/dist/core/attrs.d.ts +99 -0
- package/dist/core/avatars.d.ts +16 -0
- package/dist/core/badge.d.ts +30 -0
- package/dist/core/centre.d.ts +28 -0
- package/dist/core/client.d.ts +27 -0
- package/dist/core/digest-token.d.ts +2 -0
- package/dist/core/discussion.d.ts +175 -0
- package/dist/core/download.d.ts +4 -0
- package/dist/core/format.d.ts +24 -0
- package/dist/core/i18n.d.ts +28 -0
- package/dist/core/names.d.ts +15 -0
- package/dist/core/notice.d.ts +50 -0
- package/dist/core/onboarding.d.ts +92 -0
- package/dist/core/outcomes.d.ts +29 -0
- package/dist/core/panel.d.ts +96 -0
- package/dist/core/profile.d.ts +40 -0
- package/dist/core/push.d.ts +63 -0
- package/dist/core/realtime.d.ts +35 -0
- package/dist/core/receipt.d.ts +5 -0
- package/dist/core/settings.d.ts +53 -0
- package/dist/core/text.d.ts +35 -0
- package/dist/core/turnstile.d.ts +33 -0
- package/dist/element.d.ts +47 -0
- package/dist/global.d.ts +11 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +45 -0
- package/dist/mount.d.ts +105 -0
- package/dist/react.d.ts +28 -0
- package/dist/react.js +55 -0
- package/dist/ui/AuthorAvatar.vue.d.ts +11 -0
- package/dist/ui/BadgeView.vue.d.ts +13 -0
- package/dist/ui/ConfirmDialog.vue.d.ts +20 -0
- package/dist/ui/DiscussionView.vue.d.ts +44 -0
- package/dist/ui/LinkedText.vue.d.ts +6 -0
- package/dist/ui/MemberSettingsView.vue.d.ts +13 -0
- package/dist/ui/MessageComposer.vue.d.ts +26 -0
- package/dist/ui/MessageItem.vue.d.ts +6 -0
- package/dist/ui/MessageMenu.vue.d.ts +10 -0
- package/dist/ui/MyCommunityView.vue.d.ts +16 -0
- package/dist/ui/NoticeFormView.vue.d.ts +26 -0
- package/dist/ui/NoticeStatusView.vue.d.ts +15 -0
- package/dist/ui/NotificationCentreView.vue.d.ts +12 -0
- package/dist/ui/OnboardingSteps.vue.d.ts +11 -0
- package/dist/ui/ProfileView.vue.d.ts +13 -0
- package/dist/ui/ReactionBar.vue.d.ts +13 -0
- package/dist/ui/ReportDialog.vue.d.ts +15 -0
- package/dist/ui/StatementView.vue.d.ts +15 -0
- package/dist/ui/WelcomeView.vue.d.ts +12 -0
- package/dist/ui/context.d.ts +21 -0
- package/dist/ui/discussion-context.d.ts +19 -0
- package/dist/ui/types.d.ts +7 -0
- package/dist/version.d.ts +1 -0
- package/dist/vue.d.ts +200 -0
- package/dist/vue.js +201 -0
- package/package.json +80 -4
- package/src/core/attrs.ts +186 -0
- package/src/core/avatars.ts +44 -0
- package/src/core/badge.ts +120 -0
- package/src/core/centre.ts +136 -0
- package/src/core/client.ts +54 -0
- package/src/core/digest-token.ts +26 -0
- package/src/core/discussion.ts +876 -0
- package/src/core/download.ts +21 -0
- package/src/core/format.ts +112 -0
- package/src/core/i18n.ts +49 -0
- package/src/core/names.ts +51 -0
- package/src/core/notice.ts +178 -0
- package/src/core/onboarding.ts +492 -0
- package/src/core/outcomes.ts +86 -0
- package/src/core/panel.ts +446 -0
- package/src/core/profile.ts +144 -0
- package/src/core/push.ts +174 -0
- package/src/core/realtime.ts +39 -0
- package/src/core/receipt.ts +28 -0
- package/src/core/settings.ts +363 -0
- package/src/core/text.ts +174 -0
- package/src/core/turnstile.ts +98 -0
- package/src/element.ts +165 -0
- package/src/global.ts +26 -0
- package/src/index.ts +70 -0
- package/src/mount.ts +234 -0
- package/src/react.ts +97 -0
- package/src/shims.d.ts +11 -0
- package/src/ui/AuthorAvatar.vue +26 -0
- package/src/ui/BadgeView.vue +51 -0
- package/src/ui/ConfirmDialog.vue +38 -0
- package/src/ui/DiscussionView.vue +334 -0
- package/src/ui/LinkedText.vue +24 -0
- package/src/ui/MemberSettingsView.vue +175 -0
- package/src/ui/MessageComposer.vue +141 -0
- package/src/ui/MessageItem.vue +223 -0
- package/src/ui/MessageMenu.vue +67 -0
- package/src/ui/MyCommunityView.vue +378 -0
- package/src/ui/NoticeFormView.vue +244 -0
- package/src/ui/NoticeStatusView.vue +82 -0
- package/src/ui/NotificationCentreView.vue +159 -0
- package/src/ui/OnboardingSteps.vue +174 -0
- package/src/ui/ProfileView.vue +91 -0
- package/src/ui/ReactionBar.vue +41 -0
- package/src/ui/ReportDialog.vue +88 -0
- package/src/ui/StatementView.vue +141 -0
- package/src/ui/WelcomeView.vue +72 -0
- package/src/ui/context.ts +75 -0
- package/src/ui/discussion-context.ts +30 -0
- package/src/ui/styles.css +259 -0
- package/src/ui/types.ts +7 -0
- package/src/version.ts +3 -0
- package/src/vue.ts +242 -0
package/dist/react.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef, useEffect, createElement } from "react";
|
|
3
|
+
const keyOf = (props) => JSON.stringify(props, (_k, v) => typeof v === "function" ? "[fn]" : v);
|
|
4
|
+
function useMounted(kind, props, load) {
|
|
5
|
+
const host = useRef(null);
|
|
6
|
+
const latest = useRef(props);
|
|
7
|
+
latest.current = props;
|
|
8
|
+
const key = keyOf(props);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
let unmount = null;
|
|
11
|
+
let gone = false;
|
|
12
|
+
void load().then((mount) => {
|
|
13
|
+
if (!gone && host.current) unmount = mount({ ...latest.current, container: host.current });
|
|
14
|
+
});
|
|
15
|
+
return () => {
|
|
16
|
+
gone = true;
|
|
17
|
+
unmount?.();
|
|
18
|
+
};
|
|
19
|
+
}, [key]);
|
|
20
|
+
return createElement("div", { ref: host, "data-blogmcp-community": kind });
|
|
21
|
+
}
|
|
22
|
+
function KbDiscussion(props) {
|
|
23
|
+
return useMounted("discussion", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountDiscussion);
|
|
24
|
+
}
|
|
25
|
+
function KbNoticeForm(props) {
|
|
26
|
+
return useMounted("notice-form", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountNoticeForm);
|
|
27
|
+
}
|
|
28
|
+
function KbMyCommunity(props) {
|
|
29
|
+
return useMounted("my-community", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountMyCommunity);
|
|
30
|
+
}
|
|
31
|
+
function KbNotificationCentre(props) {
|
|
32
|
+
return useMounted("notification-centre", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountNotificationCentre);
|
|
33
|
+
}
|
|
34
|
+
function KbBadge(props) {
|
|
35
|
+
return useMounted("badge", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountBadge);
|
|
36
|
+
}
|
|
37
|
+
function KbMemberSettings(props) {
|
|
38
|
+
return useMounted("member-settings", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountMemberSettings);
|
|
39
|
+
}
|
|
40
|
+
function KbProfile(props) {
|
|
41
|
+
return useMounted("profile", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountProfile);
|
|
42
|
+
}
|
|
43
|
+
function KbWelcome(props) {
|
|
44
|
+
return useMounted("welcome", props, async () => (await import("./chunks/mount-WadUnaTa.js").then((n) => n.J)).mountWelcome);
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
KbBadge,
|
|
48
|
+
KbDiscussion,
|
|
49
|
+
KbMemberSettings,
|
|
50
|
+
KbMyCommunity,
|
|
51
|
+
KbNoticeForm,
|
|
52
|
+
KbNotificationCentre,
|
|
53
|
+
KbProfile,
|
|
54
|
+
KbWelcome
|
|
55
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { KnownAuthor } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
author: KnownAuthor | {
|
|
4
|
+
kind: 'member';
|
|
5
|
+
memberId: string | null;
|
|
6
|
+
displayName: string | null;
|
|
7
|
+
avatarPreset: string | null;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
apiBase?: string;
|
|
4
|
+
siteBase?: string;
|
|
5
|
+
lang?: string;
|
|
6
|
+
/** JSON (or an object): `notificationsPath` (where the badge links). */
|
|
7
|
+
routes?: string | Record<string, unknown>;
|
|
8
|
+
/** The poll in ms (default 60 000, never less; 0 = read once and when the page is shown again). */
|
|
9
|
+
pollMs?: number;
|
|
10
|
+
transport?: CommunityTransport;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CommunityMessageKey } from '@blogmcp/sdk/community';
|
|
2
|
+
import type { TextParams } from '../core/i18n';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
title: CommunityMessageKey;
|
|
5
|
+
explain?: CommunityMessageKey;
|
|
6
|
+
explainParams?: TextParams;
|
|
7
|
+
confirm: CommunityMessageKey;
|
|
8
|
+
cancel?: CommunityMessageKey;
|
|
9
|
+
danger?: boolean;
|
|
10
|
+
busy?: boolean;
|
|
11
|
+
fallbackFocus?: () => HTMLElement | null;
|
|
12
|
+
};
|
|
13
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
14
|
+
confirm: () => any;
|
|
15
|
+
cancel: () => any;
|
|
16
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onConfirm?: (() => any) | undefined;
|
|
18
|
+
onCancel?: (() => any) | undefined;
|
|
19
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
import type { DiscussionRealtime } from '../core/realtime';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
articleId?: string;
|
|
5
|
+
/** The host's relative base (default `${siteBase}/api/community`). */
|
|
6
|
+
apiBase?: string;
|
|
7
|
+
/** The path the site is served under (`/blog` on a managed blog): its proxy and its pages, as the defaults. */
|
|
8
|
+
siteBase?: string;
|
|
9
|
+
lang?: string;
|
|
10
|
+
/** The site's sign-in page; the current path goes in its fragment. */
|
|
11
|
+
signInHref?: string;
|
|
12
|
+
/** JSON (or an object): `statementPath`, `myCommunityPath`, `rulesPath`, `reportPath`, `noticesPath`. */
|
|
13
|
+
routes?: string | Record<string, unknown>;
|
|
14
|
+
/** Head poll interval in ms (default 20 000; 0 = off). */
|
|
15
|
+
pollMs?: number;
|
|
16
|
+
/** A replacement transport (a property, never an attribute): tests, a signing transport later. */
|
|
17
|
+
transport?: CommunityTransport;
|
|
18
|
+
/**
|
|
19
|
+
* M2: live updates — the host's session factory (`createRealtimeSession` of `@blogmcp/sdk/community/realtime`), a
|
|
20
|
+
* property, never an attribute. Absent: the head poll.
|
|
21
|
+
*/
|
|
22
|
+
realtime?: DiscussionRealtime;
|
|
23
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
24
|
+
articleId?: string;
|
|
25
|
+
/** The host's relative base (default `${siteBase}/api/community`). */
|
|
26
|
+
apiBase?: string;
|
|
27
|
+
/** The path the site is served under (`/blog` on a managed blog): its proxy and its pages, as the defaults. */
|
|
28
|
+
siteBase?: string;
|
|
29
|
+
lang?: string;
|
|
30
|
+
/** The site's sign-in page; the current path goes in its fragment. */
|
|
31
|
+
signInHref?: string;
|
|
32
|
+
/** JSON (or an object): `statementPath`, `myCommunityPath`, `rulesPath`, `reportPath`, `noticesPath`. */
|
|
33
|
+
routes?: string | Record<string, unknown>;
|
|
34
|
+
/** Head poll interval in ms (default 20 000; 0 = off). */
|
|
35
|
+
pollMs?: number;
|
|
36
|
+
/** A replacement transport (a property, never an attribute): tests, a signing transport later. */
|
|
37
|
+
transport?: CommunityTransport;
|
|
38
|
+
/**
|
|
39
|
+
* M2: live updates — the host's session factory (`createRealtimeSession` of `@blogmcp/sdk/community/realtime`), a
|
|
40
|
+
* property, never an attribute. Absent: the head poll.
|
|
41
|
+
*/
|
|
42
|
+
realtime?: DiscussionRealtime;
|
|
43
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
44
|
+
export default _default;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
text: string | null;
|
|
3
|
+
profilePath?: string | null;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
apiBase?: string;
|
|
4
|
+
siteBase?: string;
|
|
5
|
+
lang?: string;
|
|
6
|
+
/** The host's service worker script (default `<site-base>/sw.js`): served from @blogmcp/sdk/community/sw. */
|
|
7
|
+
swPath?: string;
|
|
8
|
+
routes?: string | Record<string, unknown>;
|
|
9
|
+
signInHref?: string;
|
|
10
|
+
transport?: CommunityTransport;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Draft } from '../core/discussion';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
draft: Draft;
|
|
4
|
+
kind: 'new' | 'reply' | 'edit';
|
|
5
|
+
/** Seconds the draft still waits (the controller's clock). */
|
|
6
|
+
wait: number;
|
|
7
|
+
replyingTo?: string | null;
|
|
8
|
+
/** The host's rules page. */
|
|
9
|
+
rulesHref?: string;
|
|
10
|
+
/** M2 T10: the distinct mentions one message may carry; null or absent: no limit known here. */
|
|
11
|
+
mentionsMax?: number | null;
|
|
12
|
+
};
|
|
13
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
14
|
+
focus: () => void | undefined;
|
|
15
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
16
|
+
confirm: (code: string, checked: boolean) => any;
|
|
17
|
+
submit: () => any;
|
|
18
|
+
cancel: () => any;
|
|
19
|
+
confirmed: () => any;
|
|
20
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
21
|
+
onConfirm?: ((code: string, checked: boolean) => any) | undefined;
|
|
22
|
+
onSubmit?: (() => any) | undefined;
|
|
23
|
+
onCancel?: (() => any) | undefined;
|
|
24
|
+
onConfirmed?: (() => any) | undefined;
|
|
25
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
|
+
export default _default;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type DiscussionMessage } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
message: DiscussionMessage;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MenuItem } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
items: MenuItem[];
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
select: (id: string) => any;
|
|
7
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
8
|
+
onSelect?: ((id: string) => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
apiBase?: string;
|
|
4
|
+
/** The path the site is served under (`/blog`): its proxy and its pages, as the defaults. */
|
|
5
|
+
siteBase?: string;
|
|
6
|
+
lang?: string;
|
|
7
|
+
/** Opens this statement (the host's statement page). */
|
|
8
|
+
decisionId?: string;
|
|
9
|
+
/** JSON (or an object): `statementPath`, `myCommunityPath`, `rulesPath`, `reportPath`, `noticesPath`. */
|
|
10
|
+
routes?: string | Record<string, unknown>;
|
|
11
|
+
/** The site's sign-in page, for a reader without a session. */
|
|
12
|
+
signInHref?: string;
|
|
13
|
+
transport?: CommunityTransport;
|
|
14
|
+
};
|
|
15
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
apiBase?: string;
|
|
4
|
+
/** The path the site is served under (`/blog`): its proxy and its pages, as the defaults. */
|
|
5
|
+
siteBase?: string;
|
|
6
|
+
lang?: string;
|
|
7
|
+
turnstileSiteKey?: string;
|
|
8
|
+
/** JSON (or an object): `{ conversationId, seq }`, `{ memberId }`, `{ handle }` or `{ articleId }`. */
|
|
9
|
+
target?: string | Record<string, unknown>;
|
|
10
|
+
articleId?: string;
|
|
11
|
+
/** JSON (or an object): `noticesPath` (the status page), `rulesPath`. */
|
|
12
|
+
routes?: string | Record<string, unknown>;
|
|
13
|
+
transport?: CommunityTransport;
|
|
14
|
+
};
|
|
15
|
+
declare var __VLS_1: {};
|
|
16
|
+
type __VLS_Slots = {} & {
|
|
17
|
+
turnstile?: (props: typeof __VLS_1) => any;
|
|
18
|
+
};
|
|
19
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type NoticeStatus } from '@blogmcp/sdk/community';
|
|
2
|
+
import type { AppealDraft } from '../core/panel';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
notice: NoticeStatus;
|
|
5
|
+
appeal: AppealDraft;
|
|
6
|
+
withdrawing: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
appeal: () => any;
|
|
10
|
+
withdraw: () => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onAppeal?: (() => any) | undefined;
|
|
13
|
+
onWithdraw?: (() => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
apiBase?: string;
|
|
4
|
+
siteBase?: string;
|
|
5
|
+
lang?: string;
|
|
6
|
+
/** JSON (or an object): `statementPath`, `myCommunityPath`, `settingsPath`, `articlePath`, … */
|
|
7
|
+
routes?: string | Record<string, unknown>;
|
|
8
|
+
signInHref?: string;
|
|
9
|
+
transport?: CommunityTransport;
|
|
10
|
+
};
|
|
11
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type OnboardingModel } from '../core/onboarding';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
model: OnboardingModel;
|
|
4
|
+
rulesHref: string;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
+
cancel: () => any;
|
|
8
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
9
|
+
onCancel?: (() => any) | undefined;
|
|
10
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** The member's handle (`jana_n`, an `@` in front is fine). */
|
|
4
|
+
handle?: string;
|
|
5
|
+
apiBase?: string;
|
|
6
|
+
siteBase?: string;
|
|
7
|
+
lang?: string;
|
|
8
|
+
routes?: string | Record<string, unknown>;
|
|
9
|
+
signInHref?: string;
|
|
10
|
+
transport?: CommunityTransport;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactionSummary } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
reactionSet: readonly string[];
|
|
4
|
+
summary: ReactionSummary;
|
|
5
|
+
interactive: boolean;
|
|
6
|
+
busy: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
react: (emoji: string) => any;
|
|
10
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
onReact?: ((emoji: string) => any) | undefined;
|
|
12
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ReportDraft } from '../core/discussion';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
report: ReportDraft;
|
|
4
|
+
myCommunityHref: string;
|
|
5
|
+
rulesHref?: string;
|
|
6
|
+
fallbackFocus?: () => HTMLElement | null;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
submit: () => any;
|
|
10
|
+
close: () => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onSubmit?: (() => any) | undefined;
|
|
13
|
+
onClose?: (() => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Statement } from '@blogmcp/sdk/community';
|
|
2
|
+
import type { AppealDraft } from '../core/panel';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
statement: Statement;
|
|
5
|
+
appeal: AppealDraft;
|
|
6
|
+
withdrawing: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
appeal: () => any;
|
|
10
|
+
withdraw: () => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onAppeal?: (() => any) | undefined;
|
|
13
|
+
onWithdraw?: (() => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type CommunityTransport } from '@blogmcp/sdk/community';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
apiBase?: string;
|
|
4
|
+
siteBase?: string;
|
|
5
|
+
lang?: string;
|
|
6
|
+
/** JSON (or an object): `rulesPath`, `discussionsPath`, `settingsPath`, `profilePath`. */
|
|
7
|
+
routes?: string | Record<string, unknown>;
|
|
8
|
+
signInHref?: string;
|
|
9
|
+
transport?: CommunityTransport;
|
|
10
|
+
};
|
|
11
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the components of one element share: the language and its texts (`t` reads the catalogue through
|
|
3
|
+
* `communityMessage` and nothing else), ids unique to the element, and the dialog's focus handling.
|
|
4
|
+
*/
|
|
5
|
+
import { type Ref } from 'vue';
|
|
6
|
+
import type { Lang, TextRef, Translate } from '../core/i18n';
|
|
7
|
+
export interface TextContext {
|
|
8
|
+
lang: Ref<Lang>;
|
|
9
|
+
t: Translate;
|
|
10
|
+
/** A TextRef (a controller's outcome) as text. */
|
|
11
|
+
text(ref: TextRef | null | undefined): string;
|
|
12
|
+
}
|
|
13
|
+
export declare function provideText(lang: Ref<Lang>): TextContext;
|
|
14
|
+
export declare function useText(): TextContext;
|
|
15
|
+
/** An id unique on the page (ids live in each element's shadow root, but the labels reference them). */
|
|
16
|
+
export declare function uid(prefix: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* A native `<dialog>` opened modally while the component lives: the top layer, Esc, the focus kept
|
|
19
|
+
* inside — and returned to where it was (or to `fallback` when that is gone, e.g. a deleted message's menu).
|
|
20
|
+
*/
|
|
21
|
+
export declare function useModal(dialog: Ref<HTMLDialogElement | null>, onCancel: () => void, fallback?: () => HTMLElement | null): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** What the discussion's components share: the controller, the host's routes, what the reader opened. */
|
|
2
|
+
import { type ComputedRef } from 'vue';
|
|
3
|
+
import type { DiscussionController } from '../core/discussion';
|
|
4
|
+
import type { routesWithDefaults } from '../core/attrs';
|
|
5
|
+
export interface DiscussionContext {
|
|
6
|
+
ctl: DiscussionController;
|
|
7
|
+
routes: ComputedRef<ReturnType<typeof routesWithDefaults>>;
|
|
8
|
+
/** Messages of a blocked author the reader opened anyway. */
|
|
9
|
+
opened: Set<number>;
|
|
10
|
+
/** Translated messages the reader reads in the original. */
|
|
11
|
+
originals: Set<number>;
|
|
12
|
+
/** Top-level messages whose every reply the reader asked to see. */
|
|
13
|
+
allReplies: Set<number>;
|
|
14
|
+
/** Where the focus goes when the element it came from is gone (a deleted message). */
|
|
15
|
+
focusHeading(): HTMLElement | null;
|
|
16
|
+
deleteMessage(seq: number): void;
|
|
17
|
+
}
|
|
18
|
+
export declare function provideDiscussion(ctx: DiscussionContext): void;
|
|
19
|
+
export declare function useDiscussion(): DiscussionContext;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION: string;
|
package/dist/vue.d.ts
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `<KbDiscussion>`, `<KbNoticeForm>`, `<KbMyCommunity>` and (M2) `<KbNotificationCentre>`, `<KbBadge>`,
|
|
3
|
+
* `<KbMemberSettings>`, `<KbProfile>`, `<KbWelcome>` for Vue / Nuxt: each mounts its element on the
|
|
4
|
+
* client, after hydration, and removes it on unmount. Each renders one empty `<div>` as the mount point —
|
|
5
|
+
* nothing else, on the server or the client — so the element sits where the component does and the page's
|
|
6
|
+
* markup is otherwise the site's alone.
|
|
7
|
+
*
|
|
8
|
+
* <KbDiscussion :article-id="article.id" :sign-in-href="localePath('/login')" />
|
|
9
|
+
*
|
|
10
|
+
* A site served under a path names it: `site-base="/blog"` on a managed blog (its proxy is `/blog/api/community`;
|
|
11
|
+
* the host's own `/api/` there is kb-api, which no element may call).
|
|
12
|
+
*/
|
|
13
|
+
import { type PropType } from 'vue';
|
|
14
|
+
import type { CommunityTransport } from '@blogmcp/sdk/community';
|
|
15
|
+
import type { CommunityRoutes } from './core/attrs';
|
|
16
|
+
import type { DiscussionRealtime } from './core/realtime';
|
|
17
|
+
import type { MountBadgeOptions, MountDiscussionOptions, MountMemberSettingsOptions, MountMyCommunityOptions, MountNoticeFormOptions, MountNotificationCentreOptions, MountProfileOptions, MountWelcomeOptions } from './mount';
|
|
18
|
+
export declare const KbDiscussion: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
19
|
+
articleId: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
apiBase: StringConstructor;
|
|
24
|
+
siteBase: StringConstructor;
|
|
25
|
+
lang: StringConstructor;
|
|
26
|
+
signInHref: StringConstructor;
|
|
27
|
+
routes: PropType<CommunityRoutes>;
|
|
28
|
+
pollMs: NumberConstructor;
|
|
29
|
+
nonce: StringConstructor;
|
|
30
|
+
transport: PropType<CommunityTransport>;
|
|
31
|
+
/** M2: `createRealtimeSession` of `@blogmcp/sdk/community/realtime`. */
|
|
32
|
+
realtime: PropType<DiscussionRealtime>;
|
|
33
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
36
|
+
articleId: {
|
|
37
|
+
type: StringConstructor;
|
|
38
|
+
required: true;
|
|
39
|
+
};
|
|
40
|
+
apiBase: StringConstructor;
|
|
41
|
+
siteBase: StringConstructor;
|
|
42
|
+
lang: StringConstructor;
|
|
43
|
+
signInHref: StringConstructor;
|
|
44
|
+
routes: PropType<CommunityRoutes>;
|
|
45
|
+
pollMs: NumberConstructor;
|
|
46
|
+
nonce: StringConstructor;
|
|
47
|
+
transport: PropType<CommunityTransport>;
|
|
48
|
+
/** M2: `createRealtimeSession` of `@blogmcp/sdk/community/realtime`. */
|
|
49
|
+
realtime: PropType<DiscussionRealtime>;
|
|
50
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
51
|
+
export declare const KbNoticeForm: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
52
|
+
target: PropType<MountNoticeFormOptions["target"]>;
|
|
53
|
+
articleId: StringConstructor;
|
|
54
|
+
apiBase: StringConstructor;
|
|
55
|
+
siteBase: StringConstructor;
|
|
56
|
+
lang: StringConstructor;
|
|
57
|
+
turnstileSiteKey: StringConstructor;
|
|
58
|
+
routes: PropType<CommunityRoutes>;
|
|
59
|
+
nonce: StringConstructor;
|
|
60
|
+
transport: PropType<CommunityTransport>;
|
|
61
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
64
|
+
target: PropType<MountNoticeFormOptions["target"]>;
|
|
65
|
+
articleId: StringConstructor;
|
|
66
|
+
apiBase: StringConstructor;
|
|
67
|
+
siteBase: StringConstructor;
|
|
68
|
+
lang: StringConstructor;
|
|
69
|
+
turnstileSiteKey: StringConstructor;
|
|
70
|
+
routes: PropType<CommunityRoutes>;
|
|
71
|
+
nonce: StringConstructor;
|
|
72
|
+
transport: PropType<CommunityTransport>;
|
|
73
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
74
|
+
export declare const KbMyCommunity: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
75
|
+
decisionId: StringConstructor;
|
|
76
|
+
apiBase: StringConstructor;
|
|
77
|
+
siteBase: StringConstructor;
|
|
78
|
+
lang: StringConstructor;
|
|
79
|
+
signInHref: StringConstructor;
|
|
80
|
+
routes: PropType<CommunityRoutes>;
|
|
81
|
+
nonce: StringConstructor;
|
|
82
|
+
transport: PropType<CommunityTransport>;
|
|
83
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
84
|
+
[key: string]: any;
|
|
85
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
86
|
+
decisionId: StringConstructor;
|
|
87
|
+
apiBase: StringConstructor;
|
|
88
|
+
siteBase: StringConstructor;
|
|
89
|
+
lang: StringConstructor;
|
|
90
|
+
signInHref: StringConstructor;
|
|
91
|
+
routes: PropType<CommunityRoutes>;
|
|
92
|
+
nonce: StringConstructor;
|
|
93
|
+
transport: PropType<CommunityTransport>;
|
|
94
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
95
|
+
export declare const KbNotificationCentre: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
96
|
+
apiBase: StringConstructor;
|
|
97
|
+
siteBase: StringConstructor;
|
|
98
|
+
lang: StringConstructor;
|
|
99
|
+
signInHref: StringConstructor;
|
|
100
|
+
routes: PropType<CommunityRoutes>;
|
|
101
|
+
nonce: StringConstructor;
|
|
102
|
+
transport: PropType<CommunityTransport>;
|
|
103
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
104
|
+
[key: string]: any;
|
|
105
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
106
|
+
apiBase: StringConstructor;
|
|
107
|
+
siteBase: StringConstructor;
|
|
108
|
+
lang: StringConstructor;
|
|
109
|
+
signInHref: StringConstructor;
|
|
110
|
+
routes: PropType<CommunityRoutes>;
|
|
111
|
+
nonce: StringConstructor;
|
|
112
|
+
transport: PropType<CommunityTransport>;
|
|
113
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
114
|
+
export declare const KbBadge: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
115
|
+
apiBase: StringConstructor;
|
|
116
|
+
siteBase: StringConstructor;
|
|
117
|
+
lang: StringConstructor;
|
|
118
|
+
routes: PropType<CommunityRoutes>;
|
|
119
|
+
pollMs: NumberConstructor;
|
|
120
|
+
nonce: StringConstructor;
|
|
121
|
+
transport: PropType<CommunityTransport>;
|
|
122
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
123
|
+
[key: string]: any;
|
|
124
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
125
|
+
apiBase: StringConstructor;
|
|
126
|
+
siteBase: StringConstructor;
|
|
127
|
+
lang: StringConstructor;
|
|
128
|
+
routes: PropType<CommunityRoutes>;
|
|
129
|
+
pollMs: NumberConstructor;
|
|
130
|
+
nonce: StringConstructor;
|
|
131
|
+
transport: PropType<CommunityTransport>;
|
|
132
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
133
|
+
export declare const KbMemberSettings: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
134
|
+
apiBase: StringConstructor;
|
|
135
|
+
siteBase: StringConstructor;
|
|
136
|
+
lang: StringConstructor;
|
|
137
|
+
swPath: StringConstructor;
|
|
138
|
+
signInHref: StringConstructor;
|
|
139
|
+
routes: PropType<CommunityRoutes>;
|
|
140
|
+
nonce: StringConstructor;
|
|
141
|
+
transport: PropType<CommunityTransport>;
|
|
142
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
143
|
+
[key: string]: any;
|
|
144
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
145
|
+
apiBase: StringConstructor;
|
|
146
|
+
siteBase: StringConstructor;
|
|
147
|
+
lang: StringConstructor;
|
|
148
|
+
swPath: StringConstructor;
|
|
149
|
+
signInHref: StringConstructor;
|
|
150
|
+
routes: PropType<CommunityRoutes>;
|
|
151
|
+
nonce: StringConstructor;
|
|
152
|
+
transport: PropType<CommunityTransport>;
|
|
153
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
154
|
+
export declare const KbProfile: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
155
|
+
handle: {
|
|
156
|
+
type: StringConstructor;
|
|
157
|
+
required: true;
|
|
158
|
+
};
|
|
159
|
+
apiBase: StringConstructor;
|
|
160
|
+
siteBase: StringConstructor;
|
|
161
|
+
lang: StringConstructor;
|
|
162
|
+
signInHref: StringConstructor;
|
|
163
|
+
routes: PropType<CommunityRoutes>;
|
|
164
|
+
nonce: StringConstructor;
|
|
165
|
+
transport: PropType<CommunityTransport>;
|
|
166
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
167
|
+
[key: string]: any;
|
|
168
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
169
|
+
handle: {
|
|
170
|
+
type: StringConstructor;
|
|
171
|
+
required: true;
|
|
172
|
+
};
|
|
173
|
+
apiBase: StringConstructor;
|
|
174
|
+
siteBase: StringConstructor;
|
|
175
|
+
lang: StringConstructor;
|
|
176
|
+
signInHref: StringConstructor;
|
|
177
|
+
routes: PropType<CommunityRoutes>;
|
|
178
|
+
nonce: StringConstructor;
|
|
179
|
+
transport: PropType<CommunityTransport>;
|
|
180
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
181
|
+
export declare const KbWelcome: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
182
|
+
apiBase: StringConstructor;
|
|
183
|
+
siteBase: StringConstructor;
|
|
184
|
+
lang: StringConstructor;
|
|
185
|
+
signInHref: StringConstructor;
|
|
186
|
+
routes: PropType<CommunityRoutes>;
|
|
187
|
+
nonce: StringConstructor;
|
|
188
|
+
transport: PropType<CommunityTransport>;
|
|
189
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
190
|
+
[key: string]: any;
|
|
191
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
192
|
+
apiBase: StringConstructor;
|
|
193
|
+
siteBase: StringConstructor;
|
|
194
|
+
lang: StringConstructor;
|
|
195
|
+
signInHref: StringConstructor;
|
|
196
|
+
routes: PropType<CommunityRoutes>;
|
|
197
|
+
nonce: StringConstructor;
|
|
198
|
+
transport: PropType<CommunityTransport>;
|
|
199
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
200
|
+
export type { MountDiscussionOptions, MountNoticeFormOptions, MountMyCommunityOptions, MountNotificationCentreOptions, MountBadgeOptions, MountMemberSettingsOptions, MountProfileOptions, MountWelcomeOptions, CommunityRoutes, DiscussionRealtime, };
|