@soubiran/ui 0.10.2 → 0.10.3
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/dist/index.d.ts +161 -15
- package/dist/index.js +116 -103
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,155 @@
|
|
|
1
1
|
import * as _$vue from "vue";
|
|
2
2
|
import { FunctionalComponent, MaybeRefOrGetter, SVGAttributes } from "vue";
|
|
3
3
|
import * as _$tailwind_variants0 from "tailwind-variants";
|
|
4
|
+
import { Locale } from "@nuxt/ui";
|
|
4
5
|
|
|
5
6
|
//#region src/locale/type.d.ts
|
|
6
7
|
type LocaleCode = 'en' | 'fr';
|
|
8
|
+
interface LocaleMessages {
|
|
9
|
+
Editor: {
|
|
10
|
+
placeholder: string;
|
|
11
|
+
write: {
|
|
12
|
+
help: string;
|
|
13
|
+
};
|
|
14
|
+
preview: {
|
|
15
|
+
loading: string;
|
|
16
|
+
placeholder: string;
|
|
17
|
+
};
|
|
18
|
+
tabs: {
|
|
19
|
+
write: string;
|
|
20
|
+
preview: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
LoginRequired: {
|
|
24
|
+
text: string;
|
|
25
|
+
action: string;
|
|
26
|
+
errors: {
|
|
27
|
+
popupBlocked: string;
|
|
28
|
+
popupClosed: string;
|
|
29
|
+
refreshFailed: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
LoginCallback: {
|
|
33
|
+
success: string;
|
|
34
|
+
error: string;
|
|
35
|
+
};
|
|
36
|
+
ConfirmModal: {
|
|
37
|
+
actions: {
|
|
38
|
+
cancel: string;
|
|
39
|
+
confirm: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
Feedback: {
|
|
43
|
+
action: string;
|
|
44
|
+
};
|
|
45
|
+
FeedbackCard: {
|
|
46
|
+
placeholder: string;
|
|
47
|
+
action: string;
|
|
48
|
+
ratings: {
|
|
49
|
+
hate: string;
|
|
50
|
+
poor: string;
|
|
51
|
+
okay: string;
|
|
52
|
+
love: string;
|
|
53
|
+
};
|
|
54
|
+
success: {
|
|
55
|
+
received: string;
|
|
56
|
+
thanks: string;
|
|
57
|
+
};
|
|
58
|
+
errors: {
|
|
59
|
+
notFound: string;
|
|
60
|
+
unavailable: string;
|
|
61
|
+
unexpected: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
comments: {
|
|
65
|
+
Comment: {
|
|
66
|
+
actions: {
|
|
67
|
+
edit: string;
|
|
68
|
+
delete: string;
|
|
69
|
+
};
|
|
70
|
+
actionMenu: string;
|
|
71
|
+
};
|
|
72
|
+
CommentDeleteConfirmModal: {
|
|
73
|
+
title: string;
|
|
74
|
+
description: string;
|
|
75
|
+
};
|
|
76
|
+
CommentFormSection: {
|
|
77
|
+
title: string;
|
|
78
|
+
};
|
|
79
|
+
CommentHeader: {
|
|
80
|
+
author: string;
|
|
81
|
+
publishedAt: string;
|
|
82
|
+
};
|
|
83
|
+
CommentLike: {
|
|
84
|
+
title: string;
|
|
85
|
+
};
|
|
86
|
+
CommentUnlike: {
|
|
87
|
+
title: string;
|
|
88
|
+
};
|
|
89
|
+
CommentRepliesCount: {
|
|
90
|
+
replies: string;
|
|
91
|
+
reply: string;
|
|
92
|
+
};
|
|
93
|
+
CommentForm: {
|
|
94
|
+
actions: {
|
|
95
|
+
add: string;
|
|
96
|
+
reply: string;
|
|
97
|
+
edit: string;
|
|
98
|
+
cancel: string;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
errors: {
|
|
102
|
+
create: string;
|
|
103
|
+
update: string;
|
|
104
|
+
delete: string;
|
|
105
|
+
like: string;
|
|
106
|
+
unlike: string;
|
|
107
|
+
};
|
|
108
|
+
success: {
|
|
109
|
+
delete: string;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
discussions: {
|
|
113
|
+
DiscussionReply: {
|
|
114
|
+
reply: string;
|
|
115
|
+
};
|
|
116
|
+
DiscussionsSection: {
|
|
117
|
+
empty: string;
|
|
118
|
+
};
|
|
119
|
+
DiscussionsSectionTitle: {
|
|
120
|
+
title: string;
|
|
121
|
+
};
|
|
122
|
+
DiscussionsSectionSubtitle: {
|
|
123
|
+
comments: {
|
|
124
|
+
singular: string;
|
|
125
|
+
plural: string;
|
|
126
|
+
};
|
|
127
|
+
replies: {
|
|
128
|
+
singular: string;
|
|
129
|
+
plural: string;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
state: {
|
|
134
|
+
empty: string;
|
|
135
|
+
error: string;
|
|
136
|
+
pending: string;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/components/App.vue.d.ts
|
|
141
|
+
interface AppProps {
|
|
142
|
+
locale?: Locale<LocaleMessages>;
|
|
143
|
+
}
|
|
144
|
+
declare const _default: typeof __VLS_export$13;
|
|
145
|
+
declare const __VLS_export$13: __VLS_WithSlots$12<_$vue.DefineComponent<AppProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<AppProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, {
|
|
146
|
+
default?: (props: {}) => any;
|
|
147
|
+
}>;
|
|
148
|
+
type __VLS_WithSlots$12<T, S> = T & {
|
|
149
|
+
new (): {
|
|
150
|
+
$slots: S;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
7
153
|
//#endregion
|
|
8
154
|
//#region src/components/Discussions/DiscussionsSection.vue.d.ts
|
|
9
155
|
declare const discussionsSection: _$tailwind_variants0.TVReturnType<{
|
|
@@ -61,7 +207,7 @@ interface CommentsProps {
|
|
|
61
207
|
class?: DiscussionsSectionProps['class'];
|
|
62
208
|
ui?: DiscussionsSectionProps['ui'];
|
|
63
209
|
}
|
|
64
|
-
declare const _default: typeof __VLS_export$12;
|
|
210
|
+
declare const _default$1: typeof __VLS_export$12;
|
|
65
211
|
declare const __VLS_export$12: _$vue.DefineComponent<CommentsProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<CommentsProps> & Readonly<{}>, {
|
|
66
212
|
locale: LocaleCode;
|
|
67
213
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
@@ -105,7 +251,7 @@ interface ContainerProps {
|
|
|
105
251
|
interface ContainerSlots {
|
|
106
252
|
default: (props: any) => any;
|
|
107
253
|
}
|
|
108
|
-
declare const _default$
|
|
254
|
+
declare const _default$2: typeof __VLS_export$11;
|
|
109
255
|
declare const __VLS_export$11: __VLS_WithSlots$11<_$vue.DefineComponent<ContainerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ContainerProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, ContainerSlots>;
|
|
110
256
|
type __VLS_WithSlots$11<T, S> = T & {
|
|
111
257
|
new (): {
|
|
@@ -145,7 +291,7 @@ interface FeedbackProps {
|
|
|
145
291
|
ui?: Partial<typeof feedback.slots>;
|
|
146
292
|
}
|
|
147
293
|
interface FeedbackSlots {}
|
|
148
|
-
declare const _default$
|
|
294
|
+
declare const _default$3: typeof __VLS_export$10;
|
|
149
295
|
declare const __VLS_export$10: __VLS_WithSlots$10<_$vue.DefineComponent<FeedbackProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<FeedbackProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, FeedbackSlots>;
|
|
150
296
|
type __VLS_WithSlots$10<T, S> = T & {
|
|
151
297
|
new (): {
|
|
@@ -227,7 +373,7 @@ interface FeedbackCardProps {
|
|
|
227
373
|
ui?: Partial<typeof feedbackCard.slots>;
|
|
228
374
|
}
|
|
229
375
|
interface FeedbackCardSlots {}
|
|
230
|
-
declare const _default$
|
|
376
|
+
declare const _default$4: typeof __VLS_export$9;
|
|
231
377
|
declare const __VLS_export$9: __VLS_WithSlots$9<_$vue.DefineComponent<FeedbackCardProps & {
|
|
232
378
|
content: string;
|
|
233
379
|
rating: string;
|
|
@@ -294,7 +440,7 @@ interface HeaderProps {
|
|
|
294
440
|
ui?: Partial<typeof header.slots>;
|
|
295
441
|
}
|
|
296
442
|
interface HeaderSlots {}
|
|
297
|
-
declare const _default$
|
|
443
|
+
declare const _default$5: typeof __VLS_export$8;
|
|
298
444
|
declare const __VLS_export$8: __VLS_WithSlots$8<_$vue.DefineComponent<HeaderProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<HeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, HeaderSlots>;
|
|
299
445
|
type __VLS_WithSlots$8<T, S> = T & {
|
|
300
446
|
new (): {
|
|
@@ -314,7 +460,7 @@ interface LoginCallbackSlots {
|
|
|
314
460
|
message: string;
|
|
315
461
|
}) => any;
|
|
316
462
|
}
|
|
317
|
-
declare const _default$
|
|
463
|
+
declare const _default$6: typeof __VLS_export$7;
|
|
318
464
|
declare const __VLS_export$7: __VLS_WithSlots$7<_$vue.DefineComponent<LoginCallbackProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<LoginCallbackProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, LoginCallbackSlots>;
|
|
319
465
|
type __VLS_WithSlots$7<T, S> = T & {
|
|
320
466
|
new (): {
|
|
@@ -394,7 +540,7 @@ interface PageSlots {
|
|
|
394
540
|
right: (props: any) => any;
|
|
395
541
|
bottom: (props: any) => any;
|
|
396
542
|
}
|
|
397
|
-
declare const _default$
|
|
543
|
+
declare const _default$7: typeof __VLS_export$6;
|
|
398
544
|
declare const __VLS_export$6: __VLS_WithSlots$6<_$vue.DefineComponent<PageProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<PageProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, PageSlots>;
|
|
399
545
|
type __VLS_WithSlots$6<T, S> = T & {
|
|
400
546
|
new (): {
|
|
@@ -436,7 +582,7 @@ interface PageHeaderProps {
|
|
|
436
582
|
interface PageHeaderSlots {
|
|
437
583
|
after: (props: any) => any;
|
|
438
584
|
}
|
|
439
|
-
declare const _default$
|
|
585
|
+
declare const _default$8: typeof __VLS_export$5;
|
|
440
586
|
declare const __VLS_export$5: __VLS_WithSlots$5<_$vue.DefineComponent<PageHeaderProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<PageHeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, PageHeaderSlots>;
|
|
441
587
|
type __VLS_WithSlots$5<T, S> = T & {
|
|
442
588
|
new (): {
|
|
@@ -476,7 +622,7 @@ interface PageTitleProps {
|
|
|
476
622
|
ui?: Partial<typeof pageTitle.slots>;
|
|
477
623
|
}
|
|
478
624
|
interface PageTitleSlots {}
|
|
479
|
-
declare const _default$
|
|
625
|
+
declare const _default$9: typeof __VLS_export$4;
|
|
480
626
|
declare const __VLS_export$4: __VLS_WithSlots$4<_$vue.DefineComponent<PageTitleProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<PageTitleProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, PageTitleSlots>;
|
|
481
627
|
type __VLS_WithSlots$4<T, S> = T & {
|
|
482
628
|
new (): {
|
|
@@ -527,7 +673,7 @@ interface SocialsProps {
|
|
|
527
673
|
ui?: Partial<typeof socials.slots>;
|
|
528
674
|
}
|
|
529
675
|
interface SocialsSlots {}
|
|
530
|
-
declare const _default$
|
|
676
|
+
declare const _default$10: typeof __VLS_export$3;
|
|
531
677
|
declare const __VLS_export$3: __VLS_WithSlots$3<_$vue.DefineComponent<SocialsProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<SocialsProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, SocialsSlots>;
|
|
532
678
|
type __VLS_WithSlots$3<T, S> = T & {
|
|
533
679
|
new (): {
|
|
@@ -572,7 +718,7 @@ interface SponsorsProps {
|
|
|
572
718
|
ui?: Partial<typeof sponsors.slots>;
|
|
573
719
|
}
|
|
574
720
|
interface SponsorsSlots {}
|
|
575
|
-
declare const _default$
|
|
721
|
+
declare const _default$11: typeof __VLS_export$2;
|
|
576
722
|
declare const __VLS_export$2: __VLS_WithSlots$2<_$vue.DefineComponent<SponsorsProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<SponsorsProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, SponsorsSlots>;
|
|
577
723
|
type __VLS_WithSlots$2<T, S> = T & {
|
|
578
724
|
new (): {
|
|
@@ -636,7 +782,7 @@ interface TableOfContentsProps {
|
|
|
636
782
|
ui?: Partial<typeof tableOfContents.slots>;
|
|
637
783
|
}
|
|
638
784
|
interface TableOfContentsSlots {}
|
|
639
|
-
declare const _default$
|
|
785
|
+
declare const _default$12: typeof __VLS_export$1;
|
|
640
786
|
declare const __VLS_export$1: __VLS_WithSlots$1<_$vue.DefineComponent<TableOfContentsProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<TableOfContentsProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, TableOfContentsSlots>;
|
|
641
787
|
type __VLS_WithSlots$1<T, S> = T & {
|
|
642
788
|
new (): {
|
|
@@ -681,7 +827,7 @@ interface ViewersCounterProps {
|
|
|
681
827
|
ui?: Partial<typeof viewersCounter.slots>;
|
|
682
828
|
}
|
|
683
829
|
interface ViewersCounterSlots {}
|
|
684
|
-
declare const _default$
|
|
830
|
+
declare const _default$13: typeof __VLS_export;
|
|
685
831
|
declare const __VLS_export: __VLS_WithSlots<_$vue.DefineComponent<ViewersCounterProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ViewersCounterProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, ViewersCounterSlots>;
|
|
686
832
|
type __VLS_WithSlots<T, S> = T & {
|
|
687
833
|
new (): {
|
|
@@ -706,11 +852,11 @@ declare function _useTableOfContents(): {
|
|
|
706
852
|
unsetActive: (id: string) => void;
|
|
707
853
|
activeHeadings: Readonly<_$vue.Ref<readonly string[], readonly string[]>>;
|
|
708
854
|
};
|
|
709
|
-
declare const _default$
|
|
855
|
+
declare const _default$14: typeof _useTableOfContents;
|
|
710
856
|
//#endregion
|
|
711
857
|
//#region src/composables/useUmami.d.ts
|
|
712
858
|
declare function useUmami(): {
|
|
713
859
|
track: (event: string, data?: Record<string, unknown>) => void;
|
|
714
860
|
};
|
|
715
861
|
//#endregion
|
|
716
|
-
export { _default as
|
|
862
|
+
export { _default as App, _default$1 as Comments, _default$2 as Container, _default$3 as Feedback, _default$4 as FeedbackCard, _default$5 as Header, _default$6 as LoginCallback, _default$7 as Page, _default$8 as PageHeader, _default$9 as PageTitle, _default$10 as Socials, _default$11 as Sponsors, _default$12 as TableOfContents, type TableOfContentsItem, _default$13 as ViewersCounter, useLogin, _default$14 as useTableOfContents, useUmami };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { prose } from "./wrapper-classes.js";
|
|
2
2
|
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, markRaw, mergeModels, mergeProps, nextTick, normalizeClass, onBeforeUnmount, onMounted, onScopeDispose, openBlock, provide, readonly, ref, renderList, renderSlot, toDisplayString, toRef, toValue, unref, useModel, useTemplateRef, watch, withCtx, withModifiers } from "vue";
|
|
3
|
-
import { defineLocale, extendLocale } from "@nuxt/ui/composables/defineLocale";
|
|
4
3
|
import { buildLocaleContext } from "@nuxt/ui/utils/locale";
|
|
4
|
+
import { defineLocale, extendLocale } from "@nuxt/ui/composables/defineLocale";
|
|
5
5
|
import UAlert from "@nuxt/ui/components/Alert.vue";
|
|
6
6
|
import { defineQueryOptions, useMutation, useQuery, useQueryCache } from "@pinia/colada";
|
|
7
7
|
import { AnimatePresence, Motion, motion, useReducedMotion } from "motion-v";
|
|
@@ -22,45 +22,6 @@ import UCard from "@nuxt/ui/components/Card.vue";
|
|
|
22
22
|
import UTooltip from "@nuxt/ui/components/Tooltip.vue";
|
|
23
23
|
import USeparator from "@nuxt/ui/components/Separator.vue";
|
|
24
24
|
import PartySocket from "partysocket";
|
|
25
|
-
//#region src/composables/comments/context.ts
|
|
26
|
-
const commentsContextInjectionKey = Symbol("soubiran-ui.comments-context");
|
|
27
|
-
function provideCommentsContext(context) {
|
|
28
|
-
provide(commentsContextInjectionKey, context);
|
|
29
|
-
}
|
|
30
|
-
function useCommentsContext() {
|
|
31
|
-
const context = inject(commentsContextInjectionKey);
|
|
32
|
-
if (!context) throw new Error("Comments components must be rendered inside <Comments>.");
|
|
33
|
-
return context;
|
|
34
|
-
}
|
|
35
|
-
//#endregion
|
|
36
|
-
//#region src/composables/comments/useCommentsBanner.ts
|
|
37
|
-
function useCommentsBanner() {
|
|
38
|
-
const banner = ref();
|
|
39
|
-
let timeout;
|
|
40
|
-
function dismiss() {
|
|
41
|
-
if (timeout !== void 0) {
|
|
42
|
-
clearTimeout(timeout);
|
|
43
|
-
timeout = void 0;
|
|
44
|
-
}
|
|
45
|
-
banner.value = void 0;
|
|
46
|
-
}
|
|
47
|
-
function show(nextBanner) {
|
|
48
|
-
dismiss();
|
|
49
|
-
banner.value = nextBanner;
|
|
50
|
-
timeout = setTimeout(() => {
|
|
51
|
-
banner.value = void 0;
|
|
52
|
-
timeout = void 0;
|
|
53
|
-
}, 4e3);
|
|
54
|
-
}
|
|
55
|
-
onScopeDispose(dismiss);
|
|
56
|
-
return {
|
|
57
|
-
banner: readonly(banner),
|
|
58
|
-
isActive: computed(() => banner.value !== void 0),
|
|
59
|
-
dismiss,
|
|
60
|
-
show
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
//#endregion
|
|
64
25
|
//#region src/locale/en.ts
|
|
65
26
|
var en_default = defineLocale({
|
|
66
27
|
name: "English",
|
|
@@ -184,6 +145,58 @@ function useLocale(localeOverrides) {
|
|
|
184
145
|
return buildLocaleContext(computed(() => locale?.value || en_default));
|
|
185
146
|
}
|
|
186
147
|
//#endregion
|
|
148
|
+
//#region src/components/App.vue
|
|
149
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
150
|
+
__name: "App",
|
|
151
|
+
props: { locale: {} },
|
|
152
|
+
setup(__props) {
|
|
153
|
+
const props = __props;
|
|
154
|
+
provide(localeContextInjectionKey, toRef(() => props.locale));
|
|
155
|
+
return (_ctx, _cache) => {
|
|
156
|
+
return renderSlot(_ctx.$slots, "default");
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
//#endregion
|
|
161
|
+
//#region src/composables/comments/context.ts
|
|
162
|
+
const commentsContextInjectionKey = Symbol("soubiran-ui.comments-context");
|
|
163
|
+
function provideCommentsContext(context) {
|
|
164
|
+
provide(commentsContextInjectionKey, context);
|
|
165
|
+
}
|
|
166
|
+
function useCommentsContext() {
|
|
167
|
+
const context = inject(commentsContextInjectionKey);
|
|
168
|
+
if (!context) throw new Error("Comments components must be rendered inside <Comments>.");
|
|
169
|
+
return context;
|
|
170
|
+
}
|
|
171
|
+
//#endregion
|
|
172
|
+
//#region src/composables/comments/useCommentsBanner.ts
|
|
173
|
+
function useCommentsBanner() {
|
|
174
|
+
const banner = ref();
|
|
175
|
+
let timeout;
|
|
176
|
+
function dismiss() {
|
|
177
|
+
if (timeout !== void 0) {
|
|
178
|
+
clearTimeout(timeout);
|
|
179
|
+
timeout = void 0;
|
|
180
|
+
}
|
|
181
|
+
banner.value = void 0;
|
|
182
|
+
}
|
|
183
|
+
function show(nextBanner) {
|
|
184
|
+
dismiss();
|
|
185
|
+
banner.value = nextBanner;
|
|
186
|
+
timeout = setTimeout(() => {
|
|
187
|
+
banner.value = void 0;
|
|
188
|
+
timeout = void 0;
|
|
189
|
+
}, 4e3);
|
|
190
|
+
}
|
|
191
|
+
onScopeDispose(dismiss);
|
|
192
|
+
return {
|
|
193
|
+
banner: readonly(banner),
|
|
194
|
+
isActive: computed(() => banner.value !== void 0),
|
|
195
|
+
dismiss,
|
|
196
|
+
show
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
//#endregion
|
|
187
200
|
//#region src/locale/fr.ts
|
|
188
201
|
var fr_default = defineLocale({
|
|
189
202
|
name: "Français",
|
|
@@ -520,7 +533,7 @@ const loginRequired = tv({ slots: {
|
|
|
520
533
|
prose: "text-sm",
|
|
521
534
|
actions: "flex flex-row items-center justify-center gap-2"
|
|
522
535
|
} });
|
|
523
|
-
const _sfc_main$
|
|
536
|
+
const _sfc_main$36 = /* @__PURE__ */ defineComponent({
|
|
524
537
|
__name: "LoginRequired",
|
|
525
538
|
props: {
|
|
526
539
|
class: {},
|
|
@@ -582,7 +595,7 @@ const editor = tv({ slots: {
|
|
|
582
595
|
preview: "",
|
|
583
596
|
prose: "w-full rounded-md p-2 text-sm"
|
|
584
597
|
} });
|
|
585
|
-
const _sfc_main$
|
|
598
|
+
const _sfc_main$35 = /* @__PURE__ */ defineComponent({
|
|
586
599
|
__name: "Editor",
|
|
587
600
|
props: /* @__PURE__ */ mergeModels({
|
|
588
601
|
class: {},
|
|
@@ -714,7 +727,7 @@ const form = tv({ slots: {
|
|
|
714
727
|
wrapper: "space-y-4",
|
|
715
728
|
actions: "flex items-center justify-end gap-2"
|
|
716
729
|
} });
|
|
717
|
-
const _sfc_main$
|
|
730
|
+
const _sfc_main$34 = /* @__PURE__ */ defineComponent({
|
|
718
731
|
__name: "Form",
|
|
719
732
|
props: {
|
|
720
733
|
class: {},
|
|
@@ -739,7 +752,7 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
|
|
|
739
752
|
//#endregion
|
|
740
753
|
//#region src/components/Comments/CommentForm.vue
|
|
741
754
|
const commentForm = tv({ base: "space-y-2" });
|
|
742
|
-
const _sfc_main$
|
|
755
|
+
const _sfc_main$33 = /* @__PURE__ */ defineComponent({
|
|
743
756
|
__name: "CommentForm",
|
|
744
757
|
props: {
|
|
745
758
|
cancelable: { type: Boolean },
|
|
@@ -818,7 +831,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
|
818
831
|
__expose({ focus });
|
|
819
832
|
const ui = computed(() => commentForm({ class: props.class }));
|
|
820
833
|
return (_ctx, _cache) => {
|
|
821
|
-
return openBlock(), createBlock(_sfc_main$
|
|
834
|
+
return openBlock(), createBlock(_sfc_main$34, {
|
|
822
835
|
class: normalizeClass(ui.value),
|
|
823
836
|
onSubmit
|
|
824
837
|
}, {
|
|
@@ -838,7 +851,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
|
838
851
|
"loading",
|
|
839
852
|
"label"
|
|
840
853
|
])]),
|
|
841
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
854
|
+
default: withCtx(() => [createVNode(_sfc_main$35, {
|
|
842
855
|
ref_key: "editor",
|
|
843
856
|
ref: editor,
|
|
844
857
|
content: formData.value.content,
|
|
@@ -858,7 +871,7 @@ const commentFormSection = tv({ slots: {
|
|
|
858
871
|
header: "flex items-center gap-2",
|
|
859
872
|
title: "font-medium text-default"
|
|
860
873
|
} });
|
|
861
|
-
const _sfc_main$
|
|
874
|
+
const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
862
875
|
__name: "CommentFormSection",
|
|
863
876
|
props: {
|
|
864
877
|
class: {},
|
|
@@ -874,14 +887,14 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
|
|
|
874
887
|
key: 0,
|
|
875
888
|
src: unref(user).avatar,
|
|
876
889
|
title: unref(user).name
|
|
877
|
-
}, null, 8, ["src", "title"])) : createCommentVNode("v-if", true), createElementVNode("h3", { class: normalizeClass(ui.value.title({ class: props.ui?.title })) }, toDisplayString(unref(t)("comments.CommentFormSection.title")), 3)], 2), !unref(user) ? (openBlock(), createBlock(_sfc_main$
|
|
890
|
+
}, null, 8, ["src", "title"])) : createCommentVNode("v-if", true), createElementVNode("h3", { class: normalizeClass(ui.value.title({ class: props.ui?.title })) }, toDisplayString(unref(t)("comments.CommentFormSection.title")), 3)], 2), !unref(user) ? (openBlock(), createBlock(_sfc_main$36, { key: 0 })) : (openBlock(), createBlock(_sfc_main$33, { key: 1 }))], 2);
|
|
878
891
|
};
|
|
879
892
|
}
|
|
880
893
|
});
|
|
881
894
|
//#endregion
|
|
882
895
|
//#region src/components/State/StateEmpty.vue
|
|
883
896
|
const stateEmpty = tv({ slots: { base: "" } });
|
|
884
|
-
const _sfc_main$
|
|
897
|
+
const _sfc_main$31 = /* @__PURE__ */ defineComponent({
|
|
885
898
|
__name: "StateEmpty",
|
|
886
899
|
props: {
|
|
887
900
|
class: {},
|
|
@@ -899,7 +912,7 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
|
|
|
899
912
|
//#endregion
|
|
900
913
|
//#region src/components/State/StateError.vue
|
|
901
914
|
const stateError = tv({ slots: { base: "" } });
|
|
902
|
-
const _sfc_main$
|
|
915
|
+
const _sfc_main$30 = /* @__PURE__ */ defineComponent({
|
|
903
916
|
__name: "StateError",
|
|
904
917
|
props: {
|
|
905
918
|
class: {},
|
|
@@ -917,7 +930,7 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
|
|
|
917
930
|
//#endregion
|
|
918
931
|
//#region src/components/State/StatePending.vue
|
|
919
932
|
const statePending = tv({ slots: { base: "" } });
|
|
920
|
-
const _sfc_main$
|
|
933
|
+
const _sfc_main$29 = /* @__PURE__ */ defineComponent({
|
|
921
934
|
__name: "StatePending",
|
|
922
935
|
props: {
|
|
923
936
|
class: {},
|
|
@@ -969,7 +982,7 @@ var trash_duotone_default = markRaw({
|
|
|
969
982
|
//#endregion
|
|
970
983
|
//#region src/components/ConfirmModal.vue
|
|
971
984
|
const confirmModal = tv({ slots: { base: "" } });
|
|
972
|
-
const _sfc_main$
|
|
985
|
+
const _sfc_main$28 = /* @__PURE__ */ defineComponent({
|
|
973
986
|
__name: "ConfirmModal",
|
|
974
987
|
props: {
|
|
975
988
|
title: {},
|
|
@@ -1026,7 +1039,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
|
|
|
1026
1039
|
//#endregion
|
|
1027
1040
|
//#region src/components/Comments/CommentDeleteConfirmModal.vue
|
|
1028
1041
|
const commentDeleteConfirmModal = tv({ slots: { base: "" } });
|
|
1029
|
-
const _sfc_main$
|
|
1042
|
+
const _sfc_main$27 = /* @__PURE__ */ defineComponent({
|
|
1030
1043
|
__name: "CommentDeleteConfirmModal",
|
|
1031
1044
|
props: {
|
|
1032
1045
|
pageId: {},
|
|
@@ -1072,7 +1085,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
|
|
|
1072
1085
|
}
|
|
1073
1086
|
const ui = computed(() => commentDeleteConfirmModal());
|
|
1074
1087
|
return (_ctx, _cache) => {
|
|
1075
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1088
|
+
return openBlock(), createBlock(_sfc_main$28, {
|
|
1076
1089
|
title: unref(t)("comments.CommentDeleteConfirmModal.title"),
|
|
1077
1090
|
description: unref(t)("comments.CommentDeleteConfirmModal.description"),
|
|
1078
1091
|
loading: unref(isLoading),
|
|
@@ -1094,7 +1107,7 @@ function useComments() {
|
|
|
1094
1107
|
const overlay = useOverlay();
|
|
1095
1108
|
const { banner } = useCommentsContext();
|
|
1096
1109
|
function confirmDeleteComment(pageId, commentId, locale) {
|
|
1097
|
-
overlay.create(_sfc_main$
|
|
1110
|
+
overlay.create(_sfc_main$27, {
|
|
1098
1111
|
destroyOnClose: true,
|
|
1099
1112
|
props: {
|
|
1100
1113
|
pageId,
|
|
@@ -1113,7 +1126,7 @@ function useComments() {
|
|
|
1113
1126
|
//#region src/components/Comments/CommentContent.vue
|
|
1114
1127
|
const _hoisted_1$17 = ["innerHTML"];
|
|
1115
1128
|
const commentContent = tv({ base: "" });
|
|
1116
|
-
const _sfc_main$
|
|
1129
|
+
const _sfc_main$26 = /* @__PURE__ */ defineComponent({
|
|
1117
1130
|
__name: "CommentContent",
|
|
1118
1131
|
props: /* @__PURE__ */ mergeModels({
|
|
1119
1132
|
parentComment: {},
|
|
@@ -1140,7 +1153,7 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
|
|
|
1140
1153
|
}
|
|
1141
1154
|
const ui = computed(() => commentContent({ class: props.class }));
|
|
1142
1155
|
return (_ctx, _cache) => {
|
|
1143
|
-
return viewEditor.value ? (openBlock(), createBlock(_sfc_main$
|
|
1156
|
+
return viewEditor.value ? (openBlock(), createBlock(_sfc_main$33, {
|
|
1144
1157
|
key: 0,
|
|
1145
1158
|
ref_key: "editor",
|
|
1146
1159
|
ref: editor,
|
|
@@ -1174,7 +1187,7 @@ const commentHeader = tv({ slots: {
|
|
|
1174
1187
|
time: "text-dimmed",
|
|
1175
1188
|
link: "text-xs"
|
|
1176
1189
|
} });
|
|
1177
|
-
const _sfc_main$
|
|
1190
|
+
const _sfc_main$25 = /* @__PURE__ */ defineComponent({
|
|
1178
1191
|
__name: "CommentHeader",
|
|
1179
1192
|
props: {
|
|
1180
1193
|
comment: {},
|
|
@@ -1257,7 +1270,7 @@ function replaceCachedComment(comments, commentId, nextComment, parentCommentId)
|
|
|
1257
1270
|
};
|
|
1258
1271
|
});
|
|
1259
1272
|
}
|
|
1260
|
-
const _sfc_main$
|
|
1273
|
+
const _sfc_main$24 = /* @__PURE__ */ defineComponent({
|
|
1261
1274
|
__name: "CommentLike",
|
|
1262
1275
|
props: {
|
|
1263
1276
|
parentComment: {},
|
|
@@ -1353,7 +1366,7 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
|
|
|
1353
1366
|
//#endregion
|
|
1354
1367
|
//#region src/components/Comments/CommentRepliesCount.vue
|
|
1355
1368
|
const commentRepliesCount = tv({ base: "text-xs text-dimmed" });
|
|
1356
|
-
const _sfc_main$
|
|
1369
|
+
const _sfc_main$23 = /* @__PURE__ */ defineComponent({
|
|
1357
1370
|
__name: "CommentRepliesCount",
|
|
1358
1371
|
props: {
|
|
1359
1372
|
comment: {},
|
|
@@ -1400,7 +1413,7 @@ const comment = tv({
|
|
|
1400
1413
|
}
|
|
1401
1414
|
} }
|
|
1402
1415
|
});
|
|
1403
|
-
const _sfc_main$
|
|
1416
|
+
const _sfc_main$22 = /* @__PURE__ */ defineComponent({
|
|
1404
1417
|
__name: "Comment",
|
|
1405
1418
|
props: {
|
|
1406
1419
|
parentComment: {},
|
|
@@ -1451,7 +1464,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1451
1464
|
"alt",
|
|
1452
1465
|
"size",
|
|
1453
1466
|
"class"
|
|
1454
|
-
]), createVNode(_sfc_main$
|
|
1467
|
+
]), createVNode(_sfc_main$25, { comment: props.comment }, null, 8, ["comment"])], 2), showActions.value ? (openBlock(), createBlock(UDropdownMenu, {
|
|
1455
1468
|
key: 0,
|
|
1456
1469
|
items: actions.value,
|
|
1457
1470
|
content: { align: "end" }
|
|
@@ -1462,7 +1475,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1462
1475
|
"aria-label": unref(t)("comments.Comment.actionMenu")
|
|
1463
1476
|
}, null, 8, ["aria-label"])]),
|
|
1464
1477
|
_: 1
|
|
1465
|
-
}, 8, ["items"])) : createCommentVNode("v-if", true)], 2), createElementVNode("div", { class: normalizeClass(ui.value.contentWrapper({ class: props.ui?.contentWrapper })) }, [createVNode(_sfc_main$
|
|
1478
|
+
}, 8, ["items"])) : createCommentVNode("v-if", true)], 2), createElementVNode("div", { class: normalizeClass(ui.value.contentWrapper({ class: props.ui?.contentWrapper })) }, [createVNode(_sfc_main$26, {
|
|
1466
1479
|
"view-editor": viewEditCommentEditor.value,
|
|
1467
1480
|
"onUpdate:viewEditor": _cache[0] || (_cache[0] = ($event) => viewEditCommentEditor.value = $event),
|
|
1468
1481
|
"parent-comment": props.parentComment,
|
|
@@ -1472,7 +1485,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1472
1485
|
"view-editor",
|
|
1473
1486
|
"parent-comment",
|
|
1474
1487
|
"comment"
|
|
1475
|
-
]), createElementVNode("div", { class: normalizeClass(ui.value.contentFooter({ class: props.ui?.contentFooter })) }, [props.comment.can.like || props.comment.can.unlike ? (openBlock(), createBlock(_sfc_main$
|
|
1488
|
+
]), createElementVNode("div", { class: normalizeClass(ui.value.contentFooter({ class: props.ui?.contentFooter })) }, [props.comment.can.like || props.comment.can.unlike ? (openBlock(), createBlock(_sfc_main$24, {
|
|
1476
1489
|
key: 0,
|
|
1477
1490
|
"parent-comment": props.parentComment,
|
|
1478
1491
|
comment: props.comment,
|
|
@@ -1481,7 +1494,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1481
1494
|
"parent-comment",
|
|
1482
1495
|
"comment",
|
|
1483
1496
|
"class"
|
|
1484
|
-
])) : createCommentVNode("v-if", true), !props.parentComment && props.comment.replies?.length ? (openBlock(), createBlock(_sfc_main$
|
|
1497
|
+
])) : createCommentVNode("v-if", true), !props.parentComment && props.comment.replies?.length ? (openBlock(), createBlock(_sfc_main$23, {
|
|
1485
1498
|
key: 1,
|
|
1486
1499
|
comment: props.comment
|
|
1487
1500
|
}, null, 8, ["comment"])) : createCommentVNode("v-if", true)], 2)], 2)], 10, _hoisted_1$13);
|
|
@@ -1491,7 +1504,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
1491
1504
|
//#endregion
|
|
1492
1505
|
//#region src/components/Discussions/DiscussionReply.vue
|
|
1493
1506
|
const discussionReply = tv({ slots: { button: "justify-start text-muted" } });
|
|
1494
|
-
const _sfc_main$
|
|
1507
|
+
const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
1495
1508
|
__name: "DiscussionReply",
|
|
1496
1509
|
props: {
|
|
1497
1510
|
parentComment: {},
|
|
@@ -1525,7 +1538,7 @@ const _sfc_main$20 = /* @__PURE__ */ defineComponent({
|
|
|
1525
1538
|
}
|
|
1526
1539
|
const ui = computed(() => discussionReply());
|
|
1527
1540
|
return (_ctx, _cache) => {
|
|
1528
|
-
return isFormShown.value ? (openBlock(), createBlock(_sfc_main$
|
|
1541
|
+
return isFormShown.value ? (openBlock(), createBlock(_sfc_main$33, {
|
|
1529
1542
|
key: 0,
|
|
1530
1543
|
ref_key: "form",
|
|
1531
1544
|
ref: form,
|
|
@@ -1554,7 +1567,7 @@ const discussion = tv({ slots: {
|
|
|
1554
1567
|
answers: "bg-muted",
|
|
1555
1568
|
reply: "p-2"
|
|
1556
1569
|
} });
|
|
1557
|
-
const _sfc_main$
|
|
1570
|
+
const _sfc_main$20 = /* @__PURE__ */ defineComponent({
|
|
1558
1571
|
__name: "Discussion",
|
|
1559
1572
|
props: {
|
|
1560
1573
|
comment: {},
|
|
@@ -1566,18 +1579,18 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
|
|
|
1566
1579
|
const ui = computed(() => discussion());
|
|
1567
1580
|
return (_ctx, _cache) => {
|
|
1568
1581
|
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.class, props.ui?.base] })) }, [
|
|
1569
|
-
createVNode(_sfc_main$
|
|
1582
|
+
createVNode(_sfc_main$22, { comment: __props.comment }, null, 8, ["comment"]),
|
|
1570
1583
|
__props.comment.replies?.length ? (openBlock(), createElementBlock("div", {
|
|
1571
1584
|
key: 0,
|
|
1572
1585
|
class: normalizeClass(ui.value.answers({ class: props.ui?.answers }))
|
|
1573
1586
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.comment.replies, (reply) => {
|
|
1574
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1587
|
+
return openBlock(), createBlock(_sfc_main$22, {
|
|
1575
1588
|
key: reply.id,
|
|
1576
1589
|
"parent-comment": __props.comment,
|
|
1577
1590
|
comment: reply
|
|
1578
1591
|
}, null, 8, ["parent-comment", "comment"]);
|
|
1579
1592
|
}), 128))], 2)) : createCommentVNode("v-if", true),
|
|
1580
|
-
createElementVNode("div", { class: normalizeClass(ui.value.reply({ class: props.ui?.reply })) }, [createVNode(_sfc_main$
|
|
1593
|
+
createElementVNode("div", { class: normalizeClass(ui.value.reply({ class: props.ui?.reply })) }, [createVNode(_sfc_main$21, { "parent-comment": __props.comment }, null, 8, ["parent-comment"])], 2)
|
|
1581
1594
|
], 2);
|
|
1582
1595
|
};
|
|
1583
1596
|
}
|
|
@@ -1588,7 +1601,7 @@ const discussionsList = tv({ slots: {
|
|
|
1588
1601
|
base: "space-y-8",
|
|
1589
1602
|
discussion: ""
|
|
1590
1603
|
} });
|
|
1591
|
-
const _sfc_main$
|
|
1604
|
+
const _sfc_main$19 = /* @__PURE__ */ defineComponent({
|
|
1592
1605
|
__name: "DiscussionsList",
|
|
1593
1606
|
props: {
|
|
1594
1607
|
comments: {},
|
|
@@ -1600,7 +1613,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1600
1613
|
const ui = computed(() => discussionsList());
|
|
1601
1614
|
return (_ctx, _cache) => {
|
|
1602
1615
|
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.class, props.ui?.base] })) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.comments, (comment) => {
|
|
1603
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1616
|
+
return openBlock(), createBlock(_sfc_main$20, {
|
|
1604
1617
|
key: comment.id,
|
|
1605
1618
|
comment,
|
|
1606
1619
|
class: normalizeClass(ui.value.discussion({ class: props.ui?.discussion }))
|
|
@@ -1612,7 +1625,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1612
1625
|
//#endregion
|
|
1613
1626
|
//#region src/components/Subtitle.vue
|
|
1614
1627
|
const subtitle = tv({ base: "text-sm text-dimmed" });
|
|
1615
|
-
const _sfc_main$
|
|
1628
|
+
const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
1616
1629
|
__name: "Subtitle",
|
|
1617
1630
|
props: {
|
|
1618
1631
|
text: {},
|
|
@@ -1629,7 +1642,7 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
|
|
|
1629
1642
|
//#endregion
|
|
1630
1643
|
//#region src/components/Discussions/DiscussionsSectionSubtitle.vue
|
|
1631
1644
|
const discussionsSectionSubtitle = tv({ base: "" });
|
|
1632
|
-
const _sfc_main$
|
|
1645
|
+
const _sfc_main$17 = /* @__PURE__ */ defineComponent({
|
|
1633
1646
|
__name: "DiscussionsSectionSubtitle",
|
|
1634
1647
|
props: {
|
|
1635
1648
|
comments: {},
|
|
@@ -1650,7 +1663,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
|
1650
1663
|
});
|
|
1651
1664
|
const ui = computed(() => discussionsSectionSubtitle({ class: props.class }));
|
|
1652
1665
|
return (_ctx, _cache) => {
|
|
1653
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1666
|
+
return openBlock(), createBlock(_sfc_main$18, { class: normalizeClass(ui.value) }, {
|
|
1654
1667
|
default: withCtx(() => [createTextVNode(toDisplayString(commentsSubtitle.value) + " · " + toDisplayString(repliesSubtitle.value), 1)]),
|
|
1655
1668
|
_: 1
|
|
1656
1669
|
}, 8, ["class"]);
|
|
@@ -1660,7 +1673,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
|
1660
1673
|
//#endregion
|
|
1661
1674
|
//#region src/components/Section/SectionTitle.vue
|
|
1662
1675
|
const sectionTitle = tv({ slots: { base: "text-lg font-semibold text-default" } });
|
|
1663
|
-
const _sfc_main$
|
|
1676
|
+
const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
1664
1677
|
__name: "SectionTitle",
|
|
1665
1678
|
props: {
|
|
1666
1679
|
class: {},
|
|
@@ -1677,7 +1690,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
|
1677
1690
|
//#endregion
|
|
1678
1691
|
//#region src/components/Discussions/DiscussionsSectionTitle.vue
|
|
1679
1692
|
const discussionsSectionTitle = tv({ slots: { base: "" } });
|
|
1680
|
-
const _sfc_main$
|
|
1693
|
+
const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
1681
1694
|
__name: "DiscussionsSectionTitle",
|
|
1682
1695
|
props: {
|
|
1683
1696
|
class: {},
|
|
@@ -1688,7 +1701,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
|
1688
1701
|
const { t } = useLocale();
|
|
1689
1702
|
const ui = computed(() => discussionsSectionTitle());
|
|
1690
1703
|
return (_ctx, _cache) => {
|
|
1691
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1704
|
+
return openBlock(), createBlock(_sfc_main$16, { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, {
|
|
1692
1705
|
default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("discussions.DiscussionsSectionTitle.title")), 1)]),
|
|
1693
1706
|
_: 1
|
|
1694
1707
|
}, 8, ["class"]);
|
|
@@ -1708,7 +1721,7 @@ const discussionsSection = tv({ slots: {
|
|
|
1708
1721
|
header: "mb-6",
|
|
1709
1722
|
content: "mt-6"
|
|
1710
1723
|
} });
|
|
1711
|
-
const _sfc_main$
|
|
1724
|
+
const _sfc_main$14 = /* @__PURE__ */ defineComponent({
|
|
1712
1725
|
__name: "DiscussionsSection",
|
|
1713
1726
|
props: {
|
|
1714
1727
|
class: {},
|
|
@@ -1728,7 +1741,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
|
1728
1741
|
const ui = computed(() => discussionsSection());
|
|
1729
1742
|
return (_ctx, _cache) => {
|
|
1730
1743
|
return openBlock(), createElementBlock("section", _hoisted_1$12, [createElementVNode("div", { class: normalizeClass(ui.value.base({ class: [props.class, props.ui?.base] })) }, [
|
|
1731
|
-
createElementVNode("div", { class: normalizeClass(ui.value.header({ class: props.ui?.header })) }, [createVNode(_sfc_main$
|
|
1744
|
+
createElementVNode("div", { class: normalizeClass(ui.value.header({ class: props.ui?.header })) }, [createVNode(_sfc_main$15), createVNode(_sfc_main$17, { comments: unref(comments) ?? [] }, null, 8, ["comments"])], 2),
|
|
1732
1745
|
createVNode(unref(AnimatePresence), null, {
|
|
1733
1746
|
default: withCtx(() => [unref(banner) && unref(isActive) ? (openBlock(), createBlock(unref(Motion), {
|
|
1734
1747
|
key: 0,
|
|
@@ -1774,21 +1787,21 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
|
1774
1787
|
}),
|
|
1775
1788
|
createCommentVNode("\n Spacer to preserve layout during the Alert height animation.\n Adding margin to the Alert breaks the smooth transition because\n the animated element collapses abruptly. We render an empty\n div with `mt-6` while the Alert is active to keep the animation smooth.\n "),
|
|
1776
1789
|
unref(banner) && unref(isActive) ? (openBlock(), createElementBlock("div", _hoisted_2)) : createCommentVNode("v-if", true),
|
|
1777
|
-
unref(isCommentsPending) ? (openBlock(), createBlock(_sfc_main$
|
|
1790
|
+
unref(isCommentsPending) ? (openBlock(), createBlock(_sfc_main$29, { key: 1 })) : unref(commentsError) ? (openBlock(), createBlock(_sfc_main$30, { key: 2 })) : !(unref(comments) ?? []).length ? (openBlock(), createBlock(_sfc_main$31, {
|
|
1778
1791
|
key: 3,
|
|
1779
1792
|
text: unref(t)("discussions.DiscussionsSection.empty")
|
|
1780
|
-
}, null, 8, ["text"])) : (openBlock(), createBlock(_sfc_main$
|
|
1793
|
+
}, null, 8, ["text"])) : (openBlock(), createBlock(_sfc_main$19, {
|
|
1781
1794
|
key: 4,
|
|
1782
1795
|
comments: unref(comments) ?? []
|
|
1783
1796
|
}, null, 8, ["comments"])),
|
|
1784
|
-
createVNode(_sfc_main$
|
|
1797
|
+
createVNode(_sfc_main$32, { class: "mt-12" })
|
|
1785
1798
|
], 2)]);
|
|
1786
1799
|
};
|
|
1787
1800
|
}
|
|
1788
1801
|
});
|
|
1789
1802
|
//#endregion
|
|
1790
1803
|
//#region src/components/Comments.vue
|
|
1791
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
1804
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
1792
1805
|
__name: "Comments",
|
|
1793
1806
|
props: {
|
|
1794
1807
|
pageId: {},
|
|
@@ -1806,7 +1819,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1806
1819
|
banner
|
|
1807
1820
|
});
|
|
1808
1821
|
return (_ctx, _cache) => {
|
|
1809
|
-
return openBlock(), createBlock(_sfc_main$
|
|
1822
|
+
return openBlock(), createBlock(_sfc_main$14, {
|
|
1810
1823
|
class: normalizeClass(props.class),
|
|
1811
1824
|
ui: props.ui
|
|
1812
1825
|
}, null, 8, ["class", "ui"]);
|
|
@@ -1819,7 +1832,7 @@ const container = tv({ slots: {
|
|
|
1819
1832
|
base: "px-4 sm:px-6 lg:px-8",
|
|
1820
1833
|
inner: "w-full max-w-7xl mx-auto"
|
|
1821
1834
|
} });
|
|
1822
|
-
const _sfc_main$
|
|
1835
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
1823
1836
|
__name: "Container",
|
|
1824
1837
|
props: {
|
|
1825
1838
|
class: {},
|
|
@@ -1903,7 +1916,7 @@ const feedbackCard = tv({ slots: {
|
|
|
1903
1916
|
radioGroupItem: "peer",
|
|
1904
1917
|
radioGroupLabel: "grayscale-100 hover:grayscale-0 peer-data-[state=checked]:grayscale-0"
|
|
1905
1918
|
} });
|
|
1906
|
-
const _sfc_main$
|
|
1919
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
1907
1920
|
__name: "FeedbackCard",
|
|
1908
1921
|
props: /* @__PURE__ */ mergeModels({
|
|
1909
1922
|
id: {},
|
|
@@ -2103,7 +2116,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
2103
2116
|
//#endregion
|
|
2104
2117
|
//#region src/components/Feedback/Feedback.vue
|
|
2105
2118
|
const feedback = tv({ slots: { base: "px-0 py-1 text-dimmed text-sm" } });
|
|
2106
|
-
const _sfc_main$
|
|
2119
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
2107
2120
|
__name: "Feedback",
|
|
2108
2121
|
props: {
|
|
2109
2122
|
id: {},
|
|
@@ -2126,7 +2139,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
2126
2139
|
const ui = computed(() => feedback());
|
|
2127
2140
|
return (_ctx, _cache) => {
|
|
2128
2141
|
return openBlock(), createBlock(UPopover, { ui: { content: "ring-0 data-[state=open]:animate-[scale-up_100ms_ease-out]" } }, {
|
|
2129
|
-
content: withCtx(() => [createVNode(_sfc_main$
|
|
2142
|
+
content: withCtx(() => [createVNode(_sfc_main$4, {
|
|
2130
2143
|
id: props.id,
|
|
2131
2144
|
rating: rating.value,
|
|
2132
2145
|
"onUpdate:rating": _cache[0] || (_cache[0] = ($event) => rating.value = $event),
|
|
@@ -2247,7 +2260,7 @@ const header = tv({ slots: {
|
|
|
2247
2260
|
base: "h-(--ui-header-height) flex flex-row gap-4 items-center justify-end",
|
|
2248
2261
|
link: "p-0 text-dimmed"
|
|
2249
2262
|
} });
|
|
2250
|
-
const _sfc_main$
|
|
2263
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
2251
2264
|
__name: "Header",
|
|
2252
2265
|
props: {
|
|
2253
2266
|
links: {},
|
|
@@ -2262,7 +2275,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2262
2275
|
}
|
|
2263
2276
|
const ui = computed(() => header());
|
|
2264
2277
|
return (_ctx, _cache) => {
|
|
2265
|
-
return openBlock(), createBlock(_sfc_main$
|
|
2278
|
+
return openBlock(), createBlock(_sfc_main$2, { ui: { inner: "max-w-5xl" } }, {
|
|
2266
2279
|
default: withCtx(() => [createElementVNode("header", { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, [
|
|
2267
2280
|
(openBlock(true), createElementBlock(Fragment, null, renderList(props.links, (link) => {
|
|
2268
2281
|
return openBlock(), createBlock(UTooltip, {
|
|
@@ -2375,7 +2388,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
2375
2388
|
});
|
|
2376
2389
|
//#endregion
|
|
2377
2390
|
//#region src/components/LoginCallback.vue
|
|
2378
|
-
const _sfc_main$
|
|
2391
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
2379
2392
|
__name: "LoginCallback",
|
|
2380
2393
|
props: { class: {} },
|
|
2381
2394
|
setup(__props) {
|
|
@@ -2421,7 +2434,7 @@ const page = tv({ slots: {
|
|
|
2421
2434
|
right: "hidden xl:block xl:col-start-3 xl:pl-8 xl:h-full",
|
|
2422
2435
|
rightInner: "sticky top-4"
|
|
2423
2436
|
} });
|
|
2424
|
-
const _sfc_main$
|
|
2437
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
2425
2438
|
__name: "Page",
|
|
2426
2439
|
props: {
|
|
2427
2440
|
class: {},
|
|
@@ -2431,7 +2444,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
2431
2444
|
const props = __props;
|
|
2432
2445
|
const ui = computed(() => page());
|
|
2433
2446
|
return (_ctx, _cache) => {
|
|
2434
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, [createVNode(_sfc_main$
|
|
2447
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, [createVNode(_sfc_main$2, null, {
|
|
2435
2448
|
default: withCtx(() => [createElementVNode("div", { class: normalizeClass(ui.value.header({ class: props.ui?.header })) }, [createElementVNode("div", { class: normalizeClass(ui.value.headerInner({ class: props.ui?.headerInner })) }, [renderSlot(_ctx.$slots, "header")], 2)], 2), createElementVNode("div", { class: normalizeClass(ui.value.content({ class: props.ui?.content })) }, [createElementVNode("div", { class: normalizeClass(ui.value.contentInner({ class: props.ui?.contentInner })) }, [renderSlot(_ctx.$slots, "default")], 2), createElementVNode("div", { class: normalizeClass(ui.value.right({ class: props.ui?.right })) }, [createElementVNode("div", { class: normalizeClass(ui.value.rightInner({ class: props.ui?.rightInner })) }, [renderSlot(_ctx.$slots, "right")], 2)], 2)], 2)]),
|
|
2436
2449
|
_: 3
|
|
2437
2450
|
}), renderSlot(_ctx.$slots, "bottom")], 2);
|
|
@@ -2441,7 +2454,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
2441
2454
|
//#endregion
|
|
2442
2455
|
//#region src/components/Page/PageTitle.vue
|
|
2443
2456
|
const pageTitle = tv({ slots: { base: "text-xl font-bold text-highlighted" } });
|
|
2444
|
-
const _sfc_main$
|
|
2457
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
2445
2458
|
__name: "PageTitle",
|
|
2446
2459
|
props: {
|
|
2447
2460
|
title: {},
|
|
@@ -2459,7 +2472,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
2459
2472
|
//#endregion
|
|
2460
2473
|
//#region src/components/Page/PageHeader.vue
|
|
2461
2474
|
const pageHeader = tv({ slots: { base: "" } });
|
|
2462
|
-
const _sfc_main$
|
|
2475
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
2463
2476
|
__name: "PageHeader",
|
|
2464
2477
|
props: {
|
|
2465
2478
|
title: {},
|
|
@@ -2470,7 +2483,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
2470
2483
|
const props = __props;
|
|
2471
2484
|
const ui = computed(() => pageHeader());
|
|
2472
2485
|
return (_ctx, _cache) => {
|
|
2473
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, [createVNode(_sfc_main$
|
|
2486
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(ui.value.base({ class: [props.ui?.base, props.class] })) }, [createVNode(_sfc_main$9, { title: props.title }, null, 8, ["title"]), renderSlot(_ctx.$slots, "after")], 2);
|
|
2474
2487
|
};
|
|
2475
2488
|
}
|
|
2476
2489
|
});
|
|
@@ -2498,7 +2511,7 @@ const socials = tv({ slots: {
|
|
|
2498
2511
|
link: "flex items-center gap-1",
|
|
2499
2512
|
icon: "size-4"
|
|
2500
2513
|
} });
|
|
2501
|
-
const _sfc_main$
|
|
2514
|
+
const _sfc_main$10 = /* @__PURE__ */ defineComponent({
|
|
2502
2515
|
__name: "Socials",
|
|
2503
2516
|
props: {
|
|
2504
2517
|
class: {},
|
|
@@ -2568,7 +2581,7 @@ const sponsors = tv({ slots: {
|
|
|
2568
2581
|
base: "not-prose",
|
|
2569
2582
|
img: "border-0"
|
|
2570
2583
|
} });
|
|
2571
|
-
const _sfc_main$
|
|
2584
|
+
const _sfc_main$11 = /* @__PURE__ */ defineComponent({
|
|
2572
2585
|
__name: "Sponsors",
|
|
2573
2586
|
props: {
|
|
2574
2587
|
class: {},
|
|
@@ -2616,7 +2629,7 @@ const tableOfContents = tv({ slots: {
|
|
|
2616
2629
|
list: "font-sofia",
|
|
2617
2630
|
link: "flex gap-1 px-0 py-1 text-dimmed hover:text-default active:text-default transition-colors focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted data-active:text-default rounded-md"
|
|
2618
2631
|
} });
|
|
2619
|
-
const _sfc_main$
|
|
2632
|
+
const _sfc_main$12 = /* @__PURE__ */ defineComponent({
|
|
2620
2633
|
__name: "TableOfContents",
|
|
2621
2634
|
props: {
|
|
2622
2635
|
toc: {},
|
|
@@ -2657,7 +2670,7 @@ const viewersCounter = tv({ slots: {
|
|
|
2657
2670
|
base: "flex items-center justify-center gap-[0.375rem] border border-green-400 rounded-full px-[0.375rem] py-[0.125rem] text-xs text-muted font-light leading-3 dark:border-green-700",
|
|
2658
2671
|
dot: "inline-block h-[0.375rem] w-[0.375rem] animate-[pulse_4s_cubic-bezier(0.4,_0,_0.6,_1)_infinite] rounded-full bg-green-400 ring ring-2 ring-green-200 dark:bg-green-700 dark:ring-green-500"
|
|
2659
2672
|
} });
|
|
2660
|
-
const _sfc_main$
|
|
2673
|
+
const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
2661
2674
|
__name: "ViewersCounter",
|
|
2662
2675
|
props: {
|
|
2663
2676
|
class: {},
|
|
@@ -2715,4 +2728,4 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
|
|
|
2715
2728
|
}
|
|
2716
2729
|
});
|
|
2717
2730
|
//#endregion
|
|
2718
|
-
export { _sfc_main as
|
|
2731
|
+
export { _sfc_main as App, _sfc_main$1 as Comments, _sfc_main$2 as Container, _sfc_main$3 as Feedback, _sfc_main$4 as FeedbackCard, _sfc_main$5 as Header, _sfc_main$6 as LoginCallback, _sfc_main$7 as Page, _sfc_main$8 as PageHeader, _sfc_main$9 as PageTitle, _sfc_main$10 as Socials, _sfc_main$11 as Sponsors, _sfc_main$12 as TableOfContents, _sfc_main$13 as ViewersCounter, useLogin, useTableOfContents_default as useTableOfContents, useUmami };
|